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可以讓我們更好地實現資源控制和部署。
上一篇dw新建php