- PR -

プロシージャの実行権限について

1
投稿者投稿内容
やすけ
ベテラン
会議室デビュー日: 2003/08/20
投稿数: 87
投稿日時: 2005-11-28 15:18
中村と申します。
Unix SunOS 5.6、Oracle8.0.4の実行環境です。
あるA00というユーザのプロシージャCを他のユーザB00でも実行できるようにA00というユーザでプロシージャCの実行権限をB00というユーザにつけました。実行権限は以下のとおりです。sql*plusからA00というユーザで入って、
grant execute on C to B00;
権限付与後、B00というユーザでsql*plusに入ってCというプロシージャを実行しました。ところが、実行結果はA00の実行結果しか得られません。なぜなのでしょうか?
実際はB00の実行結果が出力されてほしいのです。
権限の付与の仕方が悪いのでしょうか?
どなたかご教授ください。
プロシージャの実行の仕方は以下のとおりです。
B00というユーザでsql*plusに入って、
SQL> begin
2 A00.C.C01;
3 end;
4 /
プロシージャCの中身(詳細は省略)
CREATE OR REPLACE PACKAGE BODY C AS

PROCEDURE C01 IS

end C01;

end C;
/
明智重蔵
大ベテラン
会議室デビュー日: 2005/09/05
投稿数: 127
投稿日時: 2005-11-28 15:58
プロシージャが所有者権限で実行されるようになっているのでは?
やすけ
ベテラン
会議室デビュー日: 2003/08/20
投稿数: 87
投稿日時: 2005-11-28 16:03
明智重蔵さん、早速のレスありがとうございます。
「プロシージャが所有者権限で実行されるようになっている」ということは
具体的にどういうことでしょうか?
sql*plusでB00というユーザで入っていても、所有者権限になっているからということですか?これを回避するにはどうしたらよいでしょうか?
1

スキルアップ/キャリアアップ(JOB@IT)