【跟我學oracle18c】第十八天:EXTENDED DATA-LINKED專項測試
阿新 • • 發佈:2018-11-21
EXTENDED DATA-LINKED:共享公共物件的元資料和資料給Application PDB,在Application PDB內可以查詢公共物件在Application root記憶體儲的資料,對Application root記憶體儲的資料不能進行DML操作,但在Application PDB內可插入本地資料,EXTENDED DATA-LIKED更像是METADATA-LIKED和DATA LIKED的結合。
這句話整理出來幾點:
1、共享公共物件的元資料和資料給Application PDB,要通過SYNC子句
2、對Application root記憶體儲的資料不能進行DML操作
3、但在Application PDB內可插入本地資料
實踐活動:
環境:(同METADATA-LINKED專項測試):
例項:
一、Application root 中建立 EXTENDED DATA-LINKED表
SQL> ALTER PLUGGABLE DATABASE APPLICATION saas_sales_app BEGIN UPGRADE '3.0' to '4.0'; Done SQL> SQL> CREATE TABLE zipcodes_edt SHARING=EXTENDED DATA 2 (code VARCHAR2(5), 3 country_id NUMBER, 4 region VARCHAR2(10)); Table created SQL> SQL> INSERT INTO zipcodes_edt VALUES ('08820','1','East'); 1 row inserted SQL> INSERT INTO zipcodes_edt VALUES ('10005','1','East'); 1 row inserted SQL> INSERT INTO zipcodes_edt VALUES ('44332','1','North'); 1 row inserted SQL> INSERT INTO zipcodes_edt VALUES ('94065','1','West'); 1 row inserted SQL> INSERT INTO zipcodes_edt VALUES ('73301','1','South'); 1 row inserted SQL> COMMIT; Commit complete SQL> ALTER PLUGGABLE DATABASE APPLICATION saas_sales_app END upgrade to '4.0'; Done SQL> select * from zipcodes_edt; CODE COUNTRY_ID REGION ----- ---------- ---------- 08820 1 East 10005 1 East 44332 1 North 94065 1 West 73301 1 South SQL> select * from containers(zipcodes_edt);
二、pdbs內部測試
SQL> ALTER PLUGGABLE DATABASE APPLICATION saas_sales_app SYNC; Done SQL> select * from saas_sales_adm.zipcodes_edt; CODE COUNTRY_ID REGION ----- ---------- ---------- 08820 1 East 10005 1 East 44332 1 North 94065 1 West 73301 1 South SQL> INSERT INTO saas_sales_adm.zipcodes_edt VALUES ('73331','1','South'); 1 row inserted SQL> select * from saas_sales_adm.zipcodes_edt; CODE COUNTRY_ID REGION ----- ---------- ---------- 08820 1 East 10005 1 East 44332 1 North 94065 1 West 73301 1 South 73331 1 South SQL> delete saas_sales_adm.zipcodes_edt where code='08820'; 0 rows deleted
三、Application root 中查詢
SQL> select * from containers(zipcodes_edt);
CODE COUNTRY_ID REGION CON_ID
----- ---------- ---------- ----------
08820 1 East 6
10005 1 East 6
44332 1 North 6
94065 1 West 6
73301 1 South 6
08820 1 East 9
10005 1 East 9
44332 1 North 9
94065 1 West 9
73331 1 South 9
10 rows selected
分析:
EXTENDED DATA-LINKED對於pdbs是可讀,可寫,但是對root區域的資料dml是不允許的。
發現這裡應該是18c的缺陷還是bug:
參見下文
【跟我學oracle18c】第十八天:EXTENDED DATA-LINKED專項測試中發現的oracle18c漏洞