单机Linux平台Oracle10g DataGuard Logical Standby搭建实例(1):http://space.itpub.net/81227/viewspace-706435
要在Primary和逻辑Standby之间切换角色,一般是从Primary数据库开始操作。
如果Primary或逻辑Standby是RAC结构,切记在执行角色切换时,只保留一个实例启动,其他实例应当全部SHUTDOWN。等角色转换操作完成之后再启动其他实例,角色转换的操作会自动传播到这些实例上,并不需要DBA再对这些实例单独做处理。
注意下列操作的执行步骤,强烈建议按照以下步骤执行,否则可能导致切换不成功。
1.准备工作
检查Primary和逻辑Standby的初始化参数设置,常规的检查包括:
检查两机中初始化参数FAL_SERVER、FAL_CLIENT、LOG_ARCHIVE_CONFIG的参数值设置是否正确。
检查两机中初始化参数LOG_ARCHIVE_DEST_n的参数值设置是否正确。
首先来看当前的Primary数据库:
SQL> SHOW PARAMETER FAL;
NAME TYPE VALUE
---------------------- ----------- ------------------------------
fal_client string orcl_pd
fal_server string orcl_st
SQL> SHOW PARAMETER LOG_ARCHIVE_DEST;
NAME TYPE VALUE
---------------------- ----------- ------------------------------
log_archive_dest string
log_archive_dest_1 string location=/u01/archive
log_archive_dest_2 string service=LGDG
从上述显示的结果来看,Primary数据库的初始化参数并不太适合,为了避免其转换之后可能发生的错误,我们提前做些修改:
SQL> ALTER SYSTEM SET FAL_SERVER='LGDG';
SQL> alter system set log_archive_dest_1='location=/u01/archive valid_for=(online_logfiles,all_roles) db_unique_name=orcl_pd';
SQL> alter system set log_archive_dest_3='location=/u01/std valid_for=(standby_logfiles,standby_role) db_unique_name=orcl_pd';
然后再看看待转换的逻辑Standby:
SQL> SHOW PARAMETER FAL;
NAME TYPE VALUE
---------------------- ----------- ------------------------------
fal_client string orcl_st
fal_server string orcl_pd
SQL> SHOW PARAMETER LOG_ARCHIVE_DEST;
NAME TYPE VALUE
---------------------- ----------- ------------------------------
log_archive_dest string
log_archive_dest_1 string LOCATION=/u01/archive VALID_FO
R=(ONLINE_LOGFILES, ALL_ROLES)
DB_UNIQUE_NAME=LGDG
log_archive_dest_10 string
log_archive_dest_2 string service=orcl_pd lgwr sync AFFI
RM
log_archive_dest_3 string LOCATION=/u01/std
VALID_FOR=(STANDBY_LOGFILES, S
TANDBY_ROLE) DB_UNIQUE_NAME=LG
DG
修改一下:
SQL> ALTER SYSTEM SET FAL_CLIENT='LGDG';
最后检查Primary数据库是否配置了Standby Redologs:
SQL> select * from v$logfile;
GROUP# STATUS TYPE MEMBER
-------- ------- ------- --------------------------------------
3 ONLINE /u01/app/oracle/oradata/orcl/redo03.log
2 ONLINE /u01/app/oracle/oradata/orcl/redo02.log
1 ONLINE /u01/app/oracle/oradata/orcl/redo01.log
4 STANDBY /u01/app/oracle/oradata/orcl/redo04.log
5 STANDBY /u01/app/oracle/oradata/orcl/redo05.log
6 STANDBY /u01/app/oracle/oradata/orcl/redo06.log
7 STANDBY /u01/app/oracle/oradata/orcl/redo07.log
已经存在, 如果不存在,我们就手工的添加一下:
SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 '/u01/app/oracle/oradata/orcl/redo04.log' SIZE 50m;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/81227/viewspace-706748/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/81227/viewspace-706748/