oracle的scott用户如何查看当前数据库

我在sys用户下查询当前数据库select name from v$database;结果显示出来了,但是切换到scott用户下执行这条查询语句却报错,表或者视图不存在,这是怎么回事??分配给用户的权限是表空间还是数据库,如果是表空间的话,表空间属于数据库,那么就该可以查询的到分配给用户的数据库,为什么scott用户查询不到任何数据库??

类似v$database和 dba_xxx,all_xxx,user_xxx之类的视图其实都是属于数据字典的范畴,记录了各种类型数据的信息。比如你想看表空间相关信息,可以查看v$tablespace,想看日志文件可以查看v$logfile。。等等。

当你想查看这些信息的时候,你就需要相应的权限了。笼统点,给你一个dictionary权限,便可以查看所有数据字典信息了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-05
我觉得你没弄明白表,表空间,数据库之间的关系,v$database是一张表,打个比方,你建立的数据库比作一个图书馆,那么表空间就是书架,每个表就是一本书,我不知道你分配的权限是什么,既然是报错表或者视图不存在,那么就是权限不够,可以分配给scott用户dba或(connect和resources)权限试试追问

那么分配给用户的权限是表空间还是数据库呢?如果分配给用户的权限是表空间的话,应该就可以查询的到此表空间所属的数据库啊

追答

错,数据库是数据库,表空间是表空间,表是表,三者包含而又独立,这涉及到oracle体系结构基础知识,建议你看看基础的,你有管理表空间的权限只代表你拥有对表空间操作的权利,而没有对表操作的权利

本回答被提问者采纳
第2个回答  2013-09-15
可以想像侬是从ms sqlsever转过来的,两个应该说各成体系,可以先了解一下对应关系.
相似回答