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 データベースがマウントされました。 データベースがオープンされました。 なら、ホスト名を変更するにはどうしたらいいのかっていう手順をまとめていくことにする。 |
<< 前記事(2009/05/16) | ブログのトップへ | 後記事(2009/05/16) >> |
タイトル (本文) | ブログ名/日時 |
---|
内 容 | ニックネーム/日時 |
---|
<< 前記事(2009/05/16) | ブログのトップへ | 後記事(2009/05/16) >> |