運用時に発生するエラー
ORA-01031: 権限が不足しています。
リモートから SYSDBA 接続しようとして、正しいパスワードを指定しているケースについての場合
原因
orapwd で作成したファイルをインスタンスの起動時に削除、変更を行っているか破損している。パスワードファイルは、起動後にはOSレベルからの変更は許されない。 ALTER USER 〜 (SQL) や PASSWORD コマンド で変更する。
⇒ パスワードの変更
対応
パスワードファイルを変更している場合には、ローカル接続、OS 認証でオラクルの再起動を行なう。
破損していると思われる場合には、再起動前に再作成を行う。
パスワードファイルの再作成例
# cd $ORACLE_HOME/dbs
# orapwd file=orapw<NEW_SID> password=<password>
SQL*Plus で確認
SQL> SELECT * FROM V$PWFILE_USERS ;
原因
ORA-01031 のエラーが PL/SQL の実行時エラーとして発生する場合、PL/SQL の実行時の権限についての認識に誤りがあると考えられる。
対応
PL/SQL 実行時における、権限状態について再確認をする。
⇒ 参考 トピック:定義者権限と実行者権限(サブプログラムとロールの関係)
類似するエラー
一覧ページへ戻る
OTN (Oracle Technology Network)によるエラーメッセージによる情報だけでは、対処に困ったエラーについてのプラクティスです。
ベスト・プラクティスというわけではないので、書いてあることに固執しないで広い視野でエラー対応してください。