data pump در محیط RAC
در محیط RAC، این امکان وجود دارد تا از چند instance برای اجرای data pump بهره گرفته شود. برای این کار باید شرایط زیر رعایت شود:
- ۰ نظر
- ۲۲ آذر ۹۴ ، ۱۹:۵۸
در محیط RAC، این امکان وجود دارد تا از چند instance برای اجرای data pump بهره گرفته شود. برای این کار باید شرایط زیر رعایت شود:
از اوراکل نسخه 9i به بعد این امکان وجود دارد تا log buffer به چند قسمت مساوی تقسیم شود و هر قسمت آن به قسمتی از redo log مپ شود و به این طریق انتفال اطلاعات صورت گیرد به این ویژگی public redo strand می گویند.
فرض کنید دیتافایلی که جدیدا به بانک اضافه شده بنا به دلایلی از بین رفته باشد در این صورت اگر آرشیوها از زمان ایجاد دیتافایل موجود باشند، این امکان وجود دارد که این دیتافایل را بازیابی کرد.
البته همانطور که گفته شد، این کار شرط بسیار سختی دارد:
"همه آرشیو لاگها از زمان ایجاد دیتافایل موجود باشند"
block corruption در بانک اطلاعاتی اوراکل خطای بسیار معروفی است که ممکن است سبب از دست رفتن داده شود این خطا معمولا به خاطر مشکلات سخت افزاری یا سیستم عاملی رخ می دهد و در صورت نداشتن backup سالم از قسمت خراب شده به ناچار باید از اطلاعات ذخیره شده در آن قسمت، صرف نظر کنیم. این اتفاق به دو شکل ممکن است رخ دهد:
روش اول:
Create database link source connect to username identified by password using
'hostname/port/sid';
اطلاعات درون یک datafile را می توان با ابزارهای ارائه شده و بدون استفاده از بانک اطلاعاتی خواند. اما این اطلاعات عموما ناقض هستند و باید بسیار خبره بود تا اطلاعات کامل و دقیقی را با این ابزارها بدست آورد.
ولی باز با این اوصاف، شاید دسترسی به اطلاعات نصفه و نیمه دیتافایلها، در کنار جالب بودن آن، کمکی هم به ما بکند. برای مثال، می توان به راحتی با داشتن یک دیتافایل از بانک، dbid بانک را بدست آورد و یا مشخصات کاربران بانک را فهمید و یا اطلاعات truncate شده را در درون آن یافت و ...
در صورت حذف اتفاقی datafile از روی سیستم عامل لینوکس، می توانیم با طی مراحلی، datafile حذف شده را برگردانیم(البته با اقدام فوری).البته این کار تا زمانی که بانک اطلاعاتی کماکان در حال اجرا باشد، قابل انجام است در غیر این صورت، لینکی که file descriptor به آن اشاره می کند، برای همیشه حذف خواهد شد.
خطای ORA-01102 معمولا در زمانی رخ می دهد که instance در سیستم استارت شده باشد و فردی بخواهد با یک sid دیگر به همان بانک وصل شود و آن را استارت کند.
برای رفع این مشکل می توانیم پروسس pmon مربوط بانک را شناسایی کنیم و آن را kill کنیم.
در صورتی که ویوی مربوط به حداکثر شماره آرشیو، یک عدد غیرمرتبط یا عددی مربوط به آرشیولاگ old incarnation را نشان می دهد، برای اینکه عدد واقعی را به ما نشان دهد و اعداد قدیمی را پاک کند، سه روش ممکن می باشد:
1.زمانی که از db_link استفاده می کنیم، و دستوری توسط بانک مبدا(یا local) اجرا می شود، اجرای دستورات sql روی سرور remote انجام می شوند و نتیجه به بانک local(مبدا) بر می گردد.
1. Static Instance Registration: در صورتی که در فایل listener.ora اطلاعات instance را مشخص کرده باشیم یعنی اگر این فایل را به شکل زیر تنظیم کرده باشیم، نوع رجیستر listener به صورت static خواهد بود.