2

Web アプリケーションの一部としてストアド PL/SQL プロシージャを使用してテーブルを同期しています。ボタンを押すと、同期が行われます。PL/SQL はユーザー A として実行されていますが、インデックスを無効にし、スキーマ B のいくつかのテーブルを同期する必要があります。そして必死になってDBAでさえ。エラーは ORA-01418 です: 指定されたインデックスは存在しません。これは別の開発者のサンドボックスで動作していますが、理由がわかりません。任意の提案をいただければ幸いです。

4

3 に答える 3

1

ロールを介して ALTER ANY INDEX 権限を付与していますか? それとも、ユーザー A に直接権限が付与されていますか?

ロール (DBA など) によって付与された権限は、定義者権限のストアド プロシージャでは使用できません (デフォルト)。ユーザーに直接付与された権限のみが、定義者権限ストアド プロシージャで使用できます。

于 2008-10-30T18:11:09.513 に答える
0

インデックスを削除して再構築したところ、上記の問題は解決したようです。これでインデックスを無効にできますが、ユーザーにはインデックスを変更するための権限が不十分であることが通知されます...テーブルへのデータの入力が完了したら、オンラインで再構築します。よろしければ、ユーザー A はその操作にどのような権限を必要としますか?

于 2008-10-30T19:05:04.630 に答える
0

インデックスは存在しますか?エラーメッセージを額面通りに受け止めずに時間を無駄にしたことは一度ならずあります。

于 2008-10-30T18:11:26.937 に答える