【DG】Oracle 19c使用dbca来搭建物理DG
2019獨角獸企業重金招聘Python工程師標準>>>
【DG】Oracle 19c使用dbca來搭建物理DG(12cR2可以使用但主庫必須是單機非CDB的庫,18c無限制)
?
?
Using DBCA to Create a Data Guard Standby
The Database Configuration Assistant (DBCA) can also be used as a simple command-line method to create an Oracle Data Guard physical standby database.
The DBCA command qualifier used to create the physical standby database is createDuplicateDB .
DBCA can only be used to create standby databases for non-multitenant primary databases. In addition, this capability creates only single instance standby databases,not Oracle Real Application Clusters (Oracle RAC) databases. If required, the standby can then be converted to an Oracle RAC standby database, either manually or using Oracle Enterprise Manager Cloud Control.
?
?
在?12cR2?(?12.2.0.1?)之前創建物理備庫的方法有:
1?、使用?RMAN?備份恢復方法;
2?、在?11g?時可以選擇?duplicate?方式創建物理備庫;通過這種方式直接在線從主庫搭建物理備庫。
到?12cR2?(?12.2.0.1?)后,?Oracle?又提供更簡單的方式來創建物理備庫,即使用?DBCA?方式直接建立物理備庫。這個功能再次簡化了創建備庫的復雜度。
通過?DBCA?提供的參數?createDuplicateDB?可以很容易的搭建一個物理備庫。其具體語法如下:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | --------------?12cR2 -createDuplicateDB?-?Command?to?Duplicate?a?database. ????????-gdbName?<Global?database?name> ????????-primaryDBConnectionString?<EZCONNECT?string?to?connect?to?primary?database?for?example?"host:port/servicename"> ????????-sid?<Database?system?identifier> ????????[-createAsStandby?<Option?to?create?a?standby?database>] ????????????????[-dbUniqueName?<db_unique_name?for?standby?db>] ????????[-customScripts?<A?comma?separated?list?of?SQL?scripts?which?needs?to?be?run?post?db?creation.The?scripts?are?run?in?order?they?are?listed>] ????????[-datafileDestination?<Destination?directory?for?all?database?files>] ????????[-initParams?<Comma?separated?list?of?name=value?pairs>] ????????????????[-initParamsEscapeChar?<Specify?escape?character?for?comma?when?a?specific?initParam?has?multiple?values.If?the?escape?character?is?not?specified?backslash?is?the?default?escape?character>] ?? ?? ?? -----------?18c -createDuplicateDB?-?Command?to?Duplicate?a?database. ????????-gdbName?<Global?database?name> ????????-primaryDBConnectionString?<EZCONNECT?string?to?connect?to?primary?database?for?example?"host:port/servicename"> ????????-sid?<Database?system?identifier> ????????[-initParams?<Comma?separated?list?of?name=value?pairs>] ????????????????[-initParamsEscapeChar?<Specify?escape?character?for?comma?when?a?specific?initParam?has?multiple?values.If?the?escape?character?is?not?specified?backslash?is?the?default?escape?character>] ????????[-policyManaged?|?-adminManaged] ????????[-policyManaged?<Policy?managed?database,?default?option?is?Admin?managed?database>] ????????????????-serverPoolName?<Specify?the?single?server?pool?name?in?case?of?create?server?pool?or?comma?separated?list?in?case?of?existing?server?pools> ????????????????[-pqPoolName?<value>] ????????????????[-createServerPool?<Create?a?new?server?pool,?which?will?be?used?by?the?database>] ????????????????????????[-pqPoolName?<value>] ????????????????????????[-forceServerPoolCreation?<To?create?server?pool?by?force?when?adequate?free?servers?are?not?available.?This?may?affect?the?database?which?is?already?in?running?mode>] ????????????????????????[-pqCardinality?<value>] ????????????????????????[-cardinality?<Specify?the?cardinality?of?the?new?server?pool?that?is?to?be?created,?default?is?the?number?of?qualified?nodes>] ????????[-adminManaged?<Admin?managed?database,?this?is?default?option>] ????????[-datafileDestination?<Destination?directory?for?all?database?files>] ????????[-nodelist?<Node?names?separated?by?comma?for?the?database>] ????????[-databaseConfigType?<SINGLE?|?RAC?|?RACONENODE>] ????????????????[-RACOneNodeServiceName?<Service?name?for?the?service?to?be?created?for?RAC?One?Node?database.?This?option?is?mandatory?when?the?databaseConfigType?is?RACONENODE>] ????????[-createAsStandby?<Option?to?create?a?standby?database>] ????????????????[-dbUniqueName?<db_unique_name?for?standby?db>] ????????[-customScripts?<A?comma?separated?list?of?SQL?scripts?which?needs?to?be?run?post?db?creation.The?scripts?are?run?in?order?they?are?listed>] ?? ?? ?? ?? -----------?19c ?? -createDuplicateDB?-?Command?to?Duplicate?a?database. ????????-gdbName?<Global?database?name> ????????-primaryDBConnectionString?<EZCONNECT?string?to?connect?to?primary?database?for?example?"host:port/servicename"> ????????-sid?<Database?system?identifier> ????????[-useWalletForDBCredentials?<true?|?false>?Specify?true?to?load?database?credentials?from?wallet] ????????????????-dbCredentialsWalletLocation?<Path?of?the?directory?containing?the?wallet?files> ????????????????[-dbCredentialsWalletPassword?<Password?to?open?wallet?with?auto?login?disabled>] ????????[-initParams?<Comma?separated?list?of?name=value?pairs>] ????????????????[-initParamsEscapeChar?<Specify?escape?character?for?comma?when?a?specific?initParam?has?multiple?values.If?the?escape?character?is?not?specified?backslash?is?the?default?escape?character>] ????????[-policyManaged?|?-adminManaged] ????????[-policyManaged?<Policy?managed?database,?default?option?is?Admin?managed?database>] ????????????????-serverPoolName?<Specify?the?single?server?pool?name?in?case?of?create?server?pool?or?comma?separated?list?in?case?of?existing?server?pools> ????????????????[-pqPoolName?<value>] ????????????????[-createServerPool?<Create?a?new?server?pool,?which?will?be?used?by?the?database>] ????????????????????????[-pqPoolName?<value>] ????????????????????????[-forceServerPoolCreation?<To?create?server?pool?by?force?when?adequate?free?servers?are?not?available.?This?may?affect?the?database?which?is?already?in?running?mode>] ????????????????????????[-pqCardinality?<value>] ????????????????????????[-cardinality?<Specify?the?cardinality?of?the?new?server?pool?that?is?to?be?created,?default?is?the?number?of?qualified?nodes>] ????????[-adminManaged?<Admin?managed?database,?this?is?default?option>] ????????[-datafileDestination?<Destination?directory?for?all?database?files>] ????????[-nodelist?<Node?names?separated?by?comma?for?the?database>] ????????[-databaseConfigType?<SINGLE?|?RAC?|?RACONENODE>] ????????????????[-RACOneNodeServiceName?<Service?name?for?the?service?to?be?created?for?RAC?One?Node?database.?This?option?is?mandatory?when?the?databaseConfigType?is?RACONENODE>] ????????[-createAsStandby?<Option?to?create?a?standby?database>] ????????????????[-dbUniqueName?<db_unique_name?for?standby?db>] ????????[-customScripts?<A?comma?separated?list?of?SQL?scripts?which?needs?to?be?run?post?db?creation.The?scripts?are?run?in?order?they?are?listed>] |
?
雖然通過?DBCA?能非常簡單的創建一個物理備庫,但是要使用這個功能,必須滿足以下條件:
① ?主庫必須是單機環境,非?RAC?數據庫;
② ?主庫必須是非?CDB?環境;
如果不滿足以上條件,?那么?在使用?DBCA?創建備庫的時候,會提示如下錯誤:
若?主庫是?CDB?環境,錯誤如下:
| 1 2 | [FATAL]?[DBT-16057]?Specified?primary?database?is?a?container?database?(CDB). CAUSE:?Duplicate?database?operation?is?supported?only?for?non?container?databases. |
若?主庫是?RAC?數據庫,錯誤如下:
| 1 2 | [FATAL]?[DBT-16056]?Specified?primary?database?is?not?a?Single?Instance?(SI)?database. CAUSE:?Duplicate?database?operation?is?supported?only?for?SI?databases. |
也就說通過?DBCA?搭建出來的備庫也是一個單機非?CDB?的備庫。
需要注意的是,在?12cR2?(?12.2.0.1?)中,通過?DBCA?創建物理需要保證主庫是單機非?CDB?的庫,但是從?Oracle 18c?(?12.2.0.2?)開始,這些限制條件已經取消了,即主庫是?CDB?或?rac?環境都可以通過?dbca?來創建物理備庫。
以下命令為?18c?中創建?rac?類型的?dg?:
| 1 2 3 4 5 6 7 8 9 10 11 | dbca?-silent?-createDuplicateDB?\ -gdbName?lhrdb?\ -sid?lhrdbdg?\ -sysPassword?oracle?\ -primaryDBConnectionString?192.168.20.10:1521/lhrdb?\ -nodelist?rac18c-n1,rac18c-n2?\ -adminManaged?\ -databaseConfigType?RAC?\ -createAsStandby?-dbUniqueName?lhrdbdg?\ -datafileDestination?'+DATA'?\ -initParams?db_create_file_dest=+DATA,?db_create_online_log_dest_1=+DATA,local_listener="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.20.10)(PORT=1521)))" |
?
基于同一個主機搭建?單實例的物理?DG?(?19c?):
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | SELECT?CDB?FROM??V$DATABASE;? alter?database?force?logging; alter?database?open; alter?database?archivelog; alter?pluggable?database?all?open; alter?pluggable?database??all?save?state; ?? select?thread#,group#,bytes/1024/1024?SIZE_MB,?status,members?from?v$log; select?member?from?v$logfile; alter?database?add?standby?logfile?thread?1?group?4?'/u01/app/oracle/oradata/LHR19C/standby_redo04.log'???size?50M?; alter?database?add?standby?logfile?thread?1?group?5?'/u01/app/oracle/oradata/LHR19C/standby_redo05.log'???size?50M?; alter?database?add?standby?logfile?thread?1?group?6?'/u01/app/oracle/oradata/LHR19C/standby_redo06.log'???size?50M?; alter?database?add?standby?logfile?thread?1?group?7?'/u01/app/oracle/oradata/LHR19C/standby_redo07.log'???size?50M?; ?? --------配置tns lhr19c?= ??(DESCRIPTION?= ????(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?192.168.59.52)(PORT?=?1522)) ????(CONNECT_DATA?= ??????(SERVER?=?DEDICATED) ??????(SERVICE_NAME?=?lhr19c) ????) ??) ?? lhr19cdg?= ??(DESCRIPTION?= ????(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?192.168.59.52)(PORT?=?1522)) ????(CONNECT_DATA?= ??????(SERVER?=?DEDICATED) ??????(SERVICE_NAME?=?lhr19cdg) ????) ??) ?? --------配置監聽 LISTENER?= ??(DESCRIPTION_LIST?= ????(DESCRIPTION?= ??????(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?192.168.59.52)(PORT?=?1521)) ????) ??) ?? SID_LIST_LISTENER?= ??(SID_LIST?= ????(SID_DESC?= ??????(GLOBAL_DBNAME?=?lhr19c) ??????(ORACLE_HOME?=?/u01/app/oracle/product/19.2.0/dbhome_1) ??????(SID_NAME?=?lhr19c) ????) ????(SID_DESC?= ??????(GLOBAL_DBNAME?=?lhr19cdg) ??????(ORACLE_HOME?=?/u01/app/oracle/product/19.2.0/dbhome_1) ??????(SID_NAME?=?lhr19cdg) ????) ??) ?? LISTENER_DG?= ??(DESCRIPTION?= ????(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?192.168.59.52)(PORT?=?1522)) ??) ?? SID_LIST_LISTENER_DG?= ??(SID_LIST?= ????(SID_DESC?= ??????(GLOBAL_DBNAME?=?lhr19c) ??????(ORACLE_HOME?=?/u01/app/oracle/product/19.2.0/dbhome_1) ??????(SID_NAME?=?lhr19c) ????) ????(SID_DESC?= ??????(GLOBAL_DBNAME?=?lhr19cdg) ??????(ORACLE_HOME?=?/u01/app/oracle/product/19.2.0/dbhome_1) ??????(SID_NAME?=?lhr19cdg) ????) ??) ?? lsnrctl?start?LISTENER_DG ?? ?? dbca?-silent?-createDuplicateDB?\ -gdbName?lhr19c?\ -sid?lhr19cdg?\ -sysPassword?lhr?\ -primaryDBConnectionString?192.168.59.52:1522/lhr19c?\ -nodelist?raclhr-18c-n1?\ -databaseConfigType?SINGLE?\ -createAsStandby?-dbUniqueName?lhr19cdg?\ -datafileDestination?'/u01/app/oracle/oradata/lhr19cdg/'?\ -initParams?db_create_file_dest=/u01/app/oracle/oradata/lhr19cdg/,?db_create_online_log_dest_1=/u01/app/oracle/oradata/lhr19cdg/,local_listener="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.59.52)(PORT=1522)))" ?? ?? ?? ?? --主庫修改參數 alter?system?set?LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST??VALID_FOR=(ALL_LOGFILES,ALL_ROLES)?DB_UNIQUE_NAME=lhr19c'; alter?system?set?LOG_ARCHIVE_DEST_2='service=lhr19cdg??VALID_FOR=(online_logfiles,primary_role)?DB_UNIQUE_NAME=lhr19cdg'; alter?system?set?log_archive_config='dg_config=(lhr19c,lhr19cdg)'; alter?system?set?db_file_name_convert='/u01/app/oracle/oradata/LHR19CDG/','/u01/app/oracle/oradata/LHR19C/'?scope=spfile; alter?system?set?log_file_name_convert='/u01/app/oracle/oradata/LHR19CDG/','/u01/app/oracle/oradata/LHR19C/'?scope=spfile; alter?system?set?standby_file_management=auto?scope=spfile; alter?system?set?fal_client='lhr19c';? alter?system?set?fal_server='lhr19cdg'?sid='*'; alter?system?set?local_listener='(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.59.52)(PORT=1522)))','(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.59.52)(PORT=1521)))'; shutdown?immediate startup ?? ?? --備庫修改參數 alter?system?set?LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST??VALID_FOR=(ALL_LOGFILES,ALL_ROLES)?DB_UNIQUE_NAME=lhr19cdg'?scope=spfile; alter?system?set?log_archive_config='dg_config=(lhr19c,lhr19cdg)'; alter?system?set?db_file_name_convert='/u01/app/oracle/oradata/LHR19C/','/u01/app/oracle/oradata/LHR19CDG/'?scope=spfile; alter?system?set?log_file_name_convert='/u01/app/oracle/oradata/LHR19C/','/u01/app/oracle/oradata/LHR19CDG/'?scope=spfile; alter?system?set?standby_file_management=auto?scope=spfile; alter?system?set?fal_client='lhr19cdg';? alter?system?set?fal_server='lhr19c'?sid='*'; alter?system?set?local_listener='(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.59.52)(PORT=1522)))','(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.59.52)(PORT=1521)))'; ?? shutdown?immediate startup alter?system?register; ?? ?? --備庫查詢實時應用 alter?database?recover?managed?standby?database?cancel; alter?database?recover?managed?standby?database?using?current?logfile?disconnect; !?ps?-ef|grep?ora_mrp ?? select?INST_ID,?dbid,name,DB_UNIQUE_NAME,current_scn,protection_mode,database_role,force_logging,open_mode,switchover_status?from?gv$database; ?? COL?NAME?FOR?A100 SET?LINESIZE?9999??PAGESIZE?9999 COL?NEXT_CHANGE#?FOR?999999999999999 SELECT?THREAD#,?NAME,?SEQUENCE#,?ARCHIVED,?APPLIED,?A.NEXT_CHANGE# ??FROM?V$ARCHIVED_LOG?A ?WHERE?A.SEQUENCE#?>=?(SELECT?MAX(B.SEQUENCE#)?-?3 ?????????????????????????FROM?V$ARCHIVED_LOG?B ????????????????????????WHERE?B.THREAD#?=?A.THREAD# ??????????????????????????AND?B.RESETLOGS_CHANGE#?=?A.RESETLOGS_CHANGE# ??????????????????????????AND?B.RESETLOGS_CHANGE#?= ??????????????????????????????(SELECT?D.RESETLOGS_CHANGE#?FROM?V$DATABASE?D) ??????????????????????????AND?B.APPLIED?=?'YES'? ??GROUP?BY?B.THREAD#) ?ORDER?BY?A.THREAD#,?A.SEQUENCE#; |
?
?
?
About Me
| ........................................................................................................................ ● 本文作者:小麥苗,部分內容整理自網絡,若有侵權請聯系小麥苗刪除 ● 本文在itpub(?http://blog.itpub.net/26736162?)、博客園(?http://www.cnblogs.com/lhrbest?)和個人weixin公眾號(?xiaomaimiaolhr?)上有同步更新 ● 本文itpub地址:?http://blog.itpub.net/26736162 ● 本文博客園地址:?http://www.cnblogs.com/lhrbest ● 本文pdf版、個人簡介及小麥苗云盤地址:?http://blog.itpub.net/26736162/viewspace-1624453/ ● 數據庫筆試面試題庫及解答:?http://blog.itpub.net/26736162/viewspace-2134706/ ● DBA寶典今日頭條號地址:?http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826 ........................................................................................................................ ● QQ群號:?230161599?(滿)?、618766405 ● weixin群:可加我weixin,我拉大家進群,非誠勿擾 ● 聯系我請加QQ好友?(?646634621?)?,注明添加緣由 ● 于 2019-03-01 06:00 ~ 2019-03-31 24:00 在魔都完成 ● 最新修改時間:2019-03-01 06:00 ~ 2019-03-31 24:00 ● 文章內容來源于小麥苗的學習筆記,部分整理自網絡,若有侵權或不當之處還請諒解 ● 版權所有,歡迎分享本文,轉載請保留出處 ........................................................................................................................ ●?小麥苗的微店?:?https://weidian.com/s/793741433?wfr=c&ifr=shopdetail ●?小麥苗出版的數據庫類叢書?:?http://blog.itpub.net/26736162/viewspace-2142121/ ●?小麥苗OCP、OCM、高可用網絡班?:?http://blog.itpub.net/26736162/viewspace-2148098/ ●?小麥苗騰訊課堂主頁?:?https://lhr.ke.qq.com/ ........................................................................................................................ 使用?weixin客戶端?掃描下面的二維碼來關注小麥苗的weixin公眾號(?xiaomaimiaolhr?)及QQ群(DBA寶典)、添加小麥苗weixin,?學習最實用的數據庫技術。
........................................................................................................................ |
?
?
?
?
來自 “ ITPUB博客 ” ,鏈接:http://blog.itpub.net/26736162/viewspace-2638038/,如需轉載,請注明出處,否則將追究法律責任。
1轉載于:https://my.oschina.net/lhrbest/blog/3020961
總結
以上是生活随笔為你收集整理的【DG】Oracle 19c使用dbca来搭建物理DG的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 定义一个数组返回最大子数组的值(2)
- 下一篇: FFmpeg封装格式处理2-解复用例程