在Oracle 19c中 DBCA靜默創建CDB PDB


創建CDB數據庫的幾種方式

在Oracle 19c中,若要創建CDB容器數據庫環境,可以使用如下幾種辦法:

1、DBCA靜默創建CDB
2、DBCA圖形化界面創建CDB 3、手動創建CDB,即使用create database來創建CDB 4、duplicate a CDB 5、Using DBCA to Duplicate a CDB

在OCP的課件中,Oracle給我們提供了如下圖的幾種方式:

從本節開始,麥老師將依次講解使用DBCA靜默創建CDB 、DBCA圖形化界面創建CDB、手動創建CDB,即使用create database來創建CDB 、duplicate a CDB、Using DBCA to Duplicate a CDB這5種方式來創建CDB。

使用DBCA靜默創建CDB的幾種情況

麥老師覺得,這種方式創建數據庫,是一個DBA必須要會的技能。想起曾幾何時,領導讓我創建一個數據庫,而我還傻傻的向領導去申請Xmanager Enterprise軟件,還告訴領導,有這個軟件才能把圖形界面調出來,進而才能創建數據庫,哎,,,

靜默刪庫:

dbca -silent -deleteDatabase -sourceDB lhr19cdb -sysDBAUserName sys -sysDBAPassword lhr -forceArchiveLogDeletion 

創建存儲為磁盤組的CDB單實例數據庫:

dbca -silent -ignorePreReqs -ignorePrereqFailure -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \ -gdbname lhr19cdb -sid lhr19cdb \ -createAsContainerDatabase TRUE \ -sysPassword lhr -systemPassword lhr -pdbAdminPassword lhr -dbsnmpPassword lhr \ -datafileDestination '+DATA' -recoveryAreaDestination '+FRA' \ -redoLogFileSize 50 \ -storageType ASM \ -characterset AL32UTF8 \ -sampleSchema true \ -totalMemory 1024 \ -databaseType MULTIPURPOSE \ -emConfiguration NONE 

創建rac類型的CDB數據庫:

dbca -silent -ignorePreReqs -ignorePrereqFailure -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \ -gdbname rac19c -sid rac19c \ -createAsContainerDatabase TRUE \ -sysPassword lhr -systemPassword lhr -pdbAdminPassword lhr -dbsnmpPassword lhr \ -datafileDestination '+DATA' -recoveryAreaDestination '+FRA' \ -redoLogFileSize 50 \ -storageType ASM \ -characterset AL32UTF8 \ -sampleSchema true \ -totalMemory 1024 \ -databaseType MULTIPURPOSE \ -emConfiguration none \ -nodeinfo raclhr-19c-n1,raclhr-19c-n2 

創建FS存儲方式的單實例(不含PDB)數據庫:

dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \ -gdbname CDBLHR -sid CDBLHR \ -createAsContainerDatabase TRUE \ -sysPassword lhr -systemPassword lhr \ -datafileDestination '/u01/app/oracle/oradata' \ -recoveryAreaDestination '/u01/app/oracle/flash_recovery_area' \ -redoLogFileSize 50 \ -storageType FS \ -characterset ZHS16GBK -nationalCharacterSet AL16UTF16 \ -sampleSchema true \ -totalMemory 1024 \ -databaseType OLTP \ -emConfiguration NONE 

創建FS存儲方式的單實例(含一個PDB)數據庫:

dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \ -gdbname CDBLHR3 -sid CDBLHR3 \ -createAsContainerDatabase TRUE \ -numberOfPDBs 1 \ -pdbName pdb2 \ -pdbAdminPassword lhr \ -sysPassword lhr -systemPassword lhr \ -datafileDestination '/u01/app/oracle/oradata' \ -recoveryAreaDestination '/u01/app/oracle/flash_recovery_area' \ -redoLogFileSize 50 \ -storageType FS \ -characterset ZHS16GBK -nationalCharacterSet AL16UTF16 \ -sampleSchema true \ -totalMemory 1024 \ -databaseType OLTP \ -emConfiguration NONE 

靜默方式創建一個非CDB數據庫:

dbca -silent -ignorePreReqs -ignorePrereqFailure -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \ -gdbname lhrdb -sid lhrdb \ -createAsContainerDatabase FALSE \ -sysPassword lhr -systemPassword lhr -dbsnmpPassword lhr \ -datafileDestination '/u01/app/oracle/oradata' -recoveryAreaDestination '/u01/app/oracle/flash_recovery_area' \ -storageType FS \ -characterset ZHS16GBK \ -sampleSchema true \ -totalMemory 600 \ -databaseType MULTIPURPOSE \ -emConfiguration NONE

創建CDB數據庫示例

麥老師不能把所有情況都演示一次,我這里只演示其中的一種,其它情況大家自行測試。

接下來創建的是一個文件系統存儲的CDB數據庫,默認包含一個PDB,腳本如下所示:

dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \ -gdbname CDBLHR -sid CDBLHR \ -createAsContainerDatabase TRUE \ -numberOfPDBs 1 \ -pdbName pdb2 \ -pdbAdminPassword lhr \ -sysPassword lhr -systemPassword lhr \ -datafileDestination '/u01/app/oracle/oradata' \ -recoveryAreaDestination '/u01/app/oracle/flash_recovery_area' \ -redoLogFileSize 50 \ -storageType FS \ -characterset AL32UTF8 -nationalCharacterSet AL16UTF16 \ -sampleSchema true \ -totalMemory 1024 \ -databaseType OLTP \ -emConfiguration NONE

執行過程:

[oracle@lhrora19c ~]$ sqlplus -v SQL*Plus: Release 19.0.0.0.0 - Production Version 19.3.0.0.0 [oracle@lhrora19c ~]$ dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \ > -gdbname CDBLHR -sid CDBLHR \ > -createAsContainerDatabase TRUE \ > -numberOfPDBs 1 \ > -pdbName pdb2 \ > -pdbAdminPassword lhr \ > -sysPassword lhr -systemPassword lhr \ > -datafileDestination '/u01/app/oracle/oradata' \ > -recoveryAreaDestination '/u01/app/oracle/flash_recovery_area' \ > -redoLogFileSize 50 \ > -storageType FS \ > -characterset AL32UTF8 -nationalCharacterSet AL16UTF16 \ > -sampleSchema true \ > -totalMemory 1024 \ > -databaseType OLTP \ > -emConfiguration NONE [WARNING] [DBT-06208] The 'SYS' password entered does not conform to the Oracle recommended standards. CAUSE: a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. b.The password entered is a keyword that Oracle does not recommend to be used as password ACTION: Specify a strong password. If required refer Oracle documentation for guidelines. [WARNING] [DBT-06208] The 'SYSTEM' password entered does not conform to the Oracle recommended standards. CAUSE: a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. b.The password entered is a keyword that Oracle does not recommend to be used as password ACTION: Specify a strong password. If required refer Oracle documentation for guidelines. [WARNING] [DBT-06208] The 'PDBADMIN' password entered does not conform to the Oracle recommended standards. CAUSE: a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. b.The password entered is a keyword that Oracle does not recommend to be used as password ACTION: Specify a strong password. If required refer Oracle documentation for guidelines. Prepare for db operation 8% complete Copying database files 31% complete Creating and starting Oracle instance 32% complete 36% complete 40% complete 43% complete 46% complete Completing Database Creation 51% complete 53% complete 54% complete Creating Pluggable Databases 58% complete 77% complete Executing Post Configuration Actions 100% complete Database creation complete. For details check the logfiles at: /opt/oracle/cfgtoollogs/dbca/CDBLHR. Database Information: Global Database Name:CDBLHR System Identifier(SID):CDBLHR Look at the log file "/opt/oracle/cfgtoollogs/dbca/CDBLHR/CDBLHR.log" for further details. 

這樣我們就創建完一個CDB數據庫,不用做其他交互式操作,是不是非常簡單?我們進入數據庫就可以做基本的操作了。

[oracle@lhrora19c ~]$ ORACLE_SID=CDBLHR [oracle@lhrora19c ~]$ sas SQL*Plus: Release 19.0.0.0.0 - Production on Fri Oct 23 16:20:12 2020 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 SYS@CDBLHR> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB2 READ WRITE NO 

有關每個參數的詳細含義和靜默建庫的常見故障處理請參考:【DB筆試面試852】在Oracle中,什么是靜默建庫?

DBCA靜默建庫如何創建歸檔模式的數據庫

DBCA靜默建庫默認創建的是一個非歸檔的數據庫,這是由配置文件$ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc決定的,如下:

[oracle@lhrora19c ~]$ strings $ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc | grep -i arch <archiveLogMode>false</archiveLogMode> [oracle@lhrora19c ~]$ 

所以,若想創建一個歸檔模式的數據庫,可以將該值修改為true,后續所有DBCA創建的數據庫都是一個歸檔模式的數據庫。

DBCA靜默建庫的日志在哪里?

11g開始:$ORACLE_BASE/cfgtoollogs/dbca 10g:$ORACLE_HOME/cfgtoollogs/dbca

從該日志中可以找到DBCA靜默建庫的詳細過程,值得我們深入分析。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM