اوراکل 23ai- قابلیت Hybrid read-only mode برای pluggable databaseها

در اوراکل 23cء، open mode جدیدی به نام Hybrid read-only برای pluggable databaseها اضافه شد که در صورت قرار دادن PDB در این حالت، local userها تنها می توانند به صورت Read Only به دیتابیس وصل شوند البته در این open mode محدودیتی برای common userها ایجاد نخواهد شد و این دسته از کاربران امکان write خواهند داشت:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> ALTER PLUGGABLE DATABASE TEHRANPDB OPEN HYBRID READ ONLY;
Pluggable database altered.
SQL> ALTER PLUGGABLE DATABASE TEHRANPDB OPEN HYBRID READ ONLY; Pluggable database altered.
SQL> ALTER PLUGGABLE DATABASE TEHRANPDB OPEN HYBRID READ ONLY;
Pluggable database altered.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 TEHRANPDB READ WRITE NO
SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 TEHRANPDB READ WRITE NO
SQL> show pdbs
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 TEHRANPDB                      READ WRITE NO

از طریق کاربر sys به TEHRANPDB وصل شده و امکان write را تست می کنیم:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sqlplus "sys/sys@target:1522/TEHRANPDB as sysdba"
sqlplus "sys/sys@target:1522/TEHRANPDB as sysdba"
sqlplus "sys/sys@target:1522/TEHRANPDB as sysdba"
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> show user
USER is "SYS"
SQL> select OPEN_MODE from v$pdbs;
OPEN_MODE
----------
READ WRITE
SQL> show user USER is "SYS" SQL> select OPEN_MODE from v$pdbs; OPEN_MODE ---------- READ WRITE
SQL> show user
USER is "SYS"
SQL> select OPEN_MODE from v$pdbs;
OPEN_MODE
----------
READ WRITE
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> create table usef.tbl1(id number);
Table created.
SQL> create table usef.tbl1(id number); Table created.
SQL> create table usef.tbl1(id number);
Table created.

کاربر sysء OPEN_MODE این PDB را به صورت READ WRITE می بیند در حالی که PDB را در حالت OPEN HYBRID READ ONLY باز کرده بودیم.

این تست را برای کاربر محلی usef تکرار می کنیم:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sqlplus "usef/a@target:1522/TEHRANPDB"
sqlplus "usef/a@target:1522/TEHRANPDB"
sqlplus "usef/a@target:1522/TEHRANPDB"
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> show user
USER is "USEF"
SQL> select OPEN_MODE from v$pdbs;
OPEN_MODE
----------
READ ONLY
SQL> show user USER is "USEF" SQL> select OPEN_MODE from v$pdbs; OPEN_MODE ---------- READ ONLY
SQL> show user
USER is "USEF"
SQL> select OPEN_MODE from v$pdbs;
OPEN_MODE
----------
READ ONLY
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> create table usef.tbl2(id number);
ORA-16000: Attempting to modify database or pluggable database that is open for read-only access.
SQL> create table usef.tbl2(id number); ORA-16000: Attempting to modify database or pluggable database that is open for read-only access.
SQL> create table usef.tbl2(id number);
ORA-16000: Attempting to modify database or pluggable database that is open for read-only access.

کاربر usef امکان نوشتن در این شرایط را ندارد.

صرف نظر از نحوه اتصال به PDB، از طریق ویوی V$CONTAINER_TOPOLOGY می توان قرار داشتن PDB در حالت OPEN HYBRID READ ONLY را بررسی کرد:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> select IS_HYBRID_READ_ONLY,CON_NAME,OPEN_MODE from V$CONTAINER_TOPOLOGY;
IS_HYBRID_READ_ONLY CON_NAME OPEN_MODE
-------------------- ---------- ----------
YES TEHRANPDB READ WRITE
SQL> select IS_HYBRID_READ_ONLY,CON_NAME,OPEN_MODE from V$CONTAINER_TOPOLOGY; IS_HYBRID_READ_ONLY CON_NAME OPEN_MODE -------------------- ---------- ---------- YES TEHRANPDB READ WRITE
SQL> select IS_HYBRID_READ_ONLY,CON_NAME,OPEN_MODE from V$CONTAINER_TOPOLOGY;
IS_HYBRID_READ_ONLY  CON_NAME   OPEN_MODE
-------------------- ---------- ----------
YES                  TEHRANPDB  READ WRITE

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

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

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