是否可以访问多个用户的多个PDB?
考虑一下情景:
我有两个普通用户: - c ## a和c ## b 和pdb: - PDBTEST
我面临问题:
当我与普通用户 - c ## b连接时,我无法通过使用c ## a来记录创建的PDBTEST中的表。
尽管如此,我已经为PDBTEST分配了用户c ## a和c ## b的权利。
对于普通用户c ## b,还有其他方法可以访问PDBTEST吗?
我正在遵循的步骤:
以sysdba身份连接
1>创建了两个用户c ## a和c ## b(container = ALL)
2 - ;授予所有权限的公共角色:c ## role(container = ALL)
3>为用户分配了c ##角色:c ## a和c ## b(container = ALL)
4>创建PDB:PDBTEST
更改会话并设置容器= PDBTEST
5个授予用户两个c ##角色:在PDBTEST中使用c ## a和c ## b
6个连接c ## a(不是sysdba)
更改会话并设置容器= PDBTEST
7个创建表并插入记录:TestTable
8是氢。用c ## b(而不是sysdba)连接
更改会话并设置容器= PDBTEST
在连接c ## b ..
后,我无法访问表'TestTable'更多,如果我使用c ## a连接,我可以访问插入的记录。
答案 0 :(得分:0)
您忘记了对表名的限定(您没有指定架构名称)。这与非pdb数据库没什么不同。如果您定义了同义词,则可以使其工作。
此外,set container仅用于管理目的,不应用于用户访问。对于用户访问,您应该创建专用服务。