2

我刚刚将一个 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。

4

2 回答 2

4

在 Oracle 中,模式和用户的概念与其他 DBMS 不同。为了获得用户fred 的表访问权限,您需要创建synonyms这些表并且sys 用户需要在这些表上发出授权(例如选择、更新等)。

于 2011-11-22T09:56:28.150 回答
0

一些有用的链接。

管理用户权限和角色

授予

Oracle/PLSQL:授予/撤销权限

于 2011-11-22T10:09:17.377 回答