标签:comm 用户 ima 查找 参数 partition nis 打开 gis
如果primary可以mount,则可以flush任何主库的未传输redo到备库,如果操作成功返回,则可以保证failover的零数据丢失。
1)确保standby数据库启用日志应用
2)mount primary数据库,执行以下SQL语句,命令等待standby应用redo完成后返回。
SQL> alter system flush redo to target_db_unique_name;
如果成功返回,则转第5步,如果返回错误或者用户不能等待其耗费的时长,则转第2步。
standby:
SQL> select unique thread# as thread, max(sequence#) over (partition by thread#) as last from v$archived_log;
如果standby没有应用priamry的最新归档,手工传输primary归档文件到standby并注册:
SQL> alter database register physical logfile ‘filespec1‘;
standby:
SQL> select thread#, low_sequence#, high_sequence# from v$archive_gap;
如果有GAP, 手工传输GAP到standby并注册:
SQL> alter database register physical logfile ‘filespec1‘;
直到查询返回为空,则说明当前已可能没有GAP(v$archive_gap存在一些已知的BUG)。
SQL> recover managed standby database cancel;
SQL> recover managed standby database finish;
如果命令成功返回,转第7步,如果命令返回错误,说明一些redo数据不能应用,排查错误并再次执行该SQL语句。
如果错误不能解决,执行以下SQL激活物理备库,可能会丢失数据,执行以下SQL后,转第9步:
SQL> alter database activate physical standby database;
SQL> select switchover_status from v$database;
SQL查询结果为TO PRIMARY
或SESSIONS ACTIVE
,则表示standby可以转换为primary角色,否则需要检查日志应用是否仍处于激活状态,确保该值为TO PRIMARY
或SESSIONS ACTIVE
。
SQL> alter database commit to switchover to primary with session shutdown;
如果switchover_status为SESSION ACTIVE,则需要加上with session shutdown子句。
SQL> alter database open;
SQL> recover managed standby database using current logfile disconnect;
标签:comm 用户 ima 查找 参数 partition nis 打开 gis
原文地址:http://www.cnblogs.com/liang545621/p/7529310.html