oracle10g数据库表存放问题

来源:百度知道 编辑:UC知道 时间:2024/06/10 03:25:20
我是一个oracle新手,刚安装了oracle10g数据库。
我建了一个名为orcl的数据库,通过sys用户建立了good,hero两个用户并赋予dba权限,用hero用户远程登录到数据库,然后建立一个名为test表,然后退出,用good登录到数据库,查看不到test这个表。
请问这是什么原因,是因为权限设置问题,还是在不通用户建立的表是不允许其他用户访问的?
我只建立一个数据库,这些表都是放在同一个数据库中,应该用户都能看到并查询的。我想不同用户应登录到同一数据库并管理数据库,应该不存在表在用户间隔离的情况。
请哪位高手能具体分析下,谢谢了、、、

1、首先oracle是按照用户的概念分割数据库的,不同用户之间互相不可见。
2、虽然你用dba用户建表,但是这用户间的表只属于这个用户,也就是说[hero]建的表[good]登陆后看不到,如果想看的话按照下面的方法察看:
select * from hero.表名;(因为good用户有dba权限所以不用特殊设置)

如果表名前不加[hero.]默认查找的是自己用户下的表,而你没有用[good]用户建表,因此找不到。

---
以上,希望对你有所帮助。

可以访问,你在good用户下访问hero用户的表时,要在表名前加上hero作为前缀,例如:hero.table_name
如果还是不行,那就重新登录到hero用户,
然后grant select on table_name to good

test表是创建在hero用户里边了,Oracle和SqlServer不一样,Oracle创建的每个用户就相当于SqlServer的一个数据库

ORACLE的不同用户你可以理解为像LINUX下的多用户 ,彼此是互不干涉的,你自然不可能看到TEST表,想看到或者想用到这个表的数据,就像楼上几位说的,要在表名前加上那表所在的用户名.