C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Oracleの権限に関して

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■100805 / inTopicNo.1)  Oracleの権限に関して
  
□投稿者/ kiku (302回)-(2022/10/28(Fri) 10:55:02)

分類:[データベース全般] 


環境
 1.DB1つ目。Oracle11g
 2.DB2つ目。Oracle11g

・上記1のユーザaaaから、上記2のテーブルbbbを参照できています。
 例えば
 select * from ccc.bbb
・上記1に、ユーザaaaでパッケージ(ストアド)を入れています。
・上記ストアド内から下記を実行すると、
 select * from ccc.bbb

 下記のエラーが発生します。
 ORA-00942: 表またはビューが存在しません。
 ORA-06512: "************", 行89
 00942. 00000 - "table or view does not exist"
 *Cause:
 *Action:

・上記は権限がなくccc.bbbを参照できていないということであると理解しています。

どこにどんな権限を付ければ参照可能になりますでしょうか?
Oracleの権限関連が複雑すぎて
どうしても解決できないです。
アドバイス頂けますと助かります。
引用返信 編集キー/
■100807 / inTopicNo.2)  Re[1]: Oracleの権限に関して
□投稿者/ KOZ (344回)-(2022/10/28(Fri) 12:19:31)
No100805 (kiku さん) に返信
> ・上記1のユーザaaaから、上記2のテーブルbbbを参照できています。
>  例えば
>  select * from ccc.bbb
> ・上記1に、ユーザaaaでパッケージ(ストアド)を入れています。
> ・上記ストアド内から下記を実行すると、
>  select * from ccc.bbb
>  下記のエラーが発生します。
>  ORA-00942: 表またはビューが存在しません。

これはロールで権限を付与していた時に発生します。
ストアド実行中はロールが無効になるためです。

なので個別に権限を付加する必要があります。

SELECT したいのであれば、テーブル毎にSELECT 権限、もしくは SELECT ANY TABLE(全テーブル)を付けてください。

引用返信 編集キー/
■100808 / inTopicNo.3)  Re[2]: Oracleの権限に関して
□投稿者/ kiku (303回)-(2022/10/28(Fri) 13:16:16)
No100807 (KOZ さん) に返信
> これはロールで権限を付与していた時に発生します。
> ストアド実行中はロールが無効になるためです。
> なので個別に権限を付加する必要があります。
> SELECT したいのであれば、テーブル毎にSELECT 権限、もしくは SELECT ANY TABLE(全テーブル)を付けてください。

管理者権限のあるユーザで下記を実行することで
解決しました。
ありがとうございました。

grant select on ccc.bbb to aaa
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ