6.3 在standby端创建standby redologs
|
|
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
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