top of page

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

© 2015 by Sasa Djuric

  • Twitter Square
  • facebook-square
bottom of page