oracle赋予表查询权限后,查询却显示表或视图不存在

oracle赋予表查询权限后,查询却显示表或视图不存在,第1张

需求如下:创建一个新用户abc,给一张表TT1的访问权限给他。只给这一张表,并且是查询权限,不能再有其他权限。

首先创新新用户abc,然后再给予表TT1的查询权限。

使用grant select on tt1 to abc,执行成功后发现。

登陆新用户abc,提示错误ora-00942: 表或视图不存在。

查看后发现执行查询的格式不正确。

select * from tt1正确的格式应该是使用建表用户名.表名来查询。如下:

select * from scott.tt1

那如果要不带建表用户名,需要先建同义词。

create public synonym tt1 for scott.tt1执行成功后,再到abc用户里执行select * from tt1就可以了

问题完美解决。

________________END______________

1、应该是dba_users

2、oracle常用命令

查看所有表和view

SQL>select * from tab

查看所有参数

SQL>show parameter

查看表或视图结构

SQL>desc dba_users

查看日期

SQL>select sysdate from dual

查看用户

SQL>select username,account_status from dba_users

查看表空间及相应文件

SQL>select a.name,b.name from v$tablespace a ,v$datafile b where a.TS#=b.TS#

SQL>select TABLESPACE_NAME,FILE_NAME from dba_data_files order by TABLESPACE_NAME

首先要排除是不是PL/SQL Developer的问题。

使用sqlplus 登陆数据库。

$sqlplus /nolog

SQL>conn <user>/<password>

SQL>select * from <table name>

如果这样没问题的话,那就是表还存在,

要drop这张表

SQL>drop table <table name>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6662625.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存