Você está na página 1de 5

DATAGURAD SETUP IN ORACLE11G

In Primary

1) Change the spfile in primary database and restart

ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(TESTPMS,TESTPMSstdb)';

ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='service="TESTPMSstdb"','LGWR ASYNC NOAFFIRM delay=0 optional
compression=disable max_failure=0 max_connections=1 reopen=300
db_unique_name="TESTPMS_STBY" net_timeout=30','valid_for=(all_logfiles,primary_role)'
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;

ALTER SYSTEM SET LOG_ARCHIVE_FORMAT='%t_%s_%r.arc' SCOPE=SPFILE;

ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE

ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;

ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=4;


ALTER SYSTEM SET FAL_SERVER='TESTPMSSTdb';
ALTER SYSTEM SET FAL_CLIENT='TESTPMS';




2) Genrate pfile in Primary DB
create pfile='/app/oracle/admin/TESTPMS/pfile/initTESTPMS.ora' from spfile;

3) Run backup script in primary

4) copied the control files, backup, onlinelogs and archive logs, pfile

scp -r -i /root/TESTcloud.pem -P 22 /backup/flash_recovery_area/ root@10.0.1.39:/backup/flash_recovery_area/TESTPMS/

scp -r -i /root/TESTcloud.pem -P 22 /backup/fast_recovery_area/TESTPMS/control02.ctl
root@10.0.1.39:/backup/fast_recovery_area/TESTPMS/control02.ctl

scp -r -i /root/TESTcloud.pem -P 22 /data/controlfile/TESTPMS/control01.ctl
root@10.0.1.39:/data/controlfile/TESTPMS/control01.ctl

scp -r -i /root/TESTcloud.pem -P 22 /backup/flash_recovery_area/TESTPMS/autobackup/
root@10.0.1.39:/backup/flash_recovery_area/TESTPMS/autobackup/

scp -i /root/TESTcloud.pem -P 22 /app/oracle/admin/TESTPMS/pfile/initTESTPMS.ora
root@10.0.1.39:/app/oracle/admin/TESTPMS/pfile/initTESTPMS.ora



5) Enable DG broker

ALTER SYSTEM SET DG_BROKER_START=TRUE SCOPE=BOTH;

6) Remote login password file.
orapwd file=orapwTESTPMSstdb password=STANDARD IGNORECASE=Y

7) Configure listener

#####################
#tnsnames.ora########
#####################

# tnsnames.ora Network Configuration File: /app/oracle/11.3.0/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

TESTPMSprdb =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = devprimary)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = TESTPMS.psc.com)
)
)

TESTPMSstdb =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = devstandby)(PORT = 1521))
(CONNECT_DATA = (UR=A)
(SERVER = DEDICATED)
(SERVICE_NAME = TESTPMSstdb.psc.com)
)
)


#####################
#listener.ora########
#####################

# listener.ora Network Configuration File: /app/oracle/11.3.0/network/admin/listener.ora
# Generated by Oracle configuration tools.

ADR_BASE_LISTENER_TESTPMS = /app/oracle

LISTENER_TESTPMS =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = devprimary)(PORT = 1521))
)
)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = TESTPMS)
(ORACLE_HOME = /app/oracle/11.3.0)
(SID_NAME = TESTPMS)
)
)

8) Create DG config

CREATE CONFIGURATION 'TESTR' AS PRIMARY DATABASE IS 'TESTPMS' CONNECT IDENTIFIER IS TESTPMSprdb

ADD DATABASE 'TESTPMSstdb' AS CONNECT IDENTIFIER IS TESTPMSstdb MAINTAINED AS PHYSICAL;

enable configuration;

9) Connect to RMAN ( after step 7 in Standby)

rman target sys/STANDARD@TESTPMSprdb auxiliary sys/STANDARD@TESTPMSstdb

10) Duplicate DB connect to auxiliary db from primary ( after step 7 in Standby)

DUPLICATE TARGET DATABASE
FOR STANDBY
FROM ACTIVE DATABASE
DORECOVER
NOFILENAMECHECK;


In Standby

1) Modify the bash_profile ( ORACLE_HOSTNAME,ORACLE_UNQNAME,ORACLE_SID). Changed
the ORACLE_SID FROM TESTpms to TESTpmsstdb in bash_profile

TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=devstandby; export ORACLE_HOSTNAME
ORACLE_BASE=/app/oracle; export ORACLE_BASE
ORACLE_UNQNAME=TESTPMSstdb; export ORACLE_UNQNAME
ORACLE_HOME=$ORACLE_BASE/11.3.0; export ORACLE_HOME
PATH=/usr/sbin:$PATH; export PATH
export ORACLE_SID=TESTPMSstdb
PATH=$ORACLE_HOME/bin:$PATH; export PATH
PATH=$PATH:$ORACLE_HOME/OPatch; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

2) Created a template form the old DB in standby DB



3) Create new database from the template


4) Changed the below in the pfile copied from primary ( after step 4 in primary)

*.db_unique_name='TESTPMSstdb'
*.fal_client='TESTPMSSTDB'
*.fal_server='TESTPMS'
*.log_archive_dest_2='SERVICE=TESTPMSprdb ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=TESTPMS'

5) Rename the file from initTESTPMS.ora to initTESTPMSstdb.ora

6) Create spfile from the modified pfile from the above steps

create spfile from pfile='/app/oracle/admin/TESTPMS/pfile/initTESTPMSstdb.ora';


7) Configure listener

#####################
#tnsnames.ora########
#####################

# tnsnames.ora Network Configuration File: /app/oracle/11.3.0/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

TESTPMSprdb =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = devprimary)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = TESTPMS.psc.com)
)
)

TESTPMSstdb =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = devstandby)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = TESTPMSstdb)
)
)


#####################
#listener.ora########
#####################

# listener.ora Network Configuration File: /app/oracle/11.3.0/network/admin/listener.ora
# Generated by Oracle configuration tools.

ADR_BASE_LISTENER_TESTPMS = /app/oracle

LISTENER_TESTPMSSTDB =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = devstandby)(PORT = 1521))
)
)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = TESTPMS)
(ORACLE_HOME = /app/oracle/11.3.0)
(SID_NAME = TESTPMSstdb)
)
)

8) Duplicate DB from standby ( This is optional)

rman target sys/STANDARD
startup mount
restore database

9) Enable DG broker
ALTER SYSTEM SET DG_BROKER_START=TRUE SCOPE=BOTH;

10) Remote login password file.

orapwd file=orapwTESTPMSstdb password=STANDARD IGNORECASE=Y


11) Once duplicate DB recovery completed after the step in 10 (Primary)

shutdown immediate
startup
alter database recover managed standby database disconnect from session;


13. Any error from the above step, then execute the below commands
alter database recover managed standby database CANCEL;
alter database recover managed standby database disconnect from session;


14. Check DB mode
select OPEN_MODE, DATABASE_ROLE from v$database;


OPEN_MODE DATABASE_ROLE
-------------------- ----------------
READ ONLY WITH APPLY PHYSICAL STANDBY


15. Add standby redo log files
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=MANUAL;;

alter database add standby logfile '/backup/flash_recovery_area/TESTPMSSTDB/onlinelog/stdby_o1_mf_3_9qqbp03n_.log' size
209715200;

alter database add standby logfile '/backup/flash_recovery_area/TESTPMSSTDB/onlinelog/stdby_o1_mf_2_9qqbot0k_.log' size
209715200;

alter database add standby logfile '/backup/flash_recovery_area/TESTPMSSTDB/onlinelog/stdby_o1_mf_1_9qqbomkn_.log' size
209715200;

ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO scope=both;

16. If redo online log location is in the flash_recovery location then change the location of the redo
online logs to match the primary
17. Install script to clean up the archive log

Você também pode gostar