在主库所做操作


    1. 启动到mount

    2. alter system set log_archive_dest_1='location=/home/oracle/oracle/oradata/htis/arch/';
    3. 归档模式.如果非归档需要重启开启归档模式.开启方法:

    4. 主库db_unique_name设置,修改需要重启

    5. 如果使用最大可用模式Maximum      Availability Mode,需要添加standby log,添加公式:

(每线程的日志组数+1)*最大线程数,单实例有2redo,那么添加=(2+1)*1=3

alter database add standby logfile group 4 ('/home/oracle/oracle/oradata/htbase/standby_redo04.log') size 50M;

select group#,member,status from v$logfile;

  1. 添加dg参数

alter system set STANDBY_FILE_MANAGEMENT='auto';

alter system set FAL_CLIENT='htbase';

alter system set FAL_SERVER='htbaseb';

alter system set LOG_ARCHIVE_CONFIG='send, receive, dg_config=(htbase,htbaseb)'; //括号内顺序无影响

alter system set LOG_ARCHIVE_DEST_2='service=htbaseb VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) LGWR SYNC AFFIRM DB_UNIQUE_NAME=htbaseb';

  1. 创建standby controlfie

Alter database create standby controlfile as '/st.ctl';

  1. 创建pfile文件,不用spfile是为了方便备库修改

  2. 拷贝     arch/,diag/,admin/,oradata/ 目录,st.ctl,listener.ora,tnsnames.ora,pfile,密码文件到备库

备库所做操作


    1. 备库修改pfile中以下4个参数(其它参数,如归档路径等,如需要修改也可以修改)

        db_unique_name

           FAL_CLIENT

           FAL_SERVER

           LOG_ARCHIVE_DEST_2

  1. 使用主库传输过来的st.ctl覆盖控制文件control01.ctl ,原来的控制文件备份

  2. 启动备库

    1. startup pfile nomount

    2. Alter database mount standby database

    3. ALTER DATABASE recover managed standby database using current logfile disconnect;

  1. 查看备库状态

        select process,status from v$managed_standby;

启动成功无报错以后,在主库查看状态

      select dest_name, status,error from v$archive_dest;

无错误的话一般就ok

注:11g中,可以在open read only的情况下应用日志,具体操作如下

  alter database open read only;
 ALTER DATABASE recover managed standby database using current logfile disconnect;
 select open_mode from v$database;

 OPEN_MODE
  --------------------
  READ ONLY WITH APPLY