تدقيق وسيط حارس البيانات وتكوينه

تحقق من إمكانية الاتصال بين Oracle Database Exadata Cloud Service وOracle Exadata Database Machine المحلية من خلال Netcat tnsping وping.

وسيط Oracle Data Guard هو إطار إدارة موزع يقوم بأتمتة وتركيز تكوين تكوينات Data Guard وصيانتها ومراقبتها.

يمكنك تنفيذ جميع عمليات الإدارة محليًا أو عن بُعد من خلال واجهات الوسيط السهلة الاستخدام: صفحات إدارة حارس البيانات في Oracle Enterprise Manager، وهي واجهة المستخدم الرسومية للوسيط (GUI)، وواجهة سطر أوامر حارس البيانات المسماة DGMGRL.

توصيل أنظمة Exadata المصدر والبديل

قم بتوصيل نظامي Exadata المصدر والبديل بتكوين وسيط Oracle Data Guard، وتحقق من إمكانية الاتصال باستخدام كل من NetCat، والبرنامج المساعد لفحص TNS، وPing.

تفترض الخطوات الموضحة أن قاعدة البيانات الأساسية المحلية ليست بالفعل جزءًا من تكوين وسيط حارس البيانات الموجود.

  1. حدد ما إذا كانت قاعدة البيانات الأساسية المحلية جزءًا من تكوين وسيط Data Guard الموجود بالفعل.
    SQL> select decode(count(1),0,'NOCONFIG') from v$DG_BROKER_CONFIG;
    تتضمن القيمة بخلاف "NOCONFIG" تكوين وسيط موجود. إذا كان هناك تكوين وسيط موجود لقاعدة البيانات المحلية، فمن المفترض أن يكون لدى المسئول معرفة مسبقة بالسمسار ومعرفة كيفية إضافة قاعدة البيانات البديلة الجديدة إلى تكوين الوسيط الحالي.

    في حالة عدم وجود تكوين وسيط، قم بإتمام الخطوات التالية.

  2. تحقق من تسمية المستمع الافتراضي LISTENER.
    $lsnrctl show current_listener | grep Current Listener

    يجب أن تبدو المخرجات مشابهة لما يلي:

    Current Listener is LISTENER
  3. تحقق من منفذ المستمع من خلال تشغيل الأمر التالي من الجهاز المحلي. تظهر النتيجة المتوقعة.
    [oracle@exa11db01 bin]$ ./lsnrctl status | grep 'Connecting'

    يجب أن تبدو المخرجات مشابهة لما يلي:

    Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=10.136.74.2)(PORT=1521))
  4. في Oracle Exadata Database Machine المحلي، استخدم NetCat للاتصال بـ Oracle Database Exadata Cloud Service) البديل للتحقق من الاتصال
    [oracle@exa11db01 bin]$ nc -v 10.255.195.131 1521

    يجب أن تبدو المخرجات مشابهة لما يلي:

    Ncat: Version 7.50 (https://nmap.org/ncat )
    Ncat: Connected to 10.255.195.131:1521.
  5. في Oracle Exadata Database Machine المحلي، استخدم برنامج TNS Ping المساعد لـ Linux للاتصال بـ Oracle Database Exadata Cloud Service البديل للتحقق من الاتصال
    [oracle@exa11db01 bin]$ tnsping DB1_phx3g7

    يجب أن تبدو المخرجات مشابهة لما يلي:

    TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 23-JAN-2021 
    19:46:55
    Copyright (c) 1997, 2020, Oracle.  All rights reserved.
    Used parameter files:
    /u01/app/oracle/product/19.0.0.0/dbhome_1/network/admin/sqlnet.ora
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (SDU=65536) (RECV_BUF_SIZE=134217728) 
    (SEND_BUF_SIZE=134217728) (ADDRESS_LIST = (FAILOVER=on) 
    (CONNECT_TIMEOUT=3)(RETRY_COUNT=3) (ADDRESS = (PROTOCOL = TCP)(HOST 
    =10.255.195.131)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) 
    (SERVICE_NAME = db11) (UR=A)))
    OK (40 msec)
  6. في Oracle Exadata Database Machine المحلي، تثبيت Oracle Database Exadata Cloud Service البديل لتدقيق الاتصال
    [oracle@exa11db01 bin]$ ping 10.255.195.131

    يجب أن تبدو المخرجات مشابهة لما يلي:

    PING 10.255.195.131 (10.255.195.131) 56(84) bytes of data.
    64 bytes from 10.255.195.131: icmp_seq=1 ttl=60 time=19.7 ms
    64 bytes from 10.255.195.131: icmp_seq=2 ttl=60 time=19.6 ms
    64 bytes from 10.255.195.131: icmp_seq=3 ttl=60 time=19.5 ms
    ^C
    --- 10.255.195.131 ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2003ms
    rtt min/avg/max/mdev = 19.521/19.633/19.718/0.141 ms
  7. في Oracle Database Exadata Cloud Service، استخدم NetCat للاتصال بـ Oracle Exadata Database Machine) المحلية للتحقق من الاتصال.
    [oracle@exacs82-vm3sv1 ~]$ nc -v 10.136.74.2

    يجب أن تبدو المخرجات مشابهة لما يلي:

    -bash: nc: command not found
  8. في Oracle Database Exadata Cloud Service، استخدم برنامج TNS Ping المساعد لـ Linux للاتصال بـ Oracle Exadata Database Machine المحلي لتدقيق الاتصال
    [oracle@exacs82-vm3sv1 ~]$ tnsping db1

    يجب أن تبدو المخرجات مشابهة لما يلي:

    TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 23-JAN-2021 
    19:53:02
    Copyright (c) 1997, 2020, Oracle.  All rights reserved.
    Used parameter files:
    /u02/app/oracle/product/19.0.0.0/dbhome_5/network/admin/DB1/sqlnet.ora
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (SDU=65536) (RECV_BUF_SIZE=134217728) 
    (SEND_BUF_SIZE=134217728) (ADDRESS_LIST = (FAILOVER=on) 
    (CONNECT_TIMEOUT=3)(RETRY_COUNT=3) (ADDRESS = (PROTOCOL = TCP)(HOST = 
    10.136.74.2)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = 
    db11) (UR=A)))
    OK (40 msec)
  9. في Oracle Database Exadata Cloud Service، اختبار Oracle Exadata Database Machine المحلي لتدقيق الاتصال
    [oracle@exacs82-vm3sv1 ~]$ ping 10.136.74.2

    يجب أن تبدو المخرجات مشابهة لما يلي:

    PING 10.136.74.2 (10.136.74.2) 56(84) bytes of data.
    64 bytes from 10.136.74.2: icmp_seq=1 ttl=60 time=18.6 ms
    64 bytes from 10.136.74.2: icmp_seq=2 ttl=60 time=18.6 ms
    64 bytes from 10.136.74.2: icmp_seq=3 ttl=60 time=18.5 ms
    64 bytes from 10.136.74.2: icmp_seq=4 ttl=60 time=18.4 ms
    ^C
    --- 10.136.74.2 ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3003ms
    rtt min/avg/max/mdev = 18.442/18.574/18.665/0.162 ms

إزالة ملفات البيانات من طبعة Exadata البديلة

قم بتشغيل سكريبت لإزالة ملفات البيانات من قاعدة البيانات البديلة.

  1. قم بالدخول إلى طبعة Oracle Database Exadata Cloud Service.
  2. تكوين اسكربت لإزالة ملفات البيانات.
    SQL> set heading off linesize 999 pagesize 0 feedback off trimspool on
    SQL> spool /tmp/files.lst
    SQL> select 'asmcmd rm '||name from v$datafile union all select 'asmcmd rm 
    '||name from v$tempfile union all select 'asmcmd rm '||member from 
    v$logfile;
    SQL> spool off
    SQL> create pfile='/tmp/ ORACLE_UNQNAME.pfile' from spfile;         
    SQL> exit
  3. إغلاق قاعدة البيانات في طبعة Oracle Database Exadata Cloud Service.
    srvctl stop database -d DB1_phx3g7
  4. قم بإزالة ملفات البيانات عن طريق تحرير ملف files.1st وإزالة السطور التالية:
    SQL> select 'asmcmd rm '||name from v$datafile union all select 'asmcmd rm 
    '||name from v$tempfile union all select 'asmcmd rm '||member from 
    v$logfile;
    SQL> spool off
  5. قم بتغيير أذون الملف لتكون قابلة للقراءة والكتابة وقابلة للتنفيذ بواسطة جميع المستخدمين.
    chmod 777 /tmp/files.1st
  6. حفظ الاسكربت وتنفيذه.
    ./tmp/files.lst
تتم إزالة كل ملفات قاعدة بيانات البادئ.

نسخ ملفات كلمة السر

حدد موقع ملف كلمة السر على نظام Exadata المحلي ونسخ الملف إلى طبعة Oracle Database Exadata Cloud Service. يوجد ملف كلمة السر في نظام Exadata المحلي على قرص Oracle Automatic Storage Management (Oracle ASM).

  1. تحقق من التكوين الحالي لقاعدة البيانات المحلية وقم بعرض المخرجات.
    srvctl config database -d db1
    تتضمن المخرجات ملف كلمة السر.
  2. قم بتحرير ملف oratab وإضافة Oracle ASM إليه.
    vi /etc/oratab 
    db11:/u01/app/oracle/product/19.0.0.0/dbhome
    _1:N
    +ASM1:/u01/app/19.0.0.0/grid:N
  3. استخدم البرنامج المساعد لسطر أوامر Oracle ASM واحصل على ملف كلمة السر.
    asmcmd pwget --dbuniquename db1
    تتضمن المخرجات ملف كلمة السر.
  4. قم بالدخول إلى البرنامج المساعد لسطر أوامر Oracle ASM، ثم استخدم الأمر pwcopy لنسخ ملف كلمة السر إلى القرص المحلي.
    تتضمن المخرجات ملف كلمة السر.
  5. استخدم الأمر ls -lrt لتأكيد نسخ الملف إلى القرص المحلي.
  6. استخدم بروتوكول شبكة SCP لحفظ ملف كلمة السر في طبعة Oracle Database Exadata Cloud Service.
    scp -i Key.ssh -r pwddb1 opc@10.255.195.131:/tmp/pwddb1
  7. قم بالدخول إلى طبعة Oracle Database Exadata Cloud Service كمستخدم opc وقم بتغيير الوضع إلى 777 لملف كلمة السر.
    chmod 777 /tmp/pwddb1
  8. قم بالدخول إلى طبعة Oracle Database Exadata Cloud Service كمستخدم su -oracle وعرض الأدلة.
    sudo su - oracle
    ls -lrt
    source DB1.env
  9. باستخدام البرنامج المساعد لسطر أوامر Oracle ASM، انسخ الملف من المجلد tmp إلى $ORACLE_HOME/dbs حيث تريد وجود ملف كلمة السر.
    ASMCMD> pwcopy --dbuniquename DB1_phx3g7 /tmp/pwddb1 +DATAC1/DB1_phx3g7/PASSWORD/passwd
    ستظهر رسالة خطأ مشابهة لما يلي. من المتوقع أن يكون ذلك لأن كلمة السر مسجلة بالفعل.
    ASMCMD-9453: failed to register password file as a CRS resource
    copying /u02/app/oracle/product/19.0.0.0/dbhome_5/dbs/pwddb1 -> +DATAC1/DB1_phx3g7/PASSWORD/passwd
    ASMCMD-9453: failed to register password file as a CRS resource
  10. باستخدام البرنامج المساعد لسطر أوامر Oracle ASM، تحقق من نسخ ملف كلمة السر.
    ls -al