淘先锋技术网

首页 1 2 3 4 5 6 7
Oracle创建PDB的方法 Oracle12c以后,PDB(Pluggable Database)已经成为了非常重要的一个概念。在一个CDB(Container Database)下,可以创建多个PDB,每个PDB可以看做是一个独立的数据库。在实际应用中,PDB可以更好地将数据库细分化,实现更精细的权限控制和资源分配。有了PDB,我们就可以将数据库实例和应用细分,部署在不同的服务器和数据中心内,更好地实现资源消耗和数据库耦合方面的调整。 创建PDB的语句 在Oracle12c以后的数据库中,创建PDB的语句如下所示: CREATE PLUGGABLE DATABASE pdb_name ADMIN USER pdb_admin_user IDENTIFIED BY password PATH='pdb_file_system_location' STORAGE (MAXSIZE size [AUTOEXTEND ON]) FILE NAME_CONVERT = ('CDB_file_system_location','PDB_file_system_location') DEFAULT TABLESPACE tablespace_name FROM seed_database_name; 其中,pdb_name是要创建的PDB的名称;pdb_admin_user是用于管理PDB的用户,需要提供密码;pdb_file_system_location是创建PDB的文件系统路径;size是指定PDB的最大大小,单位可以是G或M;CDB_file_system_location和PDB_file_system_location分别表示CDB的文件路径和PDB的文件路径;tablespace_name表示PDB的默认表空间;seed_database_name是用于创建PDB的种子数据库的名称。 创建PDB的过程 接下来我们就来举个例子来说明如何通过SQL语句来创建一个名为pdbtest的PDB。 (1)首先,需要进入CDB数据库的管理员用户,如下: SQL>CONNECT / as sysdba; (2)确定要建立PDB的位置(PATH),以及设置与CDB路径的映射,这个可以在$(ORACLE_HOME)下的dbca.conf文件中找到。我们将要建立的PDB存储在$ORACLE_BASE/oradata目录下,我们还需要将此目录与CDB下的一个目录对应。我们可以通过如下的命令来获取CDB的文件根目录: SQL>SELECT value FROM v$parameter WHERE name='db_create_file_dest'; 得到的结果应该是CDB的文件路径,如/oradata/CDB。 (3)创建PDB的ADMIN USER,如下: SQL>CREATE USER my_pdb_admin IDENTIFIED BY my_pass; SQL>GRANT CREATE SESSION, SYSOPER, SYSDBA TO my_pdb_admin; (4)创建PDB,我们设置PDB的最大大小为10G,并将其默认表空间设置为new_tablespace: SQL>CREATE PLUGGABLE DATABASE pdbtest ADMIN USER my_pdb_admin IDENTIFIED BY my_pass PATH='/usr/oradata/pdbtest' STORAGE (MAXSIZE 10G) FILE_NAME_CONVERT=('/oradata/cdb/pdbtest','/usr/oradata/pdbtest') DEFAULT TABLESPACE new_tablespace SEED TESTDB; 其中,在SEED的位置填写CDB下已有的一个数据库名,用于创建PDB的种子库。 (5)最后,需要打开PDB: SQL>ALTER SESSION SET CONTAINER=pdbtest; SQL>ALTER PLUGGABLE DATABASE OPEN READ WRITE; 注意,在alter session时一定要使用PDB的名字,而不是CDB的名字。 总结 以上就是创建PDB的过程,涵盖了创建管理员用户、创建PDB、设置位置和大小、以及打开PDB的过程。创建PDB是一个非常重要的操作,在实际的使用中必须要熟练掌握。学会如何创建PDB可以让我们更好地实现资源控制和部署。