小编给大家分享一下oracle 11g dataguard中dgmgrl怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1 启用dgmgrl
相关参数:
dg_broker_start
dg_broker_config_file1配置: alter system set dg_broker_start=true scope=both;
此时数据库会增加dmon进程对应log:$ORACLE_BASE/diag/rdbms/xxx/xxxx/drc$ORACLE_S免费主机域名ID.log
但此时使用是用不了的,如下所示:需手动配置添加:注:add database ‘SBDB1’ ,这里的dg是指database的dbuniquename,而as connect identifier is sbdb1这里的sbdb1是指tnsname.ora连接到standby database的net service name.注意区分大小,默认为小写;
同时检查alert_$ORACLE_SID.log日志可以看到:检查drc$ORACLE_SID.log:所有配置完成,这玩意只能用在企业版
二 检查配置:注意大小写三 相关测试:snapshot standby,switchover
3.1不开database flashback on 测试:
不用dgmrl的方法参见:https://blog.51cto.com/snowhill/2047857这里从alert_sbdb1.log里看,数据库并没有发生重启,只是将会话杀掉了;手动启动备库到mount状态,后面的dgmgrl自动恢复到sbdb1,但在open过程中经常会死在最后一步,相关日志如下:最后一步会假死一下,没关系,直接shutdown abort,再启动,就可以了;由于dgmgrl的存在,他会自动补上命令,如下图所示:
为啥会自动,检查数据库配置:3.2 启用Fast start failover简单点来说就是:
1确保broker配置为运行在Max Availability模式。
2在primary和standby机器上都启用flashback database,这个在reinstate failed的数据库的时候要用。
3启动observer启用database flashback 再次enable:启动observer:再次查看配置:3.3 switchover
手工switchover 步骤:https://blog.51cto.com/snowhill/1951592
现在更简化下,用dgmgrl只需一个命令:SWITCHOVER TO
切换完了,检查下:再切回来:如还有啥疑问看官方参考:https://docs.oracle.com/cd/E11882_01/server.112/e40771/sofo.htm#DGBKR385四 dgmgrl 调整参数:
4.1调整应用延迟edit database 'SBDB1' set property DelayMins=1 ;
其实就是如下命令:4.2调整异步同步模式edit database 'SBDB1' set property LogXptMode=sync;
对应的命令如下:ALTER SYSTEM SET log_archive_dest_2='service="sbdb1"','LGWR SYNC AFFIRM delay=1 optional compression=disable max_failure=0 max_connections=1 reopen=300 db_unique_name="SBDB1" net_timeout=30','valid_for=(all_logfiles,primary_role)' SCOPE=BOTH;
当然所免费主机域名有能用broker配置的参数,不要用sqlplus来干;
五 相关报错处理broker错误一般为大小写不一致,数据库配置和broker配置不一致引起,启用broker后,dataguard相关的配置都最好用broker管理;
5.1 ora-16541此错误出现一个节点,一般是由于配置不一致引起再另一个节点上查看,一般报的错不一样此错误为参数与dgmgrl 里的不一致引起,检查启用dg broker之后的配置,发现更改改了log_file_name_convert,db_file_name_convert引起,在另一个节点做如下配置就可以了5.2 ora-16820 DGMGRL> show configuration
Configuration – db
Protection Mode: MaxAvailability
Databases:
SBDB1 – Primary database
Error: ORA-16820: fast-start failover observer is no longer observing this database
db – (*) Physical standby database
Error: ORA-16820: fast-start failover observer is no longer observing this database
Fast-Start Failover: ENABLED
Configuration Status:
ERROR此错误比较扯淡,stop observer,start observer就可以了;5.3 ora-16661启用fast failover后,非正常关闭两个节点,再次启动数据库,一般会出现两个节点都是primary 的情况,这时启动dgmgrl会报:DGMGRL> show configuration
Configuration – db
Protection Mode: MaxAvailability
Databases:
SBDB1 – Primary database
Error: ORA-16820: fast-start failover observer is no longer observing this database
db – (*) Physical standby database (disabled)
ORA-16661: the standby database needs to be reinstated
Fast-Start Failover: ENABLEDConfiguration Status:
ERROR
而另外一节点报错如下:
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-16649: possible failover to another database prevents this database from
being opened
检查数据库状态也不怎么对:
SQL> select database_role,FLASHBACK_ON from v$database;DATABASE_ROLE FLASHBACK_ONPRIMARY YESDGMGRL> show configuration
ORA-16795: the standby database needs to be re-created
看到此错误也别真去recreated standby,在确认你的配置上没有问题后,直接在另外一个节点:
DGMGRL> reinstate database db
Reinstating database “db”, please wait…
Reinstatement of database “db” succeeded
这时后启动的节点会变成physical standby,再次stop observer,start observer就可以了;5.4 Error: ORA-16525: the Data Guard broker is not yet available
主库或者备的库的db_broker_start参数设置不对;
5.5 ORA-16797: database is not using a server parameter file
没用spfile启动数据库5.6 ora-16610 主库或者备库的dg_broker_config_file_1/2参数设置不对查看drcstandby.log解决办法:以上是“oracle 11g dataguard中dgmgrl怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注云技术行业资讯频道!
这篇文章将为大家详细讲解有关redo文件损坏的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。第一种情况: asm存储方式,在数据库open步骤时,提示某个磁盘组无法归档某个在线日志,无法写入文件,此时未归档的redo…