تنفيذ Oracle Data Guard على جهاز Azure الظاهري المستند إلى Linux

يُطبق على: ✔️ أجهزة Linux الظاهرية

يمكنك استخدام Azure CLI لإنشاء موارد Azure وإدارتها من سطر الأوامر أو في البرامج النصية. توضح هذه المقالة كيفية استخدام Azure CLI لنشر قاعدة بيانات Oracle Database 19c الإصدار 3 من صورة Azure Marketplace. ثم توضح لك هذه المقالة، خطوة بخطوة، كيفية تثبيت Data Guard وتكوينه على جهاز Azure ظاهري (VM). للمساعدة في تأمين البيئة، لن يمكن الوصول إلى أي منافذ بشكل عام وسيوفر مثيل Azure Bastion الوصول إلى أجهزة Oracle الظاهرية.

قبل البدء، تأكد من تثبيت Azure CLI. لمزيد من المعلومات، راجع دليل تثبيت Azure CLI.

أعِد البيئة

الافتراضات

لتثبيت Oracle Data Guard، تحتاج إلى إنشاء جهازين ظاهريين من Azure على نفس مجموعة التوفر:

  • يحتوي الجهاز الظاهري الأساسي (OracleVM1) على مثيل Oracle قيد التشغيل.
  • يحتوي الجهاز الظاهري الاحتياطي (OracleVM2) على برنامج Oracle مثبت فقط.

الصورة Azure Marketplace التي تستخدمها لإنشاء الأجهزة الظاهرية هي Oracle:oracle-database-19-3:oracle-database-19-0904:latest.

ملاحظة

كن على دراية بالإصدارات التي وصلت إلى نهاية العمر الافتراضي (EOL) ولم تعد مدعومة من قبل Red Hat. سيتم دعم الصور التي تم تحميلها في EOL أو خارجها على أساس جهد عمل معقول. لمزيد من المعلومات، راجع صفحة ويب Red Hat لدورات حياة المنتج.

تسجيل الدخول إلى Azure

سجّل الدخول إلى اشتراكك في Azure باستخدام الأمر az login واتبع الإرشادات التي تظهر على الشاشة.

az login

تعيين متغيرات البيئة

LOCATION اضبط المتغير لبيئتك:

LOCATION=eastus
RESOURCE_GROUP="Oracle-Lab"
VM_USERNAME="azureuser"
VM_PASSWORD="OracleLab123"
VNET_NAME="${RESOURCE_GROUP}VNet"

تمكين ملحق Azure Bastion

قم بتضمين ملحق Azure Bastion في Azure CLI:

az extension add \
  --name bastion

إنشاء مجموعة موارد

يمكنك إنشاء مجموعة موارد مستخدماً الأمر az group create. مجموعة موارد Azure عبارة عن حاوية منطقية يتم فيها توزيع موارد Azure وإدارتها.

az group create \
  --name $RESOURCE_GROUP \
  --location $LOCATION

إنشاء شبكة ظاهرية مع شبكتين فرعيتين

إنشاء شبكة ظاهرية حيث ستقوم بتوصيل جميع خدمات الحوسبة. ستستضيف شبكة فرعية واحدة Azure Bastion، وهي خدمة Azure تساعد في حماية قواعد البيانات الخاصة بك من الوصول العام. ستستضيف الشبكة الفرعية الثانية الجهازين الظاهريين لقاعدة بيانات Oracle.

قم أيضا بإنشاء مجموعة أمان الشبكة التي ستشير إليها جميع الخدمات لتحديد المنافذ التي يتم عرضها بشكل عام. سيتم كشف المنفذ 443 فقط. ستفتح خدمة Azure Bastion هذا المنفذ تلقائيا عند إنشاء مثيل الخدمة هذا.

az network vnet create \
  --resource-group $RESOURCE_GROUP \
  --location $LOCATION \
  --name $VNET_NAME \
  --address-prefix "10.0.0.0/16"
az network vnet subnet create \
  --resource-group $RESOURCE_GROUP \
  --name AzureBastionSubnet \
  --vnet-name $VNET_NAME \
  --address-prefixes 10.0.0.0/24
az network vnet subnet create \
  --resource-group $RESOURCE_GROUP \
  --name OracleSubnet \
  --vnet-name $VNET_NAME \
  --address-prefixes 10.0.1.0/24
az network nsg create \
  --name OracleVM-NSG \
  --resource-group $RESOURCE_GROUP \
  --location $LOCATION

إنشاء مجموعة قابلية وصول

يعد إنشاء مجموعة توفر أمراً اختيارياً، ولكننا نوصي به. لمزيد من المعلومات، راجع إرشادات مجموعات توفر Azure.

az vm availability-set create \
  --resource-group $RESOURCE_GROUP \
  --name OracleVMAvailabilitySet \
  --platform-fault-domain-count 2 \
  --platform-update-domain-count 2

إنشاء جهازين ظاهريين

إنشاء جهازين ظاهريين باستخدام الأمر az vm create . ينشئ المثال التالي الأجهزة الظاهرية المسماة OracleVM1 و OracleVM2.

إنشاء OracleVM1 (أساسي):

az vm create \
  --resource-group $RESOURCE_GROUP \
  --name OracleVM1 \
  --availability-set OracleVMAvailabilitySet \
  --image Oracle:oracle-database-19-3:oracle-database-19-0904:latest \
  --size Standard_DS1_v2 \
  --authentication-type password \
  --admin-username $VM_USERNAME \
  --admin-password $VM_PASSWORD \
  --vnet-name $VNET_NAME \
  --subnet OracleSubnet \
  --nsg OracleVM-NSG \
  --os-disk-size-gb 32

إنشاء OracleVM2 (وضع الاستعداد):

az vm create \
  --resource-group $RESOURCE_GROUP \
  --name OracleVM2 \
  --availability-set OracleVMAvailabilitySet \
  --image Oracle:oracle-database-19-3:oracle-database-19-0904:latest \
  --size Standard_DS1_v2 \
  --authentication-type password \
  --admin-username $VM_USERNAME \
  --admin-password $VM_PASSWORD \
  --vnet-name $VNET_NAME \
  --subnet OracleSubnet \
  --nsg OracleVM-NSG \
  --os-disk-size-gb 32

إنشاء مثيل خدمة Azure Bastion

يوفر Azure Bastion نفقا آمنا لجميع الخدمات المستضافة داخل الشبكة الظاهرية. وهو بمثابة مربع انتقال للقضاء على الوصول المباشر إلى قواعد بيانات Oracle الخاصة بك.

إنشاء عنوان IP عام للوصول إلى خدمة Azure Bastion:

az network public-ip create \
  --resource-group $RESOURCE_GROUP \
  --name OracleLabBastionPublicIP \
  --sku Standard

إنشاء مثيل خدمة Azure Bastion:

az network bastion create \
  --location $LOCATION \
  --name OracleLabBastion \
  --public-ip-address OracleLabBastionPublicIP \
  --resource-group $RESOURCE_GROUP \
  --vnet-name $VNET_NAME \
  --sku basic

الاتصال بالجهاز الظاهري

الآن، ستصل OracleVM1 باستخدام خدمة Azure Bastion من مدخل Microsoft Azure.

في مربع البحث في أعلى النافذة، أدخل OracleVM1. في قائمة النتائج، حدد OracleVM1 لفتح هذا الجهاز الظاهري.

رسم تخطيطي يوضح مربع البحث ونتائج أول جهاز ظاهري Oracle.

في أعلى الجزء، حدد Connect>Bastion.

رسم تخطيطي يوضح تحديدات الاتصال عبر Azure Bastion.

أدخل اسم المستخدم وكلمة المرور، ثم حدد زر الاتصال .

رسم تخطيطي يوضح كيفية إدخال بيانات الاعتماد للاتصال عبر Azure Bastion.

تفتح علامة تبويب جديدة مع اتصال آمن بجهازك الظاهري، حيث تم تثبيت برنامج Oracle بالفعل من صورة Azure Marketplace.

رسم تخطيطي يوضح اتصالا عبر Azure Bastion في مستعرض.

تكوين OracleVM1 (أساسي)

تعطيل جدار الحماية:

sudo systemctl stop firewalld
sudo systemctl disable firewalld

oracle تعيين كلمة مرور المستخدم:

sudo passwd oracle

azureuser أدخل كلمة المرور: OracleLab123.

oracle قم بتغيير كلمة مرور المستخدم إلى OracleLab123. (أدخله مرة أخرى للتحقق.)

إنشاء قاعدة البيانات على OracleVM1 (أساسي)

تم تثبيت برنامج Oracle بالفعل على صورة Azure Marketplace، لذلك فإن الخطوة التالية هي تثبيت قاعدة البيانات.

التبديل إلى مستخدم Oracle الفائق:

sudo su - oracle

إنشاء قاعدة البيانات:

dbca -silent \
   -createDatabase \
   -datafileDestination /u01/app/oracle/cdb1 \
   -templateName General_Purpose.dbc \
   -gdbname cdb1 \
   -sid cdb1 \
   -responseFile NO_VALUE \
   -characterSet AL32UTF8 \
   -sysPassword OracleLab123 \
   -systemPassword OracleLab123 \
   -createAsContainerDatabase true \
   -numberOfPDBs 1 \
   -pdbName pdb1 \
   -pdbAdminPassword OracleLab123 \
   -databaseType MULTIPURPOSE \
   -automaticMemoryManagement false \
   -storageType FS

يجب أن تبدو النتائج مشابهة للاستجابة التالية:

Copying database files
1% complete
2% complete
8% complete
13% complete
19% complete
27% complete
Creating and starting Oracle instance
29% complete
32% complete
33% complete
34% complete
38% complete
42% complete
43% complete
45% complete
Completing Database Creation
48% complete
51% complete
53% complete
62% complete
70% complete
72% complete
Creating Pluggable Databases
78% complete
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/cdb1/cdb1.log" for further details.

ORACLE_SID تعيين المتغيرين وORACLE_HOME:

$ ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1; export ORACLE_HOME
$ ORACLE_SID=cdb1; export ORACLE_SID

اختياريا، يمكنك إضافة ORACLE_HOME و ORACLE_SID إلى ملف /home/oracle/.bashrc ، بحيث يتم حفظ هذه الإعدادات لعمليات تسجيل الدخول المستقبلية:

# add oracle home
export ORACLE_HOME= /u01/app/oracle/product/19.0.0/dbhome_1
# add oracle sid
export ORACLE_SID=cdb1

تكوين Data Guard

تمكين وضع سجل الأرشيف على myVM1 (أساسي)

تمكين وضع السجل:

sqlplus / as sysdba
SQL> SELECT log_mode FROM v$database;
LOG_MODE
------------
NOARCHIVELOG
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;

قم بتمكين تسجيل القوة، وتأكد من وجود ملف سجل واحد على الأقل:

SQL> ALTER DATABASE FORCE LOGGING;
SQL> ALTER SYSTEM SWITCH LOGFILE;

إنشاء سجلات إعادة الاستعداد، وتعيين نفس الحجم والكمية مثل سجلات إعادة قاعدة البيانات الأساسية:

SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/cdb1/standby_redo01.log') SIZE 200M;
SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/cdb1/standby_redo02.log') SIZE 200M;
SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/cdb1/standby_redo03.log') SIZE 200M;
SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/cdb1/standby_redo04.log') SIZE 200M;

قم بتشغيل Flashback (مما يجعل الاسترداد أسهل بكثير) واضبط STANDBY_FILE_MANAGEMENT على AUTO. قم بإنهاء SQL*Plus بعد ذلك.

SQL> ALTER SYSTEM SET db_recovery_file_dest_size=50G scope=both sid='*';
SQL> ALTER SYSTEM SET db_recovery_file_dest='/u01/app/oracle/cdb1' scope=both sid='*';
SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO SCOPE=BOTH;
SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;
SQL> EXIT;

إعداد الخدمة على OracleVM1 (أساسي)

قم بتحرير ملف tnsnames.ora أو إنشائه، الموجود في مجلد $ORACLE_HOME/network/admin .

أضِف الإدخالات التالية:

cdb1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = OracleVM1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = cdb1)
    )
  )
cdb1_stby =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = OracleVM2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = cdb1)
    )
  )

قم بتحرير أو إنشاء ملف listener.ora الموجود في مجلد $ORACLE_HOME/network/admin .

أضِف الإدخالات التالية:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = OracleVM1)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = cdb1_DGMGRL)
      (ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1)
      (SID_NAME = cdb1)
    )
  )
ADR_BASE_LISTENER = /u01/app/oracle

تمكين وسيط Data Guard:

sqlplus / as sysdba
SQL> ALTER SYSTEM SET dg_broker_start=true;
SQL> CREATE pfile FROM spfile;
SQL> EXIT;

انسخ ملف المعلمة إلى خادم الاستعداد:

scp -p $ORACLE_HOME/dbs/initcdb1.ora oracle@OracleVM2:$ORACLE_HOME/dbs/

بدء تشغيل المستمع:

 lsnrctl stop
 lsnrctl start

إعداد الخدمة على OracleVM2 (وضع الاستعداد)

ارجع إلى مدخل Azure. ابحث عن OracleVM2، ثم حدد المورد في قائمة النتائج.

لقطة شاشة لمربع البحث ونتائج جهاز Oracle الظاهري الثاني.

في أعلى الجزء، حدد Connect>Bastion.

رسم تخطيطي يوضح التحديدات للاتصال من خلال Azure Bastion.

أدخل اسم المستخدم وكلمة المرور، ثم حدد زر الاتصال .

لقطة شاشة لإدخال بيانات اعتماد اسم المستخدم وكلمة المرور للاتصال عبر Azure Bastion.

تعطيل جدار الحماية على OracleVM2 (وضع الاستعداد)

sudo systemctl stop firewalld
sudo systemctl disable firewalld

تكوين البيئة ل OracleVM1

oracle تعيين كلمة مرور المستخدم:

sudo passwd oracle

azureuser أدخل كلمة المرور: OracleLab123.

oracle قم بتغيير كلمة مرور المستخدم إلى OracleLab123. (أدخله مرة أخرى للتحقق.)

التبديل إلى oracle المستخدم الفائق:

$ sudo su – oracle

ORACLE_SID تعيين المتغيرين وORACLE_HOME:

ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=cdb1; export ORACLE_SID

اختياريا، يمكنك إضافة ORACLE_HOME و ORACLE_SID إلى ملف /home/oracle/.bashrc ، بحيث يتم حفظ هذه الإعدادات لعمليات تسجيل الدخول المستقبلية:

# add oracle home
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
# add oracle sid
export ORACLE_SID=cdb1

قم بتحرير ملف tnsnames.ora أو إنشائه، الموجود في مجلد $ORACLE_HOME/network/admin .

أضِف الإدخالات التالية:

cdb1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = OracleVM1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = cdb1)
    )
  )
cdb1_stby =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = OracleVM2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = cdb1)
    )
  )

قم بتحرير أو إنشاء ملف listener.ora الموجود في مجلد $ORACLE_HOME/network/admin .

أضِف الإدخالات التالية:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = OracleVM2)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = cdb1_DGMGRL)
      (ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1)
      (SID_NAME = cdb1)
    )
  )
ADR_BASE_LISTENER = /u01/app/oracle

بدء تشغيل المستمع:

 lsnrctl stop
 lsnrctl start

استعادة قاعدة البيانات إلى OracleVM2 (وضع الاستعداد)

إنشاء ملف المعلمة /tmp/initcdb1_stby.ora بالمحتويات التالية:

*.db_name='cdb1'

إنشاء مجلدات:

$ mkdir -p /u01/app/oracle/cdb1
$ mkdir -p /u01/app/oracle/oradata/cdb1/pdbseed
$ mkdir -p /u01/app/oracle/oradata/cdb1/pdb1
$ mkdir -p /u01/app/oracle/fast_recovery_area/cdb1
$ mkdir -p /u01/app/oracle/admin/cdb1/adump

إنشاء ملف كلمة مرور:

$ orapwd file=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/orapwcdb1 password=OracleLab123 entries=10 force=y

ابدأ تشغيل قاعدة البيانات على OracleVM2:

 export ORACLE_SID=cdb1
 sqlplus / as sysdba
SQL> CREATE spfile from pfile;
SQL> STARTUP NOMOUNT PFILE='/tmp/initcdb1_stby.ora';
SQL> EXIT;

استعادة قاعدة البيانات باستخدام أداة Oracle Recovery Manager (RMAN):

$ rman TARGET sys/OracleLab123@cdb1 AUXILIARY sys/OracleLab123@cdb1_stby

قم بتشغيل الأوامر التالية في RMAN:

DUPLICATE TARGET DATABASE
  FOR STANDBY
  FROM ACTIVE DATABASE
  DORECOVER
  SPFILE
    SET db_unique_name='CDB1_STBY' COMMENT 'Is standby'
  NOFILENAMECHECK;

تظهر رسائل مشابهة لتلك التالية عند اكتمال الأوامر:

media recovery complete, elapsed time: 00:00:00
Finished recover at 29-JUN-22
Finished Duplicate Db at 29-JUN-22

إنهاء RMAN:

RMAN> EXIT;

تمكين وسيط Data Guard:

sqlplus / as sysdba
SQL> ALTER SYSTEM SET dg_broker_start=true;
SQL> EXIT;

تكوين Data Guard Broker على OracleVM1 (أساسي)

ابدأ تشغيل Data Guard Manager وقم بتسجيل الدخول باستخدام SYS وكلمة مرور. (لا تستخدم مصادقة نظام التشغيل.)

$ dgmgrl sys/OracleLab123@cdb1
DGMGRL for Linux: Version 19.0.0.0 - 64bit Production
Copyright (c) 2000, 2013, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected as SYSDBA.
DGMGRL> CREATE CONFIGURATION my_dg_config AS PRIMARY DATABASE IS cdb1 CONNECT IDENTIFIER IS cdb1;
Configuration "my_dg_config" created with primary database "cdb1"
DGMGRL> ADD DATABASE cdb1_stby AS CONNECT IDENTIFIER IS cdb1_stby MAINTAINED AS PHYSICAL;
Database "cdb1_stby" added
DGMGRL> ENABLE CONFIGURATION;
Enabled.

مراجعة التكوين:

DGMGRL> SHOW CONFIGURATION;
Configuration - my_dg_config
  Protection Mode: MaxPerformance
  Members:
  cdb1      - Primary database
  cdb1_stby - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS   (status updated 26 seconds ago)

لقد أكملت إعداد Oracle Data Guard. يوضح لك القسم التالي كيفية اختبار الاتصال والتبديل.

توصيل قاعدة البيانات من الجهاز العميل

قم بتحديث ملف tnsnames.ora على جهاز العميل الخاص بك. عادة ما يكون هذا الملف في $ORACLE_HOME/network/admin.

cdb1=
  (DESCRIPTION=
    (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=OracleVM1)
      (PORT=1521)
    )
    (CONNECT_DATA=
      (SERVER=dedicated)
      (SERVICE_NAME=cdb1)
    )
  )
cdb1_stby=
  (DESCRIPTION=
    (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=OracleVM2)
      (PORT=1521)
    )
    (CONNECT_DATA=
      (SERVER=dedicated)
      (SERVICE_NAME=cdb1_stby)
    )
  )

ابدأ SQL*Plus:

$ sqlplus sys/OraPasswd1@cdb1
SQL*Plus: Release 19.0.0.0 Production on Wed May 10 14:18:31 2022
Copyright (c) 1982, 2016, Oracle.  All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 19.0.0.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL>

اختبار تكوين Data Guard

التبديل عبر قاعدة البيانات على OracleVM1 (أساسي)

التبديل من الأساسي إلى الاستعداد (cdb1 إلى cdb1_stby):

$ dgmgrl sys/OracleLab123@cdb1
DGMGRL for Linux: Version 19.0.0.0 - 64bit Production
Copyright (c) 2000, 2013, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected as SYSDBA.
DGMGRL> SWITCHOVER TO cdb1_stby;
Performing switchover NOW, please wait...
Operation requires a connection to instance "cdb1" on database "cdb1_stby"
Connecting to instance "cdb1"...
Connected as SYSDBA.
New primary database "cdb1_stby" is opening...
Operation requires start up of instance "cdb1" on database "cdb1"
Starting instance "cdb1"...
ORACLE instance started.
Database mounted.
Switchover succeeded, new primary is "cdb1_stby"
DGMGRL>

يمكنك الآن الاتصال بقاعدة بيانات الاستعداد. ابدأ SQL*Plus:

$ sqlplus sys/OracleLab123@cdb1_stby
SQL*Plus: Release 19.0.0.0 Production on Wed May 10 14:18:31 2022
Copyright (c) 1982, 2016, Oracle.  All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL>

التبديل عبر قاعدة البيانات على OracleVM2 (وضع الاستعداد)

للتبديل، قم بتشغيل التعليمات البرمجية التالية على OracleVM2:

$ dgmgrl sys/OracleLab123@cdb1_stby
DGMGRL for Linux: Version 190.0.0.0 - 64bit Production
Copyright (c) 2000, 2013, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected as SYSDBA.
DGMGRL> SWITCHOVER TO cdb1;
Performing switchover NOW, please wait...
Operation requires a connection to instance "cdb1" on database "cdb1"
Connecting to instance "cdb1"...
Connected as SYSDBA.
New primary database "cdb1" is opening...
Operation requires start up of instance "cdb1" on database "cdb1_stby"
Starting instance "cdb1"...
ORACLE instance started.
Database mounted.
Switchover succeeded, new primary is "cdb1"

مرة أخرى، يجب أن تكون الآن قادراً على الاتصال بقاعدة البيانات الأساسية. ابدأ SQL*Plus:

$ sqlplus sys/OracleLab123@cdb1
SQL*Plus: Release 19.0.0.0 Production on Wed May 10 14:18:31 2022
Copyright (c) 1982, 2016, Oracle.  All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL>

لقد انتهيت من تثبيت وتكوين Data Guard على Oracle Linux.

حذف الجهاز الظاهري

عندما لم تعد بحاجة إلى الأجهزة الظاهرية، يمكنك استخدام الأمر التالي لإزالة مجموعة الموارد والأجهزة الظاهرية وجميع الموارد ذات الصلة:

az group delete --name $RESOURCE_GROUP

الخطوات التالية