https://docs.oracle.com/cd/F19136_01/multi/creating-removing-application-containers-seeds-with-sql-plus.html#GUID-E2B95068-D16D-438D-9A0B-974540988990
https://docs.oracle.com/cd/F19136_01/multi/administering-application-containers-with-sql-plus.html
アプリケーション・コンテナ前提条件:
Oracle Managed Files
CDBはローカルUNDOモード
アプリケーションコンテナの作成
show parameter db_create_file_dest
show pdbs;
CREATE PLUGGABLE DATABASE appcon01 AS APPLICATION CONTAINER
ADMIN USER pdbadm IDENTIFIED BY oracle;
show pdbs;
alter pluggable database appcon01 open;
アプリケーションのインストール
alter session set container = appcon01;
ALTER PLUGGABLE DATABASE APPLICATION app01 BEGIN INSTALL '1.0';
create user test identified by test;
grant dba to test;
create table test.tab1(col1 int);
insert into test.tab1 values(1);
commit;
ALTER PLUGGABLE DATABASE APPLICATION app01 END INSTALL '1.0';
select * from cdb_applications;
アプリケーションシードの作成
alter session set container = appcon01;
CREATE PLUGGABLE DATABASE AS SEED
ADMIN USER pdbadm IDENTIFIED BY oracle;
ALTER PLUGGABLE DATABASE appcon01$SEED OPEN;
ALTER SESSION SET CONTAINER=appcon01$SEED;
ALTER PLUGGABLE DATABASE APPLICATION ALL SYNC;
ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE;
ALTER PLUGGABLE DATABASE OPEN READ ONLY;
alter session set container = appcon01;
show pdbs;
アプリケーションPDBの作成
alter session set container = appcon01;
CREATE PLUGGABLE DATABASE appcon01pdb01
ADMIN USER pdbadm IDENTIFIED BY oracle;
ALTER PLUGGABLE DATABASE appcon01pdb01 OPEN;
ALTER SESSION SET CONTAINER=appcon01pdb01;
ALTER PLUGGABLE DATABASE APPLICATION app01 SYNC;
ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE;
ALTER PLUGGABLE DATABASE OPEN ;
alter session set container = appcon01;
show pdbs;
アプリケーションの同期
alter session set container = appcon01pdb01;
select * from cdb_applications;
ALTER PLUGGABLE DATABASE APPLICATION app01 SYNC;
ALTER PLUGGABLE DATABASE APPLICATION ALL SYNC;
アプリケーションのアップグレード
alter session set container = appcon01;
ALTER PLUGGABLE DATABASE APPLICATION app01 BEGIN UPGRADE '1.0' to '2.0';
create table test.tab2(col1 int);
insert into test.tab2 values(1);
commit;
ALTER PLUGGABLE DATABASE APPLICATION app01 END UPGRADE to '2.0';
アプリケーションパッチ適用
alter session set container = appcon01;
ALTER PLUGGABLE DATABASE APPLICATION app01
BEGIN PATCH 20250227 MINIMUM VERSION '1.0';
alter table test.tab1 add(col2 varchar2(10));
ALTER PLUGGABLE DATABASE APPLICATION app01
END PATCH 20250227;