主库:
--检查主库是否开启归档
archive log list;
--如果主库未开启归档,则打开归档
--设置归档路径
alter system set log_archive_dest_1='LOCATION=/u02/archivelog';
--重启数据库
shutdown immediate;
startup mount;
--开启归档
alter database archivelog;
--开启强制写日志选项
alter database force logging;
--打开数据库
alter database open;
--alter database add standby logfile group 11 ('/u02/standby/sta_redo11.log') size 50M;
--创建当前数据库静态参数文件
create pfile='/home/Oracle/initC2155.ora' from spfile;
--修改上述创建的静态参数文件,添加:
DB_UNIQUE_NAME=pridb
LOG_ARCHIVE_CONFIG='DG_CONFIG=(pridb,stadb)'
LOG_ARCHIVE_DEST_1='LOCATION=/u02/archivelog
VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=pridb'
LOG_ARCHIVE_DEST_2='SERVICE=stadb LGWR ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=stadb'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
FAL_SERVER=stadb
FAL_CLIENT=pridb
STANDBY_FILE_MANAGEMENT=AUTO
--重启数据库
shutdown immediate;
--使用修改后的静态参数文件启动数据库
startup pfile='/home/oracle/initC2155.ora';
--使用修改后的静态参数文件创建动态参数文件
create spfile from pfile='/home/oracle/initC2155.ora';
--利用rman对主库进行备份
rman target /
--备份主库的控制文件
backup format '/home/oracle/backup/ctl_%U' current controlfile for standby;
--备份主库的数据文件
backup format '/home/oracle/backup/dbf_%U' database plus archivelog delete input;
备库:
--创建密码文件(保持与主库的sys密码一致)
orapwd file=$ORACLE_HOME/dbs/orapwC2155 password=db2admin entries=3
--将主库的静态参数文件复制到备库,并添加/修改:
DB_UNIQUE_NAME=stadb
LOG_ARCHIVE_CONFIG='DG_CONFIG=(pridb,stadb)'
LOG_ARCHIVE_DEST_1='LOCATION=/u02/archivelog
VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=stadb'
LOG_ARCHIVE_DEST_2='SERVICE=pridb LGWR ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=pridb'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
FAL_SERVER=pridb
FAL_CLIENT=stadb
STANDBY_FILE_MANAGEMENT=AUTO
--连接备库
sqlplus /nolog
conn /as sysdba
--使用修改后的静态参数文件创建动态参数文件
create spfile from pfile='/home/oracle/initC2155.ora';
--将主库的备份文件复制到备库,保持备份文件存储路径一致
--使用rman还原备库(此时备库已加载至mount状态)
rman target sys/db2admin@pridb auxiliary /
--duplicate target database for standby nofilenamecheck dorecover;
duplicate target database for standby nofilenamecheck
--select * from v$logfile;
--alter database drop standby logfile group 11;
--alter database add standby logfile group 11 ('/u02/standby/sta_redo11.log') size 50M;
--还原后应用日志
alter database recover managed standby database disconnect from session;
--ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;