dポイントプレゼントキャンペーン実施中!

ユーザーがPCをガンガン落としたようです。
Oracle10.0にて ログオンにて、1033 Initialization or shutdown in process が出ます。ずっとです。

select * from V$Backup では、すべて NOT ACTIVE でした。

recover dabtabase を行ったところ
ORA-00283:エラーによってリカバリセッションは取り消されました。
ORA-12801:パラレル問合せサーバーP000にえらーシグナルが発生しました。
ORA-00600:internal error cose,aurguments:[3020],[27669],[126105],[],[],[],[]
ORA-10567:Redo is inconsistent with data block(file# 3, block# 27669)
ORA-10564: tablespace SYSAUX
ORA-0110:data file3:'C:\ORACLE\PRODUCT\10.1.0ORADATA\xxxx\SYSAUX01.DBF'
ORA-10561:block type ' TRANSACTION MANAGED INDEX BLOCK',
と出ます。
ここから先、どうしたら良いのでしょうか?
プログラマでORACLEは初心者です。

バックアップは取ってありません、
何としてでも起動させてユーザーDBをOpen出来ないといけないのです。
今日中しか時間がありません。どなたかお知恵をお願いします。

A 回答 (5件)

>今日中しか時間がありません。

どなたかお知恵をお願いします。
とのことなのでこんな遅い回答役にたたないのでしょうが後学の為と思い
記載いたします。
>ユーザーがPCをガンガン落としたようです。
突然のシャットダウンによりoracleデータベースのデータファイルと
CTL.ORA(コントロールファイル)の不整合が発生すると
起動時 Initialization(初期化)に失敗しoracleが起動できなくなります。
エラー内容は不整合の発生したDBFファイルを指しています。
この場合recoverだけでは修復できません。
修復するにはまず不整合を解決しなければならないからです。
不整合の解決は現状のデータファイルからコントロールファイルを作成しなおすのが
もっとも早道といえます。
oracleの環境変数ORACLE_SID=****を指定し
oracleマネージャでsysでログインします。
STARTUP NOMOUNT でデータベースをマウントせずスタート
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXDATAFILES 20
MAXINSTANCES 16
MAXLOGHISTORY 1600
これもINIT.ORAの内容にあわせて数値は書き換えてください。
LOGFILE
GROUP 1 'd:\oracle\database\log1ORCL.ora' SIZE 200K,
GROUP 2 'd:\oracle\database\log2ORCL.ora' SIZE 200K
 あなたの環境にあったログファイル名を記載してください。
DATAFILE
'd:\oracle\database\sysORCL.ora',
 以下すべてのデータファイル名をカンマで区切って列挙
'D:\oracle\DATABASE\usr5orcl.ora';
これでコントロールに内容が現状に合わせて書き換えられます。
その後に
RECOVER DATABASE
しばらく時間がかかりますがプロンプトが帰ってくれば
ALTER DATABASE OPEN;
これで起動してきます。

ORA-10567:Redo is inconsistent with data block(file# 3, block# 27669)
ブロックエラーもあるようなので完全に保障の出来る対処ではないかもしれません。
あらかじめファイルのDATABASEフォルダのファイルすべてのバックアップを取ったうえで
お試しください。

長文失礼しました。
    • good
    • 0

#1です。



私が勘違いしていたようですが
他環境にあると仰っていたのは同じ定義のDBという事でしょうか。
データ自体は今回のDBにのみあるという事ですよね?
    • good
    • 0
この回答へのお礼

#1さん、ありがとうございます。

手持ちのノートに開発環境がありますので、dmpなどが取れれば
全然OKなのですが。

nologにしたのでとりあえずこの起動はしましたが、udumpのtrcに
skgdllsym: Looking up sym odm_resize in hdl 040FE584
skgdllsym: Successfully loaded sym odm_resize from 040FE584 symptr = 60821050
skgdllsym: Looking up sym odm_mname in hdl 040FE584
skgdllsym: Successfully loaded sym odm_mname from 040FE584 symptr = 60821050
skgdllclose: Called close on 040FE584
skgdllclose: Successfully closed lib 040FE584
skgdllFree: Freeing 040FE584 of skgdllhdl
skgdllDestroy: ctxp = 040B5374 Ctxpp = 040B4BB0
などと出ています。私には判りません。相変わらず initializing で
止まっているようです。もうだめか。。。。

お礼日時:2008/12/23 23:41

#1です。



ほか環境にあるのであれば、export/importで行けると思います。
参考URL載せておきます。

元がファイルとはいえDBMSは非常にデリケートです。
簡単なシステムとは言えど、リカバーできない情報があるのであれば
バックアップを取ることをお勧めします。

参考URL:http://luna.gonna.jp/oracle/ora_export.html
    • good
    • 0
この回答へのお礼

sou777さん 感謝感謝です。

exp/imp は常時作業でやっているの得意ですが、ログオン出来ないので使えなく・・・

今は noarchivelog モードにしてみました。
一応起動はするのですが(速くなった)、エラーも特にないようなんですが・・。

メッセージが同じで initialize......

お礼日時:2008/12/23 22:04

#1です。



ORA-00600が出ていますので、エラーの解析を行うのであればOracleサポートを頼るしかありません。
問い合わせる内容によってはすぐ答えが出るかもしれません。

ただ時間がないとのことですし、
非常に簡単なシステムということですので再度DBのセットアップを
行ってみることはできないのですか?
    • good
    • 0
この回答へのお礼

ありがとうございます。
バックアップがないので、新規DBでは意味がないので。

他環境あるので、違う環境にユーザーDB部分だけコピーして使えるようにとかは出来ないのでしょうか?

oradata の中のuser01.dbfだけコピーしたり、redo.log だけ新規DBのものをコピーして騙して使えないかとしていますが、駄目ですね。

たった2・3のエラーで数万件のデータが無くなるのですかね。

お礼日時:2008/12/23 20:03

エラーだけ見るならば、シャットダウン中のようです。


shutdown abort
を実行した後、再度startupされてみてはいかがですか?
    • good
    • 0
この回答へのお礼

ありがとうございます。その辺はやっています。
startupで破損が見つかってinitializing....だと思います。

この破損をどうやって対処するのか?
破損など無視してとにかく立ち上がってほしいのです。
たいしたシステムではなくアカウント1つユーザーDB1つだけなのですが。

お礼日時:2008/12/23 14:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す