تكوين منظومة DR

قم بإعداد هيكل إجراءات مواجهة الكوارث (DR). تتوفر السكريبتات لتبسيط العملية.

تنزيل الاسكربتات

الحصول على آخر اسكربتات الإعداد من المخزن GitHub.

ملاحظة:

ضع كل الاسكربتات التي تم تنزيلها في نفس المجلد.
  1. انتقل إلى مخزن GitHub.
  2. نزّل كل الاسكربتات في دليل maa/fmw-wls-with-adb-dr.
  3. نزّل كل الاسكربتات في دليل maa/app_dr_common.
    تقوم هذه البرامج النصية بإجراء مكالمات لبعضها البعض. على الرغم من العملية المحددة التي يتم إجراؤها في وقت ما، قم بتنزيل الأدلة بأكملها ووضع جميع البرامج النصية في نفس المجلد. ستحتاج إلى البرامج النصية في كل من الموقعين الأساسي والثانوي.
  4. اتبع التعليمات الواردة في هذا المستند واقرأ المتغيرات المطلوبة في كل اسكربت لكل عملية تقوم بها.

يتضمن الملف الذي تم تنزيله اسكربتات لتنفيذ المهام التالية:

  1. تكوين اسم TNS بديل لمصادر البيانات
  2. إعداد تكوين DR الأولي
  3. إعداد استنساخ مستمر
  4. تغيير حافظات نظام Oracle WebLogic Server أو Oracle SOA أو Oracle Fusion Middleware.
يوفر كل برنامج نصي الأتمتة لأجزاء مختلفة من إعداد DR ودورة حياة نظام الحماية من الكوارث. يقدم الجدول التالي إجمالي البرامج المساعدة:
اسم السكريبت الوصف
fmwadb_config_replica.sh نسخ التكوين بين المواقع.
fmwadb_dr_prim.sh إعداد موقع أساسي لإعداد DR.
fmwadb_dr_stby.sh إعداد موقع ثانوي لإعداد DR.
fmwadb_rest_api_listabds.sh احصل على أساس دور Autonomous Database على معلومات المستأجر ومعرف ADB.
fmwadb_switch_db_conn.sh استبدال معلومات الاتصال الموجودة بـ ADBS WALLET جديد.
fmw_change_to_tns_alias.sh استبدل سلاسل الاتصال المستخدمة بواسطة مصادر بيانات Oracle WebLogic وملفات jps config باسم tns البديل.
fmw_dec_pwd.sh فك تشفير كلمة سر Oracle WebLogic المشفرة.
fmw_enc_pwd.sh تشفير كلمة سر باستخدام تشفير Oracle WebLogic.
fmw_get_connect_string.sh إرجاع سلسلة الاتصال التي يستخدمها مصدر بيانات Oracle WebLogic أو Oracle SOA أو Oracle Fusion Middleware.
fmw_get_ds_property.sh إرجاع قيمة لخاصية مصدر بيانات محددة.

إعداد الطبقة المتوسطة الأساسية للواجهة الأمامية الافتراضية

إذا لم يتم تكوين الطبقة الوسطى الأساسية بالفعل باسم واجهة أمامية ظاهرية، فقم بتنفيذ هذه الإجراءات لإعدادها لتكوين استعادة القدرة على العمل بعد الكوارث (DR).

  1. أضف اسم الواجهة الأمامية الظاهرية وIP إلى ملف /etc/hosts في كل مضيفات الطبقة المتوسطة الأساسية.
    يجب على كل موقع دائمًا حل اسم الواجهة الأمامية لموازنة التحميل المحلية الخاصة به، بغض النظر عن دقة واجهة العميل من خلال نظام اسم المجال (DNS). كمستخدم root، قم بتحرير ملف /etc/hosts وقم بتخطيط IP العام لموازن التحميل الأساسي إلى اسم المجال المؤهل بالكامل (FQDN) للواجهة الأمامية الظاهرية. كرر هذه الخطوة في جميع مضيفات Oracle WebLogic الأساسية. على سبيل المثال:
    [oracle@wlsociprefix-wls-0 ~]$ more /etc/hosts
    (...)
    # Front-end virtual name
    111.111.111.111 mywebapps.example.com

    ملاحظة:

    يجب عدم تغيير ملف /etc/hosts الخاص بمضيفات Oracle WebLogic الأساسية عند وجود تبديل أو تجاوز فشل. ستقوم مضيفات Oracle WebLogic الأساسية دائمًا بحل اسم الواجهة الأمامية الظاهرية من خلال IP الخاص بها. يتم إجراء تحديث DNS المطلوب أثناء إجراءات التبديل وتجاوز الفشل في ملفات DNS أو المضيف المستخدمة من قبل العملاء.

  2. تكوين اسم الواجهة الأمامية كواجهة أمامية للمجموعة.
    1. سجل الدخول إلى وحدة تحكم Oracle WebLogic لمثيلك.
    2. انتقل إلى البيئة، ثم المجموعات، ثم حدد المجموعة.
    3. انتقل إلى التكوين، ثم HTTP.
    4. قم بتعيين المضيف "المتقدم" إلى اسم المجال المؤهل بالكامل (FQDN) الأمامي.
      على سبيل المثال، mywebapps.example.com.
    5. تأكد من صحة تكوين منافذ الواجهة الأمامية لـ HTTP وHTTPS باستخدام القيم.
    6. انقر على حفظ، ثم انقر على تنشيط.
  3. أعد تشغيل المجموعة لتنفيذ التغييرات.

تعديل مصادر البيانات الأساسية وتكوين JPS لاستخدام الاسم البديل لـ TNS

يؤدي استخدام الاسم البديل لـ Transparent Network Substrate (TNS) الموجود في عناوين URL الخاصة بـ Java Database Connectivity (JDBC) إلى تسهيل إعادة تكوين مصادر بيانات Oracle WebLogic Server for Oracle Cloud Infrastructure باستخدام النسخ القابلة للتجديد عن بُعد للتنقل بين المصدر الأساسي والعنصر البديل.

ملاحظة:

يتم تكوين طبعات Oracle SOA Suite في السوق المزودة بالإصدار 23.1.1 (فبراير 2023) أو إصدار أحدث باستخدام نهج الاسم البديل TNS الجاهز. في هذه الحالة، يمكنك تخطي هذه المهمة.

يتطلب استخدام الاسم البديل لـ TNS أن تشتمل مصادر البيانات وملفات jps على المتغير oracle.net.tns_admin في ملفات تكوين Oracle Fusion Middleware.

  1. استخدم الأمر grep للبحث عن متغير oracle.net.tns_admin في ملف تكوين Oracle Fusion Middleware.
    [oracle@soarefr-soa-0 ~]$ grep oracle.net.tns_admin ${DOMAIN_HOME}/config/fmwconfig/jps-config.xml 
    <property name="oracle.net.tns_admin" value="/u01/data/domains/soarefr_domain/config/atp"/>
    
    [oracle@soarefr-soa-0 ~]$ grep oracle.net.tns ${DOMAIN_HOME}/config/jdbc/opss-datasource-jdbc.xml  -A1 | grep value 
    <value>/u01/data/domains/soarefr_domain/config/atp</value>
    [oracle@soarefr-soa-0 ~]$
    يجب أن يكون الدليل المعروض في jps-config.xml (ومصادر البيانات) متاحًا ويمكن الوصول إليه من جميع نقاط التوصيل في النطاق WebLogic Server.
    • في Oracle SOA Suite في Marketplace يوجد هذا الدليل ضمن دليل $DOMAIN_HOME/config/atp (قبل الإصدار 23.1.1) أو دليل $DOMAIN_HOME/config/tnsadmin (لإصدار 23.1.1 والإصدارات الأحدث) ويتم استنساخه تلقائيًا بواسطة WebLogic Server لكل نقاط التوصيل الأخرى عند بدء الخوادم المدارة.

      ملاحظة:

      إذا كان Oracle SOA Suite الأساسي في السوق سابقًا على الإصدار 23.1.1، يوصى بنقل المجلد إلى دليل $DOMAIN_HOME/config/tnsadmin لجعله متسقًا مع قاعدة البيانات البديلة.
    • في Oracle WebLogic Server for Oracle Cloud Infrastructure يوجد هذا ضمن $DOMAIN_HOME/atpwallet.

      ملاحظة:

      إذا لم تكن الحافظة موجودة ضمن الدليل DOMAIN_HOME/config، فلن يتم استنساخ التغييرات التي تم إجراؤها على محتويات دليل الحافظة بواسطة بنية Oracle WebLogic Server الأساسية إلى نقاط التوصيل الأخرى تلقائيًا. في هذه الحالات، يجب إما تغيير دليل الحافظة (وتحديث تكوينات مصادر البيانات المطلوبة)، أو نسخه يدويًا إلى نقاط توصيل أخرى عند تحديثه.
    • في تكوينات أخرى، يمكنك وضع الدليل في التخزين المشترك.
    في جميع الحالات، يجب أن يكون نفس دليل tns_admin قابلاً للوصول من قبل جميع الأعضاء المختلفين في نطاق WebLogic Server. سيحتوي هذا الدليل على ملف tnsnames.ora بأسماء بديلة مختلفة للخدمات المختلفة التي تم إنشاؤها في Oracle Autonomous Database.

    فيما يلي عينة لملف tnsnames.ora لتكوين Oracle Fusion Middleware مع Oracle Autonomous Database Serverless.

    [oracle@soarefr-soa-0 ~]$ cat 
    $DOMAIN_HOME}}/config/tnsadmin/tnsnames.ora
    soaadb1_high = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbvcn.adb.ap-mumbai-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_high.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
     
    soaadb1_low = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbvcn.adb.ap-mumbai-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_low.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
     
    soaadb1_medium = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbvcn.adb.ap-mumbai-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_medium.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
     
    soaadb1_tp = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbvcn.adb.ap-mumbai-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_tp.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
     
    soaadb1_tpurgent = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbvcn.adb.ap-mumbai-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_tpurgent.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))

    يتم استهلاك التعديلات على ملف tnsnames.ora ديناميكيًا بواسطة مصادر بيانات WLS. وهذا يعني أنه يمكنك تغيير ملف tnsnames.ora (على سبيل المثال للإشارة إلى خدمة مختلفة) دون الحاجة إلى إعادة تشغيل مصدر البيانات.

  2. لتعديل تكوين مصدر بيانات قياسي لاستخدام الاسم البديل لـ TNS في Oracle SOA Suite في السوق أو نظام Oracle WebLogic Server for Oracle Cloud Infrastructure الذي يستخدم Autonomous Database، استخدم اسكربت fmw_change_to_tns_alias.sh.

    يجب استخدام الاسم البديل في جميع ملفات مصادر البيانات ضمن $DOMAIN_HOME/config/jdbc وفي ملفات jps config ضمن $DOMAIN_HOME/config/fmwconfig.

    ملاحظة:

    سيقوم هذا السكريبت فقط بتغيير سلسلة الاتصال وخاصية tns_admin. إذا أضفت مصادر بيانات مخصصة أخرى، فستحتاج أيضًا إلى استخدام الاسم البديل لـ TNS تمامًا مثل المصادر الداخلية لـ Oracle WebLogic، وOracle SOA Suite في السوق، وOracle Fusion Middleware.
    عند إعداد Oracle WebLogic Server for Oracle Cloud Infrastructure أو Oracle SOA Suite في السوق باستخدام Oracle Autonomous Database، يتم تضمين تكوين حافظة قاعدة البيانات في مصادر البيانات (موقع مخزن الثقة وموقع مخزن المفاتيح وما إلى ذلك). لا يتم تعديل هذه المعلمات بواسطة الاسكربت fmw_change_to_tns_alias.sh وتكون صالحة سواء كنت تستخدم الاسم البديل TNS أم لا. يتم تكوين دليل حافظة بواسطة Oracle WebLogic Server for Oracle Cloud Infrastructure وOracle SOA Suite في السوق أثناء التزويد ويحتوي بالفعل على ملف tnsnames.ora. يمكنك أيضًا الحصول على حافظة Oracle Autonomous Database من واجهة مستخدم قاعدة البيانات الذاتية في OCI.

    ملاحظة:

    يتم تنزيل حافظة Oracle Autonomous Database المستخدمة بواسطة Oracle WebLogic Server for Oracle Cloud Infrastructure وOracle SOA Suite في السوق إلى نقطة توصيل خادم الإدارة عند تزويدهما. يمكنك تحديث الحافظة للأنظمة الأساسية والبديلة عن طريق إعادة تنزيلها من واجهة مستخدم Oracle Autonomous Database وتحديث كلمة سر الحافظة في الدليل $DOMAIN_HOME/config/jdbc وفي ملفات jps config ضمن $DOMAIN_HOME/config/fmwconfig. إن استخدام نفس كلمة السر لحافظات النسخة الأساسية والبديلة والمحافظ القابلة للتحديث سيسهل معالجة تكوين مصدر البيانات في كلا الموقعين؛ ومع ذلك، فإن البرامج النصية المتوفرة أدناه ستكون قادرة على التعامل مع كلمات سر مختلفة. استخدم اسكربت fmwadb_switch_db_conn.sh لتحديث النظام باستخدام حافظة جديدة.

    عند تزويد النظام الأساسي، اخترت (في شاشات التزويد) أحد مستويات خدمة Oracle Autonomous Database. قم بتشغيل السكريبت fmw_change_to_tns_alias.sh بنفس مستوى الخدمة. مستويات الخدمة لخدمة قاعدة البيانات في Oracle Autonomous Database هي: منخفضة، متوسطة، مرتفعة، مرتفعة، مرتفعة. فيما يلي مثال على تغيير Oracle Fusion Middleware إلى اسم TNS البديل:

    [oracle@soarefr-soa-0 ~]$ grep url /u01/data/domains/soarefr_domain/config/fmwconfig/jps-config.xml
    <property name="jdbc.url" value="jdbc:oracle:thin:@(description=(retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbvcn.adb.ap-mumbai-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_low.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))"/>
    [oracle@soarefr-soa-0 ~]$ grep url /u01/data/domains/soarefr_domain/config/jdbc/opss-datasource-jdbc.xml
    <url>jdbc:oracle:thin:@(description=(retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbvcn.adb.ap-mumbai-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_low.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))</url>
     
    NOTICE the "low" label in g914a2540e8ab6d_soaadb1_low.adb.oraclecloud.com, that is the service flag that will allow you identify the tns alias that needs to be used
     
    [oracle@soarefr-soa-0 good]$ cat $DOMAIN_HOME/config/atp/tnsnames.ora | grep low | awk -F '=' '{print $1}'
    soaadb1_low
     
    [oracle@soarefr-soa-0 good]$ ./fmw_change_to_tns_alias.sh soaadb1_low                                                                                          
    Getting variables from current datasource ...............
    An existing tns_admin property was found in /u01/data/domains/soarefr_domain/config/jdbc/opss-datasource-jdbc.xml and will be used
    Found soaadb1_low  as tns_alias
    No modifications will be required in /u01/data/domains/soarefr_domain/config/atp/tnsnames.ora
    *******************WILL USE THESE SETTINGS********************
    **************************************************************
    TNS admin:........................./u01/data/domains/soarefr_domain/config/atp
    TNS alias:........................ soaadb1_low
    Current connect string:............(description=(retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=rcsoaadb1.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_rcsoaadb1_low.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
    Current jps connect string:........(description=(retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=rcsoaadb1.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_rcsoaadb1_low.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
    Current tnsnames.ora:..............
    soaadb1_high = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=rcsoaadb1.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_rcsoaadb1_high.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
    soaadb1_low = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=rcsoaadb1.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_rcsoaadb1_low.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
    soaadb1_medium = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=rcsoaadb1.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_rcsoaadb1_medium.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
    soaadb1_tp = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=rcsoaadb1.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_rcsoaadb1_tp.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
    soaadb1_tpurgent = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=rcsoaadb1.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_rcsoaadb1_tpurgent.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
    **************************************************************
    Taking backup of existing config...
    ************** Replacing DB connect information **************
    Replacing jdbc url in config/jdbc files...
    Replacing jdbc url in config/fmwconfig files...
    Replacement complete!
     
    [oracle@soarefr-soa-0 ~]$ grep url $DOMAIN_HOME/config/fmwconfig/jps-config.xml
    <property name="jdbc.url" value="jdbc:oracle:thin:@soaadb1_low "/>
    [oracle@soarefr-soa-0 ~]$ grep url /u01/data/domains/soarefr_domain/config/jdbc/opss-datasource-jdbc.xml
        <url>jdbc:oracle:thin:@soaadb1_low </url>
    <property name="jdbc.url" value="jdbc:oracle:thin:@soaadb1_low "/>
    [oracle@soarefr-soa-0 ~]$
  3. أعد تشغيل كل خوادم Oracle WebLogic في المجال لاستهلاك التغييرات التي تم إجراؤها بواسطة الاسكربت.

إنشاء شبكة سحابية افتراضية (VCN) وشبكة فرعية في المنطقة الثانوية

إذا لم تكن قد قمت بذلك بالفعل، فقم بتكوين شبكة سحابية افتراضية (VCN) في منطقة الاستعداد باستخدام CIDR لا يتعارض مع CIDR الخاص بالمنطقة الأساسية. على سبيل المثال، إذا كان VCN الأساسي يستخدم 10.1.0.0/16، فيمكن أن يستخدم VCN الثانوي 10.2.0.0/16.

  1. قم بإنشاء شبكة سحابة افتراضية (VCN) وشبكة فرعية في المنطقة الثانوية.
    يمكنك تكوين مكدس سحابي لتوفير مجموعة من الخدمات السحابية ذات الصلة.
  2. تأكد من أن قوائم التأمين تسمح بالاتصالات المناسبة بين الطبقات.

    تحقق من الاتصال التالي:

    • من موازن أحمال OCI إلى خادم WebLogic
    • من خادم WebLogic إلى قاعدة البيانات
    • من خادم WebLogic إلى التخزين المشترك

    قم أيضًا بتضمين القواعد المطلوبة للسماح بالاتصالات بين نقاط توصيل خادم الإدارة من خلال بوابة التوجيه الديناميكي (DRG) بمجرد تكوينها.

تكوين DRG بين وحدات VCN الأساسية والثانوية

يتطلب إعداد استعادة القدرة على العمل بعد الكوارث أن تتصل نقاط توصيل إدارة Oracle WebLogic Server الأساسية والثانوية ببعضها البعض لاستلام تكوين النطاق من خلال نسخ Oracle Cloud Infrastructure File Storage. لذلك يجب عليك إنشاء جيت واي توجيه ديناميكي (DRG) بين شبكات VCN الخاصة بالطبقة المتوسطة.

  1. أنشئ DRG بين شبكات VCN الخاصة بالطبقة المتوسطة.
  2. تحقق من ظهور DRG الجديد في صفحة بوابات التوجيه الديناميكي الخاصة بالقسم أو المنطقة التي اخترتها.
    تتحقق اسكربتات إعداد DR من إمكانية إنشاء الاتصالات المطلوبة.
  3. قم بتكوين التوجيهات وقواعد السرية المناسبة في وحدات VCN الأساسية والبديلة للسماح باتصالات SSH بين الطبقات الوسطى.
  4. تحقق من إمكانية إنشاء اتصال SSH من نقطة توصيل Oracle WebLogic Administration Server في نقطة توصيل Oracle WebLogic Administration Server الأساسية الثانوية.
    على سبيل المثال، إذا كان 10.2.1.104 هو IP لنقطة توصيل خادم الإدارة الثانوية، فقم بتشغيل ما يلي من نقطة توصيل خادم الإدارة الرئيسية.
    [opc@soarefr-soa-0 ~]$ ssh -i KeySOAMAA.ppk opc@10.2.1.104
    Last login: Wed Dec 14 16:59:15 2022 from 10.2.0.83
    [opc@soarefr-soa-0 ~]$

تكوين Oracle Autonomous Data Guard البديل في المنطقة الثانوية

قم بإنشاء قاعدة بيانات بديلة لـ Oracle Autonomous Database الأساسية الحالية.

  1. بالنسبة إلى Oracle Autonomous Database Serverless، يمكنك تكوين Oracle Autonomous Database Serverless بديلة في المنطقة الثانوية.
    1. في وحدة تحكم OCI، انقر على Oracle Database في قائمة التنقل اليسرى للانتقال إلى Oracle Autonomous Database الأساسية.
    2. في صفحة تفاصيل Autonomous Database، ضمن الموارد، انقر على استعادة القدرة على العمل بعد الكوارث، ثم انقر على إضافة قاعدة بيانات نظيرة.
    3. استخدم الشبكات الفرعية VCN والخاصة التي قمت بتكوينها سابقًا.
  2. لـ Oracle Autonomous Database on Dedicated Exadata Infrastructure
    1. في وحدة تحكم OCI، انتقل إلى صفحة تفاصيل قاعدة بيانات حاوية Autonomous وحدد مورد ارتباطات Autonomous Data Guard في قسم الموارد.
    2. انقر على تمكين Autonomous Data Guard.
    3. أدخل معلومات عنقود Autonomous VM Cluster مع وضع الحماية واختيار الانتقال التلقائي. بعد إدخال جميع المعلومات اللازمة، انقر على تمكين Autonomous Data Guard.
      كجزء من سير العمل هذا، يتم تكوين قاعدة بيانات حاوية Autonomous بديلة جديدة مع كل قواعد البيانات المستقلة البديلة في عنقود Autonomous VM المحدد.

إعداد Autonomous Database البديلة لإعداد DR

تعتمد هذه المهمة على ما إذا كنت تستخدم طريقة أخذ اللقطة أو الاستنساخ القابل للتجديد عن بُعد.

بالنسبة لطريقة اللقطة البديلة، راجع تحويل البديل إلى لقطة بديلة.

للحصول على طريقة النسخ القابل للتجديد عن بُعد، راجع تكوين نسخة قابلة للتجديد عن بُعد في المنطقة الثانوية.

تحويل البديل إلى بديل للقطة

باستخدام نهج "اللقطة البديلة"، قم بتحويل قاعدة البيانات الذاتية الاحتياطية الخاصة بك إلى "اللقطة البديلة".

  1. من قائمة التنقل اليسرى لوحدة تحكم Oracle Cloud Infrastructure، انقر على Autonomous Database.
  2. في المنطقة الثانوية، حدد Autonomous Database البديلة.
  3. من القائمة المنسدلة المزيد من الإجراءات، انقر على تحويل إلى قاعدة بيانات اللقطات البديلة.
  4. إذا كنت تستخدم بنية أساسية مخصصة، فحدد استخدام خدمات قاعدة البيانات الأساسية.

ملاحظة:

عند عدم تحويل بديل لقطة في Oracle Dedicated Exadata Infrastructure إلى بديل فعلي خلال 7 أيام، يتم تحويل بديل اللقطة تلقائيًا إلى بديل فعلي.

عندما لا يتم تحويل البيانات البديلة للقطات في Oracle Autonomous Database Serverless إلى البيانات البديلة الفعلية خلال يومين، يتم تحويل البيانات البديلة للقطات تلقائيًا إلى البيانات البديلة الفعلية.

تكوين نسخة قابلة للتجديد عن بُعد في المنطقة الثانوية

باستخدام أسلوب النسخ القابل للتجديد عن بُعد، قم بتكوين نسخة قابلة للتجديد من Oracle Autonomous Database Serverless الأساسي الموجود في المنطقة البعيدة.

  1. تكوين نسخة قابلة للتجديد من Oracle Autonomous Database Serverless الأساسي الحالي.
    ضع النسخة القابلة للتجديد في المنطقة الثانوية (البعيدة) داخل شبكة السحابة الافتراضية (VCN) والشبكة الفرعية الخاصة التي قمت بتكوينها سابقًا.

    ملاحظة:

    لا يمكنك استخدام نفس اسم قاعدة البيانات مثل اسم قاعدة البيانات الأساسية لأن هذا الاسم قيد الاستخدام بالفعل بواسطة قاعدة البيانات البديلة الفعلية.
  2. استخدم Private Endpoint Access Only للوصول إلى قاعدة البيانات.

    فور الإنشاء، سيظل الاستنساخ القابل للتجديد متصلاً وفي وضع القراءة فقط. لا يمكن تزويد أنظمة Oracle WebLogic Server وOracle SOA وOracle Fusion Middleware مقابل UNLESS حيث يتم تحويلها إلى القراءة والكتابة (مفصولة عن الأنظمة الأساسية).

  3. قطع اتصال الاستنساخ القابل للتجديد بقاعدة البيانات المستقلة الأساسية وتحويله إلى وضع القراءة/الكتابة.

    ملاحظة:

    لا يمكن أن يظل النسخ القابل للتحديث عن بعد غير متصل لأكثر من 24 ساعة. على سبيل المثال، لا يمكن أن تستغرق أكثر من 24 ساعة لإنشاء الطبقات المتوسطة الثانوية التي تشير إلى قاعدة بيانات النسخ القابلة للتجديد عن بُعد.
    1. من قائمة التنقل اليسرى لـ Oracle Cloud Infrastructure، انقر على Autonomous Database.
    2. حدد اسم النسخ القابل للتجديد.
    3. حدد قاعدة البيانات المصدر، ثم انقر على فصل.

توفير النظام الثانوي

توفير Oracle WebLogic Server for Oracle Cloud Infrastructure أو Oracle SOA Suite في السوق أو خدمة Oracle Cloud Infrastructure (OCI) متوسطة المستوى الأخرى التي تستخدم Oracle Fusion Middleware (النظام) التي تشير إلى قاعدة البيانات الثانوية (لنهج اللقطة البديلة) أو إلى النسخة القابلة للتجديد (لنهج الاستنساخ القابل للتجديد عن بُعد).

  1. اتبع الشبكة الفرعية القياسية وCIDR وقواعد الأمان وتوصيات البادئة الخاصة بإجراءات مواجهة الكوارث.

    يمكن أن يكون اسم المكدس مختلفًا، ولكن يجب استخدام نفس بادئة اسم المورد التي استخدمتها في موقعك الأساسي. توصي Oracle باستخدام نفس السعة وتكوين الحوسبة في كل من المواقع الأساسية والبديلة لسلوك الانتقال التلقائي/التبديل المثالي.

    تأكد من أن إصدار Oracle WebLogic Server لـ OCI ومستوى التصحيح المطلوب تزويدهما في الموقع الثانوي مطابق للإصدار الجاري تشغيله في الموقع الأساسي.

    إذا كنت بحاجة إلى مزيد من التفاصيل، فاطلع على الجدول الذي يلخص خيارات معالج التزويد لإعداد DR في قسم "توفير WLS لـ OCI في الموقع الثانوي" في Oracle WebLogic Server for Oracle Cloud Infrastructure Disaster Recovery أو في قسم "توفير SOA Suite في السوق في الموقع الثانوي" في SOA Suite في Oracle Cloud Infrastructure Marketplace Disaster Recovery.

  2. تكوين نظام الطبقة الوسطى الثانوي وفقًا لعملية التزويد القياسية.
  3. تحقق من Oracle WebLogic Server for Oracle Cloud Infrastructure أو Oracle SOA Suite في السوق أو أية خدمة أخرى من الطبقة الوسطىOracle Cloud Infrastructure (OCI) تستخدم عناوين URL لـ Oracle Fusion Middleware (على سبيل المثال، وحدة التحكم الطرفية، soa-infra، وما إلى ذلك) للتحقق من تكوين النظام بشكل صحيح.
  4. بمجرد التحقق، قم بإيقاف عمليات Oracle WebLogic في الاستعداد: الخوادم المدارة وخادم الإدارة ومديري نقاط التوصيل.
  5. إذا كنت تستخدم استنساخًا قابلاً للتجديد عن بُعد، فيمكنك إعادة توصيله بالمصدر. إذا كنت تستخدم قاعدة بيانات اللقطة البديلة، فيمكنك تحويلها إلى قاعدة بيانات فعلية بديلة مرة أخرى.
    لا تحاول بدء عمليات Oracle WebLogic الثانوية حتى اكتمال إعداد DR.

تعديل سلاسل الاتصال لاسم TNS البديل الثانوية

قم بتعديل الاسم المستعار المستخدم في النظام الثانوي ليكون هو نفس الاسم المستعار الموجود في النظام الأساسي.

كما هو الحال في النظام الأساسي، يجب استخدام اسم بديل لـ Transparent Network Substrate (TNS) في جميع ملفات مصادر البيانات ضمن $DOMAIN_HOME/config/jdbc وفي ملفات jps config ضمن $DOMAIN_HOME/config/fmwconfig. الاسم البديل المستخدم في النظام الثانوي (البديل) هو نفس الاسم الموجود في النظام الأساسي نظرًا لاستنساخ مصادر البيانات من النظام الأساسي الذي يحتوي على الاسم البديل الذي تم تكوينه سابقًا.

تعتمد هذه المهمة على ما إذا كنت تستخدم طريقة لقطة بديلة أو طريقة استنساخ قابلة للتجديد عن بُعد.

تعديل سلاسل اتصال الاسم المستعار لـ TNS الخاص بالطريقة البديلة للقطة

بالنسبة لطريقة اللقطة البديلة، من المتوقع أن تكون الأسماء البديلة في ملف tnsnames.ora هي نفسها الموجودة في الملف الأساسي (على الرغم من أن سلاسل الاتصال ستشير إلى عنوان قاعدة البيانات البديلة). لست بحاجة لتعديلها.

  1. إذا كانت السلاسل في ملف tnsnames.ora مزدوجة (حيث تشتمل على مضيفي قاعدة بيانات ذاتية محلية وبعيدة)، فإن Oracle توصي بتعديلها للإشارة فقط إلى قاعدة البيانات المحلية.
    يمكن أن يحدث هذا عند استخدام Oracle Autonomous Database على بنية أساسية مخصصة. أنت بحاجة إلى إجراء هذا التغيير مرة واحدة فقط، حيث إن ملف tnsnames.ora الخاص بالقاعدة البديلة لم يتم تغييره بواسطة استنساخ التكوين وعمليات دورة الحياة الأخرى.

    فيما يلي مثال حيث تكون الإدخالات في ملف tnsnames.ora مزدوجة:

    adbd1_tp=(DESCRIPTION =(CONNECT_TIMEOUT = 90)(RETRY_COUNT = 50)(RETRY_DELAY = 3)(TRANSPORT_CONNECT_TIMEOUT = 3)(ADDRESS_LIST =(LOAD_BALANCE = ON)(ADDRESS = (PROTOCOL=TCP)(HOST= host-kyzm3-scan.secondarysubnet.secondaryvcn.oraclevcn.com)(PORT=1521)) (ADDRESS = (PROTOCOL=TCP)(HOST=host-xwgo9-scan.primarysubnet.primaryvcn.oraclevcn.com)(PORT=1521)) )(CONNECT_DATA = (SERVICE_NAME = ADBD1_tp.atp.oraclecloud.com)))
    
    adbd1_medium=(DESCRIPTION =(CONNECT_TIMEOUT = 90)(RETRY_COUNT = 50)(RETRY_DELAY = 3)(TRANSPORT_CONNECT_TIMEOUT = 3)(ADDRESS_LIST =(LOAD_BALANCE = ON)(ADDRESS = (PROTOCOL=TCP)(HOST=host-kyzm3-scan.secondarysubnet.secondaryvcn.oraclevcn.com)(PORT=1521)) (ADDRESS = (PROTOCOL=TCP)(HOST=host-xwgo9-scan.primarysubnet.primaryvcn.oraclevcn.com)(PORT=1521)) )(CONNECT_DATA = (SERVICE_NAME = ADBD1_medium.atp.oraclecloud.com)))
    
    adbd1_tpurgent=(DESCRIPTION =(CONNECT_TIMEOUT = 90)(RETRY_COUNT = 50)(RETRY_DELAY = 3)(TRANSPORT_CONNECT_TIMEOUT = 3)(ADDRESS_LIST =(LOAD_BALANCE = ON)(ADDRESS = (PROTOCOL=TCP)(HOST=host-kyzm3-scan.secondarysubnet.secondaryvcn.oraclevcn.com)(PORT=1521)) (ADDRESS = (PROTOCOL=TCP)(HOST=host-xwgo9-scan.primarysubnet.primaryvcn.oraclevcn.com)(PORT=1521)) )(CONNECT_DATA = (SERVICE_NAME = ADBD1_tpurgent.atp.oraclecloud.com)))
    …
  2. إذا كانت لديك إدخالات مزدوجة، فقم بتعديلها للإشارة فقط إلى Autonomous Database المحلية عن طريق إزالة عنوان قاعدة البيانات البعيدة.

    يجب أن يشتمل ملف tnsnames.ora الثانوي على العنوان ADDRESS الخاص بقاعدة البيانات البديلة فقط. على سبيل المثال:

    adbd1_tp=(DESCRIPTION =(CONNECT_TIMEOUT = 90)(RETRY_COUNT = 50)(RETRY_DELAY = 3)(TRANSPORT_CONNECT_TIMEOUT = 3)(ADDRESS_LIST =(LOAD_BALANCE = ON)(ADDRESS = (PROTOCOL=TCP)(HOST= host-kyzm3-scan.secondarysubnet.secondaryvcn.oraclevcn.com)(PORT=1521)))(CONNECT_DATA = (SERVICE_NAME = ADBD1_tp.atp.oraclecloud.com)))
    
    adbd1_medium=(DESCRIPTION =(CONNECT_TIMEOUT = 90)(RETRY_COUNT = 50)(RETRY_DELAY = 3)(TRANSPORT_CONNECT_TIMEOUT = 3)(ADDRESS_LIST =(LOAD_BALANCE = ON)(ADDRESS = (PROTOCOL=TCP)(HOST=host-kyzm3-scan.secondarysubnet.secondaryvcn.oraclevcn.com)(PORT=1521)))(CONNECT_DATA = (SERVICE_NAME = ADBD1_medium.atp.oraclecloud.com)))
    
    adbd1_tpurgent=(DESCRIPTION =(CONNECT_TIMEOUT = 90)(RETRY_COUNT = 50)(RETRY_DELAY = 3)(TRANSPORT_CONNECT_TIMEOUT = 3)(ADDRESS_LIST =(LOAD_BALANCE = ON)(ADDRESS = (PROTOCOL=TCP)(HOST=host-kyzm3-scan.secondarysubnet.secondaryvcn.oraclevcn.com)(PORT=1521)))(CONNECT_DATA = (SERVICE_NAME = ADBD1_tpurgent.atp.oraclecloud.com)))
    …

تعديل سلاسل اتصال الاسم المستعار لـ TNS الخاص بالطريقة القابلة للتجديد عن بُعد

بالنسبة لنهج النسخ القابل للتجديد عن بُعد، قم بتعديل الاسم المستعار المستخدم في النظام الثانوي ليكون نفس الاسم المستعار الموجود في النظام الأساسي.

سيحتوي ملف tnsnames.ora المضمن في Oracle WebLogic Server for Oracle Cloud Infrastructure أو Oracle SOA Suite on Marketplace أو تكوين نظام Oracle Fusion Middleware على اسم مستعار يستند إلى اسم النسخة القابلة للتجديد عن بُعد. على سبيل المثال، في حالة تكوين نسخة قابلة للتجديد عن بُعد بالاسم soaadb1rc2 سيحتوي ملف tnsnames.ora (في دليل الحافظة الذي تم تكوينه أثناء الإعداد) على الاسم البديل التالي: soaadb1rc2_high، soaadb1rc2_low، soaadb1rc2_medium، soaadb1rc2_tp، soaadb1rc2_tpurgent. لتبسيط التكوين، يجب استخدام نفس الاسم البديل في ملف tnsnames.ora في كل من النظامين الأساسي والثانوي، لذا عليك تعديل الاسم البديل لـ TNS الذي تم تكوين Oracle WebLogic Server for Oracle Cloud Infrastructure أو Oracle SOA Suite on Marketplace أو نطاق Oracle Fusion Middleware به (نسخة قابلة للتجديد عن بُعد) لاستخدام نفس الاسم البديل الأساسي. يمكنك الحصول على الاسم البديل الأساسي من ملف $tns_admin/tsnames.ora. يتم إنشاء أسماء بديلة مختلفة لخدمات مختلفة وسوف تستنتج جميعًا بادئة من اسم قاعدة البيانات. لاحظ أنك تريد تعديل الاسم البديل فقط، وليس الخدمات. لا تستخدم بحثًا عامًا واستبدل في الملف لأنه من المحتمل أيضًا تغيير أسماء الخدمات في سلاسل الاتصال في ملف tnsnames.ora.

  • قم بتعديل ملف النظام الثانوي tnsnames.ora لاستخدام نفس الاسم البديل للنظام الأساسي.

    فيما يلي عينة لملف tnsnames.ora لتكوين Oracle Fusion Middleware مع Oracle Autonomous Database Serverless في النظام الأساسي.

    [oracle@soarefr-soa-0 ~]$ cat $DOMAIN_HOME/config/tnsadmin/tnsnames.ora
    soaadb1_high = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbvcn.adb.ap-mumbai-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_high.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
     
    soaadb1_low = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbvcn.adb.ap-mumbai-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_low.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
     
    soaadb1_medium = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbvcn.adb.ap-mumbai-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_medium.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
     
    soaadb1_tp = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbvcn.adb.ap-mumbai-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_tp.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
     
    soaadb1_tpurgent = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbvcn.adb.ap-mumbai-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_tpurgent.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))

    فيما يلي عينة لملف tnsnames.ora لتكوين Oracle Fusion Middleware مع Oracle Autonomous Database Serverless في الثانوي مع النسخة القابلة للتجديد.

    oracle@soarefr-soa-0 ~]$ cat $DOMAIN_HOME/config/tnsadmin/tnsnames.ora
    rcsoaadb1_high = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=rcsoaadb1.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_rcsoaadb1_high.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
     
    rcsoaadb1_low = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=rcsoaadb1.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_rcsoaadb1_low.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
     
    rcsoaadb1_medium = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=rcsoaadb1.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_rcsoaadb1_medium.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
     
    rcsoaadb1_tp = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=rcsoaadb1.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_rcsoaadb1_tp.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
     
    rcsoaadb1_tpurgent = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=rcsoaadb1.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_rcsoaadb1_tpurgent.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))

    ونظرًا لأنها عملية تتم مرة واحدة، فإن أسهل طريقة لتغيير الاسم البديل للاستنساخ القابل للتجديد هي تحرير الملف. يمكنك تعديل الاسم البديل لمستوى الخدمة قيد الاستخدام أو كلها لتحقيق الاتساق.

    ملاحظة:

    يجب القيام بذلك في كل مرة يتم فيها استخدام نسخة جديدة قابلة للتجديد للاختبار أو المراجعات ويتم استخدام حافظة جديدة.

    فيما يلي عينة لملف tnsnames.ora لتكوين Oracle Fusion Middleware مع Oracle Autonomous Database Serverless في الثانوي مع النسخة القابلة للتجديد باستخدام الاسم البديل الأساسي.

    [oracle@soarefr-soa-0 ~]$ cat $DOMAIN_HOME/config/tnsadmin/tnsnames.ora
    soaadb1_high = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=rcsoaadb1.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_rcsoaadb1_high.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
     
    soaadb1_low = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=rcsoaadb1.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_rcsoaadb1_low.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
     
    soaadb1_medium = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=rcsoaadb1.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_rcsoaadb1_medium.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
     
    soaadb1_tp = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=rcsoaadb1.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_rcsoaadb1_tp.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
     
    soaadb1_tpurgent = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=rcsoaadb1.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_rcsoaadb1_tpurgent.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))

كما هو الحال في النظام الأساسي، تستخدم جميع ملفات مصدر البيانات الموجودة ضمن $DOMAIN_HOME/config/jdbc وفي ملفات تكوين jps الموجودة ضمن $DOMAIN_HOME/config/fmwconfig الاسم البديل المحدد. ومن المتوقع أن يتم اختيار نفس مستوى الخدمة بالنسخة القابلة للتجديد عن بُعد كما هو الحال في النظام الأساسي (إما low أو mid أو high أو tp أو tpurgent). نظرًا لنسخ الاسم البديل ومصادر البيانات من النظام الأساسي، فلن تحتاج إلى تشغيل اسكربت fmw_change_to_tns_alias.sh في النظام الثانوي. سيتولى إعداد إجراءات مواجهة الكوارث معالجة عمليات الاستبدال المطلوبة.

إذا كان لديك أسماء بديلة إضافية تشير إلى قواعد بيانات أخرى في ملف tnsnames.ora الأساسي، فأضفها وفقًا لذلك في ملف tnsnames.ora الخاص بالنظام الثانوي.

تحديث الأسماء المستعارة لاسم المضيف والعنوان الأمامي في الطبقات الوسطى الأساسية والبديلة

سيكون تكوين النطاق WebLogic في النطاق الثانوي نسخة من النطاق WebLogic الأساسي بمجرد اكتمال إعداد DR. وبالتالي، يجب أن تكون أسماء المضيفات المستخدمة كعناوين استماع بواسطة خوادم Oracle WebLogic الأساسية (وهي أسماء مضيفات الأجهزة المضيفة الأساسية) صالحة في الموقع الثانوي، مع التخطيط لعناوين IP الثانوية.

يجب استخدام نفس عنوان الواجهة الأمامية في كل من الأساسي والبديل. أثناء التشغيل العادي، سيتم تعيين اسم المضيف الأمامي إلى IP الخاص بموازن تحميل Oracle Cloud Infrastructure (OCI). عند التشغيل من الثانوي (بعد الانتقال أو الانتقال عقب الفشل) سيتم تخطيط اسم المضيف الأمامي إلى IP الخاص بـ OCI Load Balancer الثانوي.

ملاحظة:

يجب عدم تغيير ملف /etc/hosts الخاص بمضيفات الطبقة الوسطى عند وجود تبديل أو تجاوز فشل. ستقوم أجهزة المضيف في الطبقة المتوسطة دائمًا بحل اسم الواجهة الأمامية الظاهرية باستخدام IP الخاص بها في الواجهة الأمامية. يتم إجراء تحديث DNS المطلوب أثناء إجراءات التبديل وتجاوز الفشل في ملفات DNS أو المضيف المستخدمة من قبل العملاء.

يمكنك تنفيذ هذا الإعداد البديل للمضيف بالطرق التالية:

  • إضافة أسماء المضيفين كأسماء بديلة إلى ملفات /etc/hosts الخاصة بطبعات حوسبة Oracle WebLogic Server لـ OCI
  • استخدام عرض DNS خاص في OCI VCN الثانوي

استخدام ملفات /etc/hosts

تتم إضافة أسماء المضيفات المستخدمة بواسطة Oracle WebLogic Server الأساسي إلى ملفات /etc/hosts الخاصة بمضيفات Oracle WebLogic Server الثانوية، والتي تشير إلى عناوين IP لمضيفات Oracle WebLogic Server الثانوية. يكون هذا الوضع صالحًا عندما يكون خادم DNS هو نفسه على مواقع Oracle Cloud Infrastructure (OCI) الأساسية والثانوية، وكذلك عند استخدام خوادم DNS المفصولة في الموقعين الأساسي والثانوي. الإدخالات في ملف /etc/hosts لها الأسبقية على دقة DNS، لأن هذه هي الأسبقية المحددة الجاهزة في التوجيه "المضيفين" لملف /etc/nsswitch.conf.
  1. قم بتحرير ملف /etc/oci-hostname.conf لكل مثيل حوسبة WebLogic Server وقم بتعيين الخاصية PRESERVE_HOSTINFO=3 للحفاظ على إدخالات /etc/hosts عبر عمليات إعادة تمهيد الطبعة.
  2. استخدم الأمر hostname --fqdn لتحديد أسماء المضيفين الكاملة لطبعات حوسبة WebLogic Server OCI.
  3. أضف الإدخالات التالية إلى ملف /etc/hosts الخاص بطبعات حساب الطبقة الوسطى:
    #################################
    # ALIASES on OCI for DR
    #################################
    apphost1_compute_instance_IP  apphost1_fqdn   apphost1_hostname   ALIAS_OF_APPHOST1 
    apphost2_compute_instance_IP  apphost2_fqdn   apphost2_hostname   ALIAS_OF_APPHOST2 
    #################################
    # Frontend name 
    #################################
    IP_OF_LBR  frontend_name_fqdn
    فيما يلي مثال على ملف /etc/hosts لمضيفات Oracle WebLogic Server الأساسية:
    # Aliases for DR in primary region
    10.0.2.10 wlsociprefix-wls-0.subnetlon.vcnlon.oraclevcn.com wlsociprefix-wls-0 
    10.0.2.11 wlsociprefix-wls-1.subnetlon.vcnlon.oraclevcn.com wlsociprefix-wls-1
    
    # Front-end virtual name to primary LBR IP
    111.111.111.111 mywebapps.mycompany.com 

    فيما يلي مثال على ملف /etc/hosts في طبعة حوسبة الخادم OCI WebLogic.

    ملاحظة:

    تتم إضافة أسماء المضيف الأساسية كأسماء بديلة لنقاط التوصيل الثانوية وتشير الأسماء الظاهرية الأمامية إلى IP لموازن التحميل الثانوي:

    # Aliases for DR in secondary region
    10.1.2.5 wlsociprefix-wls-0.subnetfra.vcnfra.oraclevcn.com wlsociprefix-wls-0 wlsociprefix-wls-0.subnetlon.vcnlon.oraclevcn.com wlsociprefix-wls-0
    10.1.2.4 wlsociprefix-wls-1. subnetfra.vcnfra.oraclevcn.com wlsociprefix-wls-1 wlsociprefix-wls-1.subnetlon.vcnlon.oraclevcn.com wlsociprefix-wls-0
    
    # Front-end virtual name to secondary LBRIP
    222.222.222.222 mywebapps.example.com
    

استخدام نظام اسم مجال OCI (DNS)

تتم إضافة أسماء المضيفات التي يستخدمها مضيفو Oracle WebLogic Server الأساسيين إلى محلل DNS الذي يستخدمه VCN لخوادم الطبقة المتوسطة الثانوية، مما يشير إلى عناوين IP لمضيفات Oracle WebLogic Server الثانوية. يكون هذا الوضع صالحًا عند استخدام خوادم DNS منفصلة في مواقع Oracle Cloud Infrastructure (OCI) الأساسية والثانوية. وإلا، فقد يتسبب ذلك في حدوث تعارضات في تحديد التسمية. يجب أن يقوم خادم كل موقع بحل هذه الأسماء باستخدام عناوين IP الخاصة به. تكمن ميزة هذا الأسلوب في إمكانية إضافة كافة الإدخالات إلى طريقة عرض DNS خاصة، بدلاً من إضافتها إلى كافة /etc/hosts الخاصة بجميع مضيفات Oracle WebLogic Server.

فيما يلي خطوات إنشاء العرض الخاص في شبكة سحابة افتراضية (VCN) الثانوية وحل أسماء المضيفات المستخدمة بواسطة الأساسي مع عناوين IP الثانوية:

  1. في وحدة تحكم OCI، انتقل إلى المنطقة الثانوية وقم بتكوين طريقة العرض الخاصة لحل أسماء المضيفين الأساسيين مع عناوين IP الثانية.
    1. انقر على الشبكات، إدارة DNS، طرق العرض الخاصة، ثم تكوين طريقة عرض خاصة.
      على سبيل المثال، يمكنك تسمية طريقة العرض الخاصة: PRIMARY_HOSTNAMES_PRIVATE_VIEW
    2. انقر على إنشاء منطقة في طريقة العرض الخاصة.
      بالنسبة لاسم المنطقة، يجب استخدام المجال الكامل للمضيفين. مثل: subnetpri.vcnpri.oraclevcn.com
    3. أضف أسماء المضيف الأساسية إلى هذه المنطقة (الاسم المختصر)، ولكن تم حلها باستخدام عنوان IP الخاص بمضيفات Oracle WebLogic Server الثانوية.
    4. انقر على نشر التغييرات.
  2. إضافة العرض الخاص إلى محلل VCN الثانوي.
    1. انقر على مورد محلل DNS في VCN.
    2. أضف عرض DNS الخاص الذي تم إنشاؤه من قبل.
      سيقوم المضيفون في شبكة سحابة افتراضية (VCN) الثانوية بحل أسماء المضيفات المستخدمة بواسطة مضيفات Oracle WebLogic Server الأساسية باستخدام طريقة العرض الخاصة.
  3. تحقق من دقة أجهزة المضيف SECONDARY، بتنفيذ ping وnslookup من أسماء المضيفين.
    يجب حلها مع ما يعادل IPs الثاني.

    ملاحظة:

    يمكنك العثور على تعليمات Terraform البرمجية لتكوين عرض OCI الخاص هذا والسجلات في GitHub.

تكوين النظام الثانوي

لتكوين النظام على أنه ثانوي، يجب نسخ تكوين مجال WebLogic Server من نطاق النظام الأساسي إلى نطاق نظام WebLogic Server الثانوي أو Oracle SOA Suite أو Oracle Fusion Middleware.
يحل إعداد إجراءات مواجهة الكوارث (DR) محل كل المجال الثانوي، باستثناء الدلائل والملفات المحددة التي يجب أن تظل صالحة محليًا. يتم استبعاد هذه الدلائل بشكل صريح بواسطة الاسكربتات. بالإضافة إلى ذلك، يستبدل الاسكربت ملفات مصدر البيانات بحيث يستخدم الاسكربت الثانوي نفس أسماء مخطط قاعدة البيانات كما هو الحال في الأساسي ولكن مع jdbc url الموجود الذي يشير إلى قاعدة البيانات المحلية (الاستنساخ القابل للتجديد أثناء إعداد DR والاستعداد للتبديل) بالحافظات المطلوبة.
  1. قم بتشغيل الاسكربت fmwadb_dr_prim.sh في نقطة توصيل إدارة WebLogic Server الأساسية.
    سيقوم الاسكربت بالتحقق من الاتصال بين نقاط توصيل خادم إدارة WebLogic Server من خلال بوابة التوجيه الديناميكي ونسخ النطاق إلى دليل التجهيز في توصيل Oracle Cloud Infrastructure File Storage في المنطقة الثانوية.

    استخدم المعاملات التالية:

    • REMOTE_ADMIN_NODE_IP

      عنوان IP لنقطة توصيل خادم إدارة WebLogic Server الثانوية.

      يجب أن يكون هذا IP قابلاً للوصول من HOST (نقطة توصيل خادم إدارة Oracle WebLogic Server الأساسية.)

      يوصى باستخدام بوابة التوجيه الديناميكي للاتصال المتبادل بين الموقعين الأساسي والثانوي، مما يتيح لك توفير عنوان IP الخاص.

    • REMOTE_SSH_PRIV_KEYFILE

      ملف مفتاح ssh الخاص للاتصال بنقطة توصيل خادم إدارة Oracle WebLogic البعيدة.

    • FSS_MOUNT

      الدليل الذي تم توصيله بمخزن ملفات OCI والذي يتم استخدامه في تجهيز نسخة تكوين مجال WebLogic Server.

    ./fmwadb_dr_prim.sh [REMOTE_ADMIN_NODE_IP] [REMOTE_SSH_PRIV_KEYFILE] [FSS_MOUNT]
    فيما يلي مثال على الأمر والمخرجات:
    [oracle@soarefr-soa-0 ~]$ ./fmwadbs_dr_prim.sh '10.2.1.104' '/u01/soacs/dbfs/share/KeyWithoutPassPhraseSOAMAA.ppk' /u01/soacs/dbfs/share/
     Checking ssh connectivity to remote WebLogic Administration server node....
        Connectivity to 10.2.1.104 is OK
        REMOTE_ADMIN_HOSTNAME...... soarefr-soa-0.sub09051735411.soaadbvcnstby.oraclevcn.com
     Checking local FSS mount folder readiness........
         The FSS is expected to be mounted in /u01/soacs/dbfs/share
         The folder for the copy of the domain is expected to be /u01/soacs/dbfs/share/domain_config_copy
         Local folder /u01/soacs/dbfs/share/domain_config_copy exists.
     Checking remote FSS mount folder readiness........
         Remote folder 10.2.1.104:/u01/soacs/dbfs/share/domain_config_copy exists.
     
    ----------- Rsyncing from local domain to local FSS folder ---------------
     
    Local rsync output to /u01/soacs/dbfs/share/domain_config_copy/last_primary_update_local_06-10-2022-09-47-50.log ....
    Source and target directories are in sync. ALL GOOD!
     
    ----------- Local rsync complete -----------------------------------------
     
    ----------- Rsyncing from local FSS folder to remote site... --------------
    Remote rsync output to /u01/soacs/dbfs/share/domain_config_copy/last_primary_update_remote_06-10-2022-09-47-50.log ....
    Source and target directories are in sync. ALL GOOD!
  2. عند انتهاء تشغيل اسكربت fmwadb_dr_prim.sh، إن لم يكن قد تم إيقافه بالفعل، قم بإيقاف كل مديري أنظمة ونقاط توصيل WebLogic Server في النظام الثانوي.
  3. قم بتسجيل الدخول إلى نقطة توصيل إدارة WebLogic Server الثانوية وقم بتشغيل اسكربت fmwadb_dr_stby.sh.

    يقوم الاسكربت بنسخ نطاق WebLogic Server من دليل التخزين المؤقت في توصيل تخزين ملفات OCI إلى دليل المجال الثانوي WebLogic Server واستبدال إدخالات الحافظة وكلمة السر المطلوبة. الحافظة المطلوب إدخالها هي النسخة القابلة للتجديد بحيث يمكن مراجعة الثانوية بعد إعداد DR الأولي.

    استخدم المعاملات التالية:

    • WALLET_DIR

      دليل حافظة Oracle Autonomous Database غير مضغوطة. نقطة توصيل خادم إدارة WebLogic Server.

      يجب أن يشتمل هذا الدليل على ملفات tnsnames.ora وkeystore.jks وtruststore.jks على الأقل.

      إذا كنت تستخدم طريقة اللقطة البديلة، فهذا مجرد مجلد tnsadmin.

    • WALLET_PASSWORD

      كلمة السر المقدمة عند تنزيل الحافظة من واجهة مستخدم OCI Oracle Autonomous Database Serverless.

      إذا كانت الحافظة هي الحافظة الأولية التي تم تكوينها بواسطة WebLogic Server أو Oracle SOA Suite أو نظام Oracle Fusion Middleware عند التزويد. يمكنك الحصول عليه باستخدام الأمر التالي:

      Oracle SOA:
      python /opt/scripts/atp_db_util.py generate-atp-wallet-password
      
      Oracle WebLogic Server:
      python3 /opt/scripts/atp_db_util.py generate-atp-wallet-password
    • FSS_MOUNT

      الدليل الذي تم توصيله بمخزن ملفات OCI والذي يُستخدم في تجهيز تكوين النطاق WebLogic Server.

    ./fmwadb_dr_stby.sh [WALLET_DIR] [WALLET_PASSWORD] [FSS_MOUNT]
    فيما يلي مثال على تشغيل الأمر ومخرجاته:
    [oracle@wsladbs2-wls-0 scripts]$ ./fmwadb_dr_stby.sh /u01/data/domains/wsladbs2_domain/config/atpwallet/  7f3e3ed8ee7921fed058b481298eca55 /u01/shared/
    Backing up current domain...
    Backup created at /u01/data/domains/wsladbs2_domain/ /u01/data/domains/wsladbs2_domain_backup_11_42_19-26-10-22
    Rsyncing from FSS  mount to domain dir...
     Syncing the Weblogic Administration server node...
    Rsync complete!
    Switching config to /u01/data/domains/wsladbs2_domain/config/atpwallet/
    The password provided for the wallet is valid. Proceeding...
    Gathering Data Soure information...
    The new wallet is the same as the one being used.
    Will maintain existing wallet dir and just replace password
    Backing up current config...
    Backup created at  /u01/data/domains/wsladbs2_domain/DS_backup_11_42_33-26-10-22
    Replacing values in datasources...
    Replacement complete!
  4. قم بتشغيل اسكربت fmwadb_dr_stby.sh في نقاط توصيل الخادم المدار الأخرى في المنطقة الثانوية WebLogic Server.
  5. تأكد من إمكانية الوصول إلى قاعدة البيانات البديلة في وضع القراءة والكتابة.
    • إذا كنت تستخدم طريقة اللقطة البديلة، فتأكد من تحويل قاعدة البيانات البديلة إلى قاعدة بيانات اللقطات البديلة، بحيث يمكن الوصول إليها في وضع القراءة والكتابة.
    • إذا كنت تستخدم نهج النسخ القابل للتجديد عن بُعد، فتأكد من فصله عن المصدر بحيث يمكن الوصول إليه في وضع القراءة والكتابة.
  6. ابدأ تشغيل مدير نقاط التوصيل وOracle WebLogic Administration Server الثانوي. قم بالوصول إلى وحدة التحكم وبدء تشغيل الخوادم المدارة WebLogic Server في النطاق.
  7. تحقق من توفر التطبيقات وعمليات النشر الموجودة في المرحلة الأساسية أيضًا في المرحلة الثانوية.
  8. قم بإيقاف تشغيل WebLogic Server في المرحلة الثانوية.
  9. تحويل البديل إلى بديل فعلي أو إعادة توصيل الاستنساخ القابل للتجديد.
    • إذا كنت تستخدم طريقة بديلة للقطات، فقم بتحويل قاعدة البيانات البديلة إلى قاعدة بيانات بديلة حقيقية.

    • إذا كنت تستخدم النسخ القابل للتجديد عن بُعد، فقم بإعادة الاتصال بالاستنساخ القابل للتجديد. تذكير: لا يمكن أن يظل النسخ القابل للتجديد غير متصل بالنسخة الأساسية لأكثر من 24 ساعة.

ترك النظام جاهزًا للتبديل

بعد تكوين النظام الثانوي والتحقق منه باستخدام نسخة قابلة للتجديد، اترك النظام جاهزًا للتبديل من خلال الإشارة إلى الاسم البديل لـ TNS في Oracle Autonomous Database Serverless البديل.

ملاحظة:

لا تكون هذه المهمة مطلوبة إلا عند تكوين النظام الثانوي والتحقق من صحته باستخدام نسخة قابلة للتجديد عن بُعد.

تنزيل الحافظة لقاعدة البيانات البديلة من واجهة مستخدم قاعدة البيانات الثانوية. تجنب سلاسل الاتصال المزدوجة (المضيفون الأساسيون والمضيفون الاحتياطيون) في حالات إجراءات مواجهة الكوارث البعيدة لأنها تتسبب في محاولات غير ضرورية.

  1. سجل الدخول إلى واجهة مستخدم Oracle Autonomous Database Serverless لقاعدة البيانات البديلة.
  2. انقر على Autonomous Database، وحدد autonomous_db_name، وانقر على اتصال قاعدة البيانات، ثم انقر على تنزيل المحفظة.
  3. إذا كانت الحافظة تحتوي على سلاسل مزدوجة تشير إلى الأساسي، فقم بإزالة إدخال الوصف الأساسي من ملف tnsnames.ora بحيث تشير سلسلة الاتصال فقط إلى قاعدة البيانات المحلية في المنطقة الثانوية.

    فيما يلي عينة لتعديل ملف tnsnames.ora:

    soaadb1_high = (description_list= (failover=on) (load_balance=off) (description= (retry_count=15)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbvcn.adb.ap-mumbai-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_high.adb.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adb.ap-mumbai-1.oraclecloud.com, OU=Oracle ADB INDIA, O=Oracle Corporation, L=Redwood City, ST=California, C=US"))) (description= (retry_count=15)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbstby.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_high.adb.oraclecloud.com))(security=(ssl_server_dn_match=no))))
    soaadb1_low = (description_list= (failover=on) (load_balance=off) (description= (retry_count=15)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbvcn.adb.ap-mumbai-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_low.adb.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adb.ap-mumbai-1.oraclecloud.com, OU=Oracle ADB INDIA, O=Oracle Corporation, L=Redwood City, ST=California, C=US"))) (description= (retry_count=15)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbstby.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_low.adb.oraclecloud.com))(security=(ssl_server_dn_match=no))))
    soaadb1_medium = (description_list= (failover=on) (load_balance=off) (description= (retry_count=15)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbvcn.adb.ap-mumbai-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_medium.adb.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adb.ap-mumbai-1.oraclecloud.com, OU=Oracle ADB INDIA, O=Oracle Corporation, L=Redwood City, ST=California, C=US"))) (description= (retry_count=15)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbstby.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_medium.adb.oraclecloud.com))(security=(ssl_server_dn_match=no))))
    soaadb1_tp = (description_list= (failover=on) (load_balance=off) (description= (retry_count=15)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbvcn.adb.ap-mumbai-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_tp.adb.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adb.ap-mumbai-1.oraclecloud.com, OU=Oracle ADB INDIA, O=Oracle Corporation, L=Redwood City, ST=California, C=US"))) (description= (retry_count=15)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbstby.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_tp.adb.oraclecloud.com))(security=(ssl_server_dn_match=no))))
    soaadb1_tpurgent = (description_list= (failover=on) (load_balance=off) (description= (retry_count=15)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbvcn.adb.ap-mumbai-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_tpurgent.adb.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adb.ap-mumbai-1.oraclecloud.com, OU=Oracle ADB INDIA, O=Oracle Corporation, L=Redwood City, ST=California, C=US"))) (description= (retry_count=15)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbstby.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_tpurgent.adb.oraclecloud.com))(security=(ssl_server_dn_match=no))))
    
    SHOULD BE
    
    soaadb1_high = (description= (retry_count=15)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbstby.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_high.adb.oraclecloud.com))(security=(ssl_server_dn_match=no))) 
    soaadb1_low = (description= (retry_count=15)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbstby.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_low.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
    soaadb1_medium = (description= (retry_count=15)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbstby.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_medium.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
    soaadb1_tp = (description= (retry_count=15)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbstby.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_tp.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
    soaadb1_tpurgent = (description= (retry_count=15)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=soaadbstby.adb.ap-hyderabad-1.oraclecloud.com))(connect_data=(service_name=g914a2540e8ab6d_soaadb1_tpurgent.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
  4. انسخ الحافظة إلى مجلد مؤقت في نقطة توصيل خادم إدارة WebLogic الخاصة بالمنطقة الثانوية وانتقل إلى الدليل.
    [oracle@wsladbs2-wls-0 scripts]$ cd /tmp
    [oracle@wsladbs2-wls-0 tmp]$ mkdir wallet-stby
    [oracle@wsladbs2-wls-0 tmp]$ cd wallet-stby/
  5. قم بفك ضغط الحافظة.
    [oracle@wsladbs2-wls-0 wallet-stby]$ unzip /tmp/Wallet_soaadb1-standby.zip
    Archive:  ../Wallet_soaadb1-standby.zip
      inflating: ewallet.pem
      inflating: README
      inflating: cwallet.sso
      inflating: tnsnames.ora
      inflating: truststore.jks
      inflating: ojdbc.properties
      inflating: sqlnet.ora
      inflating: ewallet.p12
      inflating: keystore.jks
  6. قم بتشغيل اسكربت fmwadb_switch_db_conn.sh لترك الطبقة الوسطى جاهزة مع الحافظة الثانوية وسلسلة الاتصال.

    فيما يلي مثال على تشغيل الاسكربت للإشارة إلى حافظة Oracle Autonomous Database Serverless البديلة:

    [oracle@wsladbs2-wls-0 scripts]$ ./fmwadb_switch_db_conn.sh /tmp/wallet-stby/ wallet_password
    The password provided for the wallet is valid. Proceeding...
    Gathering Data Source information...
    The new wallet is the same as the one being used.
    Will maintain existing wallet dir and just replace password
    Backing up current config...
    Backup created at  /u01/data/domains/wsladbs2_domain/DS_backup_10_38_32-27-10-22
    Replacing values in datasources...
    Replacement complete!

إعداد استنساخ التكوين الساري

عندما تتضمن دورة حياة النظام تحديثات الترددات على نظام ملف المجال، يمكنك استخدام اسكربت لأتمتة عملية استنساخ التكوين. ينسخ اسكربت fmwadb_config_replica.sh التغييرات من خلال دليل مرحلة Oracle Cloud Infrastructure File Storage (OCI File Storage) بشكل منتظم.

التكوين جاهز (تم إعداده) للتبديل بعد كل استنساخ.

عند استخدام "استنساخ قابل للتجديد عن بُعد"، من المفترض أنه سيتم "تكييف" التكوين المستنسخ لقاعدة البيانات البديلة الفعلية (وليس الاستنساخ القابل للتجديد). إذا كنت بحاجة إلى تدقيق أو اختبار باستخدام النسخ القابلة للتجديد، فيمكنك تغيير تكوين النطاق البديل للإشارة إلى النسخة القابلة للتجديد بدلاً من ذلك.

يجب تشغيل اسكربت fmwadb_config_replica.sh في نقاط توصيل إدارة WebLogic Server (في كل من الأساسي والبديل) لاستنساخ التكوين. عادةً ما تتم جدولة هذا السكريبت بوظيفة cron لاستنساخ التكوين بين خادم WebLogic أو Oracle SOA Suite أو Oracle Fusion Middleware البديل في نظام Oracle Autonomous Database على فترات منتظمة. يتحقق هذا السكريبت من الدور الحالي لقاعدة البيانات المحلية لتحديد ما إذا كانت تعمل في الموقع الأساسي أو البديل.

  • عند تشغيل البرنامج النصي في موقع PRIMARY، يقوم بنسخ تكوين النطاق من النطاق الأساسي إلى مجلد المساعدة المحلية (FSS) ثم إلى مجلد مساعدة الموقع الثانوي (من خلال rsync).
  • عند تشغيل الاسكربت في موقع STANDBY، يقوم بنسخ تكوين النطاق من مجلد المساعدة الثانوية (تخزين ملفات OCI) إلى المجال الثانوي ويجعل عمليات الاستبدال المطلوبة لمصادر البيانات تعمل مع قاعدة البيانات المحلية.

يجب تجميع معلمات مختلفة من وحدة تحكم OCI وتشفير كلمة السر للوصول إلى حافظات Oracle Autonomous Database لأسباب أمنية.

فيما يلي وصف للمتغيرات المستخدمة في الاسكربت وكيفية الحصول عليها:

  • REMOTE_WLSADMIN_NODE_IP

    عنوان IP الخاص بنقطة توصيل خادم إدارة WebLogic Server النظير والبُعد.

    هذا هو IP الخاص بمضيف نقطة التوصيل في خادم إدارة WebLogic Server في الموقع النظير. يجب أن يكون قابلاً للوصول من نقطة التوصيل المحلية. يوصى بالاتصال بـ IP الخاص البعيد لنقطة التوصيل باستخدام بوابة التوجيه الديناميكي.

  • REMOTE_SSH_PRIV_KEYFILE

    ملف مفتاح SSH الخاص للاتصال بنقطة توصيل خادم إدارة Oracle WebLogic البعيدة.

  • TENANCY_OCID

    معرف OCID للإيجار حيث يوجد Oracle Autonomous Database. يمكنك الحصول على OCID من واجهة مستخدم Oracle Cloud Infrastructure (OCI).

  • USER_OCID

    معرف OCID للمستخدم المالك لمثيل قاعدة البيانات الذاتية. يمكنك العثور على OCID في واجهة مستخدم OCI.

  • PRIVATE_KEY

    المسار إلى مفتاح تنسيق PEM الخاص لهذا المستخدم.

  • LOCAL_ADB_OCID

    يتم فحص OCID الخاص بـ Oracle Autonomous Database. يمكنك العثور على OCID في شاشة Oracle Autonomous Database في وحدة تحكم OCI.

  • WALLET_DIR

    دليل حافظة Oracle Autonomous Database المحلية (قم بفك ضغط الحافظة التي تم تنزيلها من وحدة تحكم OCI). يجب أن يشتمل هذا الدليل على ملفات tnsnames.ora وkeystore.jks وtruststore.jks على الأقل. عند استخدام أسلوب أخذ لقطة بديلة، يكون هذا هو مجلد tnsadmin

  • ENC_WALLET_PASSWORD

    تجسيد WLS ENCRYPTED لكلمة المرور المقدمة عند تنزيل الحافظة من واجهة مستخدم Oracle Autonomous Database OCI.

    إذا كانت الحافظة هي الحافظة الأولية التي تم تكوينها بواسطة WebLogic Server أو Oracle SOA Suite أو Oracle Fusion Middleware أثناء إعداد WebLogic Server، فيمكنك استخدام الأوامر التالية للحصول على كلمة السر:

    لـ WebLogic:
    [oracle@wsladbs2-wls-1 ~]$ python3 /opt/scripts/atp_db_util.py generate-atp-wallet-password
    لـ SOA:
    [oracle@soarefr-soa-0 ~]$ python /opt/scripts/atp_db_util.py generate-atp-wallet-password
    لتشفير كلمة السر، سواء كانت كلمة السر المقدمة في وحدة تحكم OCI أو تلك المستخدمة أثناء الإعداد، يمكنك استخدام اسكربت fmw_enc_pwd.sh.
    ./fmw_enc_pwd.sh UNENC_WALLET_PASSWORD

    استخدم السلسلة التي تم الحصول عليها للمتغير ENC_WALLET_PASSWORD.

  • FSS_MOUNT

    دليل تخزين ملفات OCI الذي سيتم استخدامه لإعداد تكوين مجال WebLogic Server.

بمجرد تجميع المعلومات للمتغيرات، قم بتنفيذ الخطوات التالية لنسخ السكريبتات وتخصيصها لبيئتك:

  1. قم بتشفير كلمة السر للوصول إلى حافظات Oracle Autonomous Database لأسباب أمنية.
  2. نسخ البرنامج النصي إلى الموقع الأساسي، ثم تحرير البرنامج النصي الذي يكمل المتغيرات المطلوبة للموقع الأساسي.
    راجع أعلاه للاطلاع على وصف المتغيرات المستخدمة في الاسكربت.
  3. قم بنسخ السكريبت إلى الموقع البديل، ثم قم بتحرير ملء السكريبت في المتغيرات المطلوبة للموقع البديل.
    راجع أعلاه للاطلاع على وصف المتغيرات المستخدمة في الاسكربت.
  4. بمجرد تخصيصها لكل منطقة (يجب توفير OCID لقاعدة البيانات المحلية لكل منطقة)، قم بتنفيذ المهام التالية:
    1. قم بتشغيل الاسكربت في مضيف إدارة Oracle WebLogic بشكل أساسي.
    2. قم بتشغيل الاسكربت في مضيف إدارة Oracle WebLogic في المنطقة الثانوية.
  5. أضف الاسكربت إلى وظيفة cron في كل منطقة.