اوراکل 23c – امکان ایجاد Refreshable PDB از طریق DBCA

قابلیت Refreshable PDB از نسخه 12cR2 ارائه شد که قبلا در مورد آن مطلبی نوشتیم. برای ایجاد این نوع از PDBها، تا قبل از نسخه 23c صرفا می توانستیم از دستور CREATE PLUGGABLE DATABASE استفاده کنیم اما در نسخه 23c این کار از طریق ابزار DBCA هم قابل انجام است.

برای ایجاد Refreshable PDB سه گزینه جدید به DBCA اضافه شده است:

createAsRefreshablePDB: برای ایجاد Refreshable PDB باید این گزینه به TRUE تنظیم شود.

refreshMode: نحوه بروزرسانی PDB می تواند AUTO و یا MANUAL باشد.

refreshInterval : بازه زمانی بروزرسانی هم با این گزینه قابل تنظیم است.

قصد داریم PDBای با نام TehranPDB که در دیتابیس مبدا موجود است را در دیتابیسی دیگر(دیتابیس مقصد) به صورت Refreshable ایجاد کنیم نام PDB جدید EsfahanPDB خواهد بود.

قبل از اجرای دستور dbca باید دیتابیس مبدا و مقصد را در حالت Archive Log قرار دهیم:

SQL> archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /oracle23c/archive
Oldest online log sequence     186
Next log sequence to archive   188
Current log sequence           188

در هنگام استفاده از ابزار DBCA برای ساخت Refreshable PDB، نیازی به ساخت دیتابیس لینک نداریم و DBLink توسط ابزار DBCA ایجاد می شود. البته برای این کار باید در دیتابیس مبدا common userای با مجوز مورد نیاز ایجاد کنیم و مشخصات یوزر و دیتابیس را در زمان اجرا دستور DBCA تنظیم کنیم.

از این رو، در قدم بعدی common userای را در دیتابیس source ایجاد می کنیم:

SQL> show pdbs
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         4 TEHRANPDB                      READ WRITE NO
SQL> ser c##usef identified by a;
User created.
SQL> grant create session,create pluggable database to c##usef container=all;
Grant succeeded.

شرایط برای اجرای دستور dbca فراهم است این دستور را اجرا می کنیم:

[oracle@OL88 ~]$ dbca -silent \
>   -createPluggableDatabase \
>   -createFromRemotePDB \
>   -sourceDB FREE  \
>   -remotePDBName TEHRANPDB \
>   -remoteDBConnString 192.168.1.32:1521/FREE \
>   -remoteDBSYSDBAUserName sys \
>   -refreshMode auto \
>   -remoteDBSYSDBAUserPassword a \
>   -refreshInterval 300 \
>   -dbLinkUsername c##usef \
>   -dbLinkUserPassword a \
>   -sysDBAUserName sys \
>   -createAsRefreshablePDB true \
>   -sysDBAPassword a \
>   -pdbName EsfahanPDB \
>   -pdbAdminUserName pdbadmin \
>   -pdbAdminPassword a
Prepare for db operation
50% complete
Create pluggable database using remote clone operation
100% complete
Pluggable database "EsfahanPDB" plugged successfully.
Look at the log file "/opt/oracle/cfgtoollogs/dbca/FREE/EsfahanPDB/FREE.log" for further details.

با اجرای این دستور، در دیتابیس مقصد، EsfahanPDB ایجاد شده است:

SQL> show pdbs
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         4 ESFAHANPDB                     MOUNTED

از طریق ویوی dba_pdbs می توانیم اطلاعات بیشتری در مورد این PDB بدست بیاوریم:

SQL> select pdb_name, status, refresh_mode, refresh_interval from dba_pdbs where pdb_name='ESFAHANPDB';
PDB_NAME   STATUS     REFRES REFRESH_INTERVAL
---------- ---------- ------ ----------------
ESFAHANPDB REFRESHING AUTO                300

همانطور که می بینید، PDB به صورت خودکار و در بازه زمانی 300 ثانیه بروز خواهد شد.

همچنین می توانیم این PDB را به صورت دستی بروز کنیم:

SQL> ALTER PLUGGABLE DATABASE ESFAHANPDB REFRESH;
Pluggable database altered.
--Alert Log
2024-02-14T22:20:38.517766+03:30
ALTER PLUGGABLE DATABASE ESFAHANPDB REFRESH
2024-02-14T22:20:39.541508+03:30
Recovering pdb-4099 from SCN 14572306 to SCN 14576874 trc /opt/oracle/diag/rdbms/free/FREE/trace/FREE_ora_15698.trc
ESFAHANPDB(4):Media Recovery Start
2024-02-14T22:20:39.542522+03:30
ESFAHANPDB(4):Serial Media Recovery started
2024-02-14T22:20:39.670476+03:30
ESFAHANPDB(4):Media Recovery Log /oracle23c/archive/parlog_1_188_ee4059e5_1141490157.arc
2024-02-14T22:20:40.030075+03:30
ESFAHANPDB(4):Incomplete Recovery applied until change 14576874 time 02/14/2024 22:20:37
ESFAHANPDB(4):.... (PID:15698): Media Recovery Complete [dbsdrv.c:15638]
Completed: ALTER PLUGGABLE DATABASE ESFAHANPDB REFRESH

ارائه خدمات مشاوره ، پشتیبانی و نصب و راه اندازی پایگاه داده اوراکل در سراسر کشور...................... تلفن: 09128110897 ایمیل:vahidusefzadeh@gmail.com

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *