签到成功

知道了

CNDBA社区CNDBA社区

12C新特性-PDB CONTAINER子句

2016-09-20 20:09 2907 0 原创 Oracle 12C
作者: Expect-乐

该特性支持在CDB根容器下,查询其他PDB中的表/视图的信息。但是这个表/视图必须同时存在所有PDBCDB中。

如:

格式http://www.cndba.cn/Expect-le/article/262http://www.cndba.cn/Expect-le/article/262

SELECT * FROM CONTAINERS(lei.test_ab) WHERE CON_ID IN (3);

CON_ID可以通过show con_id,v$pdbs查询http://www.cndba.cn/Expect-le/article/262

SQL> select con_id,name from v$pdbs;
 
    CON_ID NAME
---------- ------------------------------------------------------------
 2 PDB$SEED
 3 ZHIXIN
 4 ZHIXIN2
 5 ZHIXIN4
 6 LEI

SQL> alter session set container=zhixin;
 
Session altered.

http://www.cndba.cn/Expect-le/article/262

SQL> select count(*) from lei.test_ab;
 
  COUNT(*)
----------
      2393


如果表不是所有PDB都有的,那么报错。http://www.cndba.cn/Expect-le/article/262

http://www.cndba.cn/Expect-le/article/262

SQL> SELECT * FROM CONTAINERS(lei.test_ab) WHERE CON_ID IN (3);
SELECT * FROM CONTAINERS(lei.test_ab) WHERE CON_ID IN (3)
                             *
ERROR at line 1:
ORA-00942: table or view does not exist


查询PDB中的dba_objectshttp://www.cndba.cn/Expect-le/article/262

SQL>SELECT count(*) FROM CONTAINERS(dba_objects) WHERE CON_ID IN (3);
  COUNT(*)
----------
91241


查询CDB中的dba_objectshttp://www.cndba.cn/Expect-le/article/262

http://www.cndba.cn/Expect-le/article/262

SQL>SELECT count(*) FROM dba_objects;
  COUNT(*)
----------
91305

两个不同级别的查询,显示的内容也是不一样的。
http://www.cndba.cn/Expect-le/article/262


版权声明:本文为博主原创文章,未经博主允许不得转载。

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

Expect-乐

关注

Without the continuous bitter cold, there can be no fragrant plum blossom

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

        QQ交流群

        注册联系QQ