Oracle 19c使用dbca来搭建物理DG
【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 | -------------- 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 3 | [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 12 | 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 | 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#; |
【DG】Oracle 19c使用dbca来搭建物理DG--主rac备rac
以下内容为主库是rac,备库也是rac类型,通过dbca的方式来搭建物理DG:
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 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | SELECT CDB FROM V$DATABASE; alter database archivelog; alter database force logging; alter database flashback on; alter database open; 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 thread#,group#,member from v$logfile; set line 9999 pagesize 9999 col db_id format a15 col GROUP# format 99999 select (select instance_name from gv$instance na where na.inst_id=a.INST_ID) instance_name, GROUP#, DBID db_id, THREAD#, SEQUENCE#, BYTES, USED, ARCHIVED, STATUS, FIRST_CHANGE#, NEXT_CHANGE#,LAST_CHANGE# from gv$standby_log a order by INST_ID,THREAD#,GROUP#; alter database add standby logfile thread 1 group 5 ('+DATA','+FRA') size 200M ,group 6 ('+DATA','+FRA') size 200M ,group 7 ('+DATA','+FRA') size 200M ; alter database add standby logfile thread 2 group 8 ('+DATA','+FRA') size 200M ,group 9 ('+DATA','+FRA') size 200M ,group 10 ('+DATA','+FRA') size 200M ; --------配置tns tns_rac19c = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.59.54)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.59.55)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = rac19c) ) ) tns_rac19cdg = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.59.54)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.59.55)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = rac19cdg) ) ) --------配置监听 SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = rac19c) (ORACLE_HOME = /u01/app/oracle/product/19.3.0/dbhome_1) (SID_NAME = rac19c1) ) (SID_DESC = (GLOBAL_DBNAME = rac19cdg) (ORACLE_HOME = /u01/app/oracle/product/19.3.0/dbhome_1) (SID_NAME = rac19cdg1) ) (SID_DESC = (GLOBAL_DBNAME = rac19c_DGMGRL) (ORACLE_HOME = /u01/app/oracle/product/19.3.0/dbhome_1) (SID_NAME = rac19c1) ) (SID_DESC = (GLOBAL_DBNAME = rac19cdg_DGMGRL) (ORACLE_HOME = /u01/app/oracle/product/19.3.0/dbhome_1) (SID_NAME = rac19cdg1) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = rac19c) (ORACLE_HOME = /u01/app/oracle/product/19.3.0/dbhome_1) (SID_NAME = rac19c2) ) (SID_DESC = (GLOBAL_DBNAME = rac19cdg) (ORACLE_HOME = /u01/app/oracle/product/19.3.0/dbhome_1) (SID_NAME = rac19cdg2) ) (SID_DESC = (GLOBAL_DBNAME = rac19c_DGMGRL) (ORACLE_HOME = /u01/app/oracle/product/19.3.0/dbhome_1) (SID_NAME = rac19c2) ) (SID_DESC = (GLOBAL_DBNAME = rac19cdg_DGMGRL) (ORACLE_HOME = /u01/app/oracle/product/19.3.0/dbhome_1) (SID_NAME = rac19cdg2) ) ) srvctl stop listener -l LISTENER srvctl start listener -l LISTENER dbca -silent -createDuplicateDB \ -gdbName rac19c \ -sid rac19cdg \ -sysPassword lhr \ -primaryDBConnectionString 192.168.59.54:1521/rac19c \ -nodelist raclhr-19c-n1,raclhr-19c-n2 \ -adminManaged \ -databaseConfigType RAC \ -createAsStandby -dbUniqueName rac19cdg \ -datafileDestination '+DATA' \ -initParams db_create_file_dest=+DATA, db_create_online_log_dest_1=+DATA ---全参数 rac环境 set line 1000 set pagesize 1000 col name format a25 col VALUE format a100 SELECT a.NAME, i.instance_name, a.VALUE FROM gv$parameter a, gv$instance i WHERE a.inst_id = i.inst_id and a.name in ('dg_broker_start','db_name','db_unique_name','log_archive_config','log_archive_dest_1','log_archive_dest_2','log_archive_dest_state_1','log_archive_dest_state_2','log_archive_max_processes','remote_login_passwordfile','db_file_name_convert','log_file_name_convert','standby_file_management','fal_server','fal_client','dg_broker_config_file1','dg_broker_config_file2') ORDER BY a.name, i.instance_name; --主库修改参数 alter system set LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=rac19c' sid='*'; alter system set LOG_ARCHIVE_DEST_2='service=tns_rac19cdg VALID_FOR=(online_logfiles,primary_role) DB_UNIQUE_NAME=rac19cdg' sid='*'; alter system set log_archive_config='dg_config=(rac19c,rac19cdg)' sid='*'; alter system set db_file_name_convert='+DATA','+DATA' scope=spfile sid='*'; alter system set log_file_name_convert='+DATA','+DATA' scope=spfile sid='*'; alter system set standby_file_management=auto scope=spfile sid='*'; alter system set fal_client='tns_rac19c' sid='*'; alter system set fal_server='tns_rac19cdg' sid='*'; ---创建路径 ASMCMD> mkdir +DATA/dgshare/ --主库 show parameter dg alter system set dg_broker_config_file1='+DATA/dgshare/dr1rac19c.dat' SID='*'; alter system set dg_broker_config_file2='+DATA/dgshare/dr2rac19c.dat' SID='*'; alter system set dg_broker_start=true sid='*'; --备库 show parameter dg alter system set dg_broker_config_file1='+DATA/dgshare/dr1rac19cDG.dat' SID='*'; alter system set dg_broker_config_file2='+DATA/dgshare/dr2rac19cDG.dat' SID='*'; alter system set dg_broker_start=true sid='*'; --备库修改参数 alter system set LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=rac19cdg' scope=spfile sid='*'; alter system set log_archive_config='dg_config=(rac19c,rac19cdg)'; alter system set db_file_name_convert='+DATA','+DATA' scope=spfile sid='*'; alter system set log_file_name_convert='+DATA','+DATA' scope=spfile sid='*'; alter system set standby_file_management=auto scope=spfile sid='*'; alter system set fal_client='tns_rac19cdg' sid='*'; alter system set fal_server='tns_rac19c' sid='*'; srvctl stop db -d rac19c srvctl start db -d rac19c srvctl stop db -d rac19cdg srvctl start db -d rac19cdg --备库查询实时应用 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#; cp /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/tnsnames.ora /u01/app/19.3.0/grid/network/admin/tnsnames.ora chown grid.oinstall /u01/app/19.3.0/grid/network/admin/tnsnames.ora dgmgrl sys/lhr@rac19c show configuration create configuration rac19c as primary database is rac19c connect identifier is tns_rac19c; add database rac19cdg as connect identifier is tns_rac19cdg maintained as physical; enable configuration show database verbose rac19c; show database verbose rac19cdg; alter database recover managed standby database cancel; alter database flashback on; select flashback_on,force_logging from v$database; alter database recover managed standby database using current logfile disconnect; edit database rac19c set property 'FastStartFailoverTarget'='rac19cdg'; edit database rac19cdg set property 'FastStartFailoverTarget'='rac19c'; |