Başlangıç » Oracle » Dataguard » Rman ile Aktif Veritabanından Standby Veritabanı Kurulumu

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

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. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s