今日もなんだかいい天気♪

アクセスカウンタ

help RSS あこがれのORA-600。

<<   作成日時 : 2009/05/16 14:16   >>

なるほど(納得、参考になった、ヘー) ブログ気持玉 1 / トラックバック 0 / コメント 0

ORA-600やORA-7445なんかは、即サポート行きと言われるエラー。
ウチでもORA-600が出たので、ちょっと感動した(わけない)。

問題は、DBサーバ(Solaris+Oracle10gR2)のホスト名とIPアドレスを、DB起動中に変更してしまったこと。
てっきり動いてないもんだと思ってた。

で、ホスト名とIPアドレスを変更して、さらにtnsnames.oraとlistener.oraまで起動中に修正。
すばらしい。
現場でこんなことをやったらぶっとばされるに違いない。
(まぁウチだから心置きなくやるんだが。)

で、こんなエラー。

-bash-3.00$ sqlplus /nolog

SQL*Plus: Release 10.2.0.2.0 - Production on 土 5月 16 12:15:44 2009

Copyright (c) 1982, 2005, Oracle. All Rights Reserved.

SQL> conn / as sysdba
アイドル・インスタンスに接続しました。
SQL> startup
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORA-01081: cannot start already-running ORACLE - shut it down first


「アイドル・インスタンスに接続しました。」と出ているにもかかわらず、
起動しようとすると「既に起動しています。」と出てくる。ワケわからん。

(※ORA-32004が出ているのは、SQL_TRACEを設定してあるため(FALSEにしてあるが、設定がある時点でこのメッセージが出る))

じゃ、落としてやるとするか、とやってみると、

SQL> shutdown immediate
ORA-24324: サービス・ハンドルが初期化されていません。
ORA-24323: 値が許可されていません。
ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []


ハンドルねぇ。
ワタシ、無免許なのよ(意味不明)。

んで、しつこくもう一度やってみると、

SQL> startup
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORA-01031: insufficient privileges


SYSDBAで接続しているにもかかわらず、ORA-01031(権限が不足しています)エラーが出ている。
おもしろいぞ。
・・・って笑ってられん。
もちろん、「権限がない」って言われてるんだから、SHUTDOWN ABORTも無理。

SQL> shutdown abort
ORA-01031: insufficient privileges

で、困ったときのアラートログ。

Sat May 16 09:58:24 2009
Completed: ALTER DATABASE OPEN
Sat May 16 12:00:34 2009
Errors in file /opt/oracle/admin/orcl01/bdump/orcl01_ora_1257.trc:
ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []
Sat May 16 12:00:36 2009
Process m000 died, see its trace file
Sat May 16 12:00:36 2009
ksvcreate: Process(m000) creation failed
Sat May 16 12:01:36 2009
Errors in file /opt/oracle/admin/orcl01/bdump/orcl01_ora_1261.trc:
ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []


午前9時58分。
これがサーバを起動した時間。自動起動でOracleが立ち上がっている。
この時点では正常。
11時ごろにサーバのホスト名やIPアドレスを変更。
12時00分ごろは・・・ネットワークサービスを再起動した時間か?
で、該当するトレースファイルを見てみる。

-bash-3.00$ more /opt/oracle/admin/orcl01/bdump/orcl01_ora_1257.trc
/opt/oracle/admin/orcl01/bdump/orcl01_ora_1257.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
ORACLE_HOME = /opt/oracle
System name: SunOS
Node name: vm-sola10
Release: 5.10
Version: Generic_137138-09
Machine: i86pc
Instance name: orcl01
Redo thread mounted by this instance: 1
Oracle process number: 15
Unix process pid: 1257, image: oracle@vm-sola10

*** 2009-05-16 12:00:34.349
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []
Current SQL information unavailable - no session.
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
ksedst()+23 ? 00000000 0 1 8045F9D 9F
ksedmp()+558 ? 00000000 0
ksfdmp()+17 ? 00000000 3
kgerinv()+218 ? 00000000 C486708 3
kgeasnmierr()+39 ? 00000000 C486708 FDC50020 BBC555C 2
80466DC
keltnfy()+394 ? 00000000 C486708 FDC50020 BBC555C 2 0
2E 0 0 1 0
kscnfy()+223 ? 00000000 F 6121B744
ksucrp()+1543 ? 00000000 F 6121B744
ksvrdp()+51 ? 00000000 1
opirip()+720 ? 00000000 FDE8C000 C486708 8047B88 0
opidrv()+643 ? 00000000 32 4 8047C80
sou2o()+64 ? 00000000 32 4 8047C80
opimai_real()+227 ? 00000000 8047C94 32 4 8047C80
main()+90 ? 00000000 3 8047CD4
082BD495 ? 00000000 1 8047D34 8047D3C

--------------------- Binary Stack Dump ---------------------


以下、延々とダンブファイルが続く。
見たところ、変更前のホスト名が出力されていて(Node name)、プロセスの名称にホスト名が付いている。
ということは、ホスト名が変わったことで、プロセスが正しく認識できなくなったしまったのかもしれない。
アラートログにはm000が死んでしまって、生成できなくなっている。

んじゃ、申し訳ないが、Oracleのプロセスを強制的にKILLして、強制終了させてしまおう。
SMONとかPMONとかをKILLしてしまえばいい。

-bash-3.00$ ps -ef | grep ora_
oraora 884 1 0 09:58:20 ?      0:00 ora_qmnc_orcl01
oraora 856 1 0 09:58:03 ? 0:02 ora_pmon_orcl01
oraora 858 1 0 09:58:03 ? 0:00 ora_psp0_orcl01
oraora 860 1 0 09:58:03 ? 0:00 ora_mman_orcl01
oraora 862 1 0 09:58:04 ? 0:01 ora_dbw0_orcl01
oraora 864 1 0 09:58:04 ? 0:01 ora_lgwr_orcl01
oraora 866 1 0 09:58:04 ? 0:03 ora_ckpt_orcl01
oraora 868 1 0 09:58:04 ? 0:01 ora_smon_orcl01
oraora 870 1 0 09:58:04 ? 0:00 ora_reco_orcl01
oraora 872 1 0 09:58:04 ? 0:04 ora_cjq0_orcl01
oraora 874 1 0 09:58:04 ? 0:01 ora_mmon_orcl01
oraora 876 1 0 09:58:04 ? 0:05 ora_mmnl_orcl01
oraora 878 1 0 09:58:05 ? 0:00 ora_d000_orcl01
oraora 880 1 0 09:58:05 ? 0:00 ora_s000_orcl01
oraora 927 1 0 09:58:26 ? 0:03 ora_j000_orcl01
oraora 960 1 0 09:58:30 ? 0:00 ora_q000_orcl01
oraora 962 1 0 09:58:30 ? 0:00 ora_q001_orcl01

-bash-3.00$ kill -9 868
-bash-3.00$ ps -ef | grep ora_

-bash-3.00$

というわけで、バックグラウンドプロセスがいなくなった=インスタンスが落ちた。
一応アラートログで確認すると、

Sat May 16 13:05:54 2009
Errors in file /opt/oracle/admin/orcl01/bdump/orcl01_ora_1583.trc:
ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []
Sat May 16 13:05:55 2009
Process m000 died, see its trace file
Sat May 16 13:05:55 2009
ksvcreate: Process(m000) creation failed
Sat May 16 13:06:43 2009
Errors in file /opt/oracle/admin/orcl01/bdump/orcl01_pmon_856.trc:
ORA-00474: SMON process terminated with error
Sat May 16 13:06:43 2009
PMON: terminating instance due to error 474
Sat May 16 13:06:44 2009
Errors in file /opt/oracle/admin/orcl01/bdump/orcl01_psp0_858.trc:
ORA-00474: SMON process terminated with error
Instance terminated by PMON, pid = 856


SMONがエラーと共に停止したというエラーが出ている。
で、その後、PMONがエラー474の結果、インスタンスを停止したというメッセージが出ている。

で、/etc/nodenameや/etc/inet/hostsのホスト名を元に戻し(Solarisなので)、
listene.oraやtnsnames.oraを元に戻すと、DBは起動できるようになった。
(listener.oraやtnsnames.oraのHOSTがホスト名で記述してあれば、IPアドレスを変更しただけなら影響はない。)

-bash-3.00$ sqlplus /nolog

SQL*Plus: Release 10.2.0.2.0 - Production on 土 5月 16 13:47:16 2009

Copyright (c) 1982, 2005, Oracle. All Rights Reserved.


SQL> conn / as sysdba
アイドル・インスタンスに接続しました。
SQL> startup
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLEインスタンスが起動しました。

Total System Global Area 289406976 bytes
Fixed Size 1279820 bytes
Variable Size 109054132 bytes
Database Buffers 176160768 bytes
Redo Buffers 2912256 bytes
データベースがマウントされました。
データベースがオープンされました。


なら、ホスト名を変更するにはどうしたらいいのかっていう手順をまとめていくことにする。

テーマ

注目テーマ 一覧

月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ
気持玉数 : 1
なるほど(納得、参考になった、ヘー)

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
あこがれのORA-600。 今日もなんだかいい天気♪/BIGLOBEウェブリブログ
[ ]