8、启动备用数据库 export ORACLE_SID=ora81 sqlplus /nolog SQL>connect / as sysdba SQL> startup nomount pfile='/u01/product/oracle9i/dbs/initora81db.ora' SQL>alter database mount standby database; 这样就进入了手工恢复模式。如果想要进入管理恢复模式继续执行下面的命令 SQL>alter database recover managed standby database disconnect from session; 补充:如果没有设置fal_server和fal_client,而且在主备用服务器上存在日志差异,需要手工同步恢复 以下语句查看差异 SQL> SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# 2> FROM V$ARCHIVE_GAP; 通过OS命令或FTP拷贝需要同步的归档日志 发出如下命令用于日志同步 ALTER DATABASE RECOVER AUTOMATIC STANDBY DATABASE;
9、设定主数据库到备用服务器的归档 自动修改主数据库的参数,使自动归档到备用服务器 alter system set log_archive_dest_2='SERVICE=dbstandby MANDATORY REOPEN=300'; SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=dbstandby MANDATORY REOPEN=60' SCOPE=BOTH; SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=enable SCOPE=BOTH; SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;
10、验证,在备用服务器上查询 SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME 2 FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#; 或查看 SQL>SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG; 查看日志应用情况
__________________ if not now,when? if not me,who?
注册日期: 2003 Feb 来自: 西子湖畔 技术贴数:4075 论坛积分:74814 论坛排名:32 论坛徽章:5
四、日常管理 备用服务器可以启动到管理与只读模式 启动到只读方式 startup nomount pfile='/u01/product/oracle9i/dbs/initora81db.ora' slter database mount standby database alter database open read only
如果在管理恢复模式下到只读模式 recover managed standby database cancel; alter database open read only;
从只读方式到管理恢复方式 recover managed standby database disconnect from session;
sqlplus /nolog < connect / as sysdba -- if standby have active logfile -- alter database recover managed standby database finish; -- else alter database recover managed standby database finish skip standby logfile; -- switch alter database commit to switchover to primary; -- open shutdown immediate startup pfile='/u01/product/oracle9i/dbs/initora81.ora' exit EOF
lsnrctl stop listenerdb lsnrctl start
说明,如果有活动日志,必须用 alter database recover managed standby database finish; 否则用 alter database recover managed standby database finish skip standby logfile; 这样切换的备用服务器可以避免最小的数据丢失和不用resetlogs,特别是对于用多个备用服务器的时候,该服务器可以马上作为主服务器而不用重新创建备用服务器。
还有一种切换叫强行失败切换,这样的切换是以激和备用服务器来完成的,在重新启动数据库的时候,备用机会resetlogs,这样会影响到其它备用服务器而且必须重新在主服务器上重新构造备用服务器 [oracle@gddb worksh]$ more activeprimary.sh #!/bin/bash #swith to primary with cancel ORACLE_BASE=/u01/product;export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/oracle9i;export ORACLE_HOME PATH=$ORACLE_HOME/bin:$PATH;export PATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib; export LD_LIBRARY_PATH ORACLE_SID=ora81; export ORACLE_SID ORACLE_NLS=$ORACLE_HOME/ocommon/nls/admin/data; export ORACLE_NLS NLS_LANG=AMERICAN_AMERICA.ZHS16GBK; export NLS_LANG
#cancel and startup database
sqlplus /nolog < connect / as sysdba alter system archive log current; recover managed standby database cancel; alter database activate standby database; shutdown immediate startup pfile='/u01/product/oracle9i/dbs/initora81.ora' exit EOF