暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle PDB用户连接为sysdba

ASKTOM 2020-12-01
1302

问题描述

我有一个关于用户名和它的角色的查询。

1) 当我尝试使用sysdba连接pdb用户user1 @ mypdb1并触发user_tables时,我无法获得所有表。
但是使用相同的连接我使用dba_tables和我过滤user1它只显示我的表。
 
2) 同一用户user1 @ mypdb1使用普通连接,我触发user_tables可以正常工作,就像仅显示我创建的那些表一样。
dba_tables不起作用意味着dba_ * 视图不可访问。

那么我怎么了?你能帮我吗?

请检查下面我的输出。

*
环境
-

使用plsql开发工具

Oracle数据库:- Oracle数据库12c企业版12.2.0.1.0-64位
*

select * from dba_users where username='USER1' order by 1;
Output >

Column Name  Data
USERNAME :- USER1
USER_ID :- 107
PASSWORD :- 
ACCOUNT_STATUS :- OPEN
LOCK_DATE :- 
EXPIRY_DATE :- 16-03-2021 15:02
DEFAULT_TABLESPACE :- USERS
TEMPORARY_TABLESPACE :- TEMP
LOCAL_TEMP_TABLESPACE :- TEMP
CREATED :- 28-11-2018 12:59
PROFILE :- DEFAULT
INITIAL_RSRC_CONSUMER_GROUP :- DEFAULT_CONSUMER_GROUP
EXTERNAL_NAME :- 
PASSWORD_VERSIONS :- 10G 11G 12C 
EDITIONS_ENABLED :- N
AUTHENTICATION_TYPE :- PASSWORD
PROXY_ONLY_CONNECT :- N
COMMON :- NO
LAST_LOGIN :- 28-NOV-20 12.18.39.000000000 PM +05:30
ORACLE_MAINTAINED :- N
INHERITED :- NO
DEFAULT_COLLATION :- USING_NLS_COMP
IMPLICIT :- NO
ALL_SHARD :- NO

***********************************
Connection string user1@mypdb1 and connect as sysdba
***********************************
sql> select * from user_tables;
I got 1484 rows from table but i do not get my right table here.

***********************************
Connection string user1@mypdb1 and connect as sysdba
***********************************
sql> select * from dba_tables  where owner='USER1';
I got my tables only. that is right.

***********************************
Connection string user1@mypdb1 and connect as normal
***********************************

sql> select * from user_tables;
复制


我只有我的表。没错。

专家解答

SYSDBA = 特殊。

当你这样连接时,你真的是作为sys连接:

SQL> grant create session, sysdba to u
  2    identified by u;

Grant succeeded.

SQL>
SQL> conn u/u@pdb1
Connected.
SQL>
SQL> sho user
USER is "SYS"
SQL>
SQL> conn u/u@pdb1
Connected.
SQL>
SQL> sho user
USER is "U"
复制


所以当你以sysdba的身份连接时,你真的是SYS。因此,USER1的表不会显示user _ * 视图,因为这是一个不同的用户。

Only connect as sysdba for admin tasks that require it.对于标准数据库访问正常连接。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论