Hello,
I am trying to configure physical standby for future snapshot standby. The main difficulty to me is that standby has different file structure because there is another standby (logical) standby on the server.
So, I have the following environment:
Primary: host1@oracle1
$ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
Logical standby: host2@oracledg
$ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
Snapshot standby: host2@orasnap
$ORACLE_HOME=/u02/app/oracle/product/11.2.0/dbhome_2
Listener is running from /u01/app/oracle/product/11.2.0/dbhome_1. Listener configuration files are located under /etc directory, and soft links are create under $TNS_ADMIN direcotries.
Listener.ora of the primary:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
Tnsnames.ora of the primary:
ORACLEDG =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = host2)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oracledg)
(SID=oracle1)
)
)
ORASNAP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = host2)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orasnap)
(SID=oracle1)
)
)
Listener.ora of the standby:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = oracledg)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = oracle1)
(SERVICE_NAME = oracledg)
)
(SID_DESC =
(GLOBAL_DBNAME = orasnap)
(ORACLE_HOME = /u02/app/oracle/product/11.2.0/dbhome_2)
(SID_NAME = oracle1)
(SERVICE_NAME = orasnap)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = host2)(PORT = 1521))
)
ADR_BASE_LISTENER = /u01/app/oracle
Tnsnames.ora of the standby:
ORACLE1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = host1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracle1)
(SID=oracle1)
)
)
ORACLEDG =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = host2)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oracledg)
(SID=oracle1)
)
)
ORASNAP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = host2)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orasnap)
(SID=oracle1)
)
)
Parameter file for new standby orasnap:
oracle1.__db_cache_size=113246208
oracle1.__java_pool_size=4194304
oracle1.__large_pool_size=8388608
oracle1.__oracle_base='/u02/app/oracle'#ORACLE_BASE set from environment
oracle1.__pga_aggregate_target=180355072
oracle1.__sga_target=234881024
oracle1.__shared_io_pool_size=0
oracle1.__shared_pool_size=100663296
oracle1.__streams_pool_size=0
*.audit_file_dest='/u02/app/oracle/admin/oracle1/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/u02/app/oracle/oradata/ORACLE1/controlfile/control1.ctl','/u02/app/oracle/fast_recovery_area/ORACLE1/controlfile/control2.ctl'
*.db_block_size=8192
*.db_create_file_dest='/u02/app/oracle/oradata'
*.db_domain=''
*.db_name='oracle1'
*.db_recovery_file_dest='/u02/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4385144832
*.diagnostic_dest='/u02/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=oracle1XDB)'
*.fal_server='oracle1'
*.fal_client='orasnap'
*.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST'
*.log_archive_dest_2='SERVICE=oracle1 ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=oracle1'
*.memory_target=414187520
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.DB_FILE_NAME_CONVERT='/u01/app/oracle/oradata/ORACLE1/datafile/', '/u02/app/oracle/oradata/ORACLE1/datafile/'
*.LOG_FILE_NAME_CONVERT='/u01/app/oracle/oradata/ORACLE1/onlinelog/', '/u02/app/oracle/oradata/ORACLE1/onlinelog/'
*.db_unique_name='orasnap'#Is standby
So, now I am trying to duplicate target database:
as oravis@host2
SQL> STARTUP NOMOUNT PFILE='/tmp/initORACLE1_stby.ora';
$rman TARGET sys/manager@ORACLE1 AUXILIARY sys/manager@ORASNAP
At the first run I've got an error:
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 01/13/2017 21:21:21
RMAN-05501: aborting duplication of target database
RMAN-03015: error occurred in stored script Memory Script
RMAN-04006: error from auxiliary database: ORA-09925: Unable to create audit trail file
Linux-x86_64 Error: 13: Permission denied
Additional information: 9925
ORA-09925: Unable to create audit trail file
Linux-x86_64 Error: 13: Permission denied
Additional information: 9925
Fixed it by:
sudochmod -R 775 /u01/app/oracle
And now I'm getting another error:
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 01/14/2017 16:41:17
RMAN-05501: aborting duplication of target database
RMAN-03015: error occurred in stored script Memory Script
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 01/14/2017 16:41:09
ORA-17627: ORA-12577: Message 12577 not found; product=RDBMS; facility=ORA
Duplication starting and running for a while, then I'm getting this error message.
So, I am stuck with this error.
Any ideas how to fix it?