1、环境
2、网络配置
2.1 primary监听配置
2.2 standby监听配置
2.3 primary网络服务名配置
2.4 standby网络服务名配置
2.5 启动监听并进行测试
2.5.1 启动primary端监听
2.5.2 启动standby端监听
2.5.3 在primary端进行测试
2.5.4 在standby端进行测试
3、参数配置
3.1 primary参数配置
3.2 standby参数配置
4、系统设置
4.1 standby目录创建
4.2 standby密码文件
5、创建standby数据库
6、standby端启动redo实时应用
6.1 查看standby端恢复模式
6.2 在standby端启动redo应用
6.3 在standby端创建standby redologs
6.4 在standby端启动redo实时应用
6.5激活standby redolog
7、standby端启动实时查询
| System Version | IP | Oracle Version | DB_NAME | DB_UNIQUE_NAME |
Primary | W2k8 64 | 10.0.5.18 | 11.2.0.1.0 | cme | cme |
Standby | W2k8 64 | 10.0.6.30 | 11.2.0.1.0 | cme | cmedg1 |
Primary端数据库处于open状态、归档状态及强制归档状态,通过DBCA创建,已经有密码文件;standby端仅安装数据库软件,安装路径与primary一致,没有创建数据库。(注意:操作前需要对primary数据库进行备份,包括RMAN全备,参数文件备份,控制文件备份)
SQL> select status from v$instance;
STATUS
------------
OPEN
SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 E:\arch
最早的联机日志序列 162
下一个存档日志序列 164
当前日志序列 164
SQL> select force_logging from v$database;
FOR
---
YES
# listener.ora Network Configuration File: D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = cme)
(ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
(SID_NAME = cme)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.5.18)(PORT = 1521))
)
ADR_BASE_LISTENER = D:\app\Administrator\product\11.2.0\dbhome_1\log
# listener.ora Network Configuration File: D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = cmedg1)
(ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
(SID_NAME = cmedg1)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.6.30)(PORT = 1521))
)
ADR_BASE_LISTENER = D:\app\Administrator\product\11.2.0\dbhome_1\log
# tnsnames.ora Network Configuration File: D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
DG18 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.5.18)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = cme)
)
)
DG30 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.6.30)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = cmedg1)
)
)
# tnsnames.ora Network Configuration File: D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
DG18 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.5.18)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = cme)
)
)
DG30 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.6.30)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = cmedg1)
)
)
注意要进行防火墙放行或者关闭防火墙。
C:\Users\Administrator>lsnrctl start
LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 11-2月 -2015 15:2
8:42
Copyright (c) 1991, 2010, Oracle. All rights reserved.
启动tnslsnr: 请稍候...
TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
系统参数文件为D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listene
r.ora
写入d:\app\administrator\product\11.2.0\dbhome_1\log\diag\tnslsnr\db1\listener\a
lert\log.xml的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.5.18)(PORT=1521)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.5.18)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Produ
ction
启动日期 11-2月 -2015 15:28:45
正常运行时间 0 天 0 小时 0 分 3 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 D:\app\Administrator\product\11.2.0\dbhome_1\network\a
dmin\listener.ora
监听程序日志文件 d:\app\administrator\product\11.2.0\dbhome_1\log\diag\
tnslsnr\db1\listener\alert\log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.5.18)(PORT=1521)))
服务摘要..
服务 "cme" 包含 1 个实例。
实例 "cme", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
C:\Users\Administrator>lsnrctl start
LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 27-2月 -2015 15:5
7:06
Copyright (c) 1991, 2010, Oracle. All rights reserved.
启动tnslsnr: 请稍候...
Failed to open service , error 1060.
TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
系统参数文件为D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listene
r.ora
写入d:\app\administrator\product\11.2.0\dbhome_1\log\diag\tnslsnr\WIN-IG2BA7UPCM
C\listener\alert\log.xml的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.6.30)(PORT=1521)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.6.30)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Produ
ction
启动日期 27-2月 -2015 15:57:10
正常运行时间 0 天 0 小时 0 分 3 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 D:\app\Administrator\product\11.2.0\dbhome_1\network\a
dmin\listener.ora
监听程序日志文件 d:\app\administrator\product\11.2.0\dbhome_1\log\diag\
tnslsnr\WIN-IG2BA7UPCMC\listener\alert\log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.6.30)(PORT=1521)))
服务摘要..
服务 "cmedg1" 包含 1 个实例。
实例 "cmedg1", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
C:\Users\Administrator>lsnrctl status
LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 27-2月 -2015 15:5
8:22
Copyright (c) 1991, 2010, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.6.30)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Produ
ction
启动日期 27-2月 -2015 15:57:10
正常运行时间 0 天 0 小时 1 分 14 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 D:\app\Administrator\product\11.2.0\dbhome_1\network\a
dmin\listener.ora
监听程序日志文件 d:\app\administrator\product\11.2.0\dbhome_1\log\diag\
tnslsnr\WIN-IG2BA7UPCMC\listener\alert\log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.6.30)(PORT=1521)))
服务摘要..
服务 "cmedg1" 包含 1 个实例。
实例 "cmedg1", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
C:\Users\Administrator>tnsping dg30
TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 27-2月 -2015 16:09:07
Copyright (c) 1997, 2010, Oracle. All rights reserved.
已使用的参数文件:
D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.6.30)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = cmedg1)))
OK (20 毫秒)
C:\Users\Administrator>tnsping dg18
TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 27-2月 -
2015 16:13:58
Copyright (c) 1997, 2010, Oracle. All rights reserved.
已使用的参数文件:
D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.
5.18)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = cme)))
OK (0 毫秒)
修改相关参数:
SQL> alter system set log_archive_config='dg_config=(cme,cmedg1)';
系统已更改。
SQL> alter system set log_archive_dest_2='service=dg30 lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=cmedg1';
系统已更改。
SQL> alter system set log_archive_dest_state_2='ENABLE';
系统已更改。
根据spfile.ora生成pfile.ora,
SQL> create pfile='D:\app\Administrator\product\11.2.0\dbhome_1\database\pfile.ora' from spfile;
文件已创建。
pfile.ora具体内容如下:
cme.__db_cache_size=251658240
cme.__java_pool_size=16777216
cme.__large_pool_size=16777216
cme.__oracle_base='D:\app\Administrator'#ORACLE_BASE set from environment
cme.__pga_aggregate_target=369098752
cme.__sga_target=721420288
cme.__shared_io_pool_size=0
cme.__shared_pool_size=419430400
cme.__streams_pool_size=0
*.audit_file_dest='D:\app\administrator\admin\cme\adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='E:\NSTC\ORADATA\CME\CME\CONTROL01.CTL','E:\N6HUIFU\CME\CONTROL02.CTL'#Restore Controlfile
*.db_block_size=8192
*.db_domain=''
*.db_flashback_retention_target=14400
*.db_name='cme'
*.db_recovery_file_dest='E:\N6HUIFU'
*.db_recovery_file_dest_size=4102029312
*.deferred_segment_creation=FALSE
*.diagnostic_dest='D:\app\administrator'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=cmeXDB)'
*.log_archive_config='dg_config=(cme,cmedg1)'
*.log_archive_dest_1='location=E:\arch'
*.log_archive_dest=''
*.log_archive_dest_2='service=dg30 lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=cmedg1'
*.log_archive_dest_state_2='ENABLE'
*.memory_target=1078984704
*.nls_language='SIMPLIFIED CHINESE'
*.nls_territory='CHINA'
*.open_cursors=300
*.processes=500
*.remote_login_passwordfile='EXCLUSIVE'
*.resource_limit=TRUE
*.sessions=555
*.undo_tablespace='UNDOTBS1'
将primary的pfile.ora拷贝到standby,修改后内容如下:(此处注意:如果主库是使用OMF管理文件,则standby端的目录路径可以不必和primary端一致,也无需设置DB_FILE_NAME_CONVERT,系统会自动进行转换;如果不是使用OMF管理文件,则standby端的目录路径需要和primary端保持一致,否则就需要使用DB_FILE_NAME_CONVERT进行转换。)
cme.__db_cache_size=251658240
cme.__java_pool_size=16777216
cme.__large_pool_size=16777216
cme.__oracle_base='D:\app\Administrator'#ORACLE_BASE set from environment
cme.__pga_aggregate_target=369098752
cme.__sga_target=721420288
cme.__shared_io_pool_size=0
cme.__shared_pool_size=419430400
cme.__streams_pool_size=0
*.audit_file_dest='D:\app\administrator\admin\cme\adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='E:\NSTC\ORADATA\CME\CME\CONTROL01.CTL','E:\N6HUIFU\CME\CONTROL02.CTL'#Restore Controlfile
*.db_block_size=8192
*.db_domain=''
*.db_flashback_retention_target=14400
*.db_name='cme'
*.db_unique_name='cmedg1'
*.db_recovery_file_dest='E:\N6HUIFU'
*.db_recovery_file_dest_size=4102029312
*.deferred_segment_creation=FALSE
*.diagnostic_dest='D:\app\administrator'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=cmeXDB)'
*.log_archive_config='dg_config=(cme,cmedg1)'
*.log_archive_dest_1='location=E:\arch valid_for=(all_logfiles,all_roles) db_unique_name=cmedg1'
*.standby_file_management='auto'
*.log_archive_dest=''
*.memory_target=1078984704
*.nls_language='SIMPLIFIED CHINESE'
*.nls_territory='CHINA'
*.open_cursors=300
*.processes=500
*.remote_login_passwordfile='EXCLUSIVE'
*.resource_limit=TRUE
*.sessions=555
*.undo_tablespace='UNDOTBS1'
根据修改后的pfile.ora生成spfilecmedg1.ora。
C:\Users\Administrator>set oracle_sid=cmedg1
建议在Windows环境变量中添加oracle_sid的值,不然每次打开cmd都需要设置oracle_sid。
C:\Users\Administrator>oradim -new -sid cmedg1
实例已创建。
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期三 2月 11 16:16:36 2015
Copyright (c) 1982, 2010, Oracle. All rights reserved.
已连接到空闲例程。
SQL> create spfile from pfile='D:\app\Administrator\product\11.2.0\dbhome_1\database\pfile.ora';
文件已创建。
根据参数文件创建相关目录。(建议写成脚本执行)
md D:\app\administrator\admin\cme\adump
md E:\NSTC\ORADATA\CME\cme\
md E:\N6HUIFU\cme\
md E:\arch
将primary端的密码文件复制到standby并重命名为PWDcmedg1.ora。如果忘记的sys的密码,可以现在primary端进行修改后再拷贝。
SQL> alter user sys identified by 123456;
用户已更改。
如果没有密码文件,使用如下命令进行创建。
C:\Users\Administrator>orapwd file=D:\app\Administrator\product\11.2.0\dbhome_1\database\PWDcme.ora password=123456 entries=30
将standby数据库启动到nomount状态。
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area 1085640704 bytes
Fixed Size 2174928 bytes
Variable Size 654311472 bytes
Database Buffers 419430400 bytes
Redo Buffers 9723904 bytes
在primary端运行如下命令:
C:\Users\Administrator>rman target / auxiliary sys/123456@dg30
恢复管理器: Release 11.2.0.1.0 - Production on 星期五 2月 27 16:51:50 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到目标数据库: CME (DBID=4032130741)
已连接到辅助数据库: CME (未装载)
RMAN> duplicate target database for standby nofilenamecheck from active database;
启动 Duplicate Db 于 27-2月 -15
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: SID=20 设备类型=DISK
内存脚本的内容:
{
backup as copy reuse
targetfile 'D:\app\Administrator\product\11.2.0\dbhome_1\DATABASE\PWDcme.ORA' auxiliary format
'D:\app\Administrator\product\11.2.0\dbhome_1\DATABASE\PWDcmedg1.ORA' ;
}
正在执行内存脚本
启动 backup 于 27-2月 -15
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=40 设备类型=DISK
完成 backup 于 27-2月 -15
内存脚本的内容:
{
backup as copy current controlfile for standby auxiliary format 'E:\NSTC\ORA
DATA\CME\CME\CONTROL01.CTL';
restore clone controlfile to 'E:\N6HUIFU\CME\CONTROL02.CTL' from
'E:\NSTC\ORADATA\CME\CME\CONTROL01.CTL';
}
正在执行内存脚本
启动 backup 于 27-2月 -15
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动数据文件副本
复制备用控制文件
输出文件名=D:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\SNCFCME.ORA 标
记=TAG20150227T173252 RECID=6 STAMP=872789574
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:07
完成 backup 于 27-2月 -15
启动 restore 于 27-2月 -15
使用通道 ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: 已复制控制文件副本
完成 restore 于 27-2月 -15
内存脚本的内容:
{
sql clone 'alter database mount standby database';
}
正在执行内存脚本
sql 语句: alter database mount standby database
内存脚本的内容:
{
set newname for tempfile 1 to
"E:\NSTC\ORADATA\CME\CME\TEMP01.DBF";
set newname for tempfile 2 to
"E:\NSTC\ORADATA\CME\N6_TEMP01.DBF";
switch clone tempfile all;
set newname for datafile 1 to
"E:\NSTC\ORADATA\CME\CME\SYSTEM01.DBF";
set newname for datafile 2 to
"E:\NSTC\ORADATA\CME\CME\SYSAUX01.DBF";
set newname for datafile 3 to
"E:\NSTC\ORADATA\CME\CME\UNDOTBS01.DBF";
set newname for datafile 4 to
"E:\NSTC\ORADATA\CME\CME\USERS01.DBF";
set newname for datafile 5 to
"E:\NSTC\ORADATA\CME\N6_DATA01.DBF";
set newname for datafile 6 to
"E:\NSTC\ORADATA\CME\N6_DATA02.DBF";
set newname for datafile 7 to
"E:\NSTC\ORADATA\CME\N6_DATA03.DBF";
set newname for datafile 8 to
"E:\NSTC\ORADATA\CME\CME\NW01.DBF";
backup as copy reuse
datafile 1 auxiliary format
"E:\NSTC\ORADATA\CME\CME\SYSTEM01.DBF" datafile
2 auxiliary format
"E:\NSTC\ORADATA\CME\CME\SYSAUX01.DBF" datafile
3 auxiliary format
"E:\NSTC\ORADATA\CME\CME\UNDOTBS01.DBF" datafile
4 auxiliary format
"E:\NSTC\ORADATA\CME\CME\USERS01.DBF" datafile
5 auxiliary format
"E:\NSTC\ORADATA\CME\N6_DATA01.DBF" datafile
6 auxiliary format
"E:\NSTC\ORADATA\CME\N6_DATA02.DBF" datafile
7 auxiliary format
"E:\NSTC\ORADATA\CME\N6_DATA03.DBF" datafile
8 auxiliary format
"E:\NSTC\ORADATA\CME\CME\NW01.DBF" ;
sql 'alter system archive log current';
}
正在执行内存脚本
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
临时文件 1 在控制文件中已重命名为 E:\NSTC\ORADATA\CME\CME\TEMP01.DBF
临时文件 2 在控制文件中已重命名为 E:\NSTC\ORADATA\CME\N6_TEMP01.DBF
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
启动 backup 于 27-2月 -15
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件: 文件号=00005 名称=E:\NSTC\ORADATA\CME\N6_DATA01.DBF
输出文件名=E:\NSTC\ORADATA\CME\N6_DATA01.DBF 标记=TAG20150227T173308
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 01:30:24
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件: 文件号=00006 名称=E:\NSTC\ORADATA\CME\N6_DATA02.DBF
输出文件名=E:\NSTC\ORADATA\CME\N6_DATA02.DBF 标记=TAG20150227T173308
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 01:19:54
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件: 文件号=00001 名称=E:\NSTC\ORADATA\CME\CME\SYSTEM01.DBF
输出文件名=E:\NSTC\ORADATA\CME\CME\SYSTEM01.DBF 标记=TAG20150227T173308
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 01:02:22
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件: 文件号=00007 名称=E:\NSTC\ORADATA\CME\N6_DATA03.DBF
输出文件名=E:\NSTC\ORADATA\CME\N6_DATA03.DBF 标记=TAG20150227T173308
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:05:36
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件: 文件号=00002 名称=E:\NSTC\ORADATA\CME\CME\SYSAUX01.DBF
输出文件名=E:\NSTC\ORADATA\CME\CME\SYSAUX01.DBF 标记=TAG20150227T173308
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:02:05
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件: 文件号=00003 名称=E:\NSTC\ORADATA\CME\CME\UNDOTBS01.DBF
输出文件名=E:\NSTC\ORADATA\CME\CME\UNDOTBS01.DBF 标记=TAG20150227T173308
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:35
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件: 文件号=00008 名称=E:\NSTC\ORADATA\CME\CME\NW01.DBF
输出文件名=E:\NSTC\ORADATA\CME\CME\NW01.DBF 标记=TAG20150227T173308
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:02
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件: 文件号=00004 名称=E:\NSTC\ORADATA\CME\CME\USERS01.DBF
输出文件名=E:\NSTC\ORADATA\CME\CME\USERS01.DBF 标记=TAG20150227T173308
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:01
完成 backup 于 27-2月 -15
sql 语句: alter system archive log current
内存脚本的内容:
{
switch clone datafile all;
}
正在执行内存脚本
数据文件 1 已转换成数据文件副本
输入数据文件副本 RECID=6 STAMP=872804110 文件名=E:\NSTC\ORADATA\CME\CME\SYSTEM01
.DBF
数据文件 2 已转换成数据文件副本
输入数据文件副本 RECID=7 STAMP=872804110 文件名=E:\NSTC\ORADATA\CME\CME\SYSAUX01
.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 RECID=8 STAMP=872804111 文件名=E:\NSTC\ORADATA\CME\CME\UNDOTBS0
1.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 RECID=9 STAMP=872804111 文件名=E:\NSTC\ORADATA\CME\CME\USERS01.
DBF
数据文件 5 已转换成数据文件副本
输入数据文件副本 RECID=10 STAMP=872804111 文件名=E:\NSTC\ORADATA\CME\N6_DATA01.D
BF
数据文件 6 已转换成数据文件副本
输入数据文件副本 RECID=11 STAMP=872804111 文件名=E:\NSTC\ORADATA\CME\N6_DATA02.D
BF
数据文件 7 已转换成数据文件副本
输入数据文件副本 RECID=12 STAMP=872804111 文件名=E:\NSTC\ORADATA\CME\N6_DATA03.D
BF
数据文件 8 已转换成数据文件副本
输入数据文件副本 RECID=13 STAMP=872804111 文件名=E:\NSTC\ORADATA\CME\CME\NW01.DB
F
完成 Duplicate Db 于 27-2月 -15
虽然启用了实时应用(LGWR ASYNC),但还是必须切换了日志后,才进行日志传送和应用,原因是由于primary数据库没有使用OMF创建数据库,故虽然使用DUPLICATE TARGET DATABASE FOR STANDBY NOFILENAMECHECK FROM ACTIVE DATABASE创建standby数据库,但不会创建相应的standby Redologs,需要手动创建,再重启REDO应用后,即可启用实时应用了。具体步骤如下:
SQL> select recovery_mode from v$archive_dest_status where dest_id=1;
RECOVERY_MODE
-----------------------
IDLE
Standby端没有启动redo应用前,恢复模式为IDLE。
SQL> alter database recover managed standby database disconnect from session;
数据库已更改。
SQL> select recovery_mode from v$archive_dest_status where dest_id=1;
RECOVERY_MODE
-----------------------
MANAGED
Standby端启动redo应用后,恢复模式为MANAGED。
SQL> alter database recover managed standby database cancel;
数据库已更改。
SQL> alter database recover managed standby database using current logfile disconnect from session;
alter database recover managed standby database using current logfile disconnect
from session
*
第 1 行出现错误:
ORA-38500: USING CURRENT LOGFILE option not available without standby redo logs
由于没有standby redologs,故使用standby redologs日志启动redo实时应用失败。
6.3 在standby端创建standby redologs
日志组数量四组,比online redologs多一组。
SQL> alter database add standby logfile group 4 'E:\NSTC\ORADATA\CME\cme\standby_redo04.log' size 50m;
数据库已更改。
SQL> alter database add standby logfile group 5 'E:\NSTC\ORADATA\CME\cme\standby_redo05.log' size 50m;
数据库已更改。
SQL> alter database add standby logfile group 6 'E:\NSTC\ORADATA\CME\cme\standby_redo06.log' size 50m;
数据库已更改。
SQL> alter database add standby logfile group 7 'E:\NSTC\ORADATA\CME\cme\standby_redo07.log' size 50m;
数据库已更改。
SQL> alter database recover managed standby database using current logfile disconnect from session;
数据库已更改。
SQL> select recovery_mode from v$archive_dest_status where dest_id=1;
RECOVERY_MODE
-----------------------
MANAGED REAL TIME APPLY
在standby端查询standby redologs状态显示未使用。
SQL> select group#, sequence#, dbid,status from v$standby_log;
GROUP# SEQUENCE# DBID STATUS
---------- ---------- ---------------------------------------- ----------
4 0 UNASSIGNED UNASSIGNED
5 0 UNASSIGNED UNASSIGNED
6 0 UNASSIGNED UNASSIGNED
7 0 UNASSIGNED UNASSIGNED
在primary端切换日志将standby redologs激活。
SQL> alter system switch logfile;
系统已更改。
再次在standby端查询standby redologs状态显示激活。
SQL> select group#, sequence#, dbid,status from v$standby_log;
GROUP# SEQUENCE# DBID STATUS
---------- ---------- ---------------------------------------- ----------
4 175 4032130741 ACTIVE
5 0 UNASSIGNED UNASSIGNED
6 0 UNASSIGNED UNASSIGNED
7 0 UNASSIGNED UNASSIGNED
查看当前数据库打开模式。
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
MOUNTED
直接打开数据库将报错。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-10456: cannot open standby database; media recovery session may be in progress
先暂停redo应用,然后打开数据库,再重启redo应用。
SQL> alter database recover managed standby database cancel;
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ ONLY
SQL> alter database recover managed standby database using current logfile disconnect from session;
数据库已更改。
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ ONLY WITH APPLY
SQL> select recovery_mode from v$archive_dest_status where dest_id=1;
RECOVERY_MODE
-----------------------
MANAGED REAL TIME APPLY来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28536251/viewspace-1443923/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28536251/viewspace-1443923/