创建应用程序容器

来源:互联网 发布:手机淘宝怎么改店名 编辑:程序博客网 时间:2024/06/07 19:45

参考文档

https://docs.oracle.com/database/122/ADMIN/creating-removing-application-containers-seeds-with-sql-plus.htm#ADMIN-GUID-3C6D4200-1FEC-4C0F-B335-EFDC655ADABC

40.1.1.3 Creating an Application Container

Example 40-1 Creating an Application Container Using the CDB Seed

CREATE PLUGGABLE DATABASE app_con1 AS APPLICATION CONTAINER ADMIN USER app_admin IDENTIFIED BY oraclefile_name_convert=('/u01/app/oracle12/oradata12/orcl12c/pdbseed/','/u01/app/oracle12/oradata12/app_con1/');ALTER PLUGGABLE DATABASE app_con1 OPEN;SYS@orcl12c>conn / as sysdbaConnected.CREATE PLUGGABLE DATABASE app_con1 AS APPLICATION CONTAINER ADMIN USER app_admin IDENTIFIED BY oracle  2  file_name_convert=('/u01/app/oracle12/oradata12/orcl12c/pdbseed/','/u01/app/oracle12/oradata12/app_con1/');Pluggable database created.SYS@orcl12c>SYS@orcl12c>show pdbs    CON_ID CON_NAME  OPEN MODE  RESTRICTED---------- ------------------------------ ---------- ---------- 2 PDB$SEED  READ ONLY  NO 3 PDB_PLUGGED  MOUNTED 4 APP_CON1  MOUNTEDSYS@orcl12c>

Example 40-2 Creating an Application Container by Cloning a Local PDB

CREATE PLUGGABLE DATABASE APP_CON2 AS APPLICATION CONTAINER FROM PDBS   FILE_NAME_CONVERT = ('/u01/app/oracle12/oradata12/pdb1/', '/u01/app/oracle12/oradata12/app_con2/');CREATE PLUGGABLE DATABASE APP_CON2 AS APPLICATION CONTAINER FROM PDBS   FILE_NAME_CONVERT = ('/u01/app/oracle12/oradata12/pdb1', '/u01/app/oracle12/oradata12/app_con2');CREATE PLUGGABLE DATABASE APP_CON2 AS APPLICATION CONTAINER FROM PDBS*ERROR at line 1:ORA-65169: error encountered while attempting to copy fileORA-01013: user requested cancel of current operationSYS@mynewdb>CREATE PLUGGABLE DATABASE APP_CON2 AS APPLICATION CONTAINER FROM PDBS   2    FILE_NAME_CONVERT = ('/u01/app/oracle12/oradata12/pdb1/', '/u01/app/oracle12/oradata12/app_con2/');Pluggable database created.SYS@mynewdb>show pdbs    CON_ID CON_NAME  OPEN MODE  RESTRICTED---------- ------------------------------ ---------- ---------- 2 PDB$SEED  READ ONLY  NO 3 PDBS   READ WRITE NO 4 APP_CON1  MOUNTED 5 APP_CON2  MOUNTEDSYS@mynewdb>

40.1.2.2 Unplugging an Application Container

ALTER PLUGGABLE DATABASE APP_CON1 UNPLUG INTO '/home/oracle/APP_CON1.xml';SYS@mynewdb>ALTER PLUGGABLE DATABASE APP_CON1 UNPLUG INTO '/home/oracle/APP_CON1.xml';Pluggable database altered.SYS@mynewdb>show pdbs    CON_ID CON_NAME  OPEN MODE  RESTRICTED---------- ------------------------------ ---------- ---------- 2 PDB$SEED  READ ONLY  NO 3 PDBS   READ WRITE NO 4 APP_CON1  MOUNTED 5 APP_CON2  MOUNTEDSYS@mynewdb>select pdb_name,status from dba_pdbs where PDB_NAME='APP_CON1'  2  ;PDB_NAME--------------------------------------------------------------------------------STATUS----------APP_CON1UNPLUGGEDSYS@mynewdb>

plug in application container

create pluggable database pdb_test using '/home/oracle/APP_CON1.xml' nocopy;SYS@mynewdb>create pluggable database pdb_test using '/home/oracle/APP_CON1.xml' nocopy;create pluggable database pdb_test using '/home/oracle/APP_CON1.xml' nocopy*ERROR at line 1:ORA-19505: failed to identify file"/u01/app/oracle12/oradata12/app_con1/system01.dbf"ORA-27037: unable to obtain file statusLinux-x86_64 Error: 2: No such file or directoryAdditional information: 7SYS@mynewdb>create pluggable database pdb_test using '/home/oracle/APP_CON1.xml' nocopy;create pluggable database pdb_test using '/home/oracle/APP_CON1.xml' nocopy*ERROR at line 1:ORA-27038: created file already existsORA-01119: error in creating database file'/u01/app/oracle12/oradata12/app_con1/temp01.dbf'SYS@mynewdb>create pluggable database pdb_test using '/home/oracle/APP_CON1.xml' nocopy tempfile reuse;Pluggable database created.SYS@mynewdb>show pdbs    CON_ID CON_NAME  OPEN MODE  RESTRICTED---------- ------------------------------ ---------- ---------- 2 PDB$SEED  READ ONLY  NO 3 PDBS   READ WRITE NO 5 APP_CON2  MOUNTED 7 PDB_TEST  MOUNTEDSYS@mynewdb>SYS@mynewdb>select pdb_name,status from dba_pdbs where PDB_NAME='PDB_TEST'  2  ;PDB_NAME--------------------------------------------------------------------------------STATUS----------PDB_TESTNEW

Example 40-7 Creating an Application Seed From the CDB Seed

CREATE PLUGGABLE DATABASE AS SEED ADMIN USER app_con1_admin IDENTIFIED BY oracle
FILE_NAME_CONVERT=('/u01/app/oracle12/oradata12/orcl12c/pdbseed/','/u01/app/oracle12/oradata12/APPSEED/');
ALTER PLUGGABLE DATABASE APP_CON1$SEED OPEN;
ALTER SESSION SET CONTAINER=APP_CON1$SEED;
ALTER PLUGGABLE DATABASE APPLICATION ALL SYNC;
ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE;
ALTER PLUGGABLE DATABASE OPEN READ ONLY;

ERROR at line 1:ORA-65190: operation allowed only from within an application rootSYS@orcl12c>alter pluggable database APP_CON1 open;Pluggable database altered.CREATE PLUGGABLE DATABASE AS SEED ADMIN USER app_con1_admin IDENTIFIED BY oracle  2  FILE_NAME_CONVERT=('/u01/app/oracle12/oradata12/orcl12c/pdbseed/','/u01/app/oracle12/oradata12/APPSEED/');Pluggable database created.SYS@orcl12c>SYS@orcl12c>show pdbs    CON_ID CON_NAME  OPEN MODE  RESTRICTED---------- ------------------------------ ---------- ---------- 4 APP_CON1  READ WRITE NO 5 APP_CON1$SEED  MOUNTEDSYS@orcl12c>SYS@orcl12c>ALTER SESSION SET CONTAINER=APP_CON1$SEED;Session altered.SYS@orcl12c>ALTER PLUGGABLE DATABASE APPLICATION ALL SYNC;Pluggable database altered.SYS@orcl12c>

Example 40-8 Creating an Application Seed From an Application PDB

CREATE PLUGGABLE DATABASE AS SEED FROM PDB_PLUGGED
file_name_convert=('/u01/app/oracle12/oradata12/orcl12c/pdg_plugged/','/u01/app/oracle12/oradata12/pdbseed1');
ALTER PLUGGABLE DATABASE salesact$SEED OPEN;
ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE;
ALTER PLUGGABLE DATABASE OPEN READ ONLY;

SYS@orcl12c>show pdbs    CON_ID CON_NAME  OPEN MODE  RESTRICTED---------- ------------------------------ ---------- ---------- 2 PDB$SEED  READ ONLY  NO 3 PDB_PLUGGED  MOUNTED 4 APP_CON1  READ WRITE NO 5 APP_CON1$SEED  READ WRITE NOSYS@orcl12c>SYS@orcl12c>CREATE PLUGGABLE DATABASE AS SEED FROM PDB_PLUGGED   2  file_name_convert=('/u01/app/oracle12/oradata12/orcl12c/pdg_plugged/','/u01/app/oracle12/oradata12/pdbseed1');CREATE PLUGGABLE DATABASE AS SEED FROM PDB_PLUGGED*ERROR at line 1:ORA-65012: Pluggable database APP_CON1$SEED already exists.-- drop SYS@orcl12c>drop pluggable database APP_CON1$SEED;drop pluggable database APP_CON1$SEED*ERROR at line 1:ORA-65179: cannot keep datafiles for a pluggable database that is not unpluggedSYS@orcl12c>drop pluggable database APP_CON1$SEED  including datafiles;Pluggable database dropped.-- create plugSYS@orcl12c>conn / as sysdbaConnected.SYS@orcl12c>alter pluggable database PDB_PLUGGED open;Pluggable database altered.CREATE PLUGGABLE DATABASE AS SEED FROM PDB_PLUGGED   2  file_name_convert=('/u01/app/oracle12/oradata12/orcl12c/pdg_plugged/','/u01/app/oracle12/oradata12/pdbseed1');CREATE PLUGGABLE DATABASE AS SEED FROM PDB_PLUGGED*ERROR at line 1:ORA-65190: operation allowed only from within an application rootSYS@orcl12c>show pdbs    CON_ID CON_NAME  OPEN MODE  RESTRICTED---------- ------------------------------ ---------- ---------- 2 PDB$SEED  READ ONLY  NO 3 PDB_PLUGGED  READ WRITE NO 4 APP_CON1  READ WRITE NOSYS@orcl12c>alter session set container=APP_CON1;Session altered.CREATE PLUGGABLE DATABASE AS SEED FROM PDB_PLUGGED   2  file_name_convert=('/u01/app/oracle12/oradata12/orcl12c/pdg_plugged/','/u01/app/oracle12/oradata12/pdbseed1');Pluggable database created.SYS@orcl12c>SYS@orcl12c>show pdbs    CON_ID CON_NAME  OPEN MODE  RESTRICTED---------- ------------------------------ ---------- ---------- 2 PDB$SEED  READ ONLY  NO 3 PDB_PLUGGED  READ WRITE NO 4 APP_CON1  READ WRITE NO 7 APP_CON1$SEED  MOUNTED

Example 40-9 Creating an Application Seed From an Application Root

--dropSYS@orcl12c>drop pluggable database APP_CON1$SEED including datafiles;Pluggable database dropped.CREATE PLUGGABLE DATABASE AS SEED FROM APP_CON1  file_name_convert=('/u01/app/oracle12/oradata12/app_con1/','/u01/app/oracle12/oradata12/pdbseed1')ALTER PLUGGABLE DATABASE APP_CON1$SEED OPEN;ALTER SESSION SET CONTAINER=APP_CON1$SEED;@$ORACLE_HOME/rdbms/admin/pdb_to_apppdb.sqlALTER PLUGGABLE DATABASE CLOSE IMMEDIATE;ALTER PLUGGABLE DATABASE OPEN READ ONLY;SYS@orcl12c>alter session set container=APP_CON1;Session altered.CREATE PLUGGABLE DATABASE AS SEED FROM APP_CON1    2  file_name_convert=('/u01/app/oracle12/oradata12/app_con1/','/u01/app/oracle12/oradata12/pdbseed1')  3  ;Pluggable database created.SYS@orcl12c>SYS@orcl12c>show pdbs    CON_ID CON_NAME  OPEN MODE  RESTRICTED---------- ------------------------------ ---------- ---------- 2 PDB$SEED  READ ONLY  NO 3 PDB_PLUGGED  READ WRITE NO 4 APP_CON1  READ WRITE NO 5 APP_CON1$SEED  MOUNTEDSYS@orcl12c>-- @SQL ,执行sql

40.3 Creating an Application PDB

CREATE PLUGGABLE DATABASE app_con_pdb from APP_CON1file_name_convert=('/u01/app/oracle12/oradata12/app_con1/','/u01/app/oracle12/oradata12/pdbseed1/')SYS@orcl12c>alter session set container=APP_CON1;Session altered.SYS@orcl12c>show con_nameCON_NAME------------------------------APP_CON1CREATE PLUGGABLE DATABASE app_con_pdb from APP_CON1  2  file_name_convert=('/u01/app/oracle12/oradata12/app_con1/','/u01/app/oracle12/oradata12/pdbseed1/')  3  ;CREATE PLUGGABLE DATABASE app_con_pdb from APP_CON1*ERROR at line 1:ORA-04031: unable to allocate 1048848 bytes of shared memory ("sharedpool","unknown object","PDB Dynamic He","alls-ktimcem")SYS@orcl12c>show pdbs    CON_ID CON_NAME                       OPEN MODE  RESTRICTED---------- ------------------------------ ---------- ----------         4 APP_CON1                       READ WRITE NO         5 APP_CON1$SEED                  READ WRITE YES         6 APP_CON_PDB                    MOUNTEDSYS@orcl12c>


总结 ,应用程序PDB,要在应用程序root容器下创建 。
END 。















原创粉丝点击