خب اول روی سرور دیتا گارد دستور زیر را اجرا می کنیم تا آخرین SCN دیتاگارد را بدست میآوریم:
SQL> SELECT CURRENT_SCN FROM V$DATABASE;
CURRENT_SCN
-----------
1752252019
عملیات ریکاوری را روی دیتاگارد با دستور زیر متوقف می کنیم:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
به دیتابیس اصلی با ابزار RMAN متصل میشویم و از SCN که از مرحله اول بدست آوردهایم یک بکاپ افزایشی تهیه میکنیم:
RMAN> BACKUP INCREMENTAL FROM SCN 986941524 DATABASE FORMAT '/home/oracle/backup/tempRMAN_%U' tag 'FOR STANDBY';
پس از اتمام بکآپگیری باید کنترل فایل از دیتابیس اصلی با دستور زیر ساخته شود و روی سرور دیتا گارد جایگزین گردد. همچنین دیتابیس گارد را به حالت mount میبریم.
SQL> Alter database create standby controlfile as '/home/oracle/backup/standby.ctl';
بکاپها را به سرور دیتا گارد منتقل میکنیم و کاتولوگ میکنیم.
RMAN> CATALOG BACKUPPIECE 'backup path in dataguard';
or
RMAN> CATALOG START WITH 'backup path';
عملیات ریکاوری را روی سرور دیتا گارد انجام میدهیم.
RMAN> RECOVER DATABASE NOREDO;
دیتاگارد را استارت کرده و به حالت mount میبریم و عملیات ریکاوری را مجدد راهاندازی میکنیم:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
پس از انجام موارد فوق دیتا گارد باید عملیات ریکاوری را انجام دهد .
نکته: در صورتی که آرشیو ها به دیتا گارد منتقل شوند اما عملیات Apply شدن آنها انجام نشود باید آرشیوهای مربوطه با دستورات زیر در دیتابیس رجیستر شود.
SQL> alter database register logfile 'archive file path';
1. به دیتا بیس اصلی با ابزار RMAN متصل میشویم و از SCN که از مرحله اول بدست آورده ایم یک بکاپ افزایشی تهیه می کنیم :
سلام دوست عزیز. ممنون از آموزشتون.
اونجایی که باید به RMAN مسیر بک آپ رو تعریف کنیم باید از دستور زیر استفاده کنیم. مسیر بک آپ من به این شکل بود.
CATALOG START WITH '/home/oracle/backup/guard/';
امروز دومین باری بود که من از مقاله شما برای ریکاوری دیتاگارد استفاده کردم. گفتم این نکته رو اضافه کنید تا سری سوم زمان کمتری برای ریکاوری دیتالاگ صرف کنم.
در کل دمت گرم