2:备库 安装数据库软件,根据主库数据文件、日志文件路径等创建相关文件夹,具体可以参考主库参数文件中有路径的参数
3:主库 全备,包括数据文件、归档日志文件、控制文件。
点击(此处)折叠或打开
- run{
- sql \"alter system archive log current\";
- sql \"alter database create standby controlfile as \'\'/home/oracle/standby.ctl\'\'\";
- backup database format \"/home/oracle/full_%U_%t.bak\" plus archivelog format \"/home/oracle/arch_%U_%t.bak\";
- sql \"alter system archive log current\";
- }
[oracle@redhat01 ~]$ tar zcvf standby.tar.gz *.bak standby.ctl
[oracle@redhat01 ~]$ scp standby.tar.gz 192.168.253.131:/home/oracle
4:备库 备份集解压、数据恢复
点击(此处)折叠或打开
- [oracle@redhat02 ~]$ tar zxvf standby.tar.gz
- rman target /
- RMAN> restore controlfile from '/home/oracle/standby.ctl';
Starting restore at 29-JUN-15
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=19 device type=DISK
channel ORA_DISK_1: copied control file copy
output file name=/opt/oracle/product/11.2.0/dbs/ora_control1
output file name=/opt/oracle/product/11.2.0/dbs/ora_control2
Finished restore at 29-JUN-15
RMAN> alter database mount;
database mounted
released channel: ORA_DISK_1
RMAN> crosscheck archivelog all;
Starting implicit crosscheck backup at 29-JUN-15
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=20 device type=DISK
Crosschecked 4 objects
Finished implicit crosscheck backup at 29-JUN-15
Starting implicit crosscheck copy at 29-JUN-15
using channel ORA_DISK_1
Crosschecked 2 objects
Finished implicit crosscheck copy at 29-JUN-15
searching for all files in the recovery area
cataloging files...
no files cataloged
released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=20 device type=DISK
specification does not match any archived log in the repository
RMAN> delete expired archivelog all;
released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=20 device type=DISK
specification does not match any archived log in the repository
RMAN> crosscheck backupset;
using channel ORA_DISK_1
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/arch_03qamd61_1_1_883635393.bak RECID=2 STAMP=883987249
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/full_04qamd62_1_1_883635394.bak RECID=3 STAMP=883987249
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/full_05qamd76_1_1_883635430.bak RECID=4 STAMP=883987249
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/arch_06qamd7a_1_1_883635434.bak RECID=5 STAMP=883987249
Crosschecked 4 objects
RMAN>
RMAN> delete expired backupset; -
- RMAN> catalog start with '/home/oracle/';
- RMAN> restore database;
- RMAN> recover database;
点击(此处)折叠或打开
- //主库:
- //initorcl.ora
- alter system set db_unique_name = orcl3 scope=spfile;
- alter system set LOG_ARCHIVE_CONFIG=\'DG_CONFIG=(orcl2,orcl3)\';
- alter system set LOG_ARCHIVE_DEST_1=\'LOCATION=/data/oracle/orcl/archive/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl3\';
- alter system set LOG_ARCHIVE_DEST_2=\'SERVICE=orclsta LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl2\';
- alter system set LOG_ARCHIVE_DEST_STATE_1=ENABLE;
- alter system set LOG_ARCHIVE_DEST_STATE_2=ENABLE;
-
- alter system set FAL_SERVER=orclsta;
- alter system set FAL_CLIENT=orclpri;
- alter system set STANDBY_FILE_MANAGEMENT=AUTO;
- //listener.ora
- [oracle@redhat02 ~]$ cat //opt/oracle/product/11.2.0/network/admin/listener.ora
# listener.ora Network Configuration File: /opt/oracle/product/11.2.0/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = redhat02.com)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /opt/oracle
//tnsnames.ora
[oracle@redhat02 ~]$ cat //opt/oracle/product/11.2.0/network/admin/tnsnames.ora
orclpri=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=192.168.253.131)
(PORT=1521)
)
(CONNECT_DATA=
(SID=orcl)
)
)
orclsta=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=192.168.253.130)
(PORT=1521)
)
(CONNECT_DATA=
(SID=orcl)
)
)
点击(此处)折叠或打开
- //备库:
- alter system set db_unique_name = orcl2 scope=spfile;
- alter system set LOG_ARCHIVE_CONFIG=\'DG_CONFIG=(orcl2,orcl3)\';
- alter system set LOG_ARCHIVE_DEST_1=\'LOCATION=/data/oracle/orcl/archive/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl2\';
- alter system set LOG_ARCHIVE_DEST_2=\'SERVICE=orclpri LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl3\';
- alter system set LOG_ARCHIVE_DEST_STATE_1=ENABLE;
- alter system set LOG_ARCHIVE_DEST_STATE_2=ENABLE;
- alter system set FAL_SERVER=orclpri;
- alter system set FAL_CLIENT=orclsta;
- alter system set STANDBY_FILE_MANAGEMENT=AUTO;
-
- //listener.ora
- [oracle@redhat02 ~]$ cat //opt/oracle/product/11.2.0/network/admin/listener.ora
# listener.ora Network Configuration File: /opt/oracle/product/11.2.0/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = redhat01.com)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /opt/oracle
- //tnsnames.ora
[oracle@redhat02 ~]$ cat //opt/oracle/product/11.2.0/network/admin/tnsnames.ora
orclpri=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=192.168.253.131)
(PORT=1521)
)
(CONNECT_DATA=
(SID=orcl)
)
)
orclsta=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=192.168.253.130)
(PORT=1521)
)
(CONNECT_DATA=
(SID=orcl)
)
)
8.启用日志应用,查看是否正常,查看告警日志是否异常。
点击(此处)折叠或打开
- SQL> alter database open;
-
- Database altered.
-
- SQL> alter database recover managed standby database using current logfile disconnect from session;
-
- Database altered.
-
- SQL> select STATUS,THREAD#,SEQUENCE# from v$managed_standby;
-
- SQL> select sequence#,status,applied from v$archived_log;
-
- SEQUENCE# S APPLIED
- ---------- - ---------
- 6 A YES
- 7 A YES
- 8 A YES
- 9 A YES
- 10 A YES
- 11 A YES
- 12 A YES
-
- 7 rows selected.
点击(此处)折叠或打开
- [oracle@felixdb ~]$ oerr ora 19527
- 19527, 00000, \"physical standby redo log must be renamed\"
- // *Cause: The CLEAR LOGFILE command was used at a physical standby
- // database. This command cannot be used at a physical standby
- // database unless the LOG_FILE_NAME_CONVERT initialization
- // parameter is set. This is required to avoid overwriting
- // the primary database\
点击(此处)折叠或打开
- alter database drop logfile group 11;
- alter database drop logfile group 12;
- alter database add standby logfile group 11 (\'/data/oradata/orcl/data/standby_redo11b.log\',\'/data/oradata/orcl/data/standby_redo11a.log\') size 100m;
- alter database add standby logfile group 12 (\'/data/oradata/orcl/data/standby_redo12b.log\',\'/data/oradata/orcl/data/standby_redo12a.log\') size 100m;
现在重启备库实时日志应用,可以测试一下
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29143715/viewspace-1730033/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29143715/viewspace-1730033/