這篇文章主要介紹了oracle 12 DBCA如何創建pdb,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
12c新推出的pdb是一種全新的數據庫管理模式,有別于傳統的數據庫。今天的實驗室是使用dbca圖形界面創建一個pdb,再用dbca的靜默方式創建一個pdb。
pdb是可插拔數據庫,當然也就離不開cdb。c就是container,容器。
環境變量如下
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1
export ORACLE_SID=CDB
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib













在這里如果有報錯Error in Process:/u01/app/oracle/product/12.1.0/db_1/perl/bin/perl
可參見我的另一篇博客http://blog.itpub.net/29047826/viewspace-1434056/
通過SQL PLUS連接根庫
[oracle@snow ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.1.0 Production on Sun Feb 8 16:11:18 2015
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
查看pdb狀態,已經是open(read write)
SQL>
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
圖形安裝后包含了根庫CDB$ROOT,con_id為1,包含種子庫PDB$SEED,con_id為2,還包含本次創建的可插拔庫pdb1,con_id為3
SQL> select con_id,name from v$containers;
CON_ID NAME
---------- ------------------------------
1 CDB$ROOT
2 PDB$SEED
3 PDB1
查看cdb_data_files數據字典可以看到cdb的數據文件和pdb的數據文件
SQL> col file_name for a60
SQL> set line 120
SQL> select con_id,file_name from cdb_data_files order by 1;
CON_ID FILE_NAME
---------- ------------------------------------------------------------
1 /u01/app/oracle/oradata/CDB/system01.dbf
1 /u01/app/oracle/oradata/CDB/users01.dbf
1 /u01/app/oracle/oradata/CDB/undotbs01.dbf
1 /u01/app/oracle/oradata/CDB/sysaux01.dbf
2 /u01/app/oracle/oradata/CDB/pdbseed/sysaux01.dbf
2 /u01/app/oracle/oradata/CDB/pdbseed/system01.dbf
3 /u01/app/oracle/oradata/CDB/pdb1/sysaux01.dbf
3 /u01/app/oracle/oradata/CDB/pdb1/pdb1_users01.dbf
3 /u01/app/oracle/oradata/CDB/pdb1/system01.dbf
如果切換到pdb,就只能看到屬于自己的數據文件
SQL> alter session set container=pdb1;
SQL> col name for a60
SQL> select con_id,name from v$datafile;
CON_ID NAME
---------- ------------------------------------------------------------
0 /u01/app/oracle/oradata/CDB/undotbs01.dbf
3 /u01/app/oracle/oradata/CDB/pdb1/system01.dbf
3 /u01/app/oracle/oradata/CDB/pdb1/sysaux01.dbf
3 /u01/app/oracle/oradata/CDB/pdb1/pdb1_users01.dbf
由于我的虛擬機空間較小,先用dbca刪除剛才創建的cdb和pdb再執行下面的腳本。注意dbca刪除數據庫后并不清理磁盤上的物理文件,需要手動刪除比如 rm -rf $ORACLE_BASE/oradata/CDB,這個命令只是一個事例請勿模仿。
下面這條dbca - silent … 語句是一條完整的語句,不換行。 里面的關鍵字是createAsContainerDatabase true,如果沒有該關鍵字創建出來的就是一個普通的數據庫,而不是我們此次需要的CDB。
該命令執行后,輸出Copying database files ..1% complete
[oracle@snow ~]$ dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname CDB -sid CDB -responseFile NO_VALUE -characterSet AL32UTF8 -memoryPercentage 30 -emConfiguration LOCAL -createAsContainerDatabase true -sysPassword oracle -systemPassword oracle
Copying database files
1% complete
3% complete
37% complete
Creating and starting Oracle instance
40% complete
45% complete
46% complete
47% complete
52% complete
57% complete
58% complete
59% complete
62% complete
Completing Database Creation
66% complete
70% complete
74% complete
85% complete
96% complete
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/CDB/CDB.log" for further details.
到此為止CDB創建完成,通過下面的sql語句查看其內容。
[oracle@snow ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.1.0 Production on Sun Feb 8 16:51:36 2015
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
SQL>
SQL> select con_id,name from v$containers;
CON_ID NAME
---------- ------------------------------
1 CDB$ROOT
2 PDB$SEED
SQL> col file_name for a60
SQL> select con_id,file_name from cdb_data_files order by 1;
CON_ID FILE_NAME
---------- ------------------------------------------------------------
1 /u01/app/oracle/oradata/CDB/system01.dbf
1 /u01/app/oracle/oradata/CDB/users01.dbf
1 /u01/app/oracle/oradata/CDB/undotbs01.dbf
1 /u01/app/oracle/oradata/CDB/sysaux01.dbf
2 /u01/app/oracle/oradata/CDB/pdbseed/sysaux01.dbf
2 /u01/app/oracle/oradata/CDB/pdbseed/system01.dbf
下面通過種子容器創建pdb
[oracle@snow ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.1.0 Production on Sun Feb 8 16:59:03 2015
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL> create pluggable database pdb1 admin user pdb1adm identified by oracle file_name_convert=('/u01/app/oracle/oradata/CDB/pdbseed','/u01/app/oracle/oradata/CDB/pdb1');
Pluggable database created.
此時pdb的狀態是mounted
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 MOUNTED
下面的額查詢語句只有跟庫的信息,無法顯示pdb的信息
SQL> select con_id,file_name from cdb_data_files order by 1;
CON_ID FILE_NAME
---------- --------------------------------------------------
1 /u01/app/oracle/oradata/CDB/system01.dbf
1 /u01/app/oracle/oradata/CDB/sysaux01.dbf
1 /u01/app/oracle/oradata/CDB/undotbs01.dbf
1 /u01/app/oracle/oradata/CDB/users01.dbf
2 /u01/app/oracle/oradata/CDB/pdbseed/sysaux01.dbf
2 /u01/app/oracle/oradata/CDB/pdbseed/system01.dbf
通過下面的命令將所有的pdb庫open
SQL> alter pluggable database all open;
Pluggable database altered.
此時pdb的狀態有mount變成了read write
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
再次執行下面的查詢就可以看到pdb的數據文件了
SQL> select con_id,file_name from cdb_data_files order by 1;
CON_ID FILE_NAME
---------- --------------------------------------------------
1 /u01/app/oracle/oradata/CDB/system01.dbf
1 /u01/app/oracle/oradata/CDB/users01.dbf
1 /u01/app/oracle/oradata/CDB/undotbs01.dbf
1 /u01/app/oracle/oradata/CDB/sysaux01.dbf
2 /u01/app/oracle/oradata/CDB/pdbseed/system01.dbf
2 /u01/app/oracle/oradata/CDB/pdbseed/sysaux01.dbf
3 /u01/app/oracle/oradata/CDB/pdb1/system01.dbf
3 /u01/app/oracle/oradata/CDB/pdb1/sysaux01.dbf
感謝你能夠認真閱讀完這篇文章,希望小編分享的“oracle 12 DBCA如何創建pdb”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。