1. PHYSICAL STANDBY DATABASE KURULUM & Ä°ÅžLETÄ°MÄ°NE AÄ°T TEMEL
NOTLAR
B. KURULUM BÄ°LGÄ°LERÄ°:
1. Standby kurmaya başlamadan önce Primary database in backup ile alınan
dosyaları Stanby tarafına taşınmış olmalıdır.
A) 1.yönem : Primary site arşiv mode olduğunu farzedersek , DB online iken data file
ların karşı tarafa kopyalanmasıdır. Bu yöntemde bilindiği gibi Primary site ‘ın tablespace
leri Begin Bacup moda alınır ve RCP (veya FTP) ile Unix tarafında bütün diskler alt ilgili
alt directory lerle beraber kopyalanır. Orijinal Data diskleri /data6 ile baslıyorsa örnek
olarak Standby tarafının diskleri /data6S olabilir.
Bu yöntemde dikkat edilecek unsur şudur. Kopyalamanın başladığı zaman ile bittigi
zaman aralığındaki Begin Backup - End Backup komutları arasında sistemin o an
yarattığı arşiv log lar önemlidir. Begin – End Backup aralığında oluşan bütün arşiv lerde
Stanby tarafına aktarılmak zorundadır. Zira recovery sırasında bütün bunlara ihtiyaç
olacaktır.
B) 2.Yöntem : Primary taraf arşiv moda olsun yada olmasın Primary DB yi kapatabilme
şansı varsa off line olarak yani DB kapalı iken bütün data file lar kopyalanabilir.
2. Standby database için primary tarafta yeni bir control file yaratılır ve standby
tarafına ftp yapılarak aktarılır.
SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS
'/usr/users/oracle/control_sb.ctl';
Not: Yaratılan bu control file karşı tarafa olması gereken yere FTP yapılır.
3. Standby tarafı için init.ora yaratılır, ftp’yle kopyalanır.( Primary site’ın init.ora
dosyasından örnek alınabilir.)
SQL> CREATE PFILE=’/usr/users/oracle/initERSSB.ora’ FROM SPFILE;
4. Standby tarafı için init.ora parametreleri düzenlenir.
.
.
.
*.db_name='ERSSB'
*.control_files='/data1S/ERSSB/control_sb.ctl'
*.log_archive_start=TRUE
*.standby_archive_dest='LOCATION=/data8S/arc'
*.db_file_name_convert='/data1','/data1S','/data2','/data2S','/data3','/data3S','/d
ata4','/data4S','/data5','/data5S','/data6','/dat
a6S','/data7','/data7S','/data8','/data8S'
*.log_file_name_convert='/data1','/data1S','/data2','/data2S','/data3','/data3S','/
data4','/data4S','/data5','/data5S','/data6','/da
ta6S','/data7','/data7S','/data8','/data8S'
*.log_archive_format='ERS%S.ARC'
*.log_archive_dest_1='LOCATION=/data8S/arc'
*.standby_file_management='AUTO'
*.remote_archive_enable=TRUE
.
1
2. .
.
Not:
*.db_file_name_convert= Primary veritaban ı n ı n oldugu makinedeki bütün data
tek tek ve yan yana yeni Standby makinesindeki data directory leri ile geçiş
(Convert) yaptırılmalı. Örnek : '/data1','/data1S', '/data2','/data2S'
directory ler
log_file_name_convert= Yukardakine benzer sebepten dolay ı loglar için convert
yapmak amac ı ile.
*.log_archive_format='ERS%S.ARC'
olmal ı .
--- Primary site daki arşiv format ı ile ayn ı
5. Standby sistemi için yeni Listener.ora oluşturulur.
TRACE_DIRECTORY_ERSSB=/u02/app/oracle/product/9i/network/trace
LOG_FILE_ERSSB=ERSSBlistener.log
LOG_DIRECTORY_ERSSB=/u02/app/oracle/product/9i/network/log
STARTUP_WAIT_TIME_ERSSB = 0
CONNECT_TIMEOUT_ERSSB = 0
ERSSB= (ADDRESS_LIST =
(ADDRESS= (PROTOCOL=IPC) (KEY= ERSSB))
(ADDRESS = (PROTOCOL=TCP) (PORT=1521) (HOST=172.30.10.18)))
SID_LIST_ERSSB =
(SID_LIST =
(SID_DESC = (SDU = 16384)
(TDU = 16384)
(SID_NAME = ERSSB)
(ORACLE_HOME =/u02/app/oracle/product/9i)
(ENVS='EPC_DISABLED=TRUE')
) )
6. Standby tarafı için server parametre dosyası oluşturulur.
SQL> CREATE SPFILE FROM PFILE=’initERSSB.ora’;
7. Physical standby database açılır.
SQL> STARTUP NOMOUNT;
SQL> ALTER DATABASE MOUNT STANDBY DATABASE;
Not : bu aşamada db'in backup başlama saati aşamasında üreyen bir archive'ı apply etmek
üzere istemesi gerekir. Eğer çok önceki bir archive'ı istemişse muhtemel yanlış kontrol
dosyası kopyalanmıştır veya arada fark vardır. Archive apply etmeyip hata verirse hata
koduna göre aksiyon alınmalı.
8. Loglar işlenmeye başlanır:
ïƒ EÄŸer Standby tarafında Production sisteme ait tüm arÅŸivler varsa aÅŸağıdaki ÅŸekilde
otomatik log iÅŸlenir:
2
3. SQL> STARTUP NOMOUNT
SQL> ALTER DATABASE MOUNT STANDBY DATABASE;
SQL> ALTER DATABASE RECOVER AUTOMATIC STANDBY DATABASE;
ïƒ EÄŸer Standby’daki arÅŸivler eksikse, tamamlandıktan sonra (loglar yetiÅŸtikten sonra)
aşağıdaki şekilde manuel log işlenir:
SQL> STARTUP NOMOUNT;
SQL> ALTER DATABASE MOUNT STANDBY DATABASE;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
9. Physical standby database üzerinde arşivlemenin aktif hale getirilmesi için,
primary tarafta ilgili olan log_archive_dest_n ve log_archive_dest_state_n
parametreleri düzenlenir.
Primary DB de
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=ERSSB OPTIONAL REOPEN=60 lgwr
async=20480 noaffirm max_failure=10 DELAY=60 net_timeout=30’ SCOPE=BOTH;
Bu Primary site ‘ ı n bir parametresi olarak girilir ve 60dk geriden standby tarafa
log apply edileceğini söyler.
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE SCOPE=BOTH;
Yine primary site da girilen bu parametre ile de arşiv log lar ı n standby tarafa
gidip gimeyecegi bilgisi verilir.
10. Standby tarafta arşivleme başlatılır.
SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;
11. Physical standby database log’ların işlenip işlenmediği kontrolü aşağıdaki şekilde
yapılır:
SQL> SELECT SEQUENCE#, TO_CHAR(FIRST_TIME,'DD/MM/YYYY HH24:MI:SS')
FROM V$ARCHIVED_LOG
WHERE SEQUENCE#=(SELECT MAX(SEQUENCE#)
FROM V$ARCHIVED_LOG
WHERE APPLIED='YES');
Unutulmaması gereken ! : Primary Site ın tnsnames.ora dosyasına Standby DB nin
erişim bilgileri girilmiş olmalı.
C. YÖNETİM BİLGİLERİ:
1. Log işleme Yöntemleri:
Foreground session başlatıldığında:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE;
----------------
Background process başlatıldığında:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;
3
4. ----------------
Log iÅŸleme servisi durdurulduÄŸunda:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
2. Standby database’in mount mode’ta açılması:
SQL> STARTUP NOMOUNT;
SQL> ALTER DATABASE MOUNT STANDBY DATABASE;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
3. Standby database’in kapanması:
SQL> SELECT PROCESS, STATUS FROM V$MANAGED_STANDBY;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
SQL> SHUTDOWN IMMEDIATE;
4. Standby database’in read-only açılması:
Öncelikle primary tarafta yapılması gereken işlem:
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_3=DEFFER SCOPE=BOTH;
ïƒ Standby database tamamen kapalıyken read-only açmak için:
SQL> STARTUP NOMOUNT;
SQL> ALTER DATABASE MOUNT STANDBY DATABASE;
SQL> ALTER DATABASE OPEN READ ONLY;
ïƒ Recovery yapılırken database’i read-only açmak için:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
SQL> ALTER DATABASE OPEN READ ONLY;
ïƒ Open mode’tan recovery yapılması için read-only mode’a geçerken:
Tüm aktif session’lar sonlandırılır.
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
4