Curl Global Community
Oracle のパスワードを忘れたら - Printable Version

+- Curl Global Community (https://communities.curl.com)
+-- Forum: Blogs (https://communities.curl.com/forumdisplay.php?fid=17)
+--- Forum: Tech blog (https://communities.curl.com/forumdisplay.php?fid=18)
+---- Forum: Baison log (https://communities.curl.com/forumdisplay.php?fid=27)
+---- Thread: Oracle のパスワードを忘れたら (/showthread.php?tid=1094)



Oracle のパスワードを忘れたら - umemura - 06-19-2014

★point
 OracleにはOS認証でもログインできます
 OS認証できれば、パスワード忘れてもへっちゃらです



SYSユーザなどのパスワードを忘れてしまっても、DBサーバにログインできるのであれば、
「OS認証」という機能でログインすることで、パスワードが変更できるので問題なし。
いや、これも、DBを長く使っている方であれば当たり前の知識なんだろうなとは思いますが、
今回初めて知ったのでメモです。

■OS認証とは
https://blogs.oracle.com/oracle4engineer/entry/column_howtouse_osauth

OSユーザの所属グループの設定が正しければ、
下記の手順でパスワードを変更できます。

①DBサーバにリモートデスクトップ等でログイン
②コマンドプロンプトを立ち上げる
③ログイン先のSIDを環境変数「ORACLE_SID」にセット
 set ORACLE_SID=[対象のSID] ※1
④SQLPLUSコマンド実行
 sqlplus /nolog
⑤OS認証でログイン
 conn / as sysdba
⑥SYSユーザのパスワードを変更
 ALTER USER SYS IDENTIFIED BY [new_password] ;

※1
「ORACLE_SID」はレジストリに登録されているキーで、
単純にOS認証でログインすると、このキーに登録されているSIDにログインしてしまう。
値は、最後に作成したSIDが入っているっぽい。
そのため、SQLPLUSに入るまえに、ログインしたいIDを、
setを使って環境変数に一時登録しておくことで、自動的に対象インスタンスにログインできる。

⑥の前に、select * from v$instance; でログイン先のSID名が正しいか確認すると、安全。