web-dev-qa-db-ja.com

システムアカウントがロックされているため、sysdbaとしてログインするには権限が不十分です

私はウェブを調査しましたが、私とまったく同じ状況を見つけることができなかったので、このメッセージを投稿します。

リモートデスクトップ接続を介してリモートサーバー(Win2k3サーバー)に接続しています。このサーバーはインストールされています(*をv $ versionから選択):

  • Oracle Database 10g Enterprise Editionリリース10.2.0.5.0-製品
  • PL/SQLリリース10.2.0.5.0-本番
  • CORE 10.2.0.5.0プロダクション
  • 32ビットWindowsのTNS:バージョン10.2.0.5.0-製品版
  • NLSRTLバージョン10.2.0.5.0-プロダクション

これらの両方の文を実行すると、エラーが返されます。

c:\> sqlplus
SQL> conn / as sysdba
Insufficient privileges
SQL> connect system/****
Account locked

リモートコンピューターはdbがインストールされている場所なので、リモートdbに接続していません。 Windowsユーザーアカウントは、AdministratorおよびOra_DBA Windowsグループに属しています。

Dbには1人のユーザーしか利用できません(開発するアプリケーションで使用されるユーザー)が、SYSTEMアカウントを変更してロックを解除するための十分な権限がありません。

管理者としてde dbに接続する方法がないため、他に何ができるかわかりません。質問に十分なデータを提供できたと思います。何か見落としがあった場合は、お問い合わせください。

編集: Windowsユーザーメンバーシップを再度確認しました:Administrators、ora_dba、Users、および "Remote Workplace Users"(最後の1つを正しく翻訳したことを願っています)。 PWD%Oracle_SID%.oraファイルが存在しません(これが正しいと想定)。

EDIT2:ローカルデータベースに接続しています。 3つのSQLPLUSがインストールされているのを見つけました。1つはOracle Forms 6iから(そうです、本当に古いバージョンです)、もう1つはOracle 10クライアントから、最後の1つはOracle 10 DBからです。コメントで読んだように、HKLM/SOFTWARE/OracleでOracle_HOMEを探すことは知りませんでした。レジストリでは、見つかったすべてのエントリがOracle Formsフォルダを指しています。フルパスでsqlplusを実行しようとしました。sqlplusはDBインストールに属し、最後にconn / as sysdbaに接続して、アカウントのロック解除文を実行しました。システムアカウントのロックを解除することが目的だったため、問題は解決しました。

1
EAmez

Windowsユーザーアカウントは、AdministratorおよびOra_DBA Windowsグループに属しています。

Ora_dbaグループのメンバーでない場合は、上記のエラーが発生するため、これを再確認してください。

_%Oracle_HOME%/network/admin/sqlnet.ora_で次の行を確認します。

SQLNET.AUTHENTICATION_SERVICES=(NTS)

NONEに設定すると、_/ as sysdba_でのログインが無効になりますが、_ORA-01017: invalid username/password; logon denied_エラーが発生します。

最後に、SYSパスワードはデータベースの外部のファイルに保存されます。Windowsでは_%Oracle_HOME%/database/PWD%Oracle_SID%.ora_です。次のように再作成できます(新しいSYSパスワードを指定)。

_orapwd file=%Oracle_HOME%/database/PWD%Oracle_SID%.ora force=y_

その後、次のように指定したパスワードでログインできるはずです。

_connect sys/password as sysdba_

4
Balazs Papp
  • [〜#〜] os [〜#〜]Linux
  • OracleVersion 11.2.0.1.0 - Production
  • エラー

    SQL> connect sys as sysdba;
    Enter password:
    ERROR:
    ORA-01031: insufficient privileges
    

そして、私は balazs-papp の指示を使用しましたが、Linux環境ではコマンド構文が変更されていますが、プロセスは同じです。

cd  $Oracle_HOME/dbs
ls -la
ls -lrt *orapw*
orapwd file=orapwEE force=y

動作します!!!

Pfileまたはspfileを使用して、パラメータREMOTE_LOGIN_PASSWORDFILE = exclusiveを変更します。上記のエントリを含むspfileを再度作成しますWindowsサービスを使用してシャットダウンOracleを実行しますorapwd file =%Oracle_HOME%/ database/PWD%Oracle_SID%.ora force = y CMDを使用します。SQLセッションを再起動し、/ as sysdbaにログインしてdbを再起動します。

REMOTE_LOGIN_PASSWORDFILE = noneまたは適切に設定されていないと思います。このため、この問題が発生しています。

0
doc123