برای فعال کردن حالت Archive Log باید پارامترهایی تنظیم شوند که محل ذخیره سازی و میزان فضای اختصاص داده شده را تعیین می کنند. می توان برای ذخیره سازی فایل های آرشیو یک یا بیش از یک مقصد را انتخاب کرد. همچنین مقصد می تواند یکی از سه مورد زیر باشد :

۱ – انتخاب مقصد محلی بر روی سیستم فایل.

۲ – انتخاب مقصد بر روی دیسک های ASM

۳ – انتخاب مقصد راه دور (به طور مثال پایگاه داده Standby)

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

برای آنکه تنها یک مقصد را برای آرشیو سازی تنظیم کنیم، لازم است پارامتر LOG_ARCHIVE_DEST مقدار دهی شود. اما اگر بخواهیم بیش از دو مقصد تنظیم کنیم لازم است پارامترهای LOG_ARCHIVE_DEST_n را تنظیم کنیم. اما حالت دیگر تنظیم دو مقصد اصلی و ثانویه برای ذخیره آرشیوها است که به ترتیب با تنظیم دو پارامتر LOG_ARCHIVE_DEST و LOG_ARCHIVE_DUPLEX_DEST انجام می شود.

 

در صورتی که از دو صورت ذخیره سازی بر روی سیستم فایل محلی یا ذخیره سازی بر روی ASM استفاده می کنید می توان محیطی به نام Fast Recovery Area را برای ذخیره سازی آرشیوها تنظیم کنید. FRA یک فضای تحت استفاده پایگاه داده است که برای اهداف مربوط به پشتیبان گیری و ریکاوری است.

می توان زمانی که پایگاه داده را برای محیط عملیاتی تنظیم می کنیم، با تنظیم پارامترهای لازم، مقصد ذخیره سازی فایل های آرشیو را تعیین کرد. همچنین پس از پیاده سازی پایگاه داده می توان با استفاده از دستور ALTER SYSSTEM و مقدار دهی پارامترهای لازم، مقصد ذخیره سازی آرشیو ها را تغییر و تعیین کرد.هر گونه تغییری که در مقصدها اعمال شود پس از log sSwitch بعدی اثر داده خواهد شد. جدول زیر روش های ممکن برای تعیین مقصدهای ذخیره سازی را نشان می دهد.

بنابراین دو حالت وجود دارد :

۱ – ذخیره سازی محلی که می تواند بر روی سیستم فایل و یا بر روی گروه های دیسک ASM باشد. مبحث ASM خارج از این دوره است ولی برای درک بهتر باید بگوییم ASM مخفف Automatic Storage Management است و به عنوان راهکاری از شرکت اوراکل است که برای مدیریت ساده تر رسانه ذخیره سازی استفاده می شود. با ASM افزودن دیسک ها، حذف دیسک ها، افزایش اندازه پارتیشن ها بسیار و بسیار ساده تر انجام می شود.

۲ – صورت راه دور که می تواند یک پایگاه داده Standby باشد. پایگاه داده standby جز مباحث این دوره نیست و مربوط به مفاهیم Data Guard است. Data Guard نیز یک راهکار از شرکت اوراکل است که هدف آن افزایش حداکثر دسترس پذیری (high availability) سرویس دهی پایگاه داده اوراکل است.

آشنایی با پارامترهای لازم برای فعال سازی حالت ARCHIVELOG

اگر بخواهیم به صورت محلی و تنها بر  روی دو مقصد که به ترتیب مقصد اصلی و مقصد ثانویه هستند، آرشیوها را ذخیره کنیم باید به ترتیب دو پارامتر LOG_ARCHIVE_DEST و LOG_ARCHIVE_DUPLEX_DEST را تنظیم کنیم. قاعدتا مسیر های انتخابی بر روی دو دیسک متفاوت و قاعدتا بر روی دو کنترلر متفاوت خواهند بود

منظور از کنترلر بر می گردد به مفاهیم Storage ها که یک کنترلر سخت افزاری بر روی ماشین سرور اوراکل نصب می شود که این کنترلر ارتباط سرور اوراکل و سرور رسانه ذخیره سازی مانند NAS و SAN را کنترل ممی کند.

اگر بخواهیم آرشیوها را بر روی چندین مقصد و به صورت محلی یا راه دور تنظیم کنیم باید از پارامترهای LOG_ARCHIVE_DEST_n استفاده کنیم که n یک عدد صحیح از ۱ تا ۳۱ است. به عبارتی می توان از ۱ تا ۳۱ محل متفاوت را برای ذخیره سازی آرشیوها تنظیم کرد و هر کدام از پارامترها، به طور مثال LOG_ARCHIVE_DEST_1 و LOG_ARCHIVE_LOG_2 محل های متفاوتی خواهند بود. فرمت و دستور کلی برای تنظیم این پارامترها از طریق دستور ALTER SYSTEM به صورت زیر است :

با اجرای دستور بالا حالت ARCHIVELOG را فعال کردیم و از این پس فرایند ARCn پس از انجام log switch اقدام به پشتیبان گیری و آرشیو سازی فایل online redo log می کند. اما در ادامه همین مطلب و گام به گام مراحل فعال سازی را توضیح داده ایم.

تعیین فرمت نامگذاری فایل ها

همچنین می توان به صورت اختیاری پارامتر LOG_ARCHIVE_FORMAT را نیز تعیین کرد. از این پارامتر زمانی استفاده می کنیم که بخواهیم نامگذاری فایل ها را بر اساس برخی از متغیرهای ممکن، تعیین کنیم. این متغیر ها عبارتند از :

گام های فعال سازی حالت ARCHIVELOG

گام ۱ – پیش از هر چیز و توسط دستور زیر بررسی کنید که آیا پایگاه داده در کدام یک از حالت های ARCHIVELOG یا NOARCHIVELOG قرار دارد. در ابتدا با مجوز sysdba به پایگاه داده متصل شده ایم و سپس دستور archive log list را اجرا کرده ایم.

خطوط زیر نمونه ای از خروجی دستور archive log list را نمایش می دهد. همانطور که می بینید Atomatic archival برابر با Disabled است به این معنی که پایگاه داده در حالت NOARCHIVELOG قرار دارد. همچنین می توانید اطلاعاتی را در مورد log sequence number بدست آورید.

گام ۲ – در خروجی بالا مقصد آرشیوها (Archive destination) به اشاره USE_DB_RECOVERY_FILE_DEST اشاره دارد. بنابراین برای اینکه بدانیم USE_DB_RECOVERY_FILE_DEST محل اشاره دارد باید دستور زیر را اجرا کنیم.

شکل زیر (۲) نمونه ای از خروجی دستور بالا را مشخص می کنند. در واقع پارامتر RECOVERY_FILE_DEST به یک محل اشاره دارد که می خواهیم پس از این به عنوان محل یا مقصد ذخیره سازی فایل های archive log باشد.

پارامتر DB_RECOVERY_FILE_DEST اشاره به محل FRA (یا Flash Recovery Area) دارد. در چندین مطلب بعدی در مورد این ناحیه صحبت شده است. پارامتر DB_RECOVERY_FILE_DEST_SIZE اندازه فضای اختصاص داده شده از دیسک به ناحیه FRA را نشان می دهد.

گام ۳ – پس از اینکه محلی که USE_DB_RECOVERY_FILE_DEST به آن اشاره می کرد را پیدا کردیم باید به طور مثال پارامتر LOG_ARCHIVE_DEST_1 را به همین محل تنظیم کنیم.

در دستور بالا تعیین کردیم که فرایند ARCn باید در ناحیه FRA فایل های آرشیو را ایجاد کند. به عبارت دیگر USE_DB_RECOVERY_FILE_DEST اشاره به محلی دارد که درون پارامتر DB_RECOVERY_FILE_DEST ذخیره شده است و همچنین پارامتر DB_RECOVERY_FILE_DEST محل ناحیه FRA را مشخص می کند. بنابراین USE_DB_RECOVERY_FILE_DEST نیز به محل ناحیه FRA اشاره می کند، پس می توانیم از کد زیر که معادل کد بالا است استفاده کنیم.

گام ۴ – پس از اجرای یکی از دو دستور بالا، باید پایگاه داده را توسط دستور زیر shutdown کنیم. حال پایگاه داده در حالت mount قرار دارد.

راه اندازی اوراکل – Shutdown

گام ۵ – پس از اینکه توسط دستور shhutdown immediate پایگاه داده را در حالت mount قرار دادیم، نوبت به اجرای دستور زیر می رسد.

در صورتی که پارامترهای LOG_ARCHIVE_DESTn (مثلا LOG_ARCHIVE_DEST_1) و یا حتی دو پارامتر دیگر یعنی LOG_ARCHIVE_DEST و LOG_ARCHIVE_DUPLEX_DEST درست مقدار دهی شده باشند، دستور alter database archivelog پایگاه داده را در حالت ARCHIVELOG قرار می دهد.

گام ۶ – باید دستور زیر را برای قرار دادن پایگاه داده در حالت open اجرا کنید.

حال اگر مجدد دستور archive log list را اجرا کنید، مطابق خروجی زیر می بینید که Automatic archival برابر با Enabled است پس پایگاه داده در حالت ARCHIVELOG قرار گرفته است.

خلاصه و جمع بندی

بنابراین برای جلوگیری از سردرگمی شما باید بگوییم که:

۱ – پارامتر DB_RECOVERY_FILE_DEST به محل ناحیه FRA اشاره می کند.

۲ – پارامتر LOG_ARCHIVE_DEST_1 باید تنظیم شود تا فرایند ARCn بداند کجا فایل های آرشیو را ذخیره کند.

۳ – می خواهیم یکی از محل هایی که فرایند ARCn در آنجا فایل های آرشیو شده را ذخیره می کند، همان محل ناحیه FRA باشد، پس مطابق دو دستور بالا پارامتر LOG_ARCHIVE_DEST_1 را برابر با محلی تنظیم و مقداردهی می کنیم که پارامتر DB_RECOVERY_FILE_DEST به آن اشاره می کند. به طور مثال مطابق با شکل ۲ این محل مثلا u01/app/oracle/flash_recovery_area/ است.

۴ – گفتیم که می توانیم از ASM برای تعیین محل ذخیره فایل های آرشیو استفاده کنیم ولی به دلیل جلوگیری از پیچیدگی این مطلب از توضیح چگونگی تنطیم محل فایل های آرشیو توسط ASM صرف نظر کرده ایم.

۵ – توجه کنید می توانید دیگر پارامترها را مانند LOG_ARCHIVE_DEDST_2 را نیز مقدار دهی کنیم. در مطلب بعدی در مورد تعیین محل های جایگزین وحداکثر تعداد محل هایی که فرایند ARCn باید در آنها بنویسد صحبت شده است.