ReCreate STANDBY DATABASE step-by-step
*******************
crontab -l ---view
crontab -e --- edit
*******************
1.korak Zaustavi skriptu na PRODUKCIJI za kopiranje arhiva na standby
[oracle@knjazdb ~]$ crontab -e
iskomentarisi liniju #0,20,40 * * * * /home/oracle/scripts/send_archs.sh >/dev/null 2>&1
2.korak Zaustavi skriptu na STANDBY za apply-ovanje arhiva
[oracle@stdby2 ~]$ crontab -e
iskomentarisi liniju #5,25,45 * * * * /home/oracle/scripts/apply_man_stby.sh >/dev/null 2>&1
3.korak STANDBY
SQL>shutdown immediate --- gasi bazu ( ne ceka nista )
obrisi sve iz foldera :
datafile -- /u01/app/oracle/oradata/KNJAZ11/datafile
arhive -- /u01/app/oracle/arhive/knjaz11
SQL> startup nomount;
4.korak kreiranje - control file za STANDBY bazu
SQL>ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/u01/app/oracle/oradata/ KNJAZ11/stand_by_.ctl'; --- promeni lokaciju i ime
5.korak kopiranje pi file na standby server:
control file --- o1_mf_6j1bvc87_.ctl je ime file-a sa produkcije, mora da se rename kada se kopira na STANDBY (isto ime kao na produkciji)
scp /u01/app/oracle/oradata/KNJAZ11/stand_by_.ctl oracle@10.1.11.126:/u01/app/oracle/oradata/KNJAZ11/controlfile/o1_mf_6j1bvc87_.ctl
--- kopiranje stanby control file a na lokaciju navedenu u standby
6.korak pi file za STANDBY
[oracle@standbysek dbs]$ cat /u01/app/oracle/product/11.2.0/dbhome_1/dbs/initknjaz11.ora
===========================================================
prim1.__db_cache_size=327155712
prim1.__java_pool_size=12582912
prim1.__large_pool_size=4194304
prim1.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
prim1.__pga_aggregate_target=180355072
prim1.__sga_target=545259520
prim1.__shared_io_pool_size=0
prim1.__shared_pool_size=192937984
prim1.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/knjaz11/adump' --- ova putanja mora da ima na standby, ako je nema baza se ne dize
*.audit_trail='db'
*.compatible='11.1.0.0.0'
*.control_files='/u01/app/oracle/oradata/KNJAZ11/controlfile/o1_mf_6j1bvc87_.ctl' --- putanja na koju baza ocekuje da vidi control file
*.log_archive_dest='/home/oracle/archives/knjaz11'
*.db_block_size=8192
*.db_create_file_dest='/u01/app/oracle/oradata' ---ista putanja mora da bude i na primarnoj i na standby (tu ce da se prave data fileovi)
*.db_domain=''
*.db_name='knjaz11' --- isto ime i na standby i na primarnoj
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=prim1XDB)'
*.memory_target=725614592
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
*.standby_file_management='AUTO' --- mora da bude na auto na obe
===========================================================
Pokrenuti standby instancu
SQL>sqlplus /nolog
SQL> conn / as sysdba
Connected to an idle instance.
select status from v$instance; -- vidi u kom je statusu baza
SQL> alter database mount standby database;
7.korak kreiranje backup-a primarne baze
SQL>alter database begin backup; -- otvara bazu za backup
SQL>!scp /u01/app/oracle/oradata/KNJAZ11/datafile/*.dbf oracle@10.1.11.126:/u01/app/oracle/oradata/KNJAZ11/datafile/ ---kopiranje
je najbolje pustiti sa neke virtuelne masine , da slucajno tvoja `ne otkine` i sve iz pocetka
SQL>alter database end backup; -- kada zavrsi kopiranje datafile, komanda koja vraca bazu u osnovni mod
8.korak provera/podesavanje "parametra STANDBY_file_management":
SQL> show parameter standby;
NAME TYPE VALUE
---------------------------------------------------- --------------
standby_archive_dest string ?/dbs/arch
standby_file_management string MANUAL --- mora da bude AUTO , komanda ispod ako nije
SQL>alter system set standby_file_management='AUTO' SCOPE=BOTH; ---komanda sa MANUAL u AUTO , inace se to radi u pfile
~ --- ovaj znak oznacava ORACLE_HOME
9.korak kada se datafile - ovi iskopiraju sa produkcije na STANDBY
1. osposobi skriptu na produkciji za kopiranje arhiva --- najbolje je startovati skriptu rucno da se ne ceka ---
nohup /home/oracle/scripts/send_archs.sh >/dev/null 2>&1 &
obrisi stari log /home/oracle/logs/stby_apply.log
2. kad se zavrsi kopiranje arhiva (sacekaj da prekopira sve arhive) `odglavi` skriptu na STANDBY za applay ovanje arhiva
3. proveri da li se arhive apllay i to je to komanda za LIVE PREWIEV tail -n 1000 -f /home/oracle/logs/stby_apply.log
to je to