در صورتی که قصد داشته باشیم برای یک بانک اطلاعاتی چند استندبای داشته باشیم ولی از طرفی با محدودیتهایی همانند شبکه روبرو باشیم، می توانیم از ویژگی cascaded standby استفاده کنیم یعنی از استندبای موجود یک استندبای جدید ایجاد کنیم به طوری که استندبای جدید هیچ ارتباط مستقیمی با بانک اصلی نداشته باشد و همه اطلاعات از استندبای اول به آن منتقل می شود. برای انجام این کار، می توانیم از active duplicate استندبای اول بهره مند شویم.
جدول زیر مشخصات محیطی که قرار است در آن از این ویژگی استفاده شود، را نشان می دهد:
DB_NAME | DB Unique name | |
Primary | usef11 | usef11 |
Standby-original | usef11 | st1 |
Standby-cascade | usef11 | st2 |
در اینجا فرض بر آن است که st1 قبلا راه اندازی شده و ما قصد داریم با استفاده از st1، st2 را ایجاد کنیم.
به سرور مربوط به استندبای st2 وصل می شویم و دستورات زیر را اجرا می کنیم.
[oracle@st2 ~]$ rman target sys/sys@st1
Recovery Manager: Release 11.2.0.4.0 – Production on Sun Sep 9 01:14:36 2012
connected to target database: USEF11 (DBID=4035520578, not open)
RMAN> connect auxiliary sys/sys@st2
connected to auxiliary database: USEF11 (not mounted)
RMAN> duplicate target database for standby from active database nofilenamecheck;
channel ORA_DISK_1: starting datafile copy
input datafile file number=00001 name=+DATA/st1/datafile/system.273.898441213
output file name=+DATA/st2/datafile/system.285.793502097 tag=TAG20151214T153227
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:25
channel ORA_DISK_1: starting datafile copy
input datafile file number=00002 name=+DATA/st1/datafile/sysaux.272.898441229
output file name=+DATA/st2/datafile/sysaux.286.793502123 tag=TAG20151214T153227
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting datafile copy
input datafile file number=00003 name=+DATA/st1/datafile/undotbs1.271.898441243
output file name=+DATA/st2/datafile/undotbs1.287.793502137 tag=TAG20151214T153227
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=+DATA/st1/datafile/users.270.898441245
output file name=+DATA/st2/datafile/users.288.793502141 tag=TAG20151214T153227
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 09-SEP-12
حال برای اینکه آخرین تغییرات از st1 به st2 منتقل شوند، همانند راه اندازی هر نوع استندبای دیگر، تغییراتی را باید در بعضی پارامترها اعمال می کنیم:
St1:
log_archive_config=’DG_CONFIG=(st1,usef11,st2)’
log_archive_dest_2=’ service=st2 db_unique_name=st2’
st2:
fal_server=st1
log_archive_config=‘DG_CONFIG=(st1,st2)’
بعد از تنظیمات بالا، st2 شروع به گرفتن اطلاعات از st1 می کند و تغییرات بر روی آن اعمال می شود.
Primary:
select status,instance_name,database_role from v$database,v$instance;
STATUS INSTANCE_NAME DATABASE_ROLE
———— —————- —————-
OPEN usef11 PRIMARY
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
————–
85
SQL> alter system switch logfile;
System altered.
ST1:
Mon Dec 14 17:48:05 2015
Archived Log entry 136 added for thread 1 sequence 86 rlc 793418244 ID 0xf0897542 dest 2:
RFS[4]: Opened log for thread 1 sequence 87 dbid -259446718 branch 793418244
Mon Dec 14 17:48:08 2015
Media Recovery Log +DATA/st1/archivelog/2015_12_14/thread_1_seq_86.333.898446639
ST2:
RFS[6]: Opened log for thread 1 sequence 86 dbid -259446718 branch 793418244
Archived Log entry 66 added for thread 1 sequence 86 rlc 793418244 ID 0xf0897542 dest 2:
Sun Sep 09 03:31:02 2012
Media Recovery Log +DATA/st2/archivelog/2012_09_09/thread_1_seq_86.357.793510253