设为首页 收藏本站
查看: 686|回复: 0

[经验分享] Oracle 10g Dataguard Broker Failover切换与Observer

[复制链接]

尚未签到

发表于 2016-8-7 06:43:22 | 显示全部楼层 |阅读模式
设置从库的日志模式为SYNC,为改为Max Availability模式做好准备:
EDIT DATABASE stdby SET PROPERTY 'LogXptMode'='SYNC';

DGMGRL> EDIT DATABASE stdby SET PROPERTY 'LogXptMode'='SYNC';
Property "LogXptMode" updated
也设置主库日志模式为SYNC,为以后主库切换为从库再切回来做准备:
EDIT DATABASE pri SET PROPERTY 'LogXptMode'='SYNC';

DGMGRL> EDIT DATABASE pri SET PROPERTY 'LogXptMode'='SYNC';
Property "LogXptMode" updated
设置主从库为Max Availability模式:
EDIT CONFIGURATION SET PROTECTION MODE AS MAXAVAILABILITY;
DGMGRL> EDIT CONFIGURATION SET PROTECTION MODE AS MAXAVAILABILITY;
Operation requires shutdown of instance "prod" on database "pri"
Shutting down instance "prod"...
Database closed.
Database dismounted.
ORACLE instance shut down.
Operation requires startup of instance "prod" on database "pri"
Starting instance "prod"...
ORACLE instance started.
Database mounted.
配置主从库的Failover的目标:
edit database pri set property 'FastStartFailoverTarget'='stdby';
DGMGRL> edit database pri set property 'FastStartFailoverTarget'='stdby';
Property "FastStartFailoverTarget" updated
edit database stdby set property 'FastStartFailoverTarget'='pri';
DGMGRL> edit database stdby set property 'FastStartFailoverTarget'='pri';
Property "FastStartFailoverTarget" updated
设定FastStartFailoverThreshold值,这个设置是决定了primary坏了多长时间之后会执行自动的failover操作,这里我们设置的是30秒:
EDIT CONFIGURATION SET PROPERTY FastStartFailoverThreshold = 30;

DGMGRL> EDIT CONFIGURATION SET PROPERTY FastStartFailoverThreshold = 30;
Property "faststartfailoverthreshold" updated
检查主从库都在flashback开启状态:
select name, current_scn, flashback_on from v$database;
SQL> select name, current_scn, flashback_on from v$database;
NAME      CURRENT_SCN FLASHBACK_ON
--------- ----------- ------------------
PROD           732929 YES
如果不是,启用flashback:

alter system set db_recovery_file_dest_size=2G;
alter system set db_recovery_file_dest='/u01/app/oracle/flash_recovery_area/';
alter database flashback on;


启用Fast-Start Failover:
ENABLE FAST_START FAILOVER;

DGMGRL> ENABLE FAST_START FAILOVER;
Enabled.
从机上开启Obserser:
start observer;
DGMGRL> start observer;
Observer started
启动成功,屏幕进入等待输出状态。
设置delaymins:

edit database pri set property delaymins=1;  
edit database stdby set property delaymins=1;


主机上查看配置状态:
show configuration;
DGMGRL> show configuration;
Configuration
  Name:                broker_prod
  Enabled:             YES
  Protection Mode:     MaxAvailability
  Fast-Start Failover: ENABLED
  Databases:
    pri   - Primary database
    stdby - Physical standby database
          - Fast-Start Failover target
Current status for "broker_prod":
SUCCESS
可以看到Fast-Start Failover都启动成功了。
做主机故障测试,看能否自动切换到从机:
主库上非正常关闭
shutdown abort;
SQL> shutdown abort
ORACLE instance shut down.
看从机上observer输出
13:38:21.03  Thursday, July 26, 2012
Initiating fast-start failover to database "stdby"...
Performing failover NOW, please wait...
Failover succeeded, new primary is "stdby"
13:38:28.73  Thursday, July 26, 2012
显示Fast-Start Failover 自动故障切换成功。
从库上查看instance状态:
select instance_name,host_name,database_status,instance_role from v$instance;

SQL> select instance_name,host_name,database_status,instance_role from v$instance;
INSTANCE_NAME    HOST_NAME  DATABASE_STATUS   INSTANCE_ROLE
---------------- ---------- ----------------- ------------------
stdby            xxxxstdby  ACTIVE            PRIMARY_INSTANCE
从库上查看数据库状态:
select open_mode,database_role from v$database;

SQL> select open_mode,database_role from v$database;
OPEN_MODE  DATABASE_ROLE
---------- ----------------
READ WRITE PRIMARY
表明故障自动切换成功。
恢复主库:
startup


SQL> startup
ORACLE instance started.
Total System Global Area  419430400 bytes
Fixed Size                  1219736 bytes
Variable Size             192938856 bytes
Database Buffers          218103808 bytes
Redo Buffers                7168000 bytes
Database mounted.
ORA-16649: database will open after Data Guard broker has evaluated Fast-Start Failover status
显示启动到mount状态,登台broker评估故障状态,reinstate主库。
再观察从库上observer的输出:
14:07:04.31  Thursday, July 26, 2012
Initiating reinstatement for database "pri"...
Reinstating database "pri", please wait...
Operation requires shutdown of instance "prod" on database "pri"
Shutting down instance "prod"...
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
Operation requires startup of instance "prod" on database "pri"
Starting instance "prod"...
ORACLE instance started.
Database mounted.
Continuing to reinstate database "pri" ...
Reinstatement of database "pri" succeeded
14:08:12.52  Thursday, July 26, 2012
显示observer检测到主库的变化,在reinstate主库,只到最后成功。
查看主库状态:
select open_mode,database_role from v$database;
SQL> select open_mode,database_role from v$database;
OPEN_MODE  DATABASE_ROLE
---------- ----------------
MOUNTED    PHYSICAL STANDBY
查看主库mrp进程:
ps -ef |grep mrp
$ ps -ef |grep mrp
oracle    3341     1  0 14:06 ?        00:00:00 ora_mrp0_prod
oracle    3592 15046  0 14:09 pts/4    00:00:00 grep mrp
可以确认主库现已恢复到PHYSICAL STANDBY 状态了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-254040-1-1.html 上篇帖子: isqlplus(网页版sql plus)-oracle应用记载 下篇帖子: ORACLE 无法连接telnet不通的问题解决
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表