Monday 11 January 2016

RAC TO NON-RAC (PHYSICAL STANDBY)


-----------------------------------------------------------------------------------------
11g R2  Oracle RAC 2 Node (ASM) To Non-RAC (OMF) DataGurad
-----------------------------------------------------------------------------------------

ENV:- 2 RAC NODE & shared Storage

Node Name - Node1, Node2
Shared Storage


------------------------------
1. PRIM MACHINE
------------------------------

Both Node Add  (STDRAC) last ip on this file /etc/hosts

192.168.76.20  rac1.localdomain        rac1
192.168.76.21  rac2.localdomain        rac2
# Private
192.168.76.22  rac1-priv.localdomain   rac1-priv
192.168.76.23  rac2-priv.localdomain   rac2-priv
# Virtual
192.168.76.24  rac1-vip.localdomain    rac1-vip
192.168.76.25  rac2-vip.localdomain    rac2-vip
# SCAN
192.168.76.26  rac-scan.localdomain    rac-scan
# SAN
192.168.76.10  shared.localdomain      shared

# Standby Machine stdrac
192.168.76.15 stdrac.localdomain       stdrac



rac2.__db_cache_size=226492416
rac1.__db_cache_size=234881024
rac2.__java_pool_size=4194304
rac1.__java_pool_size=4194304
rac2.__large_pool_size=4194304
rac1.__large_pool_size=4194304
rac2.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
rac2.__pga_aggregate_target=364904448
rac1.__pga_aggregate_target=339738624
rac2.__sga_target=478150656
rac1.__sga_target=503316480
rac2.__shared_io_pool_size=0
rac1.__shared_io_pool_size=0
rac2.__shared_pool_size=234881024
rac1.__shared_pool_size=251658240
rac2.__streams_pool_size=0
rac1.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/rac/adump'
*.audit_trail='db'
*.cluster_database=true
*.compatible='11.2.0.0.0'
*.control_files='+DATA/rac/controlfile/current.260.844530091'
*.db_block_checking='TRUE'
*.db_block_checksum='TYPICAL'
*.db_block_size=8192
*.db_create_file_dest='+DATA'
*.db_domain='localdomain'
*.db_file_name_convert='/u01/app/oracle/oradata/STDRAC/','+DATA/rac/datafile/'
*.db_name='rac'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=racXDB)'
*.fal_client='RAC'
*.fal_server='STDRAC'
rac2.instance_number=2
rac1.instance_number=1
*.log_archive_config='DG_CONFIG=(RAC,STDRAC)'
*.log_archive_dest_1='LOCATION=/u01/app/oracle/product/11.2.0/db_1/dbs/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES)'
*.log_archive_dest_2='SERVICE=STDRAC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=STDRAC'
*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='ENABLE'
*.log_archive_format='%t_%s_%r.arc'
*.log_archive_max_processes=5
*.log_file_name_convert='/u01/app/oracle/oradata/STDRAC/','+DATA/rac/onlinelog'
*.memory_target=843055104
*.open_cursors=300
*.processes=150
*.remote_listener='rac-scan:1521'
*.remote_login_passwordfile='exclusive'
*.standby_file_management='AUTO'
rac2.thread=2
rac1.thread=1
rac2.undo_tablespace='UNDOTBS2'
rac1.undo_tablespace='UNDOTBS1'
SPFILE='+DATA/rac/spfilerac.ora' # line added by Agent







--------------------------------
2. Standby Machine
--------------------------------
VM single Machine OMF
Normal oracle 11g software installed


Add  (STDRAC) last ip on this file /etc/hosts

192.168.76.20  rac1.localdomain        rac1
192.168.76.21  rac2.localdomain        rac2
# Private
192.168.76.22  rac1-priv.localdomain   rac1-priv
192.168.76.23  rac2-priv.localdomain   rac2-priv
# Virtual
192.168.76.24  rac1-vip.localdomain    rac1-vip
192.168.76.25  rac2-vip.localdomain    rac2-vip
# SCAN
192.168.76.26  rac-scan.localdomain    rac-scan
# SAN
192.168.76.10  shared.localdomain      shared

# Standby Machine stdrac
192.168.76.15 stdrac.localdomain       stdrac



stdrac.__db_cache_size=226492416
stdrac.__java_pool_size=4194304
stdrac.__large_pool_size=4194304
stdrac.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
stdrac.__pga_aggregate_target=364904448
stdrac.__sga_target=478150656
stdrac.__shared_io_pool_size=0
stdrac.__shared_pool_size=234881024
stdrac.__streams_pool_size=0

*.audit_file_dest='/u01/app/oracle/diag/adump'
*.audit_trail='db'
*.db_unique_name='STDRAC'
*.compatible='11.2.0.0.0'
*.control_files='/u01/app/oracle/oradata/STDRAC/controlfile/control_file.ctl'
*.db_block_checking='TRUE'
*.db_block_checksum='TYPICAL'
*.db_block_size=8192
*.db_create_file_dest='/u01/app/oracle/oradata/STDRAC/'
*.db_domain='localdomain'
*.db_file_name_convert='+DATA/rac/datafile/','/u01/app/oracle/oradata/STDRAC/'
*.db_name='rac'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=racXDB)'
*.fal_client='STDRAC'
*.fal_server='RAC'
*.log_archive_config='DG_CONFIG=(RAC,STDRAC)'
*.log_archive_dest_1='LOCATION='/u01/app/oracle/oradata/STDRAC/arch/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=RAC'
*.log_archive_dest_2='SERVICE=RAC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=STDRAC'
*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='ENABLE'
*.log_archive_format='%t_%s_%r.arc'
*.log_archive_max_processes=5
*.log_file_name_convert='+DATA/rac/onlinelog','/u01/app/oracle/oradata/STDRAC/'
*.memory_target=843055104
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='exclusive'
*.standby_file_management='AUTO'
stdrac.undo_tablespace='UNDOTBS'



-----------------------------
3. PRIM MACHINE
-----------------------------

ADD Both Node TNS entry

RAC
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = rac.localdomain)
    )
  )


STDRAC =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = stdrac.localdomain)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = stdrac)
    )
  )



-----------------------------------
4. STANDBY MACHINE
-----------------------------------


RAC
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = rac.localdomain)
    )
  )


STDRAC =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = stdrac.localdomain)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = stdrac)
    )
  )


-----------------------------------
5. TNSPING BOTH SIDE
-----------------------------------
PRIMARY - tnsping RAC
            - tnsping STDRAC

STANDBY - tnsping STDRAC
                    - tnsping RAC





-- Stop database using srvctl

SQL>startup mount;
SQL>alter database archivelog;
SQL>alter database open;
SQL>archive log list
SQL>alter database force logging;
SQL>shutdown immediate;

Start database using srvctl 

--Create standby redo logs: (# of logs vary) (same size as the online redo logs)
SQL>alter database add standby logfile group 7  ('+REDO1','+REDO2') size 50M;
SQL>alter database add standby logfile group 8  ('+REDO1','+REDO2') size 50M;
SQL>alter database add standby logfile group 9  ('+REDO1','+REDO2') size 50M;
SQL>select * from v$log;
SQL>select * from v$standby_log;


--ON PRIMARY 
--Copy password files. Create pfile. Start standby instance. 
% scp $ORACLE_HOME/dbs/orapwRAC stdby-serv1:$ORACLE_HOME/dbs/orapwSTDRAC

--ON Both STANDBY nodes create adump directory 
mkdir -p /u01/app/oracle/admin/STDRAC/adump

--On first standby server create initSTDBY1.ora in /tmp with only db_name=STDRAC
cd /tmp vi initSTDRAC.ora
db_name=STDBY
export ORACLE_SID=STDRAC

sqlplus / as sysdba
SQL> startup nomount pfile='/tmp/initSTDRAC.ora;






--------------------------------
6. RMAN COMMAND
---------------------------------
--test connection: 
sqlplus sys/mypasswd@<STDBY>_DGMGRL as sysdba

--ON PRIMARY 
--Use RMAN to create standby database. 
--on prim-serv1
cd to <scrpit-dir>
export ORACLE_SID=RAC
echo $ORACLE_SID
rman
connect target / connect auxiliary sys/password@STDBY_DGMGRL



--- returns connected to (not started) 
@create_phys_sby.cmd 
ACTIVE STANDBY COMMAND RMAN
-------------------------------------------------------------------------------------------
run {
ALLOCATE CHANNEL c1 TYPE DISK;
ALLOCATE AUXILIARY CHANNEL sby TYPE DISK;
DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE NOFILENAMECHECK dorecover;
}
-----------------------------------------------------------------------------------------------------




NOTE:- IF GETTING BELOW THE ERROR IN 11201 DB ASM TO NON-ASM ERROR THEN APPLY PATCH only 64-bit p9530594_112010_Linux-x86-64 ASM to NON-ASM



Alert log CHECK BOTH BUT ERROR GOT FROM standby:-
=====================================================================
latest log file
MAN DUPLICATE: Errors in krbm_getDupCopy
Errors in file /u01/app/oracle/diag/rdbms/stdrac/stdrac/trace/stdrac_ora_5542.trc:
ORA-19625: error identifying file /u01/app/oracle/oradata/STDRAC/example.264.844530143
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
RMAN DUPLICATE: Errors in krbm_getDupCopy
Errors in file /u01/app/oracle/diag/rdbms/stdrac/stdrac/trace/stdrac_ora_5542.trc:
ORA-19625: error identifying file /u01/app/oracle/oradata/STDRAC/undotbs2.265.844530431
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Errors in file /u01/app/oracle/diag/rdbms/stdrac/stdrac/trace/stdrac_lgwr_4990.trc:
ORA-00313: open failed for members of log group 8 of thread 0
ORA-00312: online log 8 thread 0: '/u01/app/oracle/oradata/STDRAC/stby08.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Errors in file /u01/app/oracle/diag/rdbms/stdrac/stdrac/trace/stdrac_lgwr_4990.trc:
ORA-00313: open failed for members of log group 8 of thread 0
ORA-00312: online log 8 thread 0: '/u01/app/oracle/oradata/STDRAC/stby08.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Sun Aug 09 20:41:00 2015
ERROR: slave communication error with ASM; terminating process 5542
Errors in file /u01/app/oracle/diag/rdbms/stdrac/stdrac/trace/stdrac_ora_5542.trc:

==================================*******======================================================


Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Errors in file /u01/app/oracle/diag/rdbms/stdrac/stdrac/trace/stdrac_lgwr_6750.trc:
ORA-00313: open failed for members of log group 8 of thread 0
ORA-00312: online log 8 thread 0: '/u01/app/oracle/oradata/STDRAC//stby08.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Sat Aug 08 14:21:33 2015
ERROR: slave communication error with ASM; terminating process 6862
Errors in file /u01/app/oracle/diag/rdbms/stdrac/stdrac/trace/stdrac_ora_6862.trc:


No comments: