生成 Application Container,以及 Application PDB 的作成方法:
Oracle 的 CDB 中,本来就是可以有很多的 PDB,
但是 Oracle 引入了一种特殊的 PDB,这种 PDB 被声明为:”AS APPLICATION CONTAINER”。
这以后,我们可以连接到这个特殊的PDB(例如: alter session set container= 此PDB),
此时我们再建立新的 PDB, 会从属于 此 Application Container PDB。
奥妙之处在于 Application:
我在这个 Application Container 中,建立一个 Application。此 Application 中建立的对象,
比如表,可以被这三个 Application PDB 共享。
我只要修改 Application 中的表一次,多个 Application PDB 就都可以看到这个修改的结果。
[oracle@node02 ~]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Sep 9 16:19:02 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL> alter system set db_create_file_dest='/oradata/orcl';
System altered.
SQL> CREATE PLUGGABLE DATABASE appcon1 AS APPLICATION CONTAINER ADMIN USER app_admin IDENTIFIED BY wwwwww;
Pluggable database created.
SQL> ALTER PLUGGABLE DATABASE appcon1 OPEN;
Pluggable database altered.
SQL> ALTER SESSION SET container = appcon1;
Session altered.
SQL> CREATE PLUGGABLE DATABASE apppdb1 ADMIN USER pdb_admin IDENTIFIED BY wwwwww;
Pluggable database created.
SQL> ALTER PLUGGABLE DATABASE apppdb1 OPEN;
Pluggable database altered.
SQL> ALTER SESSION SET container = appcon1;
Session altered.
SQL> ALTER PLUGGABLE DATABASE APPLICATION ref_app BEGIN INSTALL '1.0';
Pluggable database altered.
SQL> CREATE TABLESPACE ref_app_ts DATAFILE SIZE 1M AUTOEXTEND ON NEXT 1M;
Tablespace created.
SQL> CREATE USER ref_app_user IDENTIFIED BY ref_app_user
2 DEFAULT TABLESPACE ref_app_ts
3 QUOTA UNLIMITED ON ref_app_ts
4 CONTAINER=ALL;
User created.
SQL> GRANT CREATE SESSION, CREATE TABLE TO ref_app_user;
Grant succeeded.
SQL> CREATE TABLE ref_app_user.reference_data SHARING=DATA (
2 id NUMBER,
3 description VARCHAR2(50),
4 CONSTRAINT t1_pk PRIMARY KEY (id)
5 );
Table created.
SQL> INSERT INTO ref_app_user.reference_data
2 SELECT level,
3 'Description of ' || level
4 FROM dual
5 CONNECT by level <= 5;
5 rows created.
SQL> COMMIT;
Commit complete.
SQL> select * from ref_app_user.reference_data;
ID
----------
DESCRIPTION
--------------------------------------------------------------------------------
1
Description of 1
2
Description of 2
3
Description of 3
ID
----------
DESCRIPTION
--------------------------------------------------------------------------------
4
Description of 4
5
Description of 5
SQL> ALTER PLUGGABLE DATABASE APPLICATION ref_app END INSTALL;
Pluggable database altered.
SQL> COLUMN app_name FOR A20
SQL> COL APP_VERSION FORMAT A10
SQL> SELECT app_name,
2 app_version,
3 app_status
4 FROM dba_applications
5 WHERE app_name = 'REF_APP';
APP_NAME APP_VERSIO APP_STATUS
-------------------- ---------- ------------------------------------
REF_APP 1.0 NORMAL
版权声明:本文为博主原创文章,未经博主允许不得转载。
oracle