通过RMAN DUPLICATE...FROM ACTIVE DATABASE创建dataguard(for oracle 11g)(二)
G
3,创建相关目录,用来放datafile和trace file
mkdir -p /oracle/app/oracle/admin/standby/adump
ASMCMD> mkdir standby
ASMCMD> cd standby
ASMCMD> mkdir controlfile
ASMCMD> pwd
+data/standby
ASMCMD> cd controlfile
ASMCMD> pwd
+data/standby/controlfi
www.2cto.com
4,启动数据库到nomount状态
standby>startup nomount pfile = '/oracle/app/oracle/product/11.2.0/db_1/dbs/initstandby3.ora';
ORACLE 例程已经启动。
Total System Global Area 304861184 bytes
Fixed Size 2225872 bytes
Variable Size 159385904 bytes
Database Buffers 134217728 bytes
Redo Buffers 9031680 bytes
5,测试数据库连接问题
SQL> connect sys/"pl,12345"@standby as sysdba;
ERROR:
ORA-12528: TNS:listener: all appropriate instances are blocking new connections
说明数据库没有启动到mount状态,监听器blocked
通过tnsnames.ora中添加(UR=A)解决,且最好使用listener.ora静态注册
6,primary主机运行如下命令,此处连接必须使用网络连接符,否者报错
[sql]
RMAN> run {
allocate channel prmy1 type disk;
allocate channel prmy2 type disk;
allocate channel prmy3 type disk;
allocate channel prmy4 type disk;
allocate auxiliary channel stby type disk;
duplicate target database for standby from active database
spfile www.2cto.com
parameter_value_convert 'hrdbprim','standby'
set db_unique_name='standby'
set db_file_name_convert='/oracle/app/oracle/oradata/hrdbprim/','+DATA/standby/datafile/'
set log_file_name_convert='/oracle/app/oracle/oradata/hrdbprim/','+DATA/standby/onlinelog/'
set control_files='+DATA/standby/controlfile/control01.ctl','+FRA/standby/controlfile/control02.ctl'
set log_archive_max_processes='5'
set fal_client='standby'
set fal_server='hrdbprim'
set standby_file_management='AUTO'
set log_archive_config='dg_config=(hrdbprim,standby)'
set log_archive_dest_1='service=hrdbprim ASYNC valid_for=(ONLINE_LOGFILE,PRIMARY_ROLE) db_unique_name=hrdbprim'
;
}
.........
7,standby数据库,开启dataguard
sys@STANDBY3(dtydb5)> alter database recover managed standby database disconnect from session;
数据库已更改。
8,对于active dataguard,可以再使用如下命令
[sql]
sys@STANDBY3(dtydb5)> alter database recover managed standby database cancel;
数据库已更改。
sys@STANDBY3(dtydb5)> alter database open;
数据库已更改。
sys@STANDBY3(dtydb5)> alter database recover managed standby database disconnect;
数据库已更改。
sys@STANDBY3(dtydb5)> alter database recover managed standby database using current logfile disconnect from session;
www.2cto.com
数据库已更改。
四、测试ADG结果
恢复单节点到rac数据库,注册到CRS,参见上篇文章
备注:注意事项:
a、standby监听器必须是静态监听
b、db_file_name_convert要正确设置,否者会报错ORA-17628, ORA-19505
参考资料:
RMAN 'Duplicate From Active Database' Feature in 11G [ID 452868.1]
Step by Step Guide on Creating Physical Standby Using RMAN DUPLICATE...FROM ACTIVE DATABASE [ID 1075908.1]
ORA-17628, ORA-19505 during RMAN DUPLICATE FROM ACTIVE [ID 1331986.1]
作者 hijk139