2

Linuxシステムで実行されているOracle10XEのインスタンスにORACLEデータベースをインポートしました。

データベースには複数のテーブルスペースに分割されたテーブルがあり、sysユーザーは問題なくすべてのテーブルにアクセスできます。

新しいユーザー(fred)を作成しましたが、このユーザーとしてログオンしている間は、どのテーブルにもアクセスできません。fredとしてログオンしているときにテーブルにアクセスできるようにするために、ユーザーのデフォルトのテーブルスペースを設定しました。

alter user fred default tablespace t1;

次に、fredとして接続し、テーブルスペースt1のテーブルを調べようとすると、次のエラーが発生します。

describe table1;
ERROR:
ORA-04043: object table1 does not exist

ユーザーsysが現在できるように、ユーザーfredがさまざまなテーブルスペース(t1、t2、t3 ... t6)のすべてのテーブルに簡単にアクセスできるようにするにはどうすればよいですか?

私は過去に実際にオラクルに手を出したことはありませんが、MSSQLをかなり広範囲に使用しました。

4

2 に答える 2

4

Oracleでは、スキーマとユーザーの概念は他のDBMSの概念とは異なります。ユーザーfredのテーブルアクセスを取得するにsynonymsは、それらのテーブルを作成する必要があり、sysユーザーはそれらのテーブルに対して許可(たとえば、選択、更新など)を発行する必要があります。

于 2011-11-22T09:56:28.150 に答える
0

いくつかの便利なリンク。

ユーザーの特権と役割の管理

許す

Oracle / PLSQL:権限の付与/取り消し

于 2011-11-22T10:09:17.377 に答える