Oracle DG之--构建Physical Standby
我们提供的服务有:成都做网站、成都网站设计、成都外贸网站建设、微信公众号开发、网站优化、网站认证、瓮安ssl等。为上1000家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的瓮安网站制作公司
系统环境:
操作系统: RedHat EL4
Oracle: Oracle 10.2.0.1.0

从以上图中所示:主库为bj(db_unique_name),备库为sh。
案例分析:
本案例采用RMAN Duplicate方式建立standby database。
一、配置主备库初始化参数
主库的初始化参数:initbj.ora
[oracle@ocmtest dbs]$ more initbj.ora *.audit_file_dest='/u01/app/oracle/admin/bj/adump' *.background_dump_dest='/u01/app/oracle/admin/bj/bdump' *.compatible='10.2.0.1.0' *.control_files='/u01/app/oracle/oradata/bj/control01.ctl','/u01/app/oracle/oradata/bj/control02.ctl','/u01/app/oracle/oradata/bj/control 03.ctl' *.core_dump_dest='/u01/app/oracle/admin/bj/cdump' *.db_block_size=8192 *.db_domain='' *.db_file_multiblock_read_count=16 *.db_name='bj' *.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area' *.db_recovery_file_dest_size=2147483648 *.dispatchers='(PROTOCOL=TCP) (SERVICE=bjXDB)' *.job_queue_processes=10 *.open_cursors=300 *.pga_aggregate_target=68157440 *.processes=150 *.remote_login_passwordfile='EXCLUSIVE' *.sga_target=205520896 *.undo_management='AUTO' *.undo_tablespace='UNDOTBS1' *.user_dump_dest='/u01/app/oracle/admin/bj/udump'
以下为DG配置参数:
DB_UNIQUE_NAME=bj LOG_ARCHIVE_CONFIG='DG_CONFIG=(bj,sh)' LOG_ARCHIVE_DEST_1='LOCATION=/u01/disk1/arch/bj/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=bj' LOG_ARCHIVE_DEST_2='SERVICE=sh LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=sh' LOG_ARCHIVE_DEST_STATE_1=ENABLE LOG_ARCHIVE_DEST_STATE_2=ENABLE REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE LOG_ARCHIVE_MAX_PROCESSES=3 FAL_SERVER=sh FAL_CLIENT=bj DB_FILE_NAME_CONVERT='/u01/app/oracle/oradata/sh/','/u01/app/oracle/oradata/bj/' LOG_FILE_NAME_CONVERT='/u01/app/oracle/oradata/sh/','/u01/app/oracle/oradata/bj/' STANDBY_FILE_MANAGEMENT=AUTO
备库的初始化参数:initsh.ora
[oracle@ocmtest1 dbs]$ more initsh.ora *.audit_file_dest='/u01/app/oracle/admin/sh/adump' *.background_dump_dest='/u01/app/oracle/admin/sh/bdump' *.compatible='10.2.0.1.0' *.control_file_record_keep_time=7 *.control_files='/u01/app/oracle/oradata/sh/control01.ctl','/u01/app/oracle/oradata/sh/control02.ctl','/u01/app/oracle/oradata/sh/control 03.ctl' *.core_dump_dest='/u01/app/oracle/admin/sh/cdump' *.db_block_size=8192 *.db_domain='' *.db_file_multiblock_read_count=16 *.DB_FILE_NAME_CONVERT='/u01/app/oracle/oradata/bj/','/u01/app/oracle/oradata/sh/' *.db_name='bj' *.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area' *.db_recovery_file_dest_size=2147483648 *.open_cursors=300 *.pga_aggregate_target=68157440 *.processes=150 *.REMOTE_LOGIN_PASSWORDFILE='EXCLUSIVE' *.sga_target=205520896 *.undo_management='AUTO' *.undo_tablespace='UNDOTBS1' *.user_dump_dest='/u01/app/oracle/admin/sh/udump'
以下为DG配置参数:
*.DB_UNIQUE_NAME='sh' *.FAL_CLIENT='sh' *.FAL_SERVER='bj' *.job_queue_processes=10 *.LOG_ARCHIVE_CONFIG='DG_CONFIG=(bj,sh)' *.LOG_ARCHIVE_DEST_1='LOCATION=/u01/disk1/arch/sh/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=sh' *.LOG_ARCHIVE_DEST_2='SERVICE=bj LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=bj' *.LOG_ARCHIVE_DEST_STATE_1='ENABLE' *.LOG_ARCHIVE_DEST_STATE_2='ENABLE' *.log_archive_format='arch_%t_%s_%r.log' *.LOG_ARCHIVE_MAX_PROCESSES=3 *.LOG_FILE_NAME_CONVERT='/u01/app/oracle/oradata/bj/','/u01/app/oracle/oradata/sh/' *.STANDBY_FILE_MANAGEMENT='AUTO'
二、在主库上建立standby 日志
对于默认的最大性能的保护方式,可以不用建立standby redo logfiles;但建立standby redo logfiles可以更好的保存redo log;standby redo日志组组数应等于或多于redo log,日志的大小应该一致。
SQL> alter database add standby logfile group 4 ('/u01/app/oracle/oradata/bj/redo04.log') size 50m;
SQL> alter database add standby logfile group 5 ('/u01/app/oracle/oradata/bj/redo05.log.rdo') size 50m;
SQL> alter database add standby logfile group 6 ('/u01/app/oracle/oradata/bj/redo06.log') size 50m;三、在备库上建立相应目录:
[oracle@ocmtest1 dbs]$mkdir -p /u01/app/oracle/admin/sh/adump [oracle@ocmtest1 dbs]$mkdir -p /u01/app/oracle/admin/sh/udump [oracle@ocmtest1 dbs]$mkdir -p /u01/app/oracle/admin/sh/bdump [oracle@ocmtest1 dbs]$mkdir -p /u01/app/oracle/admin/sh/cdump [oracle@ocmtest1 dbs]$mkdir -p /u01/app/oracle/oradata/sh
四、在主库生成备库的controlfile和备份
1、数据库在mount 状态下
06:57:41 SQL> alter database create standby controlfile as '/home/oracle/std_control01.ctl';
2、 将生成的控制文件,拷贝到备库相同的目录下
[oracle@ocmtest1 ~]$ scp /home/oracle/std_control01.ctl 192.168.8.86:/home/oracle
对主库进行备份
[oracle@ocmtest bj]$ rman target /
Recovery Manager: Release 10.2.0.1.0 - Production on Wed Aug 31 10:55:55 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database (not started)
RMAN> run {
2> startup force mount;
3> backup database format='/u01/disk1/rman/bj/bj_%s.bak' plus archivelog;
4> alter database open;
5> }五、在备库上Duplicate Database(备库启动到弄mount)
1)在备库上建立/u01/disk1/rman/bj目录
拷贝主库的备份到备库/u01/disk1/rman/bj目录(拷贝到相同的目录下)
[oracle@ocmtest bj]$ scp /u01/disk1/rman/bj/bj_*.bak 192.168.8.86:/u01/disk1/rman/bj
2)配置Oracle network
因为,备库启动到no mount 状态,拒绝用户远程联机,所以采用静态注册,如下所示备库listenter
[oracle@ocmtest1 admin]$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = bj)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
(SID_NAME = bj)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ocmtest1.51CTO提醒您,请勿滥发广告!)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
如下所示:主库的tnsnames文件:
[oracle@ocmtest1 admin]$
[oracle@ocmtest admin]$ cat tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
BJ =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.84)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = bj)
)
)
SH =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.86)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = sh)
(UR=A) ;添加此项连接到静态注册的备库
)
)
测试连接备库
[oracle@ocmtest bj]$ sqlplus sys/oracle@sh as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Wed Aug 31 11:19:32 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
通过主库连接到备库,进行恢复(通过克隆方式建立备库)
[oracle@ocmtest bj]$ rman target /
Recovery Manager: Release 10.2.0.1.0 - Production on Wed Aug 31 11:19:36 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: BJ (DBID=1015723911)
RMAN> connect auxiliary sys/oracle@sh;
connected to auxiliary database: BJ (not mounted)
RMAN> duplicate target database for standby;
Starting Duplicate Db at 31-AUG-11
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: sid=155 devtype=DISK
contents of Memory Script:
{
restore clone standby controlfile;
sql clone 'alter database mount standby database';
}
executing Memory Script
Starting restore at 31-AUG-11
using channel ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: restoring control file
channel ORA_AUX_DISK_1: copied control file copy
input filename=/home/oracle/stand.ctl
output filename=/u01/app/oracle/oradata/sh/control01.ctl
output filename=/u01/app/oracle/oradata/sh/control02.ctl
output filename=/u01/app/oracle/oradata/sh/control03.ctl
Finished restore at 31-AUG-11
sql statement: alter database mount standby database
released channel: ORA_AUX_DISK_1
contents of Memory Script:
{
set newname for tempfile 1 to
"/u01/app/oracle/oradata/sh/temp01.dbf";
switch clone tempfile all;
set newname for datafile 1 to
"/u01/app/oracle/oradata/sh/system01.dbf";
set newname for datafile 2 to
"/u01/app/oracle/oradata/sh/undotbs01.dbf";
set newname for datafile 3 to
"/u01/app/oracle/oradata/sh/sysaux01.dbf";
set newname for datafile 4 to
"/u01/app/oracle/oradata/sh/users01.dbf";
set newname for datafile 5 to
"/u01/app/oracle/oradata/sh/example01.dbf";
restore
check readonly
clone database
;
}
executing Memory Script
executing command: SET NEWNAME
renamed temporary file 1 to /u01/app/oracle/oradata/sh/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
Starting restore at 31-AUG-11
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: sid=155 devtype=DISK
channel ORA_AUX_DISK_1: starting datafile backupset restore
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
restoring datafile 00001 to /u01/app/oracle/oradata/sh/system01.dbf
restoring datafile 00002 to /u01/app/oracle/oradata/sh/undotbs01.dbf
restoring datafile 00003 to /u01/app/oracle/oradata/sh/sysaux01.dbf
restoring datafile 00004 to /u01/app/oracle/oradata/sh/users01.dbf
restoring datafile 00005 to /u01/app/oracle/oradata/sh/example01.dbf
channel ORA_AUX_DISK_1: reading from backup piece /u01/disk1/rman/bj/bj_2.bak
channel ORA_AUX_DISK_1: restored backup piece 1
piece handle=/u01/disk1/rman/bj/bj_2.bak tag=TAG20110831T105953
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:48
Finished restore at 31-AUG-11
contents of Memory Script:
{
switch clone datafile all;
}
executing Memory Script
datafile 1 switched to datafile copy
input datafile copy recid=10 stamp=760621486 filename=/u01/app/oracle/oradata/sh/system01.dbf
datafile 2 switched to datafile copy
input datafile copy recid=11 stamp=760621487 filename=/u01/app/oracle/oradata/sh/undotbs01.dbf
datafile 3 switched to datafile copy
input datafile copy recid=12 stamp=760621487 filename=/u01/app/oracle/oradata/sh/sysaux01.dbf
datafile 4 switched to datafile copy
input datafile copy recid=13 stamp=760621487 filename=/u01/app/oracle/oradata/sh/users01.dbf
datafile 5 switched to datafile copy
input datafile copy recid=14 stamp=760621487 filename=/u01/app/oracle/oradata/sh/example01.dbf
Finished Duplicate Db at 31-AUG-11---备库建立完毕,并启动到mount状态!
六、在备库上启动MRP进程
11:40:28 SQL> SELECT status from v$instance; STATUS ------------ MOUNTED 11:45:40 SQL> alter database recover managed standby database disconnect from session; Database altered. 告警日志: alter database recover managed standby database disconnect from session Wed Aug 31 11:46:00 2011 Attempt to start background Managed Standby Recovery process (sh) MRP0 started with pid=22, OS id=14159 Wed Aug 31 11:46:01 2011 MRP0: Background Managed Standby Recovery process started (sh) Managed Standby Recovery not using Real Time Apply Wed Aug 31 11:46:06 2011 Errors in file /u01/app/oracle/admin/sh/bdump/sh_mrp0_14159.trc: ORA-00313: open failed for members of log group 1 of thread 1 ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/sh/redo01.log' ORA-27037: unable to obtain file status Linux Error: 2: No such file or directory Additional information: 3 Wed Aug 31 11:46:06 2011 Errors in file /u01/app/oracle/admin/sh/bdump/sh_mrp0_14159.trc: ORA-00313: open failed for members of log group 1 of thread 1 ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/sh/redo01.log' ORA-27037: unable to obtain file status Linux Error: 2: No such file or directory Additional information: 3 Clearing online redo logfile 1 /u01/app/oracle/oradata/sh/redo01.log Clearing online log 1 of thread 1 sequence number 23 Wed Aug 31 11:46:06 2011 Errors in file /u01/app/oracle/admin/sh/bdump/sh_mrp0_14159.trc: ORA-00313: open failed for members of log group 1 of thread 1 ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/sh/redo01.log' ORA-27037: unable to obtain file status Linux Error: 2: No such file or directory Additional information: 3 Wed Aug 31 11:46:07 2011 Completed: alter database recover managed standby database disconnect from session Wed Aug 31 11:46:08 2011 Clearing online redo logfile 1 complete Wed Aug 31 11:46:08 2011 Errors in file /u01/app/oracle/admin/sh/bdump/sh_mrp0_14159.trc: ORA-00313: open failed for members of log group 2 of thread 1 ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/sh/redo02.log' ORA-27037: unable to obtain file status Linux Error: 2: No such file or directory Additional information: 3 Wed Aug 31 11:46:08 2011 Errors in file /u01/app/oracle/admin/sh/bdump/sh_mrp0_14159.trc: ORA-00313: open failed for members of log group 2 of thread 1 ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/sh/redo02.log' ORA-27037: unable to obtain file status Linux Error: 2: No such file or directory Additional information: 3 Clearing online redo logfile 2 /u01/app/oracle/oradata/sh/redo02.log Clearing online log 2 of thread 1 sequence number 21 Wed Aug 31 11:46:08 2011 Errors in file /u01/app/oracle/admin/sh/bdump/sh_mrp0_14159.trc: ORA-00313: open failed for members of log group 2 of thread 1 ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/sh/redo02.log' ORA-27037: unable to obtain file status Linux Error: 2: No such file or directory Additional information: 3 Clearing online redo logfile 2 complete Wed Aug 31 11:46:09 2011 Errors in file /u01/app/oracle/admin/sh/bdump/sh_mrp0_14159.trc: ORA-00313: open failed for members of log group 3 of thread 1 ORA-00312: online log 3 thread 1: '/u01/app/oracle/oradata/sh/redo03.log' ORA-27037: unable to obtain file status Linux Error: 2: No such file or directory Additional information: 3 Wed Aug 31 11:46:09 2011 Errors in file /u01/app/oracle/admin/sh/bdump/sh_mrp0_14159.trc: ORA-00313: open failed for members of log group 3 of thread 1 ORA-00312: online log 3 thread 1: '/u01/app/oracle/oradata/sh/redo03.log' ORA-27037: unable to obtain file status Linux Error: 2: No such file or directory Additional information: 3 Clearing online redo logfile 3 /u01/app/oracle/oradata/sh/redo03.log Clearing online log 3 of thread 1 sequence number 22 Wed Aug 31 11:46:09 2011 Errors in file /u01/app/oracle/admin/sh/bdump/sh_mrp0_14159.trc: ORA-00313: open failed for members of log group 3 of thread 1 ORA-00312: online log 3 thread 1: '/u01/app/oracle/oradata/sh/redo03.log' ORA-27037: unable to obtain file status Linux Error: 2: No such file or directory Additional information: 3 Clearing online redo logfile 3 complete Media Recovery Waiting for thread 1 sequence 23 Wed Aug 31 11:47:00 2011 Using STANDBY_ARCHIVE_DEST parameter default value as /u01/disk1/arch/sh/ Redo Shipping Client Connected as PUBLIC -- Connected User is Valid RFS[1]: Assigned to RFS process 14219 RFS[1]: Identified database type as 'physical standby' Wed Aug 31 11:47:00 2011 RFS LogMiner: Client disabled from further notification Wed Aug 31 11:47:01 2011 Redo Shipping Client Connected as PUBLIC -- Connected User is Valid RFS[2]: Assigned to RFS process 14221 RFS[2]: Identified database type as 'physical standby' Wed Aug 31 11:47:01 2011 RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_7_760458507.log' RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_8_760458507.log' Wed Aug 31 11:47:01 2011 RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_6_760458507.log' RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_10_760458507.log' Wed Aug 31 11:47:01 2011 RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_9_760458507.log' Wed Aug 31 11:47:02 2011 RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_11_760458507.log' Wed Aug 31 11:47:02 2011 RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_12_760458507.log' Wed Aug 31 11:47:02 2011 RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_13_760458507.log' Wed Aug 31 11:47:02 2011 RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_14_760458507.log' Wed Aug 31 11:47:02 2011 RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_15_760458507.log' Wed Aug 31 11:47:02 2011 RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_16_760458507.log' Wed Aug 31 11:47:03 2011 RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_17_760458507.log' Wed Aug 31 11:47:03 2011 RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_18_760458507.log' RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_19_760458507.log' Wed Aug 31 11:47:03 2011 RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_20_760458507.log' RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_22_760458507.log' Wed Aug 31 11:47:04 2011 RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_21_760458507.log' Wed Aug 31 11:47:04 2011 RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_24_760458507.log' RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_25_760458507.log' Wed Aug 31 11:47:05 2011 RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_23_760458507.log' Wed Aug 31 11:47:05 2011 RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_26_760458507.log' RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_27_760458507.log' Wed Aug 31 11:47:05 2011 RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_28_760458507.log' Wed Aug 31 11:47:05 2011 RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_29_760458507.log' Wed Aug 31 11:47:05 2011 Media Recovery Log /u01/disk1/arch/sh/arch_1_23_760458507.log Media Recovery Log /u01/disk1/arch/sh/arch_1_24_760458507.log Media Recovery Log /u01/disk1/arch/sh/arch_1_25_760458507.log Media Recovery Log /u01/disk1/arch/sh/arch_1_26_760458507.log Media Recovery Log /u01/disk1/arch/sh/arch_1_27_760458507.log Media Recovery Log /u01/disk1/arch/sh/arch_1_28_760458507.log Media Recovery Log /u01/disk1/arch/sh/arch_1_29_760458507.log Media Recovery Waiting for thread 1 sequence 30
七、在主库上切换日志测试数据同步
RMAN> sql'alter system switch logfile'; sql statement: alter system switch logfile 备库告警日志: RFS[1]: No standby redo logfiles created RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_30_760458507.log' Wed Aug 31 11:48:06 2011 Redo Shipping Client Connected as PUBLIC -- Connected User is Valid RFS[3]: Assigned to RFS process 14234 RFS[3]: Identified database type as 'physical standby' Primary database is in MAXIMUM PERFORMANCE mode Primary database is in MAXIMUM PERFORMANCE mode RFS[3]: No standby redo logfiles created Wed Aug 31 11:48:08 2011 Media Recovery Log /u01/disk1/arch/sh/arch_1_30_760458507.log Media Recovery Waiting for thread 1 sequence 31 (in transit) ---备库接收到归档日志,并对其做Media Recover。
八、查看数据库信息:
18:02:08 SYS@ bj >select name,database_role,protection_mode from v$database; NAME DATABASE_ROLE PROTECTION_MODE --------- ---------------- -------------------- BJ PRIMARY MAXIMUM PERFORMANCE 18:02:50 SYS@ sh >select name,database_role,protection_mode from v$database; NAME DATABASE_ROLE PROTECTION_MODE --------- ---------------- -------------------- BJ PHYSICAL STANDBY MAXIMUM PERFORMANCE
----@此案例采用Oracle 10g的环境,对于备库在recover状态下,只能启动到mount状态,如果启动到open环境,则会停止recover,失去了数据保护的功能;对于Oracle 11g,Oracle启用了新的特性,“Active Standby”,可以将备库启动到open状态,并且可以继续recover,从而增强了备库的应用范围和备库的功能。