备份与恢复

ORA-01126:探索DataGuard的保护模式切换规则

时间:2014-9-19 9:57:54  作者:solgle  来源:www.solgle.com  查看:670  评论:0
内容摘要:当改主库为protection模式时,会遇到错误,得把数据库启动到mount下,才可以修改ORA-01126: 数据库必须已装载到此实例并且不在任何实例中打开连接到:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0...
当改主库为protection模式时,会遇到错误,得把数据库启动到mount下,才可以修改
ORA-01126: 数据库必须已装载到此实例并且不在任何实例中打开
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
 
--创建闪回还原点,预防万一数据库崩溃,还可以闪回
SQL> create restore point p1 guarantee flashback database;
还原点已创建。
 
--下面将保护级别提高
SQL> alter database set standby database to maximize performance;
数据库已更改。
 
SQL> alter database set standby database to maximize availability;
数据库已更改。
 
 
SQL> alter database set standby database to maximize protection;
alter database set standby database to maximize protection
*
第 1 行出现错误:
ORA-01126: 数据库必须已装载到此实例并且不在任何实例中打开
 
--尝试在mount下修改模式
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
 
Total System Global Area 1027182592 bytes
Fixed Size                  2259680 bytes
Variable Size             645924128 bytes
Database Buffers          373293056 bytes
Redo Buffers                5705728 bytes
数据库装载完毕。
SQL> alter database set standby database to maximize protection;
数据库已更改。
 
 
--可是打开数据库时失败了
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-03113: 通信通道的文件结尾
进程 ID: 31157
会话 ID: 1 序列号: 5
 
 
--退出再次连接主库
SQL> exit;
从 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断开
 
C:\Users\user>sqlplus sys/********@os_solgle as sysdba
 
SQL*Plus: Release 11.2.0.1.0 Production on 星期五 9月 19 12:03:19 2014
 
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
 
已连接到空闲例程。
 
SQL> startup mount;
ORACLE 例程已经启动。
 
Total System Global Area 1027182592 bytes
Fixed Size                  2259680 bytes
Variable Size             645924128 bytes
Database Buffers          373293056 bytes
Redo Buffers                5705728 bytes
数据库装载完毕。
 
---从上面可以看出,数据库可以启动到mount,下面修改async为sync
SQL> alter system set log_archive_dest_2='service=sd_solgle reopen=120 lgwr sync
 valid_for=(online_logfiles,primary_role) db_unique_name=sd_solgle' scope=spfile;
 
系统已更改。
 
---再次重启,使参数生效,(注:其实这里可以使用scope=both,然后直接打开,不用重启)
SQL> startup mount force;
ORACLE 例程已经启动。
 
Total System Global Area 1027182592 bytes
Fixed Size                  2259680 bytes
Variable Size             645924128 bytes
Database Buffers          373293056 bytes
Redo Buffers                5705728 bytes
数据库装载完毕。
SQL> alter database open;
数据库已更改。
 
-----以上操作,数据库已经被改为最大保护模式-----
 
 
---------根据当前的sync模式,做各种切换,看有什么不同------------
 
SQL> alter database set standby database to maximize availability;
数据库已更改。
--这步说明从protection变为availability可以顺利切换,顺利降级
 
 
SQL> alter system set log_archive_dest_2='service=sd_solgle reopen=120 lgwr async
 valid_for=(online_logfiles,primary_role) db_unique_name=sd_solgle' scope=both;
系统已更改。
 
---查询主库
SQL>select protection_mode from v$database;
MAXIMUM AVAILABILITY
---查询备库
SQL>select protection_mode from v$database;
MAXIMUM PERFORMANCE
--以上该步修改可以看出从sync变为async时,备库已经自动变为PERFORMANCE,自动降级,这里需要注意,如果查询主库却仍然是AVAILABILITY
 
 
SQL> alter system set log_archive_dest_2='service=sd_solgle reopen=120 lgwr sync
 valid_for=(online_logfiles,primary_role) db_unique_name=sd_solgle' scope=both;
系统已更改。
 
---查询主库备份库,结果一致
SQL> select protection_mode from v$database;
PROTECTION_MODE
----------------------------------------
MAXIMUM AVAILABILITY
 
 
从上面可以看出,当保护模式是protection和availability时,同步方式只能是sync,当修改sync为async时,备库会降级为performance,当从async改到sync时,保护模式会同时变为availability,但要想继续从sync改为protection模式,得将主库在mount下修改,然后再打开;

 
标签:ORA-01126 探索DataGuard的保护模式切换规则 dataguard 

solgle.com 版权所有,欢迎分享!!!

相关评论
   Copyright © 2013-2020 solgle.com,All rights reserved.[solgle.com] 公安机关备案号:51010802000219
Email:solgle@solgle.com; weixin:cd1008610000 ICP:蜀ICP备14011070号-1