私は、次のコマンドを実行しようとしています:実行システムコマンド、ストアド・プロシージャ
select os_command.exec('/bin/mkdir /home/smucha/testdir_ora3') from dual;
/
私はSYSとしてログインしていたときにこれが正常に動作します。
私が実行しようとするユーザーとしてSEBAである私は、次のエラーを取得:
ORA-29532: java.security.AccessControlException: the Permission (java.io.FilePermission /bin/mkdir execute) has not been granted to SEBA. The PL/SQL to grant this is dbms_java.grant_permission('SEBA', 'SYS:java.io.FilePermission', '/bin/mkdir', 'execute')
ORA-06512: at "SEBA.OS_COMMAND", line 68
29532. 00000 - "Java call terminated by uncaught Java exception: %s"
*Cause: A Java exception or error was signaled and could not be
resolved by the Java code.
*Action: Modify Java code, if this behavior is not intended.
を私はSYSアカウントを使用して、必要な権限を付与することを試みました。
次のコードを実行した後:
call dbms_java.grant_permission('SEBA',
'SYS:java.io.FilePermission', '/bin/mkdir', 'execute');
を私が手:
dbms_java.grant_permission 'SEBA', succeeded.
しかし、私は、コマンドを実行しようとすると:
select os_command.exec('/bin/mkdir /home/smucha/testdir_ora3') from dual;
/
私は同じエラーを取得するに前。
osコマンドを実行するにはどうすればよいですか?私はSYSとして接続していたときに
すべてが動作しますので、SEBAは、いくつかのアクセス許可の問題を抱えているユーザーのように見えます。
どのアクセス許可を与えるのか分かりません。