conn / as sysdba で接続できない | Oracle
- 2008.10.02
- Oracle
オペレーティング・システム認証である conn / as sysdba で接続できない。なので、シェルでのdbstart、dbshutスクリプトコマンドも使えないので不便。
製品: Oracle Server – Enterprise Edition
製品バージョン: 10.2.0.3.0
プラットフォーム: Sun Solaris x86-64bit
■connect / as sysdba できない症状を確認する
conn / as sysdbaできない。つまりオペレーティング・システム認証ができない状態であることを確認する。
SQL> conn / as sysdba ERROR: ORA-01031: insufficient privileges
dbshutスクリプトコマンドの中のconn / as sysdbaが効かないので、dbshutしても元気にインスタンスが立ち上がったままという現象がおきている。
■調査する項目
・OSユーザのidコマンドを確認する。
・$ORACLE_HOME/rdbms/lib/config.s を確認する。
・$ORACLE_HOME/rdbms/lib/config.c を確認する。
・OSユーザーが、Oracleインストール時に指定したOSDBAグループに属しているかを確認する。
・/etc/hostsについてドメイン指定されているかを確認する。フルドメインの記述の追加で回避できる可能性がある。
■調査する
OSユーザーのidコマンドを実行する。
$ id uid=75016(orauser2) gid=876(hrdba)
ウチの会社では、oracle, oinstall といった一般的な命名はしていません。
config.sを確認する。(一部抜粋)
.LV13: .string "dba" .LV12: .string "dba"
以上の結果から、OSDBAである”dba”に所属していないことが分かる。
■解決する
OSDBAである”dba”にユーザを所属させる。
# usermod -G hrdba,dba orauser2
■conn / as sysdbaで接続できるかを確認する
OSユーザーで、ログアウト、ログインし”dba”を有効にする。
SQL*Plusで確認する。
SQL> conn / as sysdba Connected.
無事、接続できることを確認した。
■dbstart, dbshutできるかを確認する
OSユーザーで、インスタンスの起動と停止ができるかを確認する。
$ dbstart $ dbshut
無事、起動と終了ができることを確認した。
-
前の記事
VNCでSolarisに接続する 2008.09.25
-
次の記事
spfileを変更したら接続できなくなった 2008.10.02