۲ مطلب با کلمه‌ی کلیدی «Gap» ثبت شده است

عملکرد Data Guard در صورت Gap

خب ممکنه برای شما این سوال پیش بیاد که اگه Data Guard شما روش gap بیوفته یا اینکه سرور primary شما با سرور standby شما ارتباطش دچار اختلال بشه و نتونن همدیگه رو ping کنن در این حالت چه اتفاقی برای دیتاهای شما رخ میده؟

در اصل می‌خوایم ببینیم که سناریوی Data Guard و Active Data Guard برای این حالت چه راه‌حلی ارائه میده؟

خب مفاهیم LNS و RFS رو در پست‌های قبل توضیح دادیم.

به تصویر بالا اگر دقت کنید در حقیقت یک حالت عادی رو در آن مشاهده می‌کنید که LNS‌ میاد و از Redo Buffer روی RFS می‌نویسه و اونم روی Standby Redo Logها می‌نویسه منتها اگر gap به وجود بیاد شما باید به حالت زیر دقت کنید:

در این حالت تا زمانی که sync در حالت عادی اتفاق نیافتاده است یعین LNS نتونه از روی Redo Buffer بخونه Active Data Guard در حقیقت میاد کنترل میکنه از روی کنترل فایلهای سرور standby میاد میبینه که در حقیقت ما چقدر لگ داریم اگر لگ ما به اندازه‌ای بود که اطلاعات روی redo ها یا روی redo buffer ها وجود نداشته باشه میاد سراغ Archive Redo Log فایلهای سرور اصلی و از روی این آرشیوها پروسس RFS میاد روی Archive Redo Logهای سرور standby شما اون دیتا رو می‌نویسه (به شکل بالا دقت کنید)

و به این ترتیب دیتاها apply میشه روی خود سرور standby

نکته: این اتفاق تا زمانی که اطلاعات شما دیگه توی Archiveهای سرور اصلی نباشه و روی redo buffer یا همون online redo Logها باشه و این دقیقاً بستگی داره به وضعیت Sync یا Async شما

اگر دقت کرده باشید زمانی که وضعیت standby را sync‌کنید یک tranport lag داریم و یک apply lag که Transport Lag مربوط به انتقال لاگ فایل هست و Apply Lag مربوط به apply شدن تغییرات روی سرور standby برای مفهومی بهتر در شکل زیر این ۲ مفهوم را در این سناریو مشخص کرده‌ام:

۱۷ خرداد ۹۴ ، ۱۸:۲۸
مهدی غفاری

ساخت TableSpace با رشد خودکار فضا

فضایی بسازید که تا 200mb به طور خودکار 10m 10m رشد می کند: (در صورتی که maxsize مشخص نشود فضا می‌گیرد)

SQL> create tablespace ts datafile 'd:\root\a.dbf' size 100m reuse autoextend on
next 10m  maxsize 200m;

در دستور بالا 100mb سایز اولیه TableSpaceامون است اگر این مقدار فضای اولیه پر شود به طور خودکار 10m 10m به فضا اضافه می‌شود تا به 200m برسد. در صورتی که فضای maxsize مشخص نگردد تا جایی که مدیا ذخیره‌سازی اجازه دهد به DataFile ما 10m 10m اضافه می‌شود.

نکته: عددی که برای رشد DataFile مشخص می‌کنیم بسیار مهم است. اگر این عدد را زیاد بگیریم فضای مدیای‌ذخیره‌سازی ما از بین می‌رود چون این فضا به طور کامل اشغال و توسط اوراکل رزرو می‌شود و ممکن است دیتای ما آنقدر فضا نیاز نداشته باشد. اگر این عدد را کم بگیریم (مثلا ۱ کیلوبایت) اینجوری مدیای ذخیره‌سازی ما فضای هدر شده ندارد ولی تو این مدت که بخواد به 200m برسه بار بسیار وحشتناکی رو CPU سرور ما داره چون به ازای هر کیلوبایت می‌خواد فایل رو extend کنه پس performance سیستم به شدت پایین می‌آید.

نکته: من ترجیح می‌دم فضای از دست رفته‌ام زیاد باشه نه اینکه بار CPU ام زیاد بشه و performance سیستم پایین بیاد

س: آیا با اضافه کردن به دیتا‌فایل در مدیای ذخیره‌سازی ما Gap ایجاد می‌شود؟

ج: این بستگی به سیستم‌عامل و سیستم‌فایلتان دارد و به اوراکل به صورت معمولی در حالت FileSystem ربطی ندارد. مگر در حالت ASM باشید که در این حالت اوراکل هیچ Gap ای در مدیای ذخیره‌سازی شما ایجاد نمی‌کند.

۱۳ ارديبهشت ۹۴ ، ۱۹:۳۵ ۰ نظر
مهدی غفاری