نشر بواسطة : Obay Salah , November 19, 2024

قبل إنشاء الStandby Database يجب عمل الخطوات التالية في الPrimary Database:

1- تفعيل ال Forced Logging:

ALTER DATABASE FORCE LOGGING

 

2- إنشاء الPassword File إذا لم يوجد:

C:\orapwd file=D:\oracle\product\10.1.0\Db_1\database\PWDprim.ora entries=10

Password=SYS force=y

 

3- تهيئة ملف المتغيرات في الPrimary Database:

ولكن قبل تهيئة ملف المتغيرات هل تعرف كيف تتعامل الPrimary Database مع الStandby Database؟ بالطبع يتعامل المستخدمون مباشرة مع الPrimary Database ولكن يتم إرسال Redo Data مباشرة إلي الStandby Database ليتم تطبيقها، ولكن يجب التذكير إلي أنه يوجد نوعان من الStandby Database:

 1- Physical Standby Database: وهي قاعدة بيانات يتم إنشاؤها من الPrimary Database (بمعني أنه يتم إنشاؤها من النسخ الاحتياطي للPrimary Database)، تكون هيكلة الPhysical Standby Database مشابهة تماماً لهيكلة الPrimary Database (Block-for-Block).

يتم إرسال الRedo Data من الPrimary Database عبر الLog Writer Process (LGWR) أو الArchiver Process (ARCH) للStandby Database، يتم استقبال الRedo Data في الStandby Database عن طريق الRemote File Server Process (RFS) ثم يتم تطبيق الRedo Data في الPhysical Standby Database عن طريق الManaged Recovery Process (MRP) فيما يعرف بالRedo Apply، (وهذا النوع سنستخدمه في السيناريو).

2- Logical Standby Database: هي قاعدة بيانات يتم إنشاؤها كذلك من الPrimary Database ولكن يمكن أن يتم تغيير هيكلتها لاحقاً ولكن تظل البيانات الموجودة في الPrimary Database والLogical Standby Database متماثلة تماماً، هنا لا يتم عمل Redo Apply كما هو الحال في الPhysical Standby Database ولكن يتم عمل  SQL Apply بحيث يتم التعديل علي قاعدة البيانات عن طريق SQL Statements ، يتم عمل الSQL Apply عن طريق  الLogical Standby Process(LSP).

 

Database

DB_UNIQUE_NAME

Oracle Net Service Name

Primary

PRIM

PRIMNET

Physical standby

STAN

STANNET

 

 

   تهيئة ملف المتغيرات في الPrimary Database

 DB_NAME=PRIM 

DB_UNIQUE_NAME=PRIM

SERVICE_NAMES=PRIM

INSTANCE_NAME=PRIM 

LOG_ARCHIVE_CONFIG='DG_CONFIG= (PRIM, STAN)' 

LOG_ARCHIVE_DEST_1= 'LOCATION=D:\oracle\product\10.1.0\flash_recovery_area\VALID_FOR = (ALL_LOGFILES, ALL_ROLES) DB_UNIQUE_NAME=PRIM' 

LOG_ARCHIVE_DEST_2= 'SERVICE=STANNET VALID_FOR= (ONLINE_LOGFILES, PRIMARY_ROLE)

DB_UNIQUE_NAME=STAN'

LOG_ARCHIVE_DEST_STATE_1=ENABLE

LOG_ARCHIVE_DEST_STATE_2=ENABLE

REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE

FAL_SERVER=STAN

FAL_CLIENT=PRIM

STANDBY_FILE_MANAGEMENT=AUTO

 

حيث:

DB_NAME: وهو اسم من 8 حروف (استخدم نفس الاسم لجميع الStandby Databases)

DB_UNIQUE_NAME: لتحديد الاسم الفريد لكل قاعدة بيانات، هذا الاسم يظل في قاعدة البيانات ولا يتغير حتى لو تغيرت الأدوار بين الPrimary والStandby Database.

INSTANCE_NAME: ويجب أن يختلف اسم الInstance بين الPrimary والStandby Database إذا كانا في نفس الجهاز.

LOG_ARCHIVE_CONFIG: لتحديد الDB_UNIQUE_NAME لكل من الPrimary Database والStandby Databases، هذا المتغير في الأصل يقوم بتفعيل قاعدة البيانات لإرسال واستقبال الRedo.

LOG_ARCHIVE_DEST_1: لأرشفة الRedo Data التي تم إنشاؤها بواسطة الPrimary Database في الLocal Archived Redo Log Files  

LOG_ARCHIVE_DEST_2: لتحديد الRemote Physical Standby Database التي سيتم إرسال الRedo Data لها.

LOG_ARCHIVED_DEST_STATE_n: يأخذ القيمة ENABLE للسماح لنقل الRedo Data للاتجاه المحدد.

REMOTE_LOGIN_PASSWORDFILE: يجب أن يأخذ هذا المتغير (EXCLUSIVE or Shared).

FAL_SERVER: لتحديد الOracle Net Service Name للFAL Server (عادة تكون هذه قاعدة البيانات التي تعمل دور الPrimary Database)، فعندما تكون الPRIM في دور الStandby Database يتم استخدام الٍSTAN Database كFAL SERVER، يستخدم هذا المتغير في حال أن الPrimary Database(STAN) عجز عن إرسال الRedo للStandby Database(PRIM) فيقوم بجلب ال Archived Log Files المفقودة.

FAL_CLIENT: لتحديد الOracle Net Service Name للPRIM Database، حيث يقوم الFAL Server (STAN) بعمل نسخ لملفات الأرشيف المفقودة للPRIM Standby Database.

STANDBY_FILE_MANAGEMENT: إذا تم وضع القيمة AUTO في هذا المتغير فإذا تم إضافة أو حذف Data File في الPrimary Database فإن الStandby Database تستجيب للتغيير بصورة آلية

DB_FILE_NAME_CONVERT: هذا المتغير يحول مسارات الPrimary Database Datafiles للStandby Database Datafiles Path Names، نحتاج لتهيئة هذا الملف إذا كانت الStandby Database والPrimary Database في نفس الجهاز أو إذا كان الStandby Database والPrimary Database في جهازين مختلفين ولكن يختلفان في الهيكلة الفيزيائية، أما إذا كانت الStandby Database والPrimary Database في جهازين مختلفين ولكن متشابهان في الهيكلة الفيزيائية بمعني أن ملفات الData Files في كلا القاعدين متشابهتان تماماً كما هو الحال في السيناريو الذي سنتبعه ففي مثل هذه الحالة فلا نحتاج لتهيئة هذا المتغير.

LOG_FILE_NAME_CONVERT:  ويمكن أن يقال ما قيل في المتغير السابق غير أن هذا المتغير يختص بالRedo Log Files وليس الData Files.

 

4- تفعيل الأرشيف في الPrimary Database:

SHUTDOWN IMMEDIATE;

STARTUP MOUNT;

ALTER DATABASE ARCHIVELOG;

ALTER DATABASE OPEN;

 


علامات : Data Guard

يمكن ان يعجبك ايضا


Comments

لايوجد تعليق حتى الان