RMAN در محیط RAC

در هنگام بکاپ گیری با RMANدر محیط RAC، اگر بخواهیم از چند کانال استفاده کنیم تا عملیات به صورت موازی انجام شوند می توان به جای تحمیل بار بر روی یک نود، کانالها را طوری تنظیم کرد تا بار را بر روی نودهای مختلف پخش شود این کار را می توان به صورت زیر انجام داد:

rac1=

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.71)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = rac)) )

rac2=

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.72)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = rac)))

با دو دستور زیر، دو کانال را به دو نود مختلف تخصیص دهیم:

RMAN> CONFIGURE CHANNEL 1 DEVICE TYPE DISK CONNECT ‘sys/qwe@rac2’;

new RMAN configuration parameters:

CONFIGURE CHANNEL 1 DEVICE TYPE DISK CONNECT ‘*’;

new RMAN configuration parameters are successfully stored

RMAN> CONFIGURE CHANNEL 2 DEVICE TYPE DISK CONNECT ‘sys/qwe@rac3’;

با دستور زیر، عملیات به طور موازی با سه کانال شروع به کار خواهند کرد:

RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 3 BACKUP TYPE TO BACKUPSET;

همانطور که در ادامه می بینید، سه کانال بر روی سه نود اجرا شدند:

RMAN>  backup database;

Starting backup at 05-NOV-15

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=3234 instance=rac2 devtype=DISK

allocated channel: ORA_DISK_2

channel ORA_DISK_2: sid=3234 instance=rac3 devtype=DISK

allocated channel: ORA_DISK_3

channel ORA_DISK_3: sid=3269 instance=rac1 devtype=DISK

channel ORA_DISK_1: starting piece 1 at 05-NOV-15

channel ORA_DISK_2: starting full datafile backupset

channel ORA_DISK_2: specifying datafile(s) in backupset

با داشتن sid کانال دو نود دیگر می توان فهمید بروسس مربوط به rman را دید:

on rac2:

SQL>  select sid,serial#  from v$session where sid=3234;

       SID    SERIAL#

———- ———-

      3234       2116

On rac3:

select sid,serial#  from v$session where sid=3234;

       SID    SERIAL#

———- ———-

      3234       9824

برای کنسل کردن این پارامتر:

CONFIGURE CHANNEL 3 DEVICE TYPE DISK CLEAR;

 

AUTOLOCATE BACKUPS

در محیط rac این امکان وجود دارد که فایلهای backup در فضای local هر کدام از نودها ذخیره شوند، حال اگر بخواهیم در این حالت restore را انجام دهیم، rman به طور خودکار  محل هر کدام از آنها را کشف خواهد کرد و بازیابی را انجام می دهد.:

RMAN> CONFIGURE CHANNEL 1 DEVICE TYPE DISK CONNECT ‘sys/sys@rac2’;

CONFIGURE CHANNEL 1 DEVICE TYPE DISK CONNECT ‘*’;

new RMAN configuration parameters are successfully stored

RMAN> CONFIGURE CHANNEL 2 DEVICE TYPE DISK CONNECT ‘sys/sys@rac1’;

پوشه rman_test را در صورتی که وجد ندارد، ایجاد می کنیم.

mkdir /rman_test

chown -R oracle.oinstall /rman_test/

از دیتافایلهای 7 و 8 بکاپ می گیریم:

RMAN> backup datafile 7,8 format ‘/rman_test/usef%U’;

channel ORA_DISK_1: SID=331 instance=rac1 device type=DISK

channel ORA_DISK_2: SID=64 instance=rac2 device type=DISK

channel ORA_DISK_1: specifying datafile(s) in backup set

input datafile file number=00007 name=/acfs/test1.dbf

channel ORA_DISK_2: specifying datafile(s) in backup set

input datafile file number=00008 name=/acfs/test2.dbf

piece handle=/rman_test/usef0aqlgcie_1_1 tag=TAG20151105T112811 comment=NONE

piece handle=/rman_test/usef0bqlgcig_1_1 tag=TAG20151105T112811 comment=NONE

Finished backup at 05-NOV-15

برای تست دو دیتافایل را به طریقی حذف یا افلاین می کنیم و

SQL> alter database datafile 7,8 offline;

SQL> alter system archive log current;

SQL> alter system archive log current;

در نهایت آن را بازیابی می کنیم:

RMAN> restore datafile 7,8;

channel ORA_DISK_1: restoring datafile 00007 to /acfs/test1.dbf

channel ORA_DISK_1: reading from backup piece /rman_test/usef0eqlgcsm_1_1

channel ORA_DISK_2: restoring datafile 00008 to /acfs/test2.dbf

channel ORA_DISK_2: reading from backup piece /rman_test/usef0fqlgcsn_1_1

channel ORA_DISK_1: piece handle=/rman_test/usef0eqlgcsm_1_1 tag=TAG20151105T113341

channel ORA_DISK_2: piece handle=/rman_test/usef0fqlgcsn_1_1 tag=TAG20151105T113341

Finished restore at 05-NOV-15

در صورتی که اگر از connect برای کانال استفاده نشود عملیات با خطا متوقف می شود:

CONFIGURE CHANNEL 1 DEVICE TYPE DISK CLEAR;

CONFIGURE CHANNEL 2 DEVICE TYPE DISK CLEAR;

RMAN>  restore datafile 7,8;

channel ORA_DISK_1: SID=245 instance=rac2 device type=DISK

channel ORA_DISK_2: SID=276 instance=rac2 device type=DISK

channel ORA_DISK_1: restoring datafile 00007 to /acfs/test1.dbf

channel ORA_DISK_1: reading from backup piece /rman_test/usef0eqlgcsm_1_1

channel ORA_DISK_2: starting datafile backup set restore

channel ORA_DISK_2: specifying datafile(s) to restore from backup set

channel ORA_DISK_2: restoring datafile 00008 to /acfs/test2.dbf

channel ORA_DISK_2: reading from backup piece /rman_test/usef0fqlgcsn_1_1

channel ORA_DISK_1: ORA-19870: error while restoring backup piece /rman_test/usef0eqlgcsm_1_1

ORA-19505: failed to identify file “/rman_test/usef0eqlgcsm_1_1”

ORA-27037: unable to obtain file status

Linux-x86_64 Error: 2: No such file or directory

Additional information: 3

select inst_id,

       filename,

       status,

       round(100 * bytes / nvl(TOTAL_BYTES, bytes), 1) as pct,

       round((100 – 100 * bytes / nvl(TOTAL_BYTES, bytes)) /

             (100 * bytes / nvl(TOTAL_BYTES, bytes)) *

             (sysdate – OPEN_TIME) * 24 * 60,

             2) AS MIN_REMAIN,

       OPEN_TIME

  from gV$BACKUP_ASYNC_IO

 where status not in (‘FINISHED’)

   and filename is not null

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد.