سوال: اگر CDBای بیش از یک PDB داشته باشد، چگونه می توان در مورد ترتیب open شدن این PDBها اعمال نظر کرد؟
تا قبل از اوراکل 23c راهکاری در این زمینه وجود نداشت و با اجرای دستور startup، تضمینی در مورد ترتیب باز شدن این PDBها وجود نداشت(معمولا بر اساس شماره container این PDBها باز می شدند). اما در نسخه 23c قابلیت جدیدی ارائه شد و بر اساس آن می توان برای هر PDB یک PRIORITY تنظیم کرد تا از طریق آن، ترتیب انجام عملیاتهایی نظیر open کردن PDBء، upgrade و یا restoration را کنترل کرد.
ساختار کلی دستور را در قسمت زیر می بینید:
ALTER PLUGGABLE DATABASE <PDB name> PRIORITY <value>
در این دستور، نام PDB الزامی است و PRIORITY می تواند مقداری بین 1 تا 4096 بگیرد که هر چه این عدد کمتر باشد، PDB اولویت بیشتری دارد به طور مثال، PDB با اولویت 1 نسبت به PDB با اولویت 2 زودتر open خواهد شد.
SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 TEHRANPDB READ WRITE NO 4 BABOLPDB READ WRITE NO 5 VARAMINPDB READ WRITE NO 6 ABADANPDB READ WRITE NO
SQL> ALTER PLUGGABLE DATABASE babolpdb PRIORITY 1; Pluggable database altered. SQL> ALTER PLUGGABLE DATABASE ABADANPDB PRIORITY 2; Pluggable database altered. SQL> ALTER PLUGGABLE DATABASE VARAMINPDB PRIORITY 3; Pluggable database altered. SQL> ALTER PLUGGABLE DATABASE TEHRANPDB PRIORITY 4; Pluggable database altered.
با restart کردن دیتابیس خواهیم دید که دیتابیسها با ترتیب اعلام شده باز شده اند:
SQL> startup force;
SQL> select OPEN_TIME,NAME,PRIORITY from v$pdbs order by 1; OPEN_TIME NAME PRIORITY ---------------------------------------- ---------- ---------- 10-MAY-23 05.52.43.190 PM +04:30 PDB$SEED 1 10-MAY-23 05.52.43.812 PM +04:30 BABOLPDB 1 10-MAY-23 05.52.44.889 PM +04:30 ABADANPDB 2 10-MAY-23 05.52.45.929 PM +04:30 VARAMINPDB 3 10-MAY-23 05.52.47.102 PM +04:30 TEHRANPDB 4
ترتیب باز شدن PDB در ALERT LOG هم ثبت شده است:
PDB$SEED(2):Opening pdb with Resource Manager plan: DEFAULT_PLAN BABOLPDB(4):SUPLOG: Initialize PDB SUPLOG SGA, old value 0x0, new value 0x18 2023-05-10T17:52:44.739491+04:30 ABADANPDB(6):SUPLOG: Initialize PDB SUPLOG SGA, old value 0x0, new value 0x18 2023-05-10T17:52:45.784421+04:30 VARAMINPDB(5):SUPLOG: Initialize PDB SUPLOG SGA, old value 0x0, new value 0x18 2023-05-10T17:52:46.828984+04:30 TEHRANPDB(3):SUPLOG: Initialize PDB SUPLOG SGA, old value 0x0, new value 0x18
*همراه با اوراکل 12cR2، اولویت PDBها در زمینه upgrade از طریق دستور زیر قابل تنظیم است:
SQL*Plus: Release 12.0.0.0.0 - Production on Wed May 10 16:56:59 2023
SQL> ALTER PLUGGABLE DATABASE babolpdb UPGRADE PRIORITY 5; Pluggable database altered.