2、 设置归档日志路径
SQL> show parameter log_archive_dest
#arch目录请到dbs目录下手工创建
SQL> alter system set log_archive_dest_1=' location=/opt/oracle/diag/arch ' scope=spfile;
SQL> alter system set log_archive_format=' arch_%t_%s_%r.arc' scope=spfile;
3、 将primary数据库置为FORCE LOGGING模式
通过下列语句:
SQL> alter database force logging;
#需要重启数据库,做如下操作:
SQL> shutdown immediate
SQL> startup
SQL> show parameter log_archive_dest
4、 primary数据库创建standby数据库控制文件
SQL> shutdown immediate
SQL> startup mount
SQL> alter database create standby controlfile as '/opt/oracle/oradata/mmsgdb/backupctl.ctl';
SQL> alter database open;
SQL> alter system archive log current;
5、 创建primary数据库客户端初始化参数文件
注:
主要此处修改项较多,为了方便,我们首先创建并修改pfile,然后再通过pfile重建spfile,你当然也可以通过alter system set命令直接修改spfile内容,不过,麻烦。
SQL> create pfile from spfile;
文件已创建。
将该初始化参数文件复制一份,做为standby数据库的客户端初始化参数文件
SQL> host
oracle@mmsg:~> cp /opt/oracle/product/11g/dbs/initmmsgdb.ora /opt/oracle/product/11g/dbs/bakinitmmsgdb.ora
备份已有的spfile文件
oracle@mmsg:~> cd $ORACLE_HOME/dbs
oracle@mmsg:~/product/11g/dbs> cp spfilemmsgdb.ora bak_spfilemmsgdb.ora
修改客户端初始化参数文件,增加下列内容
*.DB_UNIQUE_NAME=uqn_primary //自定义一个unique_name名字
*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(uqn_primary,uqn_standby)' //此处为主备服务器的unique_name
*.LOG_ARCHIVE_DEST_2='SERVICE=standby ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=uqn_standby'
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE
*.LOG_ARCHIVE_MAX_PROCESSES=30