【エラー】RedHat(Oracle)EnterpriseLinux5へのClusterwareインストール

RHEL(OEL)5へClusterwareインストールする際のroot.shでのエラーについて

・runInstallerが!→-ignoreSysPrereqs
・vipcaが!→vipcaの書き換え
・srvctlが!→srvctlの書き換え
上記の点に関しては10gR2のリリースノートを見てもらうとして。

OiSCにもなかったエラーをば。

Clusterwareインストール時のroot.sh実行時に以下のエラーが出る場合があります。
(というか自分とこは毎回)

=====================================
Running vipca(silent) for configuring nodeapps
Error 0(Native: listNetInterfaces:[3])
[Error 0(Native: listNetInterfaces:[3])]
=====================================

これ、OiSCで調べると一件だけ出てきます。10.1.0.3で発生し10.1.0.4で修正済みのエラーが。
まあ、LD_ASSUME_KERNEL設定部分をコメントアウトするんで当然のエラーなんですが。
 (詳しくはKROWN文書#89082を参照)
なんで、気にせずにClusterwareインストール完了後にvipcaを再実行で問題なく進めます。

びっくりして慌てて検索かけた方、(多分)正常動作なんで安心して大丈夫ですよ~
スポンサーサイト

【エラー】OracleClusterwareインストール時トラブル

環境
OS:RHELRedHatEnterpriseLinux AS 4.0 EM64T
Oracle:10gR2 SE-RAC
記憶域:ストレージ上のLUNでOCR/Voting/Data領域を分けた

現象
1)preroot.sh実行時に以下のように表示される
 # /hogehoge/clusterware/rootpre/rootpre.sh
 No OraCM running
 
2)root.sh実行時に以下のWARNINGが表示される
 # /opt/app/oracle/product/10.2.0/crs/root.sh
 WARNING: directory '/opt/app/oracle/product/10.2.0' is not owned by root
 WARNING: directory '/opt/app/oracle/product' is not owned by root
 WARNING: directory '/opt/app/oracle' is not owned by root
 WARNING: directory '/opt/app' is not owned by root
 
3)root.sh実行時に以下で止まる
 Checking to see if Oracle CRS stack is already configured
 /etc/oracle does not exist. Creating it now.
 Setting the permissions on OCR backup directory
 Setting up NS directories
 Failed to upgrade Oracle Cluster Registry configuration

原因
1)OraCMについて
OraCMとはOracle9iにおけるクラスタプロセスなので、「No OraCM running」と表示されるのが正常。

2)表示されたWARNINGについて
単純にrootの所有物じゃないと言っているだけです。(見れば分かるか)
通常、rootの所有物でなくてもrootは全権限を持ってるはず。なんで、別に問題なし。
というか、大抵の場合は所有者をoracleとかに変更してるだろうから仕方ないっちゃ仕方ないのかも?

3)OCRのアップグレードに失敗したとのメッセージについて
これが一番やっかいでした。
なにせ情報が少ない!日本語ではほとんど情報がなく、英語サイトでどうにか1件BugNoの乗っている情報を発見しただけでしたもの。
んでエラーについてですが、ocrconfig_xxxxx.logを見ると、以下の記述がありました。

 [ OCRCONF][2538045120]csetskgfrblock0: clsfmt returned with error [4].
 [ OCRCONF][2538045120]Failure in setting block0 [-1]
 [ OCRCONF][2538045120]OCR block 0 is not set !
 [ OCRCONF][2538045120]Exiting [status=failed]...

clsfmtがエラーを返してるのが分かると思います。
Oracleバージョン10.2.0.1のclsfmtは、ディスクの一番初めの部分(ヘッダ部分?)から書き込みを行おうとするようです。
で、書き込みできない場合上記エラーが発生するようです。
なので、以下の環境ではエラーが発生する場合があります。

・ストレージとの接続がマルチパス設定の場合
 この場合、マルチパス設定時に構成されるSuperblockが邪魔になる場合があるようです
 
・マルチパス構成でなくても、ディスクがLUNで分けられている場合
 この場合、ディスクヘッダ部分が邪魔になる場合があるようです

なので、マルチパスが原因でない場合は、LUNで分けるのでなくパーティションで分けると回避出来る可能性が高いのかな?
マルチパスが原因の場合、clsfmtの差し替えが必要っぽいです。
10.2.0.3では対応されているようですが、インストール時にPSRからのファイル差し替えは難しいと思います。
ので、metalink上に対応パッチ(というか差し替えclsfmt)がありますので、ダウンロードして差し替えすることになります。(Bug#4679769・・・あれ?Patch#4679769?)


>日本オラクル様
Metalink情報に触れてしまっているので、もし上記の情報の掲載がまずいようであれば削除致しますので、その場合はコメント等にでも御連絡頂けますよう宜しくお願い致します。

【エラー】Clusterwareインストール時

【OCR領域の作成に失敗】
まず一つ目、OCR領域の作成に失敗しました。
インストールログでは、なにかのプロセスのSTEP5で停止していた記憶があります。

OS:Windows2003
環境:Oracle10gR2 SE-RAC
インストールユーザ:ネットワークADMINユーザ

この原因は、恐らくネットワークADMINユーザがDiskマネージャにアクセスする権限を持たなかった為だと思われます。
発生した時には、ローカルADMINでインストール完了させました。

その後分かったのですが、ネットワークADMINグループがローカルのAdministratorsに追加されていても、ユーザ個別に追加されていないとDiskマネージャが開けないようです。(場合によるかも)

なので、ユーザを個別にローカルのAdministratorsグループに追加してやれば良さそうです。
ただし、混乱を避けるのであれば全てのインストールが完了してからドメイン参加・ユーザ追加等する方がいいようです。
理由は次の二つ目のエラーが発生するかもしれないから。


【EVMServiceの起動に失敗】
二つ目、インストール途中でのEVMServiceの起動に失敗しました。

OS:Windows2003
環境:Oracle10gR2 SE-RAC

インストールユーザはローカルもネットワークも試しましたが、どちらも発生。

調べてみると、コンピュータ名に「.」が入っているとインストール時にエラー発生するようです。
で、ドメイン参加するとフルコンピュータ名が「Computer.kaisya.co.jp」とかになるので、そのせいか?と思いサフィックス(フルコンピュータ名の.kaisya.co.jpの部分)を空欄に設定したらインストールできました。

でも、このときに確か他の対策も一緒にやったんですよね・・・そっちの可能性も捨て切れません。

これと同じようにサフィックスの設定で切り抜けてもいいですが、ドメイン参加はインストール終わってからにした方が無難そうです。

ダイレクトパスモードでのExp時のバッファの限界値

かれこれ一月以上前に設定したもの(ここ参照)なのですが、今更気づきました。

EXP XXX/YYY@ZZZ DIRECT=N BUFFER=200000000 FILE=oraora.dmp OWNER=ORE

なら問題は無いんだけど、

EXP XXX/YYY@ZZZ DIRECT=Y RECORDLENGTH=200000000 FILE=oraora.dmp OWNER=ORE

これはOUT(というか修正される)ということが発覚。
これ実行すると、"RECORDLENGTHは65535に切り捨てられます"とかいうメッセージが出てました。

ので、DIRECT=Yオプションを付ける時はRECORDLENGTHは65535以下にしましょう。
なわけで、

EXP XXX/YYY@ZZZ DIRECT=Y RECORDLENGTH=65535 FILE=oraora.dmp OWNER=ORE

とするのが正しかったようです。

ARCHIVELOGモード有効化

すぐ忘れてしまうので。

SHUTDOWN IMMEDIATE
STARTUP MOUNT
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;

【トラブル】DBが起動しない!

【トラブル】OS起動時にDBが起動しない
に状況はそっくりなのですが、
sqlplus /nolog
connect sys/password as sysdba
でアイドルインスタンスに接続しstartupを叩いてもエラーが!

現場にいたわけではないのでエラー番号等はメモ出来ませんでしたが、ロールバックセグメントがどうこうといったことらしい・・・

とりあえずの処置として、initORCL.oraファイルのロールバックセグメントの指定部分を一旦削除することで起動させました。


んで、手元に残してあった導入時のinitORCL.oraを見ると

rollback_segment =(rbs1,rbs2,rbs3)

とあります。
分かる人が見れば一発ですが、これが原因ですね。。。

正しくは

rollback_segments =(rbs1,rbs2,rbs3)

です。「s」一つにやられました。。。
皆さんもスペルミスにはくれぐれもご注意を。。。

【エラー】トリガーやシノニムのインポート時にエラー

自分がこのエラーを見た状況
Oracleバージョン:8.1.7.0.0
OS:Windows2000Server

症状:
>IMP XXX/YYY@ZZZ FILE=oraora.dmp FROMUSER=ORE TOSER=OMAE
としてインポートした際、シノニムが正しく作成されなかったり、トリガーインポート時にコンパイルエラーが発生する。

原因:
オブジェクトのインポート時にスキーマの移動は出来ても、オブジェクト内のスキーマ名までは変更されないのが原因です。
シノニム・トリガーに限らずオブジェクト全てで起こりうるそうです。

対応:
シノニム・トリガーとも頑張って作り直してください(ぉ

一応、シノニムに関しては誤ったシノニムの削除と再作成を行うスクリプトを発行するSELECT文置いときます。

SPOOL C:\DROP_CREATE_SYNONYM.sql
SELECT
 'DROP SYNONYM '||SYNONYM_NAME||';'
 FROM USER_SYNONYMS
;
SELECT
 'CREATE SYNONYM '||SYNONYM_NAME||' FOR OMAE.'||TABLE_NAME||';'
 FROM USER_SYNONYMS
;
SPOOL OFF


トリガーに関しては、本体がLONG型の為SELECT文での出力が出来ません。
パッケージを用いた方法もあるようですが、自分はトリガー名と本体部を別々にファイルに書き出して、必死こいてコンパイル出来る形に整形してました。

※本体部を全行表示する為に!
 LONG型はデフォルトだと20文字(だったかな?)分しか出力されません。
 そこで、
 SET LINESIZE 10000
 SET LONG 20000
 をSPOOLの前に実行しました。
 
 但し、これだと改行コードが入ってしまう場合があるので、整形が大変でした。
 SET LONGCHUNKSIZE 1000
 とかもやると大丈夫なようです。検証してないけど^^;
 
 トリガー関係では、もっと楽なやり方が有りそうなので、要研究ですね。

HOMENext ≫

プロフィール

ラキア

  • Author:ラキア
  • ビリヤードB級、JPA SL5
    ホームは新宿BAGUSと荻窪サンビリ

    プレイ :McDarmott+OBPro+
    ブレイク:Adam+OBSBS+
    ジャンプ:TENGU

最近の記事

カテゴリー

月別アーカイブ

最近のコメント

最近のトラックバック

ブログ内検索

RSSフィード

リンク