create pluggable database app_root as application container adminuser xb identified by xb; alter pluggable database app_root open;
altersessionset container=app_root; col nameformat a20 col root format a10 select con_id, name, application_root as root, application_pdb as pdb from v$containers;
CON_ID NAME ROOT PDB ---------- -------------------- ---------- --- 5 APP_ROOT YES NO
altersessionset container=app_root; select c.name, a.con_uid, a.app_name, a.app_version, a.app_status from dba_app_pdb_status a join v$containers c on c.con_uid = a.con_uid where a.app_name = 'SALES_APP';
NAME CON_UID APP_NAME APP_VERSIO APP_STATUS -------------------- ---------- -------------------- ---------- ------------ APP1 3232047153 SALES_APP 1.0 NORMAL
数据关联
这里升级应用程序从1.0到2.0,然后创建数据关联的公用表
1 2 3 4 5 6 7 8 9 10 11 12
# 升级应用程序 alter pluggable database application sales_app begin upgrade '1.0'to'2.0';
droptable sales_xb.sales2 purge; createtable sales_xb.sales2 SHARING=DATA (id number, amount number);
insertinto sales_xb.sales2 values(2,100); commit;
alter pluggable database application sales_app end upgrade to'2.0';
alter pluggable database application sales_app sync; select * from sales_xb.sales2;
ID AMOUNT ---------- ---------- 2100
altersessionset container=app_root; select c.name, a.con_uid, a.app_name, a.app_version, a.app_status from dba_app_pdb_status a join v$containers c on c.con_uid = a.con_uid where a.app_name = 'SALES_APP';
NAME CON_UID APP_NAME APP_VERSIO APP_STATUS -------------------- ---------- -------------------- ---------- ------------ APP1 3232047153 SALES_APP 1.0 NORMAL APP2 827740620 SALES_APP 2.0 NORMAL
alter pluggable database application sales_app begin upgrade '2.0'to'3.0';
droptable sales_xb.sales3 purge; createtable sales_xb.sales3 SHARING=EXTENDED DATA (id number, amount number);
insertinto sales_xb.sales3 values(3,100); commit;
alter pluggable database application sales_app end upgrade to'3.0';
altersessionset container=app1;
alter pluggable database application sales_app sync; select * from sales_xb.sales3;
ID AMOUNT ---------- ---------- 3100
altersessionset container=app_root; select c.name, a.con_uid, a.app_name, a.app_version, a.app_status from dba_app_pdb_status a join v$containers c on c.con_uid = a.con_uid where a.app_name = 'SALES_APP';
NAME CON_UID APP_NAME APP_VERSIO APP_STATUS -------------------- ---------- -------------------- ---------- ------------ APP2 827740620 SALES_APP 2.0 NORMAL APP1 3232047153 SALES_APP 3.0 NORMAL
altersessionset container=app1; alter pluggable database application sales_app sync;
altersessionset container=app2; alter pluggable database application sales_app sync;
altersessionset container=app_root; select c.name, a.con_uid, a.app_name, a.app_version, a.app_status from dba_app_pdb_status a join v$containers c on c.con_uid = a.con_uid where a.app_name = 'SALES_APP';