我在我的本地机器上安装了 Oracle 12c R2 并HR
使用此链接创建了模式:安装示例模式
我还给GRANTS
了HR
模式来查看数据字典。
GRANT SELECT ANY DICTIONARY TO HR;
GRANT SELECT_CATALOG_ROLE TO HR;
现在,当我以 身份连接时SYSDBA
,我可以查看 PDBS。
SQL> select con_id, dbid, name
from v$pdbs;
CON_ID| DBID|NAME
----------|----------|------------------------
2|3752719039|PDB$SEED
3|3679838824|ORCLPDB
但是,当以 HR 身份登录时,它不显示任何内容。
SQL> select con_id, dbid, name
from v$pdbs;
no rows selected
我肯定已连接到同一个实例。此查询的输出对于两个连接都是相同的。
SQL> select SYS_CONTEXT('USERENV','INSTANCE_NAME') instance FROM DUAL;
INSTANCE
-----------------
orcl2
我在这里错过了什么?
我假设用户是连接到根容器的普通用户。
普通用户的CONTAINER_DATA属性决定了哪些 PDB 在容器数据对象中可见