具体搭建步骤:
一、 主库配置
IP 主机名 db_name db_unique_name
主库 192.168.253.50 ora1 ora ora1
备库 192.168.253.51 ora2 ora ora2
级联库 192.168.253.50 ora3 ora ora3
1.1 开启归档、force logging
[oracle@ora1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Wed Aug 24 15:39:12 2016
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to an idle instance.
SYS@ora>startup
ORACLE instance started.
Total System Global Area 830930944 bytes
Fixed Size 2257800 bytes
Variable Size 536874104 bytes
Database Buffers 285212672 bytes
Redo Buffers 6586368 bytes
Database mounted.
Database opened.
SYS@ora>alter database force logging;
Database altered.
SYS@ora>select force_logging from v$database;
FOR
---
YES
1.2 增加日志组
SYS@ora>select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/ora/redo03.log
/u01/app/oracle/oradata/ora/redo02.log
/u01/app/oracle/oradata/ora/redo01.log
SYS@ora>select bytes/1024/1024 from v$log;
BYTES/1024/1024
---------------
50
50
50
SYS@ora>alter database add standby logfile group 4
('/u01/app/oracle/oradata/ora/sredo04.log') size 50m;
Database altered.
SYS@ora>alter database add standby logfile group 5
('/u01/app/oracle/oradata/ora/sredo05.log') size 50m;
Database altered.
SYS@ora>alter database add standby logfile group 6
('/u01/app/oracle/oradata/ora/sredo06.log') size 50m;
Database altered.
SYS@ora>alter database add standby logfile group 7
('/u01/app/oracle/oradata/ora/sredo07.log') size 50m;
Database altered.
SYS@ora>select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/ora/redo03.log
/u01/app/oracle/oradata/ora/redo02.log
/u01/app/oracle/oradata/ora/redo01.log
/u01/app/oracle/oradata/ora/sredo04.log
/u01/app/oracle/oradata/ora/sredo05.log
/u01/app/oracle/oradata/ora/sredo06.log
/u01/app/oracle/oradata/ora/sredo07.log
7 rows selected.
1.3 生成pfile关闭数据库
SYS@ora>create pfile from spfile;
File created.
SYS@ora>shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
1.4 修改主库参数文件
添加如下内容:
db_unique_name=ora1
log_archive_format=%t_%s_%r.arc
log_archive_config='DG_CONFIG=(ora1,ora2)'
LOG_ARCHIVE_DEST_1='LOCATION=/u01/app/oracle/fast_recovery_area/ora/
VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ora1'
LOG_ARCHIVE_DEST_2='SERVICE=ora2 LGWR SYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ora2'
log_archive_dest_state_1=ENABLE
log_archive_dest_state_2=ENABLE
LOG_ARCHIVE_MAX_PROCESSES=4
## Parameters which using for switch over from Primary to Standby.
fal_server=ora2
##fal_client=SBDB
standby_file_management=AUTO
#db_file_name_convert='ora2','ora1'
#log_file_name_convert='ora2','ora1'
1.5 主库配置监听与TNS
[oracle@ora1 admin]$ vi listener.ora
# listener.ora Network Configuration File:
/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ora1)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
[oracle@ora1 admin]$ vi tnsnames.ora
# tnsnames.ora Network Configuration File:
/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ora1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.253.50)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora1)
)
)
ora2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.253.51)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora2)
)
)
"tnsnames.ora" 20L, 515C written
1.6 注册监听
[oracle@ora1 admin]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 24-AUG-2016 15:18:16
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ora1)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 24-AUG-2016 14:31:56
Uptime 0 days 0 hr. 46 min. 20 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File
/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/ora1/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ora1)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "ora1" has 1 instance(s).
Instance "ora", status READY, has 1 handler(s) for this service...
Service "oraXDB" has 1 instance(s).
Instance "ora", status READY, has 1 handler(s) for this service...
The command completed successfully
二、备库配置相关参数
2.1 修改参数
[oracle@ora1 dbs]$ scp orapwora
oracle@192.168.253.51:$ORACLE_HOME/dbs/orapwora2
[oracle@ora1 dbs]$ scp initora.ora
oracle@192.168.253.51:$ORACLE_HOME/dbs/initora2.ora
[oracle@ora2 dbs]$ ls
initora2.ora init.ora orapwora2
参数文件中添加如下内容:
db_unique_name=ora2
log_archive_format=%t_%s_%r.arc
log_archive_config='DG_CONFIG=(ora1,ora2)'
LOG_ARCHIVE_DEST_1='LOCATION=/u01/app/oracle/fast_recovery_area/ora/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ora2'
LOG_ARCHIVE_DEST_2='SERVICE=ora1 LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ora1'
log_archive_dest_state_1=ENABLE
log_archive_dest_state_2=ENABLE
LOG_ARCHIVE_MAX_PROCESSES=4
## Parameters which using for switch over from Primary to Standby.
fal_server=ora1
##fal_client=SBDB
standby_file_management=AUTO
#db_file_name_convert='ora1','ora2'
#log_file_name_convert='ora1','ora2'
2.2 备库配置静态监听及TNS
[oracle@ora2 admin]$ ls
listener.ora samples shrept.lst tnsnames.ora
[oracle@ora2 admin]$ vi listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.253.51)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
SID_LIST_LISTENER =
(sid_list=
(sid_desc=
(sid_name=ora2)
(oracle_home= /u01/app/oracle/product/11.2.0/dbhome_1)
(global_dbname=ora2)
)
)
[oracle@ora2 admin]$ vi tnsnames.ora
ora1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.253.50)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora1)
)
)
ora2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.253.51)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora2)
)
)
2.3 备库启动到nomount状态
[oracle@ora2 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Wed Aug 24 16:23:33 2016
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to an idle instance.
SYS@ora2>create spfile from pfile;
File created.
SYS@ora2>startup nomount;
ORACLE instance started.
Total System Global Area 830930944 bytes
Fixed Size 2257800 bytes
Variable Size 536874104 bytes
Database Buffers 285212672 bytes
Redo Buffers 6586368 bytes
2.4 用RMAN恢复备库(在主库、备库中执行均可)
[oracle@ora1 ~]$ rman target sys/oracle@ora1 auxiliary sys/oracle@ora2
Recovery Manager: Release 11.2.0.4.0 - Production on Wed Aug 24 17:35:57 2016
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: ora (DBID=762083517)
connected to auxiliary database: ora (DBID=762083517, not omounted)
RMAN>duplicate target database for standby from active database dorecover nofilenamecheck;
。RMAN过程略去
。
。
。
。
三、级联库配置
3.1 修改级联库参数
[oracle@ora2 dbs]$ ls
hc_ora2.dat initora2.ora init.ora lkora2 orapwora2
spfileora2.ora
[oracle@ora2 dbs]$ scp orapwora2
192.168.253.52:$ORACLE_HOME/dbs/orapwora3
oracle@192.168.253.52's password:
orapwora2 100% 1536 1.5KB/s 00:00
[oracle@ora2 dbs]$ scp initora2.ora
192.168.253.52:$ORACLE_HOME/dbs/initora3.ora
oracle@192.168.253.52's password:
initora2.ora 100% 1254 1.2KB/s 00:00
参数文件中添加如下内容:
db_unique_name=ora3
log_archive_format=%t_%s_%r.arc
log_archive_config='DG_CONFIG=(ora3,ora2)'
LOG_ARCHIVE_DEST_1='LOCATION=/u01/app/oracle/fast_recovery_area/ora/
VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ora3'
LOG_ARCHIVE_DEST_2='SERVICE=ora2 LGWR SYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ora2'
log_archive_dest_state_1=ENABLE
log_archive_dest_state_2=ENABLE
LOG_ARCHIVE_MAX_PROCESSES=4
## Parameters which using for switch over from Primary to Standby.
fal_server=ora2
##fal_client=SBDB
standby_file_management=AUTO
#db_file_name_convert='ora1','ora2'
#log_file_name_convert='ora1','ora2'
3.2 创建相关目录
[oracle@ora3 ~]$ mkdir -p /u01/app/oracle/admin/ora/adump
[oracle@ora3 ~]$ mkdir -p /u01/app/oracle/oradata/ora/
[oracle@ora3 ~]$ mkdir -p /u01/app/oracle/fast_recovery_area/ora
3.3 级联库配置静态监听
[oracle@ora3 admin]$ ls
samples shrept.lst tnsnames.ora
[oracle@ora3 admin]$ vi listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.253.52)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
SID_LIST_LISTENER =
(sid_list=
(sid_desc=
(sid_name=ora3)
(oracle_home= /u01/app/oracle/product/11.2.0/dbhome_1)
(global_dbname=ora3)
)
)
"listener.ora" [New] 18L, 342C written
[oracle@ora3 admin]$ vi tnsnames.ora
ora1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.253.50)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora1)
)
)
ora2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.253.51)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora2)
)
)
ora3 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.253.52)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora3)
)
)
3.4 级联库启动到nomount状态
[oracle@ora3 admin]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Wed Aug 24 19:10:20 2016
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to an idle instance.
SYS@ora3>create spfile from pfile;
File created.
SYS@ora3>startup nomount;
ORACLE instance started.
Total System Global Area 830930944 bytes
Fixed Size 2257800 bytes
Variable Size 536874104 bytes
Database Buffers 285212672 bytes
Redo Buffers 6586368 bytes
3.5 备库中TNS添加如下内容
ora3 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.253.52)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora3)
)
)
3.6 级联库启动监听
[oracle@ora3 admin]$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 24-AUG-2016 19:06:37
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Starting /u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 11.2.0.4.0 - Production
System parameter file is
/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/ora3/listener/alert/log.xml
Listening on:
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.253.52)(PORT=1521)))
Connecting to
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.253.52)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 24-AUG-2016 19:06:37
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File
/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/ora3/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.253.52)(PORT=1521)))
Services Summary...
Service "ora3" has 1 instance(s).
Instance "ora3", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
3.7 验证备库与级联库互通情况
[oracle@ora3 admin]$ sqlplus sys/oracle@ora2 as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Wed Aug 24 19:07:32 2016
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@ora2 ~]$ sqlplus sys/oracle@ora3 as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Wed Aug 24 19:15:35 2016
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
3.8 备库在mount状态下修改参数
SYS@ora2>show parameter log_archive_config
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_config string DG_CONFIG=(ora1,ora2)
SYS@ora2>alter system set
log_archive_config='dg_config=(ora1,ora2,ora3)';
System altered.
SYS@ora2>show parameter log_archive_config
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_config string
dg_config=(ora1,ora2,ora3)
3.9 RMAN备库到级联库
[oracle@ora2 ~]$ rman target sys/oracle@ora2 auxiliary sys/oracle@ora3
Recovery Manager: Release 11.2.0.4.0 - Production on Wed Aug 24 19:16:31 2016
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: ora (DBID=762083517, not open)
connected to auxiliary database: ora (not mounted)
RMAN> duplicate target database for standby from active database dorecover nofilenamecheck;
Starting Duplicate Db at 24-AUG-16
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=10 device type=DISK
contents of Memory Script:
{
backup as copy reuse
targetfile '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwora2' auxiliary format
'/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwora3' ;
}
executing Memory Script
Starting backup at 24-AUG-16
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=141 device type=DISK
Finished backup at 24-AUG-16
contents of Memory Script:
{
backup as copy current controlfile for standby auxiliary format '/u01/app/oracle/oradata/ora/control01.ctl';
restore clone controlfile to '/u01/app/oracle/fast_recovery_area/ora/control02.ctl' from
'/u01/app/oracle/oradata/ora/control01.ctl';
}
executing Memory Script
Starting backup at 24-AUG-16
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
copying standby control file
output file name=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_ora2.f tag=TAG20160824T191657 RECID=7 STAMP=920747818
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 24-AUG-16
Starting restore at 24-AUG-16
using channel ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: copied control file copy
Finished restore at 24-AUG-16
contents of Memory Script:
{
sql clone 'alter database mount standby database';
}
executing Memory Script
sql statement: alter database mount standby database
contents of Memory Script:
{
set newname for tempfile 1 to
"/u01/app/oracle/oradata/ora/temp01.dbf";
switch clone tempfile all;
set newname for datafile 1 to
"/u01/app/oracle/oradata/ora/system01.dbf";
set newname for datafile 2 to
"/u01/app/oracle/oradata/ora/sysaux01.dbf";
set newname for datafile 3 to
"/u01/app/oracle/oradata/ora/undotbs01.dbf";
set newname for datafile 4 to
"/u01/app/oracle/oradata/ora/users01.dbf";
set newname for datafile 5 to
"/u01/app/oracle/oradata/ora/example01.dbf";
set newname for datafile 6 to
"/u01/app/oracle/oradata/ora/ts_users01.dbf";
backup as copy reuse
datafile 1 auxiliary format
"/u01/app/oracle/oradata/ora/system01.dbf" datafile
2 auxiliary format
"/u01/app/oracle/oradata/ora/sysaux01.dbf" datafile
3 auxiliary format
"/u01/app/oracle/oradata/ora/undotbs01.dbf" datafile
4 auxiliary format
"/u01/app/oracle/oradata/ora/users01.dbf" datafile
5 auxiliary format
"/u01/app/oracle/oradata/ora/example01.dbf" datafile
6 auxiliary format
"/u01/app/oracle/oradata/ora/ts_users01.dbf" ;
}
executing Memory Script
executing command: SET NEWNAME
renamed tempfile 1 to /u01/app/oracle/oradata/ora/temp01.dbf in control file
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
Starting backup at 24-AUG-16
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00001 name=/u01/app/oracle/oradata/ora/system01.dbf
output file name=/u01/app/oracle/oradata/ora/system01.dbf tag=TAG20160824T191708
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting datafile copy
input datafile file number=00002 name=/u01/app/oracle/oradata/ora/sysaux01.dbf
output file name=/u01/app/oracle/oradata/ora/sysaux01.dbf tag=TAG20160824T191708
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting datafile copy
input datafile file number=00005 name=/u01/app/oracle/oradata/ora/example01.dbf
output file name=/u01/app/oracle/oradata/ora/example01.dbf tag=TAG20160824T191708
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
channel ORA_DISK_1: starting datafile copy
input datafile file number=00003 name=/u01/app/oracle/oradata/ora/undotbs01.dbf
output file name=/u01/app/oracle/oradata/ora/undotbs01.dbf tag=TAG20160824T191708
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
channel ORA_DISK_1: starting datafile copy
input datafile file number=00006 name=/u01/app/oracle/oradata/ora/ts_users01.dbf
output file name=/u01/app/oracle/oradata/ora/ts_users01.dbf tag=TAG20160824T191708
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=/u01/app/oracle/oradata/ora/users01.dbf
output file name=/u01/app/oracle/oradata/ora/users01.dbf tag=TAG20160824T191708
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 24-AUG-16
contents of Memory Script:
{
switch clone datafile all;
}
executing Memory Script
datafile 1 switched to datafile copy
input datafile copy RECID=7 STAMP=920747871 file name=/u01/app/oracle/oradata/ora/system01.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=8 STAMP=920747871 file name=/u01/app/oracle/oradata/ora/sysaux01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=9 STAMP=920747871 file name=/u01/app/oracle/oradata/ora/undotbs01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=10 STAMP=920747871 file name=/u01/app/oracle/oradata/ora/users01.dbf
datafile 5 switched to datafile copy
input datafile copy RECID=11 STAMP=920747871 file name=/u01/app/oracle/oradata/ora/example01.dbf
datafile 6 switched to datafile copy
input datafile copy RECID=12 STAMP=920747871 file name=/u01/app/oracle/oradata/ora/ts_users01.dbf
contents of Memory Script:
{
set until scn 982673;
recover
standby
clone database
noredo
delete archivelog
;
}
executing Memory Script
executing command: SET until clause
Starting recover at 24-AUG-16
using channel ORA_AUX_DISK_1
Finished recover at 24-AUG-16
Finished Duplicate Db at 24-AUG-16
3.10 RMAN成功之后修改备库log_archive_dest_3参数
SYS@ora2>alter system set log_archive_dest_3='service=ora3 lgwr async
valid_for=(all_logfiles,all_roles) db_unique_name=ora3';
System altered.
3.11 查看级联库状态
SYS@ora3>select open_mode from v$database;
OPEN_MODE
--------------------
MOUNTED
SYS@ora3>select database_role,open_mode from v$database;
DATABASE_ROLE OPEN_MODE
---------------- --------------------
PHYSICAL STANDBY MOUNTED
四、测试主库、备库、级联库
4.1查看主库、备库、级联库状态
1)主库
SYS@ora>select protection_mode,database_role,protection_level,open_mode from
v$database;
PROTECTION_MODE DATABASE_ROLE PROTECTION_LEVEL
OPEN_MODE
-------------------- ---------------- -------------------- --------------------
MAXIMUM PERFORMANCE PRIMARY MAXIMUM PERFORMANCE READ
WRITE
2)备库
SYS@ora2>select protection_mode,database_role,protection_level,open_mode
from v$database;
PROTECTION_MODE DATABASE_ROLE PROTECTION_LEVEL
OPEN_MODE
-------------------- ---------------- -------------------- --------------------
MAXIMUM PERFORMANCE PHYSICAL STANDBY MAXIMUM PERFORMANCE
MOUNTED
3)级联库
SYS@ora3>select protection_mode,database_role,protection_level,open_mode
from v$database;
PROTECTION_MODE DATABASE_ROLE PROTECTION_LEVEL
OPEN_MODE
-------------------- ---------------- -------------------- --------------------
MAXIMUM PERFORMANCE PHYSICAL STANDBY MAXIMUM PERFORMANCE
MOUNTED
4.2 备库、级联库应用日志
SYS@ora2>alter database recover managed standby database using current logfile
disconnect from session;
Database altered.
SYS@ora3>alter database open;
Database altered.
SYS@ora3>alter database recover managed standby database using current logfile
disconnect from session;
Database altered.
4.3 主库创建测试表空间测试
SYS@ora>create tablespace ts_test datafile '/u01/app/oracle/oradata/ora/ts_test01.dbf' size 20M;
Tablespace created.
4.5 查看三库的alert日志
1)主库
Wed Aug 24 18:55:41 2016
create tablespace ts_test datafile '/u01/app/oracle/oradata/ora/ts_test01.dbf' size
20M
Completed: create tablespace ts_test datafile
'/u01/app/oracle/oradata/ora/ts_test01.dbf' size 20M
2)备库:
Wed Aug 24 19:35:45 2016
WARNING: File being created with same name as in Primary
Existing file may be overwritten
Recovery created file /u01/app/oracle/oradata/ora/ts_test01.dbf
Successfully added datafile 7 to media recovery
Datafile #7: '/u01/app/oracle/oradata/ora/ts_test01.dbf'
4.6 主库切换日志:
SYS@ora>alter system switch logfile;
System altered.
主库
Wed Aug 24 18:55:41 2016
create tablespace ts_test datafile '/u01/app/oracle/oradata/ora/ts_test01.dbf' size
20M
Completed: create tablespace ts_test datafile
'/u01/app/oracle/oradata/ora/ts_test01.dbf' size 20M
Wed Aug 24 18:58:47 2016
Thread 1 cannot allocate new log, sequence 15
Private strand flush not complete
Current log# 2 seq# 14 mem# 0: /u01/app/oracle/oradata/ora/redo02.log
LGWR: Standby redo logfile selected for thread 1 sequence 15 for destination
LOG_ARCHIVE_DEST_2
Thread 1 advanced to log sequence 15 (LGWR switch)
Current log# 3 seq# 15 mem# 0: /u01/app/oracle/oradata/ora/redo03.log
Wed Aug 24 18:58:48 2016
Archived Log entry 18 added for thread 1 sequence 14 ID 0x2d6d16bd dest 1:
2)备库:
Wed Aug 24 19:38:51 2016
RFS[2]: Selected log 4 for thread 1 sequence 14 dbid 762083517 branch 920730879
Wed Aug 24 19:38:51 2016
Archived Log entry 5 added for thread 1 sequence 14 ID 0x2d6d16bd dest 1:
Wed Aug 24 19:38:52 2016
Media Recovery Log /u01/app/oracle/fast_recovery_area/ora/1_14_920730879.arc
WARNING: File being created with same name as in Primary
Existing file may be overwritten
Recovery created file /u01/app/oracle/oradata/ora/ts_test01.dbf
Successfully added datafile 7 to media recovery
Datafile #7: '/u01/app/oracle/oradata/ora/ts_test01.dbf'
Recovery deleting file #7:'/u01/app/oracle/oradata/ora/ts_test01.dbf' from
controlfile.
Deleted file /u01/app/oracle/oradata/ora/ts_test01.dbf
Recovery dropped tablespace 'TS_TEST'
WARNING: File being created with same name as in Primary
Existing file may be overwritten
Recovery created file /u01/app/oracle/oradata/ora/ts_test01.dbf
Successfully added datafile 7 to media recovery
Datafile #7: '/u01/app/oracle/oradata/ora/ts_test01.dbf'
Media Recovery Waiting for thread 1 sequence 15
3)级联库:
Wed Aug 24 19:38:51 2016
RFS[2]: Selected log 4 for thread 1 sequence 14 dbid 762083517 branch 920730879
Wed Aug 24 19:38:51 2016
Archived Log entry 5 added for thread 1 sequence 14 ID 0x2d6d16bd dest 1:
Wed Aug 24 19:38:52 2016
Media Recovery Log /u01/app/oracle/fast_recovery_area/ora/1_14_920730879.arc
WARNING: File being created with same name as in Primary
Existing file may be overwritten
Recovery created file /u01/app/oracle/oradata/ora/ts_test01.dbf
Successfully added datafile 7 to media recovery
Datafile #7: '/u01/app/oracle/oradata/ora/ts_test01.dbf'
Recovery deleting file #7:'/u01/app/oracle/oradata/ora/ts_test01.dbf' from
controlfile.
Deleted file /u01/app/oracle/oradata/ora/ts_test01.dbf
Recovery dropped tablespace 'TS_TEST'
WARNING: File being created with same name as in Primary
Existing file may be overwritten
Recovery created file /u01/app/oracle/oradata/ora/ts_test01.dbf
Successfully added datafile 7 to media recovery
Datafile #7: '/u01/app/oracle/oradata/ora/ts_test01.dbf'
Media Recovery Waiting for thread 1 sequence 15