質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

Q&A

解決済

1回答

6610閲覧

OracleのRoleで特定スキーマの権限付与

hakoritenshi

総合スコア41

Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

0グッド

0クリップ

投稿2020/06/27 00:43

編集2020/06/27 01:28

OracleのRoleで特定スキーマへのアクセス権限付与が出来るか教えてください。
アクセス権限の付与イメージは下記表になります。

![アクセス権限

下記URLにて勉強をしているのですが、
・SELECT ANY TABLE
で他スキーマ全てSELECT権限できそうなことは分かったのですが、
特定スキーマのみに絞ることはできますでしょうか。

オブジェクト権限付与で愚直に、特定スキーマのすべてのオブジェクトを指定しても
いけそうですが、出来ればスキーマ単位で設定したいと考えています。
SQL> GRANT [オブジェクト権限名] ON [オブジェクト名] TO [ロール名];

・参考URL
https://oracle-chokotto.com/ora_auth.html

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

SQL

1sqlplusでCREATE TABLE したユーザーで 2GRANT SELECT ON TABLE_NAME1 TO USERNAME2 ; 3-- でUSERNAME2でTABLE_NAME1を参照できるようになります。 4 5CREATE TABLE したユーザーに存在するテーブルは 6SELECT TABLE_NAME FROM USER_TABLES WHERE DROPPED = 'NO' ORDER BY TABLE_NAME; 7-- で取得できますから、 8 9SELECT 'GRANT SELECT ON ' || TABLE_NAME || ' TO USERNAME2 ;' AS GRANTS FROM USER_TABLES WHERE DROPPED = 'NO' ORDER BY TABLE_NAME; 10-- の結果をsqlplus へリダイレクトで実行します。

投稿2020/06/27 01:07

Orlofsky

総合スコア16417

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hakoritenshi

2020/06/27 01:29

ありがとうございます。 やはり、オブジェト単位でしか不可なんですね、、、
Orlofsky

2020/06/27 02:44

サポート契約が有効でしたらオラクル・サポートに改善依頼されては?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問