ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
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
.
.

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
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
----------------

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

More Related Content

Fiziksel Standby Database Kurulum

  • 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