ビューを作成するプロシージャ内に動的SQLがあります。文字列を印刷して手動で実行すると、ビューを作成できます。ただし、このプロシージャでは、権限が不十分なため例外がスローされます。私は、ユーザーにプロシージャを実行、作成、すべてを許可しましたが、それでも動作しません。助言がありますか?実行のためのOracle付与権限
1
A
答えて
5
パッケージ内では、間接的に(ロール経由で)付与された権限は削除されます。必要な特権を基になるオブジェクトに直接アカウントに付与する必要があります。例:この例では
conn sys/[email protected] as sysdba
create user A identified by A;
grant connect, dba to A;
conn A/[email protected]
create table test_tab(pk number);
conn sys/[email protected] as sysdba
create user B identified by B;
grant connect, dba to B;
conn B/[email protected]
select * from A.test_tab; -- this works
create or replace procedure do_it as
l_cnt pls_integer;
begin
select count(*) into l_cnt from A.test_tab; -- error on compile
end;
は、あなたが
grant select on A.test_tab to B;
(あなたが動的または静的SQLを使用しているかどうかは関係ありません)それを動作させる必要があります。
3
私が推測した小さな情報によれば、プロシージャは定義者権限(デフォルト)で実行されており、プロシージャの所有者にはビューの作成に必要な権限がありません。あなたの場合の適切な解決方法が、代わりに呼び出し者権限を持つプロシージャを作成するか、プロシージャの所有者に追加の権限を与えるかどうかは不明です。
実際のコードを投稿すると常に役立ちます。プロシージャには定義者権限または実行者権限がありますか?どのスキーマがビューを作成するはずですか?実行した実際の助成金は何ですか?
関連する問題
- 1. DML権限とDBA権限の付与
- 2. ストアド・プロシージャの権限をOracleの別のユーザーに付与
- 3. Oracle:ロールに読取り権限と作成権限を付与する方法
- 4. OracleのユーザーにDBA権限を付与する
- 5. Oracleパッケージの権限を付与しますか?
- 6. Oracleアカウントの読取り権限を付与します
- 7. SQL Azureでストアドプロシージャに実行権限を付与
- 8. oracleクラスタ・オブジェクトに権限を付与できますか?
- 9. 権限と特権Oracle DBユーザーのためのSonar LTS
- 10. Oracleトリガーの権限
- 11. Oracleディレクトリの権限
- 12. Oracleのビューに対してSELECT権限を付与できますか?
- 13. 権限付与後にFacebookページにリダイレクト
- 14. CloudantDB:データベース権限を付与する
- 15. Laravelでのユーザー権限付与後のグローバル権限変数の作成
- 16. Oracle 11gステートメントを使用して新しいユーザー権限と付与権限を作成しますか?
- 17. oracle apex特定のアクションを実行するpublicユーザーadmin権限
- 18. USBマスストレージの権限が付与されました
- 19. ファイルの実行権限
- 20. oracleのユーザーに権限を与える方法は?
- 21. EXECUTE権限を付与しません。テーブルに選択権限を付与しません
- 22. oracleでのREVOKE権限11g
- 23. 実行プロセスにsudo権限を与える方法
- 24. sonar-administratorsに似たグローバル権限を付与します
- 25. アクティブなセッションに基づく春のセキュリティの権限の付与
- 26. sharepointコマンドレットを実行するためのtfsビルドの付与
- 27. Oracleのストアド・プロシージャ内からOracleにアクセス権を付与します。
- 28. Facebookのアプリ内で追加の権限を付与する
- 29. Oracleで特権を与える特権を与える方法
- 30. アクセス権の付与ApplicationPoolIdentity