Rman ile Aktif Veritabanından Standby Veritabanı Kurulumu

Rman kullanarak aktif veritabanı(primary) üzerinden standby veritabanı kurulumu için aşağıdaki adımları izleyeceğiz.Benim izlemiş olduğum seneryo’ya göre tanımlamış olduğum bilgiler şunlardır;

Database Name : akn01

Primary db_unique_name :akn01

standby db_unique_name :akn02

1.Primary veritabanı üzerinde yapılacak işlemler;

a.Primary veritabanı mod’u kontrol edilir,eğer ki Noarchivelog ise archivelog moduna alınır. Eğer ki database archivelog modunda ise bu adımı geçiyoruz.

SQL> select log_mode from v$database;

LOG_MODE
———————-
NOARCHIVELOG

SQL> SHUTDOWN IMMEDIATE;

SQL> STARTUP MOUNT;

SQL> ALTER DATABASE ARCHIVELOG;

SQL> select log_mode from v$database;

LOG_MODE
———-
ARCHIVELOG

SQL> ALTER DATABASE OPEN;

b. Bütün işlemlerin log dosyasına yazılması ve standby db uygulanması için log işlemini aktif hale almalıyız.

SQL> ALTER DATABASE FORCE LOGGING;

c. Password file dosyası yok ise oluşturmalıyız.

$orapwd file=password_file_name [password=the_password] [entries=n] [force=Y|N] [ignorecase=Y|N] [nosysdba=Y|N]

d. Primary veritabanı üzerinde Standby log dosyalarını oluşturuyoruz.

SQL> alter database add standby logfile ‘/u01/app/oracle/oradata/akn01/sdt01.log’ size 10M;

SQL> alter database add standby logfile ‘/u01/app/oracle/oradata/akn01/sdt02.log’ size 10M;

SQL> alter database add standby logfile ‘/u01/app/oracle/oradata/akn01/sdt03.log’ size 10M;

e.Dataguard için parametreleri setliyoruz. Modify the parameter file suitable for Dataguard.

SQL> alter system set LOG_ARCHIVE_CONFIG=’DG_CONFIG=(akn01,akn02)’;

SQL> alter system set LOG_ARCHIVE_DEST_1=’LOCATION=/u01/app/oracle/oradata/akn01/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=akn01′;

SQL> alter system set LOG_ARCHIVE_DEST_2=’SERVICE=akn02 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=akn02′;

SQL> alter system set LOG_ARCHIVE_DEST_STATE_1=ENABLE;

SQL> alter system set FAL_SERVER=akn02;

SQL> alter system set FAL_CLIENT=akn01;

SQL> alter system set DB_FILE_NAME_CONVERT= ‘/u01/app/oracle/oradata/akn01/’,’/u01/app/oracle/oradata/akn02/’ scope=spfile;

SQL> alter system set LOG_FILE_NAME_CONVERT= ‘/u01/app/oracle/oradata/akn01/’,’/u01/app/oracle/oradata/akn02/’ scope=spfile;

2.Bağlantı ayarları yapılır.

a. Standby veritabanı üzerinde listener.ora içinde aşağıdaki gibi düzenlemeler yapılır.

SID_LIST_LISTENER =

(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = akn02.ozer.com)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
(SID_NAME = akn02)
)
)

LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = akn02.localdomain)(PORT = 1521))
)

b. Primary veritabanı ve Standby veritabanı üzerinde tnsnames.ora dosyası aşağıdaki gibi düzenlenir.

akn01 =

(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = akn01.localdomain)(PORT = 1521))
)
(CONNECT_DATA = (SERVICE_NAME = akn01.ozer.com))
)

akn02 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = akn02.localdomain)(PORT = 1521))
)
(CONNECT_DATA = (SERVICE_NAME = akn02.ozer.com))
)

c.Yapmış olduğumuz bağlantı ayarları kontrol edilir.

$ tnsping akn01

$ tnsping akn02

3.Standby veritabanı üzerinde yapılacak işlemler;

a.Primary db üzerindeki password dosyası standby db üzerine kopyalanır.

$ scp $ORACLE_HOME/dbs/orapwakn01 oracle@akn02: $ORACLE_HOME /dbs/orapwakn02

b. Standby veritabanı üzerinde parametre dosyasında başlatma parametreleri tanımlanır.

vi $ORACLE_HOME/dbs/initakn02.ora

DB_NAME=akn01

DB_UNIQUE_NAME=akn02

DB_BLOCK_SIZE=<primary db değer tanımlanır>

c. $ADR_HOME dizininde Veritabanı izleme dosyaları oluşturulur.

d. Standby veritabanı üzerinde Veritabanı sid set edilerek,tanımlamış olduğumuz parametre dosyası ile nomount modunda başlatırılır.

$ export ORACLE_SID=akn02
$ sqlplus “/ as sysdba”
SQL> startup nomount pfile=$ORACLE_HOME/dbs/initakn02.ora

e. Primary ve standby bağlantısı kontrol edilir.

$ sqlplus /nolog
SQL> connect sys/sys@akn01 AS SYSDBA
SQL> connect sys/sys@akn02 AS SYSDBA

f. Primary db üzerinde işlemi başlatmak için script oluşturup,rman ile bağlanıp,script’i çalıştırıyoruz.

$vi dataguard

run {

allocate channel prmy1 type disk;

allocate channel prmy2 type disk;

allocate channel prmy3 type disk;

allocate channel prmy4 type disk;

allocate auxiliary channel stby type disk;

duplicate target database for standby from active database

spfile

parameter_value_convert ‘akn01′,’akn02’

set db_unique_name=’akn02′

set db_file_name_convert=’/akn01/’,’/akn02/’

set log_file_name_convert=’/akn01/’,’/akn02/’

set control_files=’/u01/app/oracle/oradata/akn02/control01.ctl’

set log_archive_max_processes=’5′

set fal_client=’akn02′

set fal_server=’akn01′

set standby_file_management=’AUTO’

set log_archive_config=’dg_config=(akn01,akn02)’

set log_archive_dest_2=’service=akn01 ASYNC valid_for=(ONLINE_LOGFILE,PRIMARY_ROLE) db_unique_name=akn01′

;

}

g. Rman ile bağlanıp,oluşturduğumuz script’i çalıştırıyoruz.

$ rman target sys/sys@akn01 auxiliary sys/sys@akn02

RMAN> @dataguard

4. Standby veritabanı üzerinde mrp işlemini başlatıyoruz.

SQL> alter database recover managed standby database disconnect from session;

5.  Standby veritabanını başlatıp readonly modda çalıştırmak için aşağıdaki işlemleri yapıyoruz.

SQL> alter database recover managed standby database cancel;
SQL> alter database open;
SQL> alter database recover managed standby database disconnect;

Kaynak : support.oracle.com

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s