以前装过10g的,没有做笔记,昨天使用duplicate方法装了个11g ADG,过程艰辛,记录下:
一、环境配置
主库
IP地址:192.168.233.128/24
操作系统版本:rhel5.8 64bit
数据库版本:11.2.0.1 64bit
数据库sid名:orcl
数据库名:orcl
数据库db_unique_name:orcl1
主机名:pr
物理备库
IP地址:192.168.233.129/24
操作系统版本:rhel5.8 64bit
数据库版本:11.2.0.1 64bit
数据库sid名:orcl
数据库名:orcl
数据库db_unique_name:orcl2
主机名:st
二、修改主备库listener.ora,tnsnames.ora文件如下
[oracle@pr admin]$ more listener.ora [oracle@pr admin]$ more tnsnames.ora orcl2= |
[oracle@st admin]$ more listener.ora
orcl2= |
三、修改主库、备库的pfile文件,红色部分为新增加的部分。
[oracle@pr dbs]$ more initorcl.ora orcl.__db_cache_size=142606336 orcl.__java_pool_size=4194304 orcl.__large_pool_size=4194304 orcl.__oracle_base='/export/11g'#ORACLE_BASE set from environment orcl.__pga_aggregate_target=167772160 orcl.__sga_target=251658240 orcl.__shared_io_pool_size=0 orcl.__shared_pool_size=92274688 orcl.__streams_pool_size=0 *.audit_file_dest='/export/11g/admin/orcl/adump' *.audit_trail='db' *.compatible='11.2.0.0.0' *.control_files='/export/11g/oradata/orcl/control01.ctl','/export/11g/flash_recovery_area/orcl/control02.ctl' *.db_block_size=8192 *.db_domain='' *.db_name='orcl' *.db_recovery_file_dest='/export/11g/flash_recovery_area' *.db_recovery_file_dest_size=4070572032 *.diagnostic_dest='/export/11g' *.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)' *.log_archive_format='%t_%s_%r.dbf' *.memory_target=417333248 *.open_cursors=300 *.processes=150 *.remote_login_passwordfile='EXCLUSIVE' *.undo_tablespace='UNDOTBS1' *.db_unique_name='orcl1' *.fal_client='orcl1' *.fal_server='orcl2' *.log_archive_config='DG_CONFIG=(orcl1,orcl2)' *.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST ' *.log_archive_dest_2='SERVICE=orcl2 lgwr async valid_for=(online_logfile,primary_role) db_unique_name=orcl2' *.remote_login_passwordfile='EXCLUSIVE' *.standby_file_management='AUTO' |
DB_UNQUIE_NAME的会影响到Service_names,也会影响到动态监听的时候的service_name
[oracle@st dbs]$ more initorcl.ora orcl.__db_cache_size=142606336 orcl.__java_pool_size=4194304 orcl.__large_pool_size=4194304 orcl.__oracle_base='/export/11g'#ORACLE_BASE set from environment orcl.__pga_aggregate_target=167772160 orcl.__sga_target=251658240 orcl.__shared_io_pool_size=0 orcl.__shared_pool_size=92274688 orcl.__streams_pool_size=0 *.audit_file_dest='/export/11g/admin/orcl/adump' *.audit_trail='db' *.compatible='11.2.0.0.0' *.control_files='/export/11g/oradata/orcl/control01.ctl','/export/11g/flash_recovery_area/orcl/control02.ctl' *.db_block_size=8192 *.db_domain='' *.db_name='orcl' *.db_recovery_file_dest='/export/11g/flash_recovery_area' *.db_recovery_file_dest_size=4070572032 *.diagnostic_dest='/export/11g' *.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)' *.log_archive_format='%t_%s_%r.dbf' *.memory_target=417333248 *.open_cursors=300 *.processes=150 *.remote_login_passwordfile='EXCLUSIVE' *.undo_tablespace='UNDOTBS1' *.fal_client='orcl2' *.fal_server='orcl1' *.log_archive_config='DG_CONFIG=(orcl1,orcl2)' *.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST ' *.log_archive_dest_2='SERVICE=orcl1 lgwr async valid_for=(online_logfile,primary_role) db_unique_name=orcl1' *.remote_login_passwordfile='EXCLUSIVE' *.standby_file_management='AUTO' *.db_unique_name='orcl2' |
valid_for=(all_logfiles,primary_role) :备库不能归档
valid_for=(all_logfiles,all_role) : 设置不了
四、在备库上创建相应的目录
如udump/,oradate/
五、将备库启动到nomount状态,然后连接主库进行duplicate操作
|
[oracle@st dbs]rman targetsys/oracle@orcl1 auxiliarysys/oracle@orcl2 RMAN> duplicate target database for standby from activedatabase nofilenamecheck;
Starting Duplicate Db at 10-NOV-14 using target databasecontrol file instead of recovery catalog allocated channel:ORA_AUX_DISK_1 channel ORA_AUX_DISK_1:SID=20 device type=DISK
contents of MemoryScript: { backup as copy reuse targetfile '/export/11g/product/dbs/orapworcl' auxiliary format '/export/11g/product/dbs/orapworcl' ; } executing Memory Script
Starting backup at 10-NOV-14 allocated channel:ORA_DISK_1 channel ORA_DISK_1:SID=43 device type=DISK Finished backup at10-NOV-14
contents of MemoryScript: { backup as copy current controlfile forstandby auxiliary format '/export/11g/oradata/orcl/control01.ctl'; restore clone controlfile to '/export/11g/flash_recovery_area/orcl/control02.ctl' from '/export/11g/oradata/orcl/control01.ctl'; } executing Memory Script
Starting backup at 10-NOV-14 using channel ORA_DISK_1 channel ORA_DISK_1:starting datafile copy copying standby controlfile output filename=/export/11g/product/dbs/snapcf_orcl.f tag=TAG20141110T094600 RECID=5STAMP=863257560 channel ORA_DISK_1:datafile copy complete, elapsed time: 00:00:03 Finished backup at10-NOV-14
Starting restore at 10-NOV-14 using channelORA_AUX_DISK_1
channel ORA_AUX_DISK_1:copied control file copy Finished restore at10-NOV-14
contents of MemoryScript: { sql clone 'alter database mount standbydatabase'; } executing Memory Script
sql statement: alterdatabase mount standby database
contents of MemoryScript: { set newname for tempfile 1 to "/export/11g/oradata/orcl/temp01.dbf"; switch clone tempfile all; set newname for datafile 1 to "/export/11g/oradata/orcl/system01.dbf"; set newname for datafile 2 to "/export/11g/oradata/orcl/sysaux01.dbf"; set newname for datafile 3 to "/export/11g/oradata/orcl/undotbs01.dbf"; set newname for datafile 4 to "/export/11g/oradata/orcl/users01.dbf"; set newname for datafile 5 to "/export/11g/oradata/orcl/example01.dbf"; backup as copy reuse datafile 1 auxiliary format "/export/11g/oradata/orcl/system01.dbf" datafile 2 auxiliary format "/export/11g/oradata/orcl/sysaux01.dbf" datafile 3 auxiliary format "/export/11g/oradata/orcl/undotbs01.dbf" datafile 4 auxiliary format "/export/11g/oradata/orcl/users01.dbf" datafile 5 auxiliary format "/export/11g/oradata/orcl/example01.dbf" ; sql 'alter system archive log current'; } executing Memory Script
executing command: SETNEWNAME
renamed tempfile 1 to/export/11g/oradata/orcl/temp01.dbf in control file
executing command: SETNEWNAME
executing command: SETNEWNAME
executing command: SETNEWNAME
executing command: SETNEWNAME
executing command: SETNEWNAME
Starting backup at 10-NOV-14 using channel ORA_DISK_1 channel ORA_DISK_1:starting datafile copy input datafile filenumber=00001 name=/export/11g/oradata/orcl/system01.dbf output filename=/export/11g/oradata/orcl/system01.dbf tag=TAG20141110T094610 channel ORA_DISK_1:datafile copy complete, elapsed time: 00:00:56 channel ORA_DISK_1: startingdatafile copy input datafile filenumber=00002 name=/export/11g/oradata/orcl/sysaux01.dbf output filename=/export/11g/oradata/orcl/sysaux01.dbf tag=TAG20141110T094610 channel ORA_DISK_1:datafile copy complete, elapsed time: 00:00:35 channel ORA_DISK_1:starting datafile copy input datafile filenumber=00005 name=/export/11g/oradata/orcl/example01.dbf output filename=/export/11g/oradata/orcl/example01.dbf tag=TAG20141110T094610 channel ORA_DISK_1:datafile copy complete, elapsed time: 00:00:16 channel ORA_DISK_1:starting datafile copy input datafile filenumber=00003 name=/export/11g/oradata/orcl/undotbs01.dbf output filename=/export/11g/oradata/orcl/undotbs01.dbf tag=TAG20141110T094610 channel ORA_DISK_1:datafile copy complete, elapsed time: 00:00:07 channel ORA_DISK_1:starting datafile copy input datafile filenumber=00004 name=/export/11g/oradata/orcl/users01.dbf output filename=/export/11g/oradata/orcl/users01.dbf tag=TAG20141110T094610 channel ORA_DISK_1:datafile copy complete, elapsed time: 00:00:07 Finished backup at10-NOV-14
sql statement: altersystem archive log current
contents of MemoryScript: { switch clone datafile all; } executing Memory Script
datafile 1 switched todatafile copy input datafile copyRECID=5 STAMP=863257693 file name=/export/11g/oradata/orcl/system01.dbf datafile 2 switched todatafile copy input datafile copyRECID=6 STAMP=863257694 file name=/export/11g/oradata/orcl/sysaux01.dbf datafile 3 switched todatafile copy input datafile copyRECID=7 STAMP=863257694 file name=/export/11g/oradata/orcl/undotbs01.dbf datafile 4 switched todatafile copy input datafile copyRECID=8 STAMP=863257694 file name=/export/11g/oradata/orcl/users01.dbf datafile 5 switched todatafile copy input datafile copyRECID=9 STAMP=863257694 file name=/export/11g/oradata/orcl/example01.dbf Finished Duplicate Db at10-NOV-14
RMAN> exit
Recovery Managercomplete. |
至此备库创建完成。
期间遇到很多的问题,现在总结如下:
1、执行[oracle@st dbs]rman target sys/oracle@orcl1 auxiliarysys/oracle@orcl2时候,提示不能连接到orcl1,但是能ping同pr,原来是防火墙没有开通过
2、tnsname.ora文件中service_name 与连接对端的监听中的service_name相对应。
3、备库中的配置了静态监听,具体原因参见:RMAN-04006: error from auxiliary database: ORA-01034: ORACLE not available_ITPUB博客
[qs-hddb2.800best.com_oracle:/u01/app/oracle/db/11.2$rman target 'sys/ora1Q23$AZ'@hddb auxiliary 'sys/ora1Q23$AZ'@hddb1
Recovery Manager: Release 11.2.0.3.0 - Production on Thu Aug 13 19:30:40 2015
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: HDDB (DBID=880432607)
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: initialization of internal recovery manager package failed
RMAN-04006: error from auxiliary database: ORA-12528: TNS:listener: all appropriate instances are blocking new connections
连接被阻塞,查看监听
[qs-hddb2.800best.com_oracle:/u01/app/oracle/db/11.2/network/admin$lsnrctl status
LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 13-AUG-2015 19:30:36
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=qs-hddb2.800best.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.3.0 - Production
Start Date 13-AUG-2015 18:50:15
Uptime 0 days 0 hr. 40 min. 21 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/db/11.2/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/qs-hddb2/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=qs-hddb2.800best.com)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "hddb1" has 1 instance(s).
Instance "hddb1", status BLOCKED, has 1 handler(s) for this service...
The command completed successfully
监听的状态确实是阻塞的,配置静态监听,重启监听,再次查看监听的状态:
Listener Log File /u01/app/oracle/diag/tnslsnr/qs-hddb2/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=qs-hddb2.800best.com)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "hddb1" has 2 instance(s).
Instance "hddb1", status UNKNOWN, has 1 handler(s) for this service...
Instance "hddb1", status BLOCKED, has 1 handler(s) for this service...
The command completed successfully
[qs-hddb2.800best.com_oracle:/u01/app/oracle/db/11.2/network/admin$
有一个服务的状态是unknow ,再次连接成功
4、执行duplicate target database for standby from active database nofilenamecheck;运行过程中出现了以下错误,是因为缺少文中的第四步,没有在备库上创建相应的目录。
RMAN> duplicate target database for standby from active database; Starting Duplicate Db at 10-NOV-14 ……省略 contents of Memory Script: Starting backup at 10-NOV-14 |
5、执行duplicate target database for standby from active database nofilenamecheck;,运行过程中出现了以下错误,是因为没有使用nofilenamecheck。
RMAN> duplicate target database for standby from active database; Starting Duplicate Db at 10-NOV-14 …… …… 省略 contents of Memory Script: sql statement: alter database mount standby database |
6、出现以下错误是备库参数 db_name 的值与主库不一致。
sql statement: alter database mount standby database
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 09/06/2019 12:28:56
RMAN-05501: aborting duplication of target database
RMAN-03015: error occurred in stored script Memory Script
RMAN-03009: failure of sql command on clone_default channel at 09/06/2019 12:28:56
RMAN-11003: failure during parse/execution of SQL statement: alter database mount standby database
ORA-01103: database name 'ORCL' in control file is not 'ORCLST'