Oracle 10g R2 DataGuard之物理standby的switchover和failover
2012-02-05 16:25
531 查看
一、物理standby的switchover
主库操作:
相关的参数文件要添加的参数,已经在之前创建的时候已经添加,具体请看前面的步骤,下面进行转换:
首先查看主库的转换状态:
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
--------------------
TO STANDBY
执行转换命令:
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;
状态是:TO STANDBY这是可以进行转换的。
注意如果,当前有用户连接到数据库其状态是如下:
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
--------------------
SESSIONS ACTIVE
这个时候的状态是会话连接状态的,在执行转换命令的时候会报错误ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected
此时可以加上 witch session shutdown ;
关闭数据库,启动到mount 的状态;
备库操作:
查看备库的转换状态:
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
--------------------
TO PRIMARY
状态是:TO PRIMARY这是可以进行转换的。
执行转换命令:
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
日志:
注意:
有时候状态是如下的:
就是没有实时应用归档的原因,此时执行:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
即可,改变状态为:TO PRIMARY
然后在新备库上进行日志应用:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
验证结果:
查询待转换standby 数据库的V$ARCHIVE_GAP 视图,确认归档文件是否连接:
SQL> SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;
如果返回的有记录,按照列出的记录号复制对应的归档文件到待转换的standby 服务器。这一步非常重要,必须确保所有已生成的归档文件均已存在于standby 服务器,不然可能会数据不一致造成转换时报错。
文件复制之后,通过下列命令将其加入数据字典:
SQL> ALTER DATABASE REGISTER PHYSICAL LOGFILE '归档文件名称';
2、检查归档文件是否完整
分别在primary/standby 执行下列语句:
SQL> select distinct thread#,max(sequence#) over(partition by thread#) a from v$archived_log;
该语句取得当前数据库各线程已归档文件最大序号,如果primary 与standby 最大序号不相同,必须将多出的序号对应的归档文件复制到待转换的standby服务器。
3、启动failover
执行下列语句:
SQL> alter database recover managed standby database finish ;
4、切换物理standby 角色为primary
SQL> alter database commit to switchover to primary;
5、启动新的primary 数据库。
SQL> alter database open;本文出自 “影子骑士” 博客,请务必保留此出处http://andylhz2009.blog.51cto.com/728703/772935
注:在做switchover前,需要将监听解析文件tnsnames.ora 文件中的主机名对换一下,主备都要更改,并重启监听。
主库操作:
相关的参数文件要添加的参数,已经在之前创建的时候已经添加,具体请看前面的步骤,下面进行转换:
首先查看主库的转换状态:
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
--------------------
TO STANDBY
执行转换命令:
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;
状态是:TO STANDBY这是可以进行转换的。
注意如果,当前有用户连接到数据库其状态是如下:
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
--------------------
SESSIONS ACTIVE
这个时候的状态是会话连接状态的,在执行转换命令的时候会报错误ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected
此时可以加上 witch session shutdown ;
关闭数据库,启动到mount 的状态;
备库操作:
查看备库的转换状态:
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
--------------------
TO PRIMARY
状态是:TO PRIMARY这是可以进行转换的。
执行转换命令:
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
日志:
注意:
有时候状态是如下的:
就是没有实时应用归档的原因,此时执行:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
即可,改变状态为:TO PRIMARY
然后在新备库上进行日志应用:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
验证结果:
二、物理standby的failover
1、检查归档文件是否连续查询待转换standby 数据库的V$ARCHIVE_GAP 视图,确认归档文件是否连接:
SQL> SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;
如果返回的有记录,按照列出的记录号复制对应的归档文件到待转换的standby 服务器。这一步非常重要,必须确保所有已生成的归档文件均已存在于standby 服务器,不然可能会数据不一致造成转换时报错。
文件复制之后,通过下列命令将其加入数据字典:
SQL> ALTER DATABASE REGISTER PHYSICAL LOGFILE '归档文件名称';
2、检查归档文件是否完整
分别在primary/standby 执行下列语句:
SQL> select distinct thread#,max(sequence#) over(partition by thread#) a from v$archived_log;
该语句取得当前数据库各线程已归档文件最大序号,如果primary 与standby 最大序号不相同,必须将多出的序号对应的归档文件复制到待转换的standby服务器。
3、启动failover
执行下列语句:
SQL> alter database recover managed standby database finish ;
4、切换物理standby 角色为primary
SQL> alter database commit to switchover to primary;
5、启动新的primary 数据库。
SQL> alter database open;本文出自 “影子骑士” 博客,请务必保留此出处http://andylhz2009.blog.51cto.com/728703/772935
相关文章推荐
- Oracle 10g R2 之DataGuard物理standby 配置
- Oracle 11g R2之Dataguard搭建物理standby
- Oracle 10.2.0.5 Dataguard creation and switchover/failover practise with RMAN in redhat 5.8 x64
- oracle 11GR2 dataguard SWITCHOVER FAILOVER
- Oracle 10G R2的Data Guard物理standby搭建
- Oracle学习之DATAGUARD(八) Switchover与failover
- oracle 10g dataguard物理standby配置 (数据文件以文件系统存储)
- Oracle 10g dataguard维护,配置自动fast_start switchover
- 10g物理standby主备switchover方式切换详述
- 一步一步学DataGuard(6)物理standby之switchover
- oracle dataguard switchover切换
- Oracle 10g 物理Dataguard日常操作维护(二)
- Oracle 11g R2之物理Dataguard 重命名数据文件
- Oracle 10g R2 数据库的克隆---物理拷贝克隆
- Oracle 11G Physical Standby Database Active Data Guard Switchover & Failover
- 77、Dataguard的switchover和failover
- Dataguard之switchover与failover
- Oracle中Failover和Switchover的区别
- Oracle 10g dataguard 物理备库日常维护(一)
- oracle 10g 物理Dataguard 日常操作管理(一)