أكمل التكوين

تكوين Oracle Data Guard وتسجيل قاعدة البيانات البديلة ومزامنة كلمات سر قاعدة البيانات المحلية والبديلة.

تكوين وسيط Oracle Data Guard

تكوين Oracle Data Guard عن طريق تمكين معلمة dg_broker_config_file في قواعد البيانات الأساسية والبديلة. بالنسبة لـ Oracle Automatic Storage Management (Oracle ASM)، ضع ملفات تكوين الوسيط على مجموعات أقراص منفصلة. بالنسبة لـ Oracle Real Application Clusters (Oracle RAC)، يجب أن تكون ملفات تكوين الوسيط في التخزين المشترك.

  1. تحقق من قيمة dg_broker_start لمضيف قاعدة البيانات المحلي. يجب تعيينه على false.
    SQL> show parameter dg_broker_start;
    ستبدو المخرجات مشابهة لما يلي:
    NAME 			TYPE 			VALUE 
    ------------------------------------ ----------- ------------------------------ 
    dg_broker_start 	boolean 		FALSE 
  2. في Oracle Database Exadata Cloud Service البديل، تحقق من ملفات تكوين Oracle Data Guard.
    SQL> show parameter dg_broker_config_file1;
    فيما يلي مثال للمخرجات:
    NAME                                 TYPE         VALUE
    ------------------------------------ ----------- ------------------------------
    dg_broker_config_file1               string       /u02/app/oracle/product/19.0.0.0/dbhome_5/dbs/dr1DB1_phx3g7.dat
    SQL> show parameter dg_broker_config_file2;
    فيما يلي مثال للمخرجات:
    NAME                                  TYPE         VALUE
    ------------------------------------ ----------- ------------------------------
    dg_broker_config_file2                string /u02/app/oracle/product/19.0.0.0/dbhome_5/dbs/dr2DB1_phx3g7.dat
  3. Display the datafiles, then change the location to where you want to store the files. For example, Oracle ASM, Oracle RAC , or devices.
    SQL> select name from v$datafile;
    NAME
    --------------------------------------------------------------------------------
    +DATAC1/DB1_PHX3G7/DATAFILE/system.348.1063638053
    +DATAC1/DB1_PHX3G7/DATAFILE/sysaux.349.1063638055
    +DATAC1/DB1_PHX3G7/DATAFILE/undotbs1.350.1063638057
    +DATAC1/DB1_PHX3G7/DATAFILE/undotbs2.351.1063638057
    +DATAC1/DB1_PHX3G7/DATAFILE/users.352.1063638059
    SQL> alter system set dg_broker_config_file1='+DATAC1/DB1_PHX3G7/dr1DB1_phx3g7.dat';
    SQL> alter system set dg_broker_config_file2='+RECOC1/DB1_PHX3G7/dr2DB1_phx3g7.dat';
  4. في Oracle Exadata Database Machine المحلي الأساسي، تحقق من ملفات تكوين Oracle Data Guard.
    SQL> show parameter dg_broker_config_file1;
    فيما يلي مثال للمخرجات:
    NAME      TYPE      VALUE
    ------------------------------------ ----------- ------------------------------
    dg_broker_config_file1             string        /u01/app/oracle/product/19.0.0.0/dbhome_1/dbs/dr1db1.dat.dat
    SQL> show parameter dg_broker_config_file2;
    فيما يلي مثال على المخرجات:
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    dg_broker_config_file2                string /u01/app/oracle/product/19.0.0.0/dbhome_1/dbs/dr2db1.dat
  5. قم بعرض ملفات البيانات، ثم قم بتغيير الموقع إلى حيث تريد تخزين الملفات.
    SQL> select name from v$datafile;
    فيما يلي مثال على المخرجات:
    NAME
    --------------------------------------------------------------------------------
    +DATAC1/DB1/DATAFILE/system.277.1063487795
    +DATAC1/DB1/DATAFILE/sysaux.270.1063487827
    +DATAC1/DB1/DATAFILE/undotbs1.259.1063487843
    +DATAC1/DB1/DATAFILE/undotbs2.275.1063487867
    +DATAC1/DB1/DATAFILE/users.269.1063487879
    قم بتشغيل الأوامر التالية لتغيير موقع ملف التكوين:
    SQL> alter system set dg_broker_config_file1='+DATAC1/DB1/dr1db1.dat';
    SQL> alter system set dg_broker_config_file2='+RECOC1/DB1/dr2db1.dat';
    SQL> alter system set dg_broker_start=false;
    SQL> alter system set dg_broker_config_file1='+DATAC1/DB1/dr1db1.dat';
    SQL> alter system set dg_broker_config_file2='+RECOC1/DB1/dr2db1.dat';
  6. في Oracle Exadata Database Machine المحلي الأساسي، ابدأ عملية Oracle Data Guard Broker.
    SQL> alter system set dg_broker_start=true;
    SQL> show parameter dg_broker_start 
    NAME 			TYPE 			VALUE 
    ------------------------------------ ----------- ------------------------------ 
    dg_broker_start 	boolean 		TRUE
    SQL> select pname from v$process where pname like 'DMON%';
    PNAME 
    ----- 
    DMON 
  7. ابدأ عملية Oracle Data Guard Broker في قاعدة البيانات البديلة.
    SQL> alter system set dg_broker_start=true; 
    SQL> show parameter dg_broker_start
    NAME 			TYPE 			VALUE 
    ------------------------------------ ----------- ------------------------------ 
    dg_broker_start 	boolean 		TRUE
    SQL> select pname from v$process where pname like 'DMON%';
    PNAME 
    ----- 
    DMON 

تسجيل قاعدة البيانات البديلة

استخدم واجهة سطر أوامر Oracle Data Guard (DGMGRL) لتسجيل ملف تعريف قاعدة البيانات البديلة أو إضافته إلى تكوين الوسيط على المضيف المحلي الأساسي.

  1. قم بالدخول إلى المضيف الأساسي كـ sys.
    $ dgmgrl sys/sys password@net service name for primary database
  2. تكوين تكوين يستخدم اسم قاعدة البيانات الأساسية.
    DGMGRL> CREATE CONFIGURATION configuration_name AS PRIMARY DATABASE IS primary database name CONNECT IDENTIFIER IS primary database name;
    على سبيل المثال:
    CREATE CONFIGURATION OnPremExaDR AS PRIMARY DATABASE IS DB1 CONNECT IDENTIFIER IS DB1;
  3. إضافة قاعدة البيانات البديلة.
    تأكد من أن المعرف الخاص بك هو نفسه اسم الخدمة، بما في ذلك الأحرف الكبيرة والحروف الصغيرة.
    DGMGRL> ADD DATABASE standby unique database name AS CONNECT IDENTIFIER IS standby unique database name MAINTAINED AS PHYSICAL; 
    على سبيل المثال:
    ADD DATABASE DB1_PHX3G7 AS CONNECT IDENTIFIER IS DB1_phx3g7 MAINTAINED AS PHYSICAL;
    إذا استلمت رسالة خطأ ORA-16698، فتحقق من أن المعرف الخاص بك هو نفسه اسم الخدمة.

    خطأ: ORA-16698: يشتمل العضو على معلمة LOG_ARCHIVE_DEST_n بمجموعة سمات SERVICE

  4. تغيير حالة وجهة أرشيف الأرشيف.
    SQL> alter system set log_archive_dest_state_10='DEFER';
    SQL> alter system set log_archive_dest_10='';
  5. تحقق من وجهة أرشيف الأرشيف.
    SQL> show parameter log_archive_dest;
    NAME                                TYPE           VALUE
    ------------------------------------ ----------- ------------------------------
    log_archive_dest                     string
    log_archive_dest_1                   string      LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=DB1_PHX3G7
    log_archive_dest_10                  string
    log_archive_dest_11                  string
    log_archive_dest_12                  string
    log_archive_dest_13                  string
    log_archive_dest_14                  string
    log_archive_dest_15                  string
    
    NAME                                 TYPE         VALUE
    ------------------------------------ ----------- ------------------------------
    log_archive_dest_16                  string
    log_archive_dest_17                  string
    log_archive_dest_18                  string
    log_archive_dest_19                  string
    log_archive_dest_2                   string     SERVICE=DB1 VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DB1
    log_archive_dest_20                  string
    log_archive_dest_21                  string
    log_archive_dest_22                  string
    log_archive_dest_23                  string
  6. تمكين التكوين.
    DGMGRL> enable configuration;
  7. عرض التكوين.
    DGMGRL> show configuration;
    ستظهر المخرجات مشابهة لما يلي:
    Configuration - onpremexadr
      Protection Mode: MaxPerformance
      Members:
      db1        - Primary database
        Warning: ORA-16809: multiple warnings detected for the member
        db1_phx3g7 - Physical standby database 
          Error: ORA-16532: Oracle Data Guard broker configuration does not 
    exist
    Fast-Start Failover:  Disabled
    Configuration Status:
    ERROR   (status updated 21 seconds ago)
  8. في Oracle Database Exadata Cloud Service البديل، قم بالدخول للتحقق من التكوين.
    [oracle@exacs82-vm3sv1 ~]$ dgmgrl
    DGMGRL> connect
    Username: sys
    Password:
    Connected to "DB1_phx3g7"
    Connected as SYSDBA.
    DGMGRL> show configuration;
    وستكون المخرجات مماثلة لما يلي:
    Configuration - onpremexadr
      Protection Mode: MaxPerformance
      Members:
      db1        - Primary database
        Warning: ORA-16809: multiple warnings detected for the member
        db1_phx3g7 - Physical standby database 
          Warning: ORA-16809: multiple warnings detected for the member
    Fast-Start Failover:  Disabled
    Configuration Status:
    WARNING   (status updated 43 seconds ago

نسخ ملفات أرشيف الإعادة من المحلية إلى OCI

نسخ ملفات أرشيف redo وملفات قاعدة البيانات الأخرى من قاعدة البيانات المحلية في طبعة Oracle Cloud Infrastructure (OCI).

  1. عرض ملفات قاعدة البيانات المحلية.
    select name from v$datafile;
    ستبدو المخرجات مشابهة لما يلي:
    NAME
    --------------------------------------------------------------------------------
    +DATAC1/DB1/DATAFILE/system.277.1063487795
    +DATAC1/DB1/DATAFILE/sysaux.270.1063487827
    +DATAC1/DB1/DATAFILE/undotbs1.259.1063487843
    +DATAC1/DB1/DATAFILE/undotbs2.275.1063487867
    +DATAC1/DB1/DATAFILE/users.269.1063487879
  2. عرض حجم كل مجموعة لملفات البيانات المحلية.
    select bytes, group# from v$log;
    ستبدو المخرجات مشابهة لما يلي:
    BYTES     GROUP#
    ---------- ----------
     209715200	    1
     209715200	    2
     209715200	    3
     209715200	    4
  3. عرض سجلات redo لملفات البيانات المحلية.
    select member from v$logfile;
    ستبدو المخرجات مشابهة لما يلي:
    MEMBER
    --------------------------------------------------------------------------------
    +DATAC1/DB1/ONLINELOG/group_2.272.1063449917
    +RECOC1/DB1/ONLINELOG/group_2.281.1063449917
    +DATAC1/DB1/ONLINELOG/group_1.273.1063449917
    +RECOC1/DB1/ONLINELOG/group_1.282.1063449919
    +DATAC1/DB1/ONLINELOG/group_3.268.1063450555
    +RECOC1/DB1/ONLINELOG/group_3.283.1063450557
    +DATAC1/DB1/ONLINELOG/group_4.261.1063450557
    +RECOC1/DB1/ONLINELOG/group_4.284.1063450557
  4. أضف مجموعة ملفات أرشيف بديلة لكل سجل redo.
    على سبيل المثال، إذا كان لديك ثلاثة ملفات أرشيف redo، أضف ثلاث مجموعات ملفات أرشيف بديلة.
    SQL> 
    alter database add standby logfile group 5 ('+DATAC1','+RECOC1');
    alter database add standby logfile group 6 ('+DATAC1','+RECOC1');
    alter database add standby logfile group 7 ('+DATAC1','+RECOC1');
  5. عرض أعضاء ملف السجل.
    SQL> select member from v$logfile;
    ستبدو المخرجات مشابهة لما يلي:
    MEMBER
    --------------------------------------------------------------------------------
    +DATAC1/DB1/ONLINELOG/group_2.272.1063449917
    +RECOC1/DB1/ONLINELOG/group_2.281.1063449917
    +DATAC1/DB1/ONLINELOG/group_1.273.1063449917
    +RECOC1/DB1/ONLINELOG/group_1.282.1063449919
    +DATAC1/DB1/ONLINELOG/group_5.264.1063812687
    +DATAC1/DB1/ONLINELOG/group_3.268.1063450555
    +RECOC1/DB1/ONLINELOG/group_3.283.1063450557
    +DATAC1/DB1/ONLINELOG/group_4.261.1063450557
    +RECOC1/DB1/ONLINELOG/group_4.284.1063450557
    +RECOC1/DB1/ONLINELOG/group_5.422.1063812687
    +DATAC1/DB1/ONLINELOG/group_6.262.1063812785
    +RECOC1/DB1/ONLINELOG/group_6.445.1063812785
    +DATAC1/DB1/ONLINELOG/group_7.263.1063812807
    +RECOC1/DB1/ONLINELOG/group_7.446.1063812807
  6. عرض رقم المجموعة وأعضاء ملف الأرشيف.
    SQL> select group#,member from v$logfile;
    ستبدو المخرجات مشابهة لما يلي:
    GROUP#                        MEMBER
    ------------      --------------------------------------------------
     2                +DATAC1/DB1/ONLINELOG/group_2.272.1063449917
     2                +RECOC1/DB1/ONLINELOG/group_2.281.1063449917
     1                +DATAC1/DB1/ONLINELOG/group_1.273.1063449917
     1                +RECOC1/DB1/ONLINELOG/group_1.282.1063449919
     5                +DATAC1/DB1/ONLINELOG/group_5.264.1063812687
     3                +DATAC1/DB1/ONLINELOG/group_3.268.1063450555
     3                +RECOC1/DB1/ONLINELOG/group_3.283.1063450557
     4                +DATAC1/DB1/ONLINELOG/group_4.261.1063450557
     4                +RECOC1/DB1/ONLINELOG/group_4.284.1063450557
     5                +RECOC1/DB1/ONLINELOG/group_5.422.1063812687
     6                +DATAC1/DB1/ONLINELOG/group_6.262.1063812785
     6                +RECOC1/DB1/ONLINELOG/group_6.445.1063812785
     7                +DATAC1/DB1/ONLINELOG/group_7.263.1063812807
     7                +RECOC1/DB1/ONLINELOG/group_7.446.1063812807
  7. عرض التكوين في Oracle Data Guard.
    DGMGRL> show configuration
    ستبدو المخرجات مشابهة لما يلي:
    Configuration - onpremexadr
      Protection Mode: MaxPerformance
      Members:
      db1        - Primary database
        db1_phx3g7 - Physical standby database 
          Warning: ORA-16809: multiple warnings detected for the member
    Fast-Start Failover:  Disabled
    Configuration Status:
               WARNING   (status updated 8 seconds ago)
  8. في Oracle Database Exadata Cloud Service البديل، قم بعرض سجلات الإعادة.
    select member from v$logfile;
    ستبدو المخرجات مشابهة لما يلي:
    MEMBER
    ---------------------------------------------------
    /opt/oracle/oradata/ORCLCDB/redo03.log
    /opt/oracle/oradata/ORCLCDB/redo02.log
    /opt/oracle/oradata/ORCLCDB/redo01.log
  9. قم بالدخول إلى جلسة عمل واجهة سطر أوامر Oracle Data Guard (DGMGRL) في طبعة قاعدة بيانات Oracle Database Exadata Cloud Service البديلة باستخدام اسم المستخدم وكلمة السر sys.
    [oracle@droci admin]$ dgmgrl 
    DGMGRL> connect
  10. عرض التكوين في قاعدة البيانات البديلة في OCI.
    DGMGRL> show configuration;
    ستبدو المخرجات مشابهة لما يلي:
    Configuration - OnPremDr
    Protection Mode: MaxPerformance
      Members:
      db1        - Primary database
        db1_phx3g7 - Physical standby database 
          Warning: ORA-16809: multiple warnings detected for the member
    Fast-Start Failover:  Disabled
    Configuration Status:
    WARNING   (status updated 38 seconds ago)
  11. قم بتحرير طبعة قاعدة البيانات البديلة في OCI وتعيين الحالة إلى apply-off. عند نجاح الأمر، قم بالخروج من واجهة سطر الأوامر.
    DGMGRL> edit database DB1_phx3g7 set state=apply-off;
    DGMGRL> exit
  12. قم بالدخول إلى طبعة قاعدة البيانات البديلة في OCI كـ sysdba.
    [oracle@exacs82-vm3sv1 ~]$ sqlplus / as sysdba
  13. عرض رقم المجموعة وأعضاء ملف الأرشيف.
    SQL> select group#,member from v$logfile;
    ستبدو المخرجات مشابهة لما يلي:
        
    GROUP#
    ----------
    MEMBER
    --------------------------------------------------------------------------------
     2
    +DATAC1/DB1_PHX3G7/ONLINELOG/group_2.354.1063638089
     3
    +DATAC1/DB1_PHX3G7/ONLINELOG/group_3.355.1063638089
     1
    +DATAC1/DB1_PHX3G7/ONLINELOG/group_1.353.1063638089
     4
    +DATAC1/DB1_PHX3G7/ONLINELOG/group_4.356.1063638089
  14. عرض حجم كل مجموعة.
    select bytes, group# from v$log;
    ستبدو المخرجات مشابهة لما يلي:
    BYTES     GROUP#
    ---------- ----------
     209715200	    1
     209715200	    2
     209715200	    3
     209715200	    4
  15. أضف مجموعات ملفات الأرشيف البديل إلى قاعدة البيانات في OCI.
    [oracle@exacs82-vm3sv1 ~]$ sqlplus / as sysdba
    
    alter database add standby logfile group 5 ('+DATAC1','+RECOC1');
    alter database add standby logfile group 6 ('+DATAC1','+RECOC1');
    alter database add standby logfile group 7 ('+DATAC1','+RECOC1');
  16. عرض رقم المجموعة وأعضاء ملف الأرشيف.
    SQL> select group#,member from v$logfile;
    ستبدو المخرجات مشابهة لما يلي:
        GROUP#
    ----------
    MEMBER
    --------------------------------------------------------------------------------
     2
    +DATAC1/DB1_PHX3G7/ONLINELOG/group_2.354.1063638089
     3
    +DATAC1/DB1_PHX3G7/ONLINELOG/group_3.355.1063638089
     1
    +DATAC1/DB1_PHX3G7/ONLINELOG/group_1.353.1063638089
     4
    +DATAC1/DB1_PHX3G7/ONLINELOG/group_4.356.1063638089
     5
    +DATAC1/DB1_PHX3G7/ONLINELOG/group_5.358.1063813749
     5
    +RECOC1/DB1_PHX3G7/ONLINELOG/group_5.256.1063813749
     6
    +DATAC1/DB1_PHX3G7/ONLINELOG/group_6.359.1063813761
     6
    +RECOC1/DB1_PHX3G7/ONLINELOG/group_6.262.1063813761
     7
    +DATAC1/DB1_PHX3G7/ONLINELOG/group_7.360.1063813773
     7
    +RECOC1/DB1_PHX3G7/ONLINELOG/group_7.300.1063813773
  17. في طبعة قاعدة بيانات OCI البديلة، قم بالدخول إلى جلسة عمل واجهة سطر أوامر Oracle Data Guard (DGMGRL) باسم المستخدم وكلمة السر sys.
    [oracle@exacs82-vm3sv1 ~]$ dgmgrl
    DGMGRL> connect
    Username: sys
    Password:
    Connected to "DB1_phx3g7"
    Connected as SYSDBA.
  18. قم بتحرير طبعة قاعدة البيانات البديلة في OCI وتعيين الحالة إلى apply-on.
    DGMGRL> edit database db1_phx3g7 set state=apply-on;
  19. قم بتحرير طبعة قاعدة البيانات البديلة في OCI وتعيين حالة النقل إلى transport-on، ثم قم بالخروج من واجهة سطر الأوامر. عند نجاح الأمر، قم بالخروج من DGMGRL.
    DGMGRL> edit database DB1 set state=transport-on;
    DGMGRL> exit
  20. عرض ملفات السجل البديل في قاعدة البيانات البديلة في OCI للتحقق من البديل.
    SQL> select * from v$logfile where type='STANDBY';
  21. عرض ملفات أرشيف الإعادة في قاعدة البيانات البديلة في OCI.
    SQL> select member from v$logfile where type != 'STANDBY';
    ستبدو المخرجات مشابهة لما يلي:
    MEMBER
    --------------------------------------------------------------------------------
    +DATAC1/DB1_PHX3G7/ONLINELOG/group_2.354.1063638089
    +DATAC1/DB1_PHX3G7/ONLINELOG/group_3.355.1063638089
    +DATAC1/DB1_PHX3G7/ONLINELOG/group_1.353.1063638089
    +DATAC1/DB1_PHX3G7/ONLINELOG/group_4.356.1063638089
  22. استعادة قاعدة البيانات البديلة المدارة.
    SQL> recover managed standby database cancel;
    ستبدو المخرجات مشابهة لما يلي:
    Media recovery complete
  23. عرض الملفات باستخدام المعلمة convert.
    SQL> show parameter convert;
    ستبدو المخرجات مشابهة لما يلي:
    NAME				     TYPE	 VALUE
    ------------------------------------ ----------- ------------------------------
    db_file_name_convert		    string       DB1, DB1_phx3g7
    log_file_name_convert		   string       DB1, DB1_phx3g7
    pdb_file_name_convert		   string
  24. عرض ملفات قاعدة البيانات.
    select name from v$datafile;
    ستبدو المخرجات مشابهة لما يلي:
    NAME
    --------------------------------------------------------------------------------
    +DATAC1/DB1_PHX3G7/DATAFILE/system.348.1063638053
    +DATAC1/DB1_PHX3G7/DATAFILE/sysaux.349.1063638055
    +DATAC1/DB1_PHX3G7/DATAFILE/undotbs1.350.1063638057
    +DATAC1/DB1_PHX3G7/DATAFILE/undotbs2.351.1063638057
    +DATAC1/DB1_PHX3G7/DATAFILE/users.352.1063638059
  25. عرض تفاصيل أرشيف Oracle Data Guard.
    SQL> SELECT ROLE, THREAD#, SEQUENCE#, ACTION FROM V$DATAGUARD_PROCESS;
    ستبدو المخرجات مشابهة لما يلي:
    
    ROLE	    THREAD#     SEQUENCE#  ACTION
    ------------------------ ---------- ---------- ------------
    RFS ping			     1	     0 IDLE
    RFS ping			     2	    62 IDLE
    RFS async		           2	    62 RECEIVING
    broker instance worker            0	     0 IDLE
    broker worker			0	     0 IDLE
    archive redo			 0	     0 IDLE
    archive redo			 0	     0 IDLE
    archive redo			 0	     0 IDLE
    archive local			0	     0 IDLE
    redo transport timer		0	     0 IDLE
    gap manager			  0	     0 IDLE
    
    ROLE	    THREAD#     SEQUENCE#  ACTION
    ------------------------ ---------- ---------- ------------
    broker monitor		      0	     0 IDLE
    broker net worker		   0 	    0 IDLE
    redo transport monitor	     0	     0 IDLE
    log writer			   0	     0 IDLE
    RFS async	                  0	   187 RECEIVING
    16 rows selected.
  26. تعطيل استعادة قاعدة البيانات البديلة المدارة باستخدام ملف السجل.
    SQL> recover managed standby database using current logfile disconnect;
    Media recovery complete.
  27. عرض الملفات بمعلمة الوجهة والتحقق منها.
    SQL>show parameter dest;