切换DataGuard的方法是什么?

分类:编程技术 时间:2024-02-20 15:53 浏览:0 评论:0
0
本文介绍《DataGuard切换的方法是什么》的相关知识。在实际案例操作过程中,很多人都会遇到这样的困境。接下来就让小编带领大家学习一下如何处理这些情况。 !我希望你能仔细阅读并学到一些东西!

环境:
数据库版本:11.2.0.3
主库:双节点RAC
备库:双节点RAC
是异地容灾,网络质量不是很好。
步骤:
1.检查日志应用状态
备库(备库检查):
SQL> select thread#,SEQUENCE#,FIRST_TIME,next_time,applied from gv$archived_log order byequence#; (确保日志已应用

2.检查日志传输错误
SQL> SELECT STATUS, GAP_STATUS FROM V$ARCHIVE_DEST_STATUS 其中 DEST_ID = 2;状态 GAP_STATUS
--------- ---------------------- --
无效无间隙

3. 评估切换时间——rac环境下备库只能有一个实例处于open状态。
set linesize 200
SQL> 列名格式 a22
SQL> 列值格式 a16
SQL> 列单位格式 a28
SQL> 列 time_compulated 格式a25
SQL> select * from v$dataguard_stats;
名称 VALUEUNIT TIME_COMPUTED DATUM_TIME
-------------------- -- -------------- ------------------------------- -------- ----------- ----------------------------------------------------
传输延迟+00 01: 47:32天(2) 到秒(0) 间隔 10/29/2014 10:48:15 10/29/2014 10:47:58
应用滞后 +00 01:47 :32day(2) 到秒(0) 间隔 10/29/2014 10:48:15 10/29/2014 10:47:58
应用完成时间日(2) 到秒(3) 间隔 10/29 /2014 10:48:15
预计启动时间20秒2014年10月29日10:48:15

4. 自主备数据库均为RAC,该环境下主备数据库仅存在一个实例
srvctl stop instance -d EM -i EM2 - -先停止主数据库
srvctl stop instance -d EM_SH -i EMP2 --停止备数据库

注意:如果主数据库的两个实例都存活,将报告以下错误:

SQL> alter database commit to switchover tophysicalstandby with session shutdown ;
通过会话关闭更改数据库提交切换到物理备用
*
第 1 行出现错误:
ORA-01105: 挂载与其他实例的挂载不兼容

5.登录主库操作
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE; -- 确保状态为 SESSION_ACTIVE 或 TO STANDBY(因为由于它位于远程位置,因此关闭实例后重做应用程序可能会出现延迟。如果网络质量不是很好,可以等待一段时间。 )

更改数据库提交以切换到物理备用并关闭会话; --执行切换(最好停止应用程序)--执行此操作后,数据库会自动关闭

STARTUP MOUNT ; -- 启动原主数据库挂载

6.登录备库操作
SELECT SWITCHOVER_STATUS FROM V$DATABASE; -- 确保状态为 SESSION_ACTIVE 或 TO PRIMARY。

更改数据库承诺在会话关闭的情况下切换到主数据库; --执行角色切换

strong>

ALTER DATABASE OPEN;--打开新的主数据库

srvctl启动实例-d数据库ame -i instance_name --启动另一个节点

7.登录新备库
ALTER DATABASE OPEN; --启动数据库

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT; - -启动实时应用

srvctl start instance -d databasename -i instance_name; --启动其他实例

8.执行事务发现不同步
archive Log list发现没有scn

经过验证,是因为主库没有没有日志传输
alter system set log_archive_dest_state_2='enable' sid='*';
strong> --在新的主库中执行,启动日志传输服务
可以查询数据的状态:
< /strong>

SQL> 从 V$DATABASE 中选择 SWITCHOVER_STATUS;

SWITCHOVER_STATUS
----------------------------------------
FAILED DESTINATION

检查备库的scn没有改变,可以重新启动备库。

9.检查是否同步
SELECT MAX(SEQUENCE#),THREAD# FROM V$ARCHIVED_LOG
WHERE RESETLOGS_CHANGE# = (SELECT MAX(RESETLOGS_CHANGE#) FROM V$ARCHIVED_LOG) GROUP BY THREAD#;

这里介绍“什么是切换DataGuard的方法”。感谢您的阅读。如果您想了解更多行业资讯,可以关注网站,小编将为大家输出更多优质实用文章!

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > 切换DataGuard的方法是什么?

用户评论