استفاده از Block Change Tracking


تاریخ انتشار: 1398/اردیبهشت/22
نویسنده:
گروه دانش : Oracle Datebase
تعداد بازدید: 6 مرتبه
اشتراک گذاری:

استفاده از Block Change Tracking

همانطور که می دانید به هنگام تهیه Incremental backup، کلیه block های یک دیتافایل خوانده می شود و چنانچه تغییر کرده باشد از آن backup گرفته می شود. برای بهینه کردن این فرایند، می توان فایلی را در نظر گرفت که آدرس block هایی که تغییر کرده اند را در خودش نگه می دارد و به هنگام backup گرفتن فقط به سراغ این block ها می رود، بنابراین سرعت backup گرفتن افزایش قابل ملاحظه ای خواهد داشت. البته در مواقعی که full backup می گیریم، این کار کاربردی ندارد و فقط برای مواقعی است که incremental backup می گیریم.

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

select d.RECID,d.SET_COUNT,d.FILE#,d.CREATION_TIME,d.INCREMENTAL_LEVEL,d.BLOCKS as "Backed up Blocks",d.BLOCKS_READ "Blocks That Read for Backup" from v$backup_datafile d

where trunc(d.COMPLETION_TIME) = trunc (sysdate );

چنانچه در خروجی دستور بالا، مقدار blocks_read (نشان دهنده تعداد بلاک هایی که خوانده شده اند) خیلی بیشتر از blocks (تعداد بلاک هایی که از آنها Backup گرفته شده است) باشد، یعنی راه اندازی block change tracking به عملکرد سیستم ها کمک بسیاری خواهد کرد.

برای راه اندازی می توانید از دستورات زیر استفاده نمایید:

alter database enable block change tracking using file '/u01/oracle/block_change_tracking_dir/block_change_tracking.bct';

 

چنانچه از OMF استفاده می کنید نیازی به ذکر کردن مسیر فایل نیست و خود به خود در مسیر مشخص شده در پارامتر db_create_file_dest و در پوشه changetracking ساخته می شود:

alter database enable block change tracking;

 

برای غیر فعال سازی block change tracking از دستور زیر استفاده می شود:

alter database disable block chnage tracking;

 

برای مشاهده اطلاعات مربوط به block change tracking می توانید از ویو زیر استفاده نمایید:

select * from V$BLOCK_CHANGE_TRACKING;