2012年2月6日月曜日

Oracle 10gのアップデート時にやることメモ

「いまさらOracle10gですか」とか言われそうですが、

あるプロジェクトで、古い環境をリフレッシュする案件があり、

四苦八苦している最中です。


古い環境は、Win2k3+Oracle10gR2で運用しているのですが、
これを、仮想マシン化する必要がありました。

Oracleは、10.2.0.1.0を使用していたのですが、パッチがリリースされているので、
これを適用して出荷しようと、10.2.0.5.0にアップデートしました。

この時に、いろいろ問題が出たので、備忘録がわりに記載します。

1. Enterprise Manager(通称EM)が暴走する

この症状に似たものは、11gでも経験があるのですが、
dbcontrolサービスが正常に起動できないと、暴走するというものです。

正常に起動できない原因は、いろいろとあるのでしょうが、10.2.0.5.0では、
既知の問題のようです。

#148255 Database Control 10.2.0.4 と 10.2.0.5 の SSL 認証局の証明書の有効期限が 2010/12/31 に切れる
https://krown.oracle.co.jp/krown/oisc_showDoc.do?id=148255

他所でもよくある、証明書が原因のようですね。
パッチを適用してあげれば、問題なく起動できました。
ちなみに、パッチは保守契約をしていないと入手できないそうなので、ご注意を(何に?)

パッチを適用する手順は、ちょっとややこしいので、記載しておくと
コマンドプロンプトから、以下を実行していきます。


  1. set ORACLE_HOME=xxxxx
  2. set ORACLE_SID=xxx
  3. cd [パッチを展開したフォルダ]
  4. %ORACLE_HOME%\opatch\opatch lsinventory
  5. %ORACLE_HOME%\opatch\opatch 
多分、こんな感じで適用できると思います。
このパッチは、DBを停止する必要がないので、助かります。

決まり文句ですが、適用は自己責任でお願いします。




2. インラインビュー(FROM 句の後ろに書かれた副問合せ)
  を使用した相関副問い合わせを実行した際に ORA-904 エラーが発生する

これは、10.2.0.2.0から仕様変更というか、正しいSQLしか実行できなくしたというか、
そいういう修正のようです。


そもそも、from句に副問い合わせなんかするんじゃねぇ と思いつつ、
そういうこともあるんだなー と勉強になりました。


こっちは、そもそも論なので、回避策は、ちゃんとwhere句に副問い合わせを書きましょう
って以外に、なにもないですね。



とまぁ、いろいろと地雷が埋まってるわけですが、
全部回避するのは無理ゲーじゃないかと思う今日この頃です。

みなさんも頑張って地雷を回避しましょう(違




0 件のコメント:

コメントを投稿