我刚刚将 ORACLE 数据库导入到 Linux 系统上运行的 Oracle 10 XE 实例中。
数据库的表分布在多个表空间中,sys 用户可以毫无问题地访问所有表。
我创建了一个新用户 (fred),但以该用户身份登录时无法访问任何表。我已经设置了用户的默认表空间,以便能够在以 fred 身份登录时访问这些表。
alter user fred default tablespace t1;
当我以 fred 身份连接并尝试查看表空间 t1 中的表时,我收到以下错误:
describe table1;
ERROR:
ORA-04043: object table1 does not exist
如何配置用户fred,以便他可以像目前的用户sys一样轻松访问各个表空间(t1、t2、t3...t6)中的所有表?
我过去从未真正接触过 Oracle,但广泛使用过 MS SQL。
最佳答案
在 Oracle 中,模式和用户的概念与其他 DBMS 不同。为了获得用户 fred 的表访问权限,您需要创建这些表的同义词
,并且 sys 用户需要在这些表上授予权限(例如选择、更新等)。
关于sql - 新的oracle用户无法访问表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8224864/