签到成功

知道了

CNDBA社区CNDBA社区

Oracle PDB Application Container (一)

2022-09-09 16:34 1075 0 原创 oracle
作者: hbhe0316

生成 Application Container,以及 Application PDB 的作成方法:

http://www.cndba.cn/hbhe0316/article/108663
http://www.cndba.cn/hbhe0316/article/108663

Oracle 的 CDB 中,本来就是可以有很多的 PDB,
但是 Oracle 引入了一种特殊的 PDB,这种 PDB 被声明为:”AS APPLICATION CONTAINER”。

http://www.cndba.cn/hbhe0316/article/108663
http://www.cndba.cn/hbhe0316/article/108663

这以后,我们可以连接到这个特殊的PDB(例如: alter session set container= 此PDB),
此时我们再建立新的 PDB, 会从属于 此 Application Container PDB。

奥妙之处在于 Application:
我在这个 Application Container 中,建立一个 Application。此 Application 中建立的对象,
比如表,可以被这三个 Application PDB 共享。
我只要修改 Application 中的表一次,多个 Application PDB 就都可以看到这个修改的结果。http://www.cndba.cn/hbhe0316/article/108663

http://www.cndba.cn/hbhe0316/article/108663
http://www.cndba.cn/hbhe0316/article/108663
http://www.cndba.cn/hbhe0316/article/108663
http://www.cndba.cn/hbhe0316/article/108663
http://www.cndba.cn/hbhe0316/article/108663

[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

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
hbhe0316

hbhe0316

关注

1.只有承认无知,才能装下新的东西; 2.进步来自一点点滴滴的积累; 3.广博让你更优秀,而专业让你无法替代; 4.挫折和失败能够转换为一种财富。

  • 889
    原创
  • 1
    翻译
  • 13
    转载
  • 24
    评论
  • 访问:1040463次
  • 积分:1523
  • 等级:核心会员
  • 排名:第6名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ