共計 4351 個字符,預計需要花費 11 分鐘才能閱讀完成。
本篇內容主要講解“CDB 和 PDB 的創建、連接、啟動和關閉方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓丸趣 TV 小編來帶大家學習“CDB 和 PDB 的創建、連接、啟動和關閉方法”吧!
一、CDB 和 PDB 基本管理
基本概念:
Multitenant Environment:多租戶環境
CDB(Container Database):數據庫容器
PDB(Pluggable Database):可插拔數據庫
二、創建 2.1 創建 CDB
PDB 包含在 CDB 中,所以,要創建 PDB,必須先創建 CDB。一臺機器上可以有多個 CDB。Oracle 軟件安裝完成后,就可以創建 CDB
啟動 DBCA
C:\app\oracle\product\12.1.0\dbhome_1\BIN\dbca.bat)
2.2 創建 PDB
C:\app\oracle\product\12.1.0\dbhome_1\BIN\dbca.bat
三、連接 3.1 連接 CDB
Sqlplus 默認連接 CDB
sqlplus sys/oracle as sysdba
3.2 連接 PDB
pdb 可以通過在 CDB 中 alter session container
alter session set container=pdb1
也可以直接通過 tns 方式(如下)登錄
sqlplus sys/oracle@pdb1 as sysdba
其中 tnsnames.ora 添加
PDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pdb1)
)
)
四、啟動與關閉 4.1 啟動關閉 CDB
SQL show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL shutdown immediate
數據庫已經關閉。已經卸載數據庫。ORACLE 例程已經關閉。SQL startup
ORACLE 例程已經啟動。Total System Global Area 5044088832 bytes
Fixed Size 2413072 bytes
Variable Size 1040190960 bytes
Database Buffers 3992977408 bytes
Redo Buffers 8507392 bytes
數據庫裝載完畢。數據庫已經打開。SQL select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
4122484437 PDB$SEED READ ONLY
3387525155 PDB1 MOUNTED
3946119498 PDB2 MOUNTED
SQL
從上面的操作中可以看到數據庫啟動的時候所有的 PDBs 的狀態為 MOUNTED
4.2 啟動關閉 PDB
pdb 的管理可以在 cdb 中進行也可以在 pdb 中進行, 如果是 cdb 中進行, 需要 PLUGGABLE 關鍵字, 如果是在 pdb 中直接和普通數據庫一樣
SQL show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
4122484437 PDB$SEED READ ONLY
3387525155 PDB1 MOUNTED
3946119498 PDB2 MOUNTED
SQL alter pluggable database pdb1 open;
插接式數據庫已變更。SQL select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
4122484437 PDB$SEED READ ONLY
3387525155 PDB1 READ WRITE
3946119498 PDB2 MOUNTED
SQL alter pluggable database pdb2 open;
插接式數據庫已變更。SQL select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
4122484437 PDB$SEED READ ONLY
3387525155 PDB1 READ WRITE
3946119498 PDB2 READ WRITE
SQL alter pluggable database pdb1 close;
插接式數據庫已變更。SQL select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
4122484437 PDB$SEED READ ONLY
3387525155 PDB1 MOUNTED
3946119498 PDB2 READ WRITE
SQL alter pluggable database pdb2 close;
插接式數據庫已變更。SQL select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
4122484437 PDB$SEED READ ONLY
3387525155 PDB1 MOUNTED
3946119498 PDB2 MOUNTED
SQL alter pluggable database all open;
插接式數據庫已變更。SQL alter pluggable database all close;
插接式數據庫已變更。SQL alter session set container=pdb1 ;
會話已更改。SQL select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
3387525155 PDB1 MOUNTED
SQL startup
插接式數據庫已打開。SQL shutdown
插接式數據庫已關閉。SQL select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
3387525155 PDB1 MOUNTED
SQL
4.3 自動啟動所有 PDB
從上面的操作中可以看到數據庫啟動的時候所有的 PDBs 的狀態為 MOUNTED,在實際應用可以考慮增加如下的觸發器使所有的 PDBs 都處于打開狀態。
create or replace trigger sys.after_startup after startup on database
begin
execute immediate alter pluggable database all open ;
end after_startup ;
驗證過程
SQL create or replace trigger sys.after_startup after startup on database
begin
execute immediate alter pluggable database all open ;
end after_startup ;
觸發器已創建
SQL shutdown
數據庫已經關閉。已經卸載數據庫。ORACLE 例程已經關閉。SQL startup
ORACLE 例程已經啟動。Total System Global Area 5044088832 bytes
Fixed Size 2413072 bytes
Variable Size 1040190960 bytes
Database Buffers 3992977408 bytes
Redo Buffers 8507392 bytes
數據庫裝載完畢。數據庫已經打開。SQL select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
4122484437 PDB$SEED READ ONLY
3387525155 PDB1 READ WRITE
3946119498 PDB2 READ WRITE
SQL
五、常用 SQL
-- 查看 ORACLE 12C 版本
select * from v$version;
-- 查看容器名稱和 ID
show con_name ;
-- 查看狀態
select name ,open_mode from v$pdbs ;
-- 切換 container
alter session set container=pdb1
到此,相信大家對“CDB 和 PDB 的創建、連接、啟動和關閉方法”有了更深的了解,不妨來實際操作一番吧!這里是丸趣 TV 網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!