================= || Primary || ================= 1. Disable db_recovery_file_dest = '' and Check parameter db_recovery_file_dest SQL> ALTER SYSTEM SET db_recovery_file_dest='' SCOPE=BOTH; SQL> sho parameter db_recovery_file_dest; 2. Alter log_archive_dest and Check parameter log_archive_dest SQL> ALTER SYSTEM SET log_archive_dest='/oradata/archive' SCOPE=BOTH; SQL> sho parameter log_archive_dest 3. Check Archived log SQL> ARCHIVE LOG LIST; 4. Switch log file SQL> ALTER SYSTEM SWITCH LOGFILE; 5. Check Archived log and file SQL> ARCHIVE LOG LIST; $ ls /oradata/archive 6. Backup Database and Archived.log (RMAN): cd $ORACLE_HOME/bin $ ./rman target RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/oradata/backup/%d_%T_%u_s%s_p%p' RMAN> run { allocate channel c1 type disk; allocate channel c2 type disk; allocate channel c3 type disk; backup incremental level 0 tag full_backup format '/oradata/backup/%d_%T_%u_s%s_p%p' database; backup incremental level 0 tag full_backup format '/oradata/backup/%d_%T_%u_s%s_p%p' (current controlfile); backup archivelog all format '/oradata/backup/%d_%T_%u_s%s_p%p' delete input; delete obsolete; } 8. Switch log file SQL> ALTER SYSTEM SWITCH LOGFILE; 9. Check Archived log and file SQL> ARCHIVE LOG LIST; $ ls /oradata/archive 10. Create some transaction to create archive SQL> grant connect, resource to test identified by test; SQL> create table test.testing as select * from dba_objects; SQL> select count(1) from test.testing; 11. Switch log file SQL> ALTER SYSTEM SWITCH LOGFILE; 12. Check Archived log and file SQL> ARCHIVE LOG LIST; $ ls /oradata/archive 13. RUN { ALLOCATE CHANNEL d1 DEVICE TYPE DISK; BACKUP DATAFILE 1 FORMAT '/u01/backups/%U', '/u02/backups/%U'; } 13. Create Standby controlfile from primary database: SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/home/oracle/ctlstdby.ctl'; 14. Create pfile from spfile; ------------------------------------------------------------------------- 13. Shutdown database 14. Copy initprotecal.ora, orapwprotecal, control standby(ctlstdby.ctl), onlinelog, datafile, tempfile ================= || Standby || ================= 1. Edit pfile, change parameter *.control_files to *.control_files='/u02/oradata/ctlfile/ctlstdby.ctl' 2. Check validation of pfile parameter 3. Startup nomount pfile='$ORACLE_HOME/dbs/initprotecal.ora' 4. Startup mount SQL> alter database mount standby database; ================= || crontab || ================= on primary : ---------------------------------------------------------------------------------- $ cd /home/oracle $ vi move_standby.sh => rsync -e ssh -Pazv /oradata/flash_recovery_area/protecal/archivelog/ oracle@stby-db:/oradata/flash_recovery_area/protecal/archivelog/ rsync -e ssh -Pazv /oradata/archive/ oracle@stby-db:/oradata/archive/ $ chmod 775 move_standby.sh $ crontab -e => */3 * * * * /home/oracle/move_standby.sh $ crontab -l on standby : ---------------------------------------------------------------------------------- $ cd /home/oracle $ vi manual_standby.sh => ORACLE_SID=protecal ORACLE_BASE=/oracle/app ORACLE_HOME=/oracle/app/product/ora10.2 export LD_LIBRARY_PATH=$ORACLE_HOME/lib export TNS_ADMIN=$ORACLE_HOME/network/admin export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:/sbin:. sqlplus -s "/nolog" <<-EOF conn /as sysdba recover standby database; AUTO $ chmod 775 manual_standby.sh $ crontab -e => */5 * * * * /home/oracle/manual_standby.sh $ crontab -l purging mail (oracle and root) => as root on primary and standby ---------------------------------------------------------------------------------- # cd /var/spool/mail # touch oracle.new # vi mail_oracle.sh => cp --reply=yes /var/spool/mail/oracle.new /var/spool/mail/oracle # chmod 775 mail_oracle.sh # crontab -e => */10 * * * * /var/spool/mail/mail_oracle.sh # crontab -l */2 * * * * rsync -e ssh -Pazv /home/oracle/test/ oracle@rumah:/home/oracle/hapus/ A. Setting ssh and scp on primary and standby B. Configure Primary and standby note: nama mesin dan domain dah gw rubah..tolong disesuaikan dengan mesin anda node 2 :ssh-keygen -t rsa ssh-keygen -t dsa node 1 :ssh-node_1 cat /oracle/.ssh/id_rsa.pub Node 2 --------- [oracle@rumah ~]$ ssh-keygen -t rsa [oracle@rumah ~]$ ssh-keygen -t dsa Node 1 --------- [oracle@vmwareas ~]$ ssh-keygen -t rsa [oracle@vmwareas ~]$ ssh-keygen -t dsa Node 1 ---------- [oracle@vmwareas ~]$ ssh node_1 cat /home/oracle/.ssh/id_rsa.pub >> /home/oracle/.ssh/authorized_keys [oracle@vmwareas ~]$ ssh node_1 cat /home/oracle/.ssh/id_dsa.pub >> /home/oracle/.ssh/authorized_keys Node 2 --------- [oracle@vmwareas ~]$ ssh node_2 cat /home/oracle/.ssh/id_rsa.pub >> /home/oracle/.ssh/authorized_keys [oracle@vmwareas ~]$ ssh node_2 cat /home/oracle/.ssh/id_dsa.pub >> /home/oracle/.ssh/authorized_keys Node 1 ---------- [oracle@vmwareas ~]$ ssh vmwareas cat /home/oracle/.ssh/id_rsa.pub >> /home/oracle/.ssh/authorized_keys [oracle@vmwareas ~]$ ssh vmwareas cat /home/oracle/.ssh/id_dsa.pub >> /home/oracle/.ssh/authorized_keys [oracle@vmwareas ~]$ ssh rumah cat /home/oracle/.ssh/id_rsa.pub >> /home/oracle/.ssh/authorized_keys [oracle@vmwareas ~]$ ssh rumah cat /home/oracle/.ssh/id_dsa.pub >> /home/oracle/.ssh/authorized_keys Node 2 ---------- [oracle@vmwareas ~]$ ssh vmwareas cat /home/oracle/.ssh/id_rsa.pub >> /home/oracle/.ssh/authorized_keys [oracle@vmwareas ~]$ ssh vmwareas cat /home/oracle/.ssh/id_dsa.pub >> /home/oracle/.ssh/authorized_keys