artarad_rman_backup

پشتیبان گیری از پایگاه داده اوراکل با استفاده از RMAN

پشتیبان گیری از پایگاه داده اوراکل با استفاده از RMAN

شاید شما مدیر یک پایگاه داده اوراکل نباشید ولی ممکن است در شرایط ویژه ای قرار بگیرید که نیاز به ایجاد یک نسخه پشتیبان از پایگاه داده اوراکل خود داشته باشید.
به کمک ابزار RMAN اوراکل حتی در شرایطی که پایگاه داده در حال اجرا می باشد نیز می توانید نسبت به اخذ نسخه پشتیبان اقدام نمایید.
در این مبحث معرفی مختصری بر اجرای پشتیبان اوراکل به کمک RMAN خواهیم داشت.


قبل از هر چیز قطعه کوتاه زیر در خصوص اخذ نسخه پشتیبان از archive log ها و پایگاه داده به کار برده می شود.

RMAN> BACKUP AS BACKUPSET DATABASE PLUS ARCHIVELOG;

۱. بررسی وضعیت کنونی تنظیمات RMAN
قبل از اجرای عملیات پشتیبان گیری باید نگاهی به پارامترهای RMAN انداخته شود برای مثال تنظیم مدت زمان حفظ فایل های پشتیبان و غیره.
دستور زیر را قبل از ایجاد هر تغییری به منظور بررسی تمام تنظیمات فعلی RMAN اجرا نمایید.
جهت اتصال به RMAN از دستور زیر استفاده نمایید با استفاده از آن شما وارد محیط خط فرمان RMAN می شوید و می توانید از تمام دستورات RMAN استفاده نمایید.

$ rman target /

Recovery Manager: Release 10.2.0.3.0 – Production on Sat Aug 10 11:21:29 2013

Copyright (c) 1982, 2005, Oracle. All rights reserved.

connected to target database: DEVDB (DBID=821773)

RMAN>

جهت بررسی تنظیمات فعلی RMAN از دستور show all استفاده نمایید.

RMAN> SHOW ALL;

using target database control file instead of recovery catalog

RMAN configuration parameters are:

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 2 DAYS;

CONFIGURE BACKUP OPTIMIZATION ON;

CONFIGURE DEFAULT DEVICE TYPE TO DISK;

CONFIGURE CONTROLFILE AUTOBACKUP ON;

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO “/backup/rman/ctl_%F”;

CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 2;

CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1;

CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1;

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT “/backup/rman/full_%u_%s_%p” MAXPIECESIZE 2048 M;

CONFIGURE MAXSETSIZE TO UNLIMITED;

CONFIGURE ENCRYPTION FOR DATABASE OFF;

CONFIGURE ENCRYPTION ALGORITHM ‘AES128’;

CONFIGURE ARCHIVELOG DELETION POLICY TO NONE;

CONFIGURE SNAPSHOT CONTROLFILE NAME TO ‘/u01/app/oracle/product/10.2.0/dbs/snapcf_devdb.f’; # default

همانطور که مشاهده می نمایید پارامترها و مقادیر آنها نمایش داده شده است.

۲. تغییر برخی تنظیمات پارامتری RMAN
محل ذخیره فایل ها: یکی از مهمترین پارامترهای RMAN محل ذخیره سازی فایل های پشتیبان RMAN می باشد که در مثال فوق در محل “/backup/rman/” ذخیره می شود.

RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT ‘/backup/rman/full_%u_%s_%p’;

دوره نگهداشت: پارامتر بعدی که می توانید مورد توجه قرار دهید مشخص نمودن طول دوره ای است که شما می خواهید از فایل های پشتیبانی خود نگهداری نمایید. در زمان اخذ پشتیبان توسط RMAN به طور خودکار تمام فایل های قدیمی تر از میزان مشخص شده در این پارامتر از بین خواهند رفت. در وضعیت زیر مقدار این پارامتر بر روی ۷ روز تنظیم شده که از فایل های پشتیبان پایگاه داده به مدت یک هفته نگهداری می شود.

RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

اطمینان از اعمال تغییرات فوق در تنظیمات

RMAN> SHOW ALL;

..

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT ‘/backup/rman/full_%u_%s_%p’;

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

..

در صورتی که بخواهید مقدار یک پارامتر را حذف نمایید و آن را به مقدار تنظیمات پیشفرض تنظیم نمایید از دستور CLEAR در انتهای تنظیمات به صورتی که در زیر نشان داده شده استفاده نمایید.

RMAN> CONFIGURE RETENTION POLICY CLEAR;

در مثال زیر زمانی که مقدار پارامتر نگهداشت حذف می شود این پارامتر به مقدار پیش فرض خود که در اینجا ۱ است تنظیم می شود بنابراین همانطور که نشان داده شده میزان نگهداری از فایل های پشتیبان برابر ۱ روز قرار می گیرد.

RMAN> SHOW ALL;

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

۳. پشتیبان گیری پایگاه داده اوراکل
مطمئن شوید که مسیر مشخص شده پارامتر CHANNEK DEVICE TYPE DISK FORMAT در فضای ذخیره سازی ایجاد شده باشد برای مثال در مسیر /backup/rman/

$ mkdir -p /backup/rman

در حال حاضر مسیر فوق آماده است. مشاهده می شود که پس از انجام فرآیند پشتیبان گیری چه تغییراتی ایجاد می شود.

$ ls -l /backup/rman

total 0

می توان پشتیبان را به صورت Image Copy و یا در حالت Backup Set تهیه نمود. شدیداْ توصیه می شود از RMAN backup set برای پشتیبان گیری از پایگاه داده استفاده نمایید.
از فایل های پشتیبانی RMAN در مجموعه های پشتیبانی نگهداری می گردد که تمام آنها به اتفاق هم تشکیل یک پشتیبان از داده ها را می دهد و تنها RMAN می تواند فرمت این فایل ها را بخواند بنابراین اگر شما به کمک RMAN از پایگاه داده خود پشتیبان تهیه نمایید تنها با استفاده از RMAN قادر به خواندن و بازگردانی آن ها خواهید بود.
معمولاْ از BACKUP AS BACKUPSET برای تهیه پشتیبان پایگاه داده استفاده می شود. بنابراین برای تهیه پشتیبان کامل از پایگاه داده بدون در نظر گرفتن archive log ها مانند زیر عمل نمایید.

RMAN> BACKUP AS BACKUPSET DATABASE

به منظور تهیه پشتیبان کامل پایگاه داده همراه با archive log ها مانند زیر عمل نمایید.

RMAN> BACKUP AS BACKUPSET DATABASE PLUS ARCHIVELOG;

همچنین می توان تنها از یک table space خاص پایگاه داده مانند زیر پشتیبان تهیه نمود.

RMAN> BACKUP AS BACKUPSET TABLESPACE PRD01;

خروجی پشتیبان RMAN چیزی شبیه به این است.

RMAN> BACKUP AS BACKUPSET DATABASE

Starting backup at 10-AUG-13

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=193 devtype=DISK

allocated channel: ORA_DISK_2

channel ORA_DISK_2: sid=192 devtype=DISK

channel ORA_DISK_1: starting full datafile backupset

channel ORA_DISK_1: specifying datafile(s) in backupset

input datafile fno=00025 name=/u03/oradata/devdb/devuser07.dbf

input datafile fno=00003 name=/u02/oradata/devdb/temp01.dbf

channel ORA_DISK_1: starting piece 1 at 10-AUG-13

channel ORA_DISK_2: starting full datafile backupset

channel ORA_DISK_2: specifying datafile(s) in backupset

input datafile fno=00008 name=/u03/oradata/devdb/devusers05.dbf

channel ORA_DISK_2: starting piece 1 at 10-AUG-13

..

piece handle=/backup/rman/full_4dogpd0u_4237_1 tag=TAG20130808T114846 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03

Finished backup at 10-AUG-13

Starting Control File and SPFILE Autobackup at 10-AUG-13

piece handle=/backup/rman/ctl_c-758818131-20130808-00 comment=NONE

Finished Control File and SPFILE Autobackup at 10-AUG-13

پس از تکمیل فرآیند پشتیبان گیری با استفاده از ls در مسیر /backup/rman می توانید به فایل های پشتیبان دسترسی داشته باشید.

$ ls -l /backup/rman

total 14588

-rw-r—– 1 oracle dba 14585856 Aug 8 11:48 ctl_c-758818131-20130808-00

-rw-r—– 1 oracle dba 327680 Aug 8 11:48 full_4dogpd0u_4237_1

توجه: پس از انجام فرآیند پشتیبان گیری برای مشاهده تمامی پشتیبان های پایگاه داده از طریق RMAN باید از دستور list استفاده نمود.
همانطور که می دانید می توان عملیات اخذ پشتیبان از پایگاه داده اوراکل را در زمان فعالیت پایگاه داده اجرا نمود پس قبل از اجرای دستورات RMAN از فعالیت پایگاه داده مطمئن شوید.

۴. اختصاص نام برچسب پشتیبانی برای شناسایی سریع
در صورتی که تعداد زیادی پشتیبان وجود داشته باشد بهتر آن است که برای شناسایی آسان تر آنان یک برچسب به هر یک اختصاص داده شود که در آینده می تواند در طی بازگردانی اوراکل مورد استفاده قرار گیرد. (یا در موقع استفاده از دستور list برای مشاهده آنان)
در مثال زیر برچسب پشتیبانی WEEEKLY_PRD01_TBLS_BK_ONLY به یک فایل پشتیبان خاص تخصیص داده می شود.

RMAN> BACKUP AS BACKUPSET TAG ‘WEEEKLY_PRD01_TBLS_BK_ONLY’ TABLESPACE PRD01;

Starting backup at 10-AUG-13

using channel ORA_DISK_1

using channel ORA_DISK_2

channel ORA_DISK_1: starting full datafile backupset

channel ORA_DISK_1: specifying datafile(s) in backupset

input datafile fno=00002 name=/u03/oradata/devdb/PRD01_1.dbf

channel ORA_DISK_1: starting piece 1 at 10-AUG-13

channel ORA_DISK_1: finished piece 1 at 10-AUG-13

piece handle=/backup/rman/full_4fogpdb3_4239_1 tag=WEEEKLY_PRD01_TBLS_BK_ONLY comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

Finished backup at 10-AUG-13

Starting Control File and SPFILE Autobackup at 10-AUG-13

piece handle=/backup/rman/ctl_c-758818131-20130808-01 comment=NONE

Finished Control File and SPFILE Autobackup at 10-AUG-13

به محض اتمام فرآیند پشتیبانی برچسب پشتیبانی تخصیص داده شده از طریق RMAN قابل مشاهده نمی باشد.
نام برچسب تنها از طریق RMAN repositories برای بازدید و بازگردانی فایل های پشتیبان قابل مشاهده است و همانطور که در زیر مشاهده می شود چنانچه پشتیبان های متعددی وجود داشته باشد فایل های پشتیبان متعددی نیز در این مسیر وجود دارد.

$ ls -l /backup/rman/

total 29176

-rw-r—– 1 oracle dba 14585856 Aug 8 11:48 ctl_c-758818131-20130808-00

-rw-r—– 1 oracle dba 14585856 Aug 8 11:54 ctl_c-758818131-20130808-01

-rw-r—– 1 oracle dba 327680 Aug 8 11:48 full_4dogpd0u_4237_1

-rw-r—– 1 oracle dba 327680 Aug 8 11:54 full_4fogpdb3_4239_1

۵. تغییر قالب اسامی فایل های پشتیبان RMAN اوراکل
اگر نیاز به قالب بخصوصی برای اسامی فایل های پشتیبان خود دارید باید قالب آن را از طریق تنظیمات RMAN همانطور که در زیر می بینید تغییر دهید. در مثال زیر ما پیشوند “full_devdb_bk_” را به تمام فایل های پشتیبان خود اضافه نمودیم.

RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT “/backup/rman/full_devdb_bk_%u_%s_%p” MAXPIECESIZE 2048 M;

حالا اجازه دهید یک پشتیبان دیگر با استفاده از این تنظیمات جدید بگیریم.

RMAN> BACKUP AS BACKUPSET TAG ‘WEEEKLY_PRD01_TBLS_BK_ONLY’ TABLESPACE PRD01;

با مشاهده فایل های RMAN خواهید دید که فایل های جدید پشتیبان RMAN دارای قالب اسم جدیدی است که به شناسایی آن ها و اخذ اطلاعات آن ها تنها با مشاهده نام فایل کمک می کند.

$ ls -l /backup/rman/

total 43764

-rw-r—– 1 oracle dba 14585856 Aug 8 11:48 ctl_c-758818131-20130808-00

-rw-r—– 1 oracle dba 14585856 Aug 8 11:54 ctl_c-758818131-20130808-01

-rw-r—– 1 oracle dba 14585856 Aug 8 11:56 ctl_c-758818131-20130808-02

-rw-r—– 1 oracle dba 327680 Aug 8 11:48 full_4dogpd0u_4237_1

-rw-r—– 1 oracle dba 327680 Aug 8 11:54 full_4fogpdb3_4239_1

-rw-r—– 1 oracle dba 327680 Aug 8 11:55 full_devdb_bk_4hogpdef_4241_1

۶. فشرده سازی فایل پشتیبان RMAN
اگر از یک پایگاه داده بزرگ پشتیبان بگیرید متوجه می شوید که حجم فایل های پشتیبان RMAN آن پایگاه داده بسیار زیاد است. (تقریباْ هم اندازه حجم خود پایگاه داده) بنابراین در اغلب مواقع می بایست فایل پشتیبانی پایگاه داده در حالت فشرده شده تهیه شود.
مثال زیر از tablepsace PRD01 به صورت فشرده شده پشتیبان تهیه می نماید.

RMAN> BACKUP AS COMPRESSED BACKUPSET TAG ‘WEEEKLY_PRD01_TBLS_BK_ONLY’ TABLESPACE PRD01;

موقعی که در سطح سیستم عامل اقدام به مشاهده فایل های پشتیبان می کنید هیچگونه فایل .gz (یا .zip و یا .bz2) که نمایانگر فشرده سازی فایل های پشتیبان باشد مشاهده نمی نمایید. اسامی فایل های فشرده طبق همان ضوابط فایل های غیر فشرده سازی شده می باشند.

$ ls -l /backup/rman/

total 58352

-rw-r—– 1 oracle dba 14585856 Aug 8 11:48 ctl_c-758818131-20130808-00

-rw-r—– 1 oracle dba 14585856 Aug 8 11:54 ctl_c-758818131-20130808-01

-rw-r—– 1 oracle dba 14585856 Aug 8 11:56 ctl_c-758818131-20130808-02

-rw-r—– 1 oracle dba 14585856 Aug 8 11:59 ctl_c-758818131-20130808-03

-rw-r—– 1 oracle dba 327680 Aug 8 11:48 full_4dogpd0u_4237_1

-rw-r—– 1 oracle dba 327680 Aug 8 11:54 full_4fogpdb3_4239_1

-rw-r—– 1 oracle dba 327680 Aug 8 11:55 full_devdb_bk_4hogpdef_4241_1

-rw-r—– 1 oracle dba 127680 Aug 8 11:59 full_devdb_bk_4jogpdl0_4243_1

توجه: شیوه اطلاع از چگونگی فشرده بودن یا نبودن فایل های پشتیبان توجه به سایز فایل ها است. با دقت در خروجی دستور list که در یکی از بخش های خود دارای این اطلاعات است.

۷. مشاهده تمام فایل های پشتیبان RMAN
برای مشاهده تمام فایل های پشتیبان RMAN دستور list backup summary را همانند زیر اجرا نمایید.

RMAN> LIST BACKUP SUMMARY;

using target database control file instead of recovery catalog

List of Backups

===============

Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag

——- — — – ———– ————— ——- ——- ———- —

..

۴۲۱۵ B F A DISK 10-AUG-13 1 1 NO TAG20130808T114846

۴۲۱۶ B F A DISK 10-AUG-13 1 1 NO TAG20130808T114849

۴۲۱۷ B F A DISK 10-AUG-13 1 1 NO WEEEKLY_PRD01_TBLS_BK_ONLY

۴۲۱۸ B F A DISK 10-AUG-13 1 1 NO TAG20130808T115413

۴۲۱۹ B F A DISK 10-AUG-13 1 1 NO WEEEKLY_PRD01_TBLS_BK_ONLY

۴۲۲۰ B F A DISK 10-AUG-13 1 1 NO TAG20130808T115600

۴۲۲۱ B F A DISK 10-AUG-13 1 1 YES WEEEKLY_PRD01_TBLS_BK_ONLY

به همان صورتی که در بالا قابل مشاهده است اطلاعات مختلفی درباره فایل پشتیبان وجود دارد. در خروجی بالا ۷ پشتیبان RMAN وجود دارد.
در ستون آخر برچسبی که به فایل پشتیبان اختصاص داده شده قرار دارد. در صورت مشخص ننمودن هیچ برچسبی RMAN به صورت پیش فرض برچسبی با پیشوند TAG به همراه چند عدد به آن اختصاص خواهد داد.
عبارت YES زیر ستون Compressed بیانگر آن است که تمامی این فایل های پشتیبانی به صورت فشرده سازی شده می باشند.
به جهت مشاهده فرآیند پشتیبان گیری توسط RMAN در زمانی که این فرآیند در حال اجرا است از query جدول V$RMAN_STATUS در محیط sql*plus مانند زیر استفاده نمایید.

SQL> SELECT OPERATION, STATUS, MBYTES_PROCESSED, START_TIME, END_TIME from V$RMAN_STATUS;

OPERATION STATUS MBYTES_PROCESSED START_TIM END_TIME

——————————— ———————– —————- ——— ———

CONTROL FILE AND SPFILE AUTOBACK COMPLETED 14 07-NOV-12 07-NOV-12

RMAN COMPLETED 0 07-NOV-12 07-NOV-12

RESTORE VALIDATE COMPLETED 0 07-NOV-12 07-NOV-12

RMAN COMPLETED WITH ERRORS 0 07-NOV-12 07-NOV-12

DELETE COMPLETED 0 08-NOV-12 08-NOV-12

BACKUP COMPLETED 0 10-AUG-13 10-AUG-13

CONTROL FILE AND SPFILE AUTOBACK COMPLETED 14 10-AUG-13 10-AUG-13

RMAN COMPLETED WITH ERRORS 1832 10-AUG-13 10-AUG-13

RMAN COMPLETED 0 10-AUG-13 10-AUG-13

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *