sql - 新的oracle用户无法访问表

标签 sql oracle oracle-xe tablespace

我刚刚将 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/

相关文章:

java - ORA-29532 : Java call terminated by uncaught Java exception: java. awt.HeadlessException

sql - SELECT 外键重复的值

oracle - VARCHAR2(10 CHAR) 和 NVARCHAR2(10) 之间的区别

sql - Oracle 10g Express主页未显示

sql - 来自 DateTimePicker 的 SQL 字符串中的日期

php - SQL 下一个/上一个关联

java - JPA @Column 注释创建评论/描述

sql - 如何授予用户对 SQL Server 中数据库的读取访问权限?

Oracle 10 MERGE 性能

oracle-xe - 将 DataPump 创建的 dmp 文件导入 Oracle Express 10g