نسخ كلمة السر وملفات الحافظة إلى السحابة

انسخ كلمة السر وملفات الحافظة من قاعدة البيانات الأساسية إلى البديل في Oracle Cloud Infrastructure.

الحصول على اسم قاعدة البيانات والتحقق من الحافظة

احصل على اسم قاعدة البيانات الفريد ومعرف نظام Oracle (SID) لطبعة Oracle Cloud Infrastructure (OCI) وتحقق من موقع الحافظة.

يجب أن تكون أسماء قواعد البيانات مماثلة لقاعدة البيانات المحلية ونظام قاعدة البيانات على OCI.
  1. في OCI، احصل على اسم قاعدة البيانات الفريد وSID.
    ORACLE_UNQNAME هو current db_unique_name لنظام قاعدة بيانات OCI. ORACLE_SID هي ONPREMSID. في هذا المثال، Oracle SID هو ORCLCDB.
    env | grep ORA
  2. تحقق من موقع ملف الحافظة المحلي من خلال تنفيذ أمر SQL.
    select * from V$ENCRYPTION_WALLET;
  3. لاحظ موقع الحافظة لقاعدة البيانات البديلة في OCI. ستحتاج إلى ذلك لخطوة لاحقة.
     /opt/oracle/dcs/commonstore/wallets/tde/ORACLE_UNQNAME/

    على سبيل المثال، الحافظة الموجودة في OCI:

    $ ls -lrt
    total 20
    -rw------- 1 oracle oinstall 2555 Aug 27 06:32 ewallet_2020082706324337.p12
    -rw------- 1 oracle oinstall 5467 Aug 27 06:32 ewallet.p12
    -rw------- 1 oracle oinstall 5512 Aug 27 06:32 cwallet.sso

    على سبيل المثال، موقع الحافظة المحلية:

    bash-4.2$ pwd
    /opt/oracle/admin/ORCLCDB/xdb_wallet
    bash-4.2$ ls -lrt
    total 8
    -rw-------. 1 oracle oinstall 3835 Aug 27 02:23 ewallet.p12
    -rw-------. 1 oracle oinstall 3880 Aug 27 02:23 cwallet.sso

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

إزالة ملفات البيانات من طبعة Oracle Cloud Infrastructure (OCI).

  1. في طبعة OCI، قم بتكوين اسكربت لإزالة ملفات البيانات.
    فيما يلي مثال للسكريبت:
    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
  2. كما هو الحال sysdba، استخدم الأمر shutdown immediate لإغلاق قاعدة البيانات البديلة على OCI وإلغاء تثبيتها وإغلاقها.
    SQL> shutdown immediate
  3. في دليل/tmp ، افتح ملف files.lst وقم بإزالة السطور a. و b. لإزالة ملفات البيانات.
    a.   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;
    b.   SQL> spool off
    c.   If you don’t have ASM disks, then you will have to remove ALL the asmcmd command from the files.lst else the database files won't be deleted.
    d.   Chmod 777 /tmp/files.lst
    e.   Save and Execute the Script. $ ./tmp/files.lst
    f.   All files for the starter database have now been removed.

نسخ كلمة السر إلى قاعدة البيانات البديلة

انسخ ملف كلمة السر من قاعدة البيانات المحلية إلى مضيف قاعدة البيانات البديل باستخدام عناوين IP لفتح نفق SSH بين مضيف السلسة ومضيف قاعدة البيانات الهدف.

  1. اضغط على طبعة قاعدة البيانات البديلة من المضيف المحلي عبر مضيف السلسة وقم بنسخ ملف كلمة السر.
    يوجد ملف كلمة السر في الدليل التالي: $ORACLE_HOME/dbs/orapwORACLE_SID.
    في المثال التالي، قم باستبدال id_rsa بمفاتيح SSH واستخدم عنوان IP لمضيف السلسة ونقطة توصيل قاعدة بيانات Oracle Cloud Infrastructure (OCI).
    scp -i ~/Keys/id_rsa -o ProxyCommand="ssh -i ~/Keys/id_rsa -W %h:%p opc@IP_address_of_your_bastion_host" orapwORACLE_SID opc@IP address of your OCI DB Node:~/tmp
  2. احفظ الملف المنسوخ إلى طبعة قاعدة البيانات البديلة في OCI.
    sudo cp orapwORACLE_SID /u01/app/oracle/product/19.0.0/dbhome_1/dbs/
  3. قم بتشغيل الأمر md5sum في الملف المحلي وملف OCI orapwORACLE_SID، وتحقق من أن لهما نفس بصمة الإصبع.
    md5sum /u01/app/oracle/product/19.0.0/dbhome_1/dbs/orapwORACLE_SID
    

نسخ ملفات الحافظة إلى قاعدة البيانات البديلة

انسخ حافظة كلمة السر إلى دليل /home/oracle/ على مضيف قاعدة البيانات البديل في Oracle Cloud Infrastructure (OCI) باستخدام عناوين IP لفتح نفق SSH بين مضيف السلسة ومضيف قاعدة البيانات البديل.

  1. حدد موقع الحافظة في المضيف المحلي وجعل ملفات الحافظة قابلة للقراءة والكتابة والتنفيذ بواسطة الجميع.
    cd /opt/oracle/admin/$ORCLSID/wallet
    في هذا المثال، تحتوي الحافظة على ملفين: ewallet.p12 وcwallet.sso. جعل كلا الملفين قابلين للقراءة والكتابة والتنفيذ بواسطة الجميع باستخدام الأمر chmod 777.
  2. في مضيف قاعدة بيانات OCI، تحقق من احتواء ملف $ORACLE_HOME/network/admin/sqlnet.ora على معلمة ENCRYPTION_WALLET_LOCATION في sqlnet.ora.
    ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE) (METHOD_DATA=(DIRECTORY=/opt/oracle/dcs/commonstore/wallets/tde/$ORACLE_UNQNAME)))
  3. انسخ ملف الحافظة إلى مضيف قاعدة بيانات OCI في المجلد /tmp باستخدام أمر النفق.
    ~/Keys/id_rsa : Replace it with your Ssh keys
    192.0.2.254: IP address of your bastion host.
    10.10.30.2: IP address of your OCI DB Node.
    
    scp -i ~/Keys/id_rsa -o ProxyCommand="ssh -i ~/Keys/id_rsa -W %h:%p opc@192.0.2.254" ewallet.p12 opc@10.10.30.2:/tmp/
    
    scp -i ~/Keys/id_rsa -o ProxyCommand="ssh -i ~/Keys/id_rsa -W %h:%p opc@192.0.2.254" cwallet.sso opc@10.10.30.2:/tmp/
  4. قم بإزالة ملفات الحافظة الموجودة من مضيف قاعدة بيانات OCI في دليل /opt/oracle/dcs/commonstore/wallets/tde/$ORACLE_UNQNAME.
  5. كمستخدم OPC (وليس مستخدم Oracle) على مضيف OCI، قم بجعل ملفات الحافظة قابلة للقراءة والكتابة والتنفيذ بواسطة الجميع.
    chmod 777 /tmp/ewallet.p12
    chmod 777 /tmp/cwallet.sso
  6. نسخ ملفات الحافظة من مجلد /tmp إلى /opt/oracle/dcs/commonstore/wallets/tde/$ORACLE_UNQNAME.