• ベストアンサー

Oracleの.ora/.dbfファイルついて

手元にOracleが入ったサーバーがあったのですが、故障して動かなくなってしまいました。なんとかオラクルのフォルダは取り出すことが出来ました。データを復元したいと思っております。 フォルダの中身を見たところ、「XXXXX.ora」や「XXXXX.dbf」というファイルが残っておりました。 最終的にはCSVなどに戻したいところですが、まずはOracleに取り込みたいと思っております。ちなみに元のテーブル名、構成などは不明です。 Oracleは11gです。 インポートする方法や中身を表示させる方法などがあればお教え頂ければと思います。

  • Oracle
  • 回答数2
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

OS、Oracleのバージョンが分かりませんが11gなら Oracleを再インストールして起動します。 sysdba権限のユーザー(sysとか)でログインし「SHUTDOWN IMMEDIATE」し、元のOradata\インスタンス名内にある*.CTL,*.DBF,*.LOGファイルをコピーして、「STARTUP」で起動出来れば成功です。 11gR2だとflash_recovery_area\インスタンス名\内にもCTLファイルがありますのでこれもコピーすればいいと思います。

その他の回答 (1)

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.2

後、念のため下記のサイトも参考にしてください。 http://ameblo.jp/archive-redo-blog/entry-10033356636.html RECOVERコマンドで復旧できる場合もあります。

Hojyo777
質問者

お礼

いろいろご紹介などしていただき、ありがとうございました。 参考にさせていただきました。

関連するQ&A

  • オラクル9でCSVファイルを取り組む方法

    オラクル内テーブルx_tableにCSVファイルx.csvを 取り込む方法を教えてください. ユーザID:sato パスワード:secret ORACLE_HOME:/usr/oracle でお願いします.

  • オラクル表領域データファイルの削除について

    まず、経緯から書きますと、 レコードINSERT処理(Access)にて表領域不足エラーが出たため、 以下コマンドにてデータファイルを追加しました。 ALTER TABLESPACE USERS ADD DATAFILE '/db3/oradata/ora805/datafile09.dbf' SIZE 1000M; ところが、以下のエラーが出ました。 エラー行: 1: エラーが発生しました。 ORA-19510: 207360ブロックのサイズ設定に失敗しました   (ファイル"/db3/oradata/ora805/datafile09.dbf"、ブロックサイズ=2048)。 ORA-27059: skgfrsz: ファイル・サイズを削減できません。 SVR4 Error: 28: No space left on device Additional information: 2 ORA-19502: ファイル"/db3/oradata/ora805/datafile09.dbf"の書込みエラー。   ブロック番号: 207105(ブロックサイズ=2048) ORA-27063: skgfospo: 読込み/書込みのバイト数が正しくありません。 SVR4 Error: 28: No space left on device Additional information: -1 Additional information: 131072 まず、このエラーの詳細が正確に理解できていない状況なのですが、 なんとなく、これは、空き容量がないところに1000Mのデータファイルを 作成しようとして、大きすぎて作成出来ませんというエラーを返された、 と解釈しました。 それで、sqlplusにてデータファイルの一覧を見てみると、 追加しようとしていたdatafile09.dbfは確認できませんでした。 表領域 ファイル名            サイズ 自動追加 ---------------------------------------------------------- USERS /db1/oradata/ora805/datafile01.dbf 4194304 NO 0 USERS /db1/oradata/ora805/datafile02.dbf 2097152000 NO 0 USERS /db1/oradata/ora805/datafile03.dbf 2097152000 NO 0 USERS /db2/oradata/ora805/datafile04.dbf 2097152000 NO 0 USERS /db2/oradata/ora805/datafile05.dbf 1048576000 NO 0 USERS /db2/oradata/ora805/datafile06.dbf 996147200 NO 0 USERS /db3/oradata/ora805/datafile07.dbf 2097152000 NO 0 USERS /db3/oradata/ora805/datafile08.dbf 1887436800 NO 0 ところが、OS(Solaris5.6)に戻って、 /db3/oradata/ora805 フォルダの一覧を確認しますと、 以下のように datafile09.dbf が出来ていました。 -rw-rw---- 1 oracle dba 2097154048 13:52 datafile07.dbf -rw-rw---- 1 oracle dba 1887438848 13:52 datafile08.dbf -rw-rw---- 1 oracle dba 1048578048 14:32 datafile09.dbf ここから、質問なのですが、 1)なぜ、datafile09.dbf は OSでファイルが認識されているのに、 sqlplusでデータファイルを一覧したときには表示されないのか。 2)datafile09.dbf をいったん消したいのですが、 OSレベルで datafile09.dbf を削除してもオラクルに悪影響は 出ないのでしょうか。正しい消し方がわかりません。 以上です。 どなたかアドバイスいただけないでしょうか? よろしくお願いいたします。 Ver:Oracle8 OS:SunOS 5.6(Solaris)

  • ORACLE9iのリカバリ方法

    ORACLE9iのリカバリ方法を教えてください。 Windows server 2003 R2、Oracle9iを使用しています。 Cドライブにoracleをインストール、Dドライブにoracleのデータを格納しています。 Cドライブのハードディスクが駄目になったので、Cドライブのハードディスクを交換して Windows server 2003 R2をインストールして Windowsの標準機能のバックアップ(バックアップデータには、system stateも含んでいます。)からバックアップしておいたデータを復元させました。 ファイル単位のデータや、オラクルのサービスは復旧したのですが、オラクルのテーブルなどが開きません。 SI ObjectBrowserでオラクルを開こうとしたとき、 「ORA-01219:データベースがオープンしていません。固定の表/ビューに対する問合せのみ可能です。」 というメッセージが表示されます。サービスの再起動をしましたが、同じようなエラーがでます。 SQLPLUSで、alter database openのコマンドを入れてデータベースをオープンさせようとしたところ、 次のようなエラーが出てきました。 ORA-01122:データベース・ファイル8の照合検査でエラーが発生しました。 ORA-01110:データ・ファイル8:'D:ORACLE^ORADATA\SFRES\USER01.DBF' ORA-01207:ファイルが制御ファイルより新しくなっています。-古い制御ファイルです。 どなたか、解決方法をご存知の方、ご教授ください。

  • oracle DMPファイルのインポートについて

    あるシステムのDB管理を行うにあたり、 Oracleを使用しているのですが、 Oracleのバージョンの違いにより、 DMPファイルのインポートが行えない事はございますでしょうか? 詳細は以下です。 ローカル環境のシステム Oracle 10g / 10.2.0.1.0 社内環境のシステム Oracle 11g / 11.2.0.1.0 社内環境システムよりバックアップを行い出力されたDMPファイルを ローカル環境へインポートを試みたところ、 以下のエラーが発生し、インポートができません。 ********************************************************** IMP-00058: Oracleエラー12154が発生しました。 ORA-12154: TNS: 指定された接続識別子を解決できませんでした IMP-00000: エラーが発生したためインポートを終了します。 ********************************************************** システムの構成はローカル環境、システム環境ともに同様です。 差異があるのはOracleのバージョンとなります。 基本的なご質問かもしれませんが ご教示頂けると大変助かります。 宜しくお願い申し上げます。

  • アクセス→オラクルの方法は?

    アクセス(Access2000)で作ったサンプルDBを オラクル(Oracle9i)にインポートするためには どうすればいいのでしょうか。 そもそもできるのでしょうか。 テーブルだけでOKなんです。 いったんデータをcsvにはいてから? 逆方向(オラクル→アクセス)はよく見かけるのですが…

  • 「dbf」「csv」などをマクロで「xls」に一括変換する方法

     お世話になっております。 タイトルの通りの質問なのですが、拡張子「dbf」「csv」などのエクセルで開けるファイルをマクロで「xls」に一括変換する方法が分からなかったので質問させていただきました。 まずやり方としてなのですが、 1:「dbf」もしくは「csv」ファイルをフォルダから選び開く。 2:何も変更せずにファイル→名前を付けて保存ボタン 3:ファイル名を変更せずに保存拡張子を「Microsoft Office Excel ブック(*.xls)」に変更し保存。 4:Excelブックを変更や保存せずに閉じる。 これだけの事なのですが、流石に200個ほどあるのでマクロで出来ないものかと思いまして質問させていただきました。 ・マクロを実行するとフォルダ選択にいき、新しく「xls」に変更したいファイルを選択し、実行すると「xls」が出来ている。と言うのが理想なのですが、そのような事は可能なのでしょうか? ・1つのフォルダに様々な箇所から集めた「dbf」や「csv」をまとめてありますので、どのファイルを選択するかの時に複数個選択出来ると非常に助かります。 ・「dbf」と「csv」両方対応していなくてもどちらかだけでも、構いません。 よろしくお願いします。

  • Oracleで空きがあるのにimportできない

    4年程前から稼動しているLinuxシステム(Oracle8i使用)があります。そのシステムでexpしたデータを、別のサーバ(同じくOracle8i)にimpしたいのですが、エラーになってしまいます。 IMP-00003: ORACLE error 1237 encountered ORA-01237: cannot extend datafile 1 ORA-01110: data file 1: '/u01/app/oracle/oradata/orcl/system01.dbf' ORA-19502: write error on file "/u01/app/oracle/oradata/orcl/system01.dbf", bloc kno 202993 (blocksize=8192) ORA-27072: skgfdisp: I/O error Linux Error: 9: Bad file descriptor Additional information: 202993 Import terminated successfully with warnings. いろいろ調べたら SYSTEM にデータを入れるのは良くないということがわかりましたが、このサーバは本番サーバではないので表の中身を select で見れれば十分なので、このままの構成で行かれればと思います。 ディスク容量が不足しているようですが、DBA Studio で調べてみると、SYSTEM 1,608,576KB(1,570MB)中、800,992KB(782MB)使用中と表示されます。 imp したいファイルは 158,880KB(155.2MB)なので空き容量の部分に余裕で入ると思うのですが、データファイルを拡張しようとしているみたいです。 df コマンドの出力は /dev/sda6 2909420 2745980 15644 99% /u01 となり、確かにパーティションの空き容量はないのですが、SYSTEM領域の残り800MBの部分にはインポートできないのでしょうか。

  • Accessの自動インポート方法を教えてください。

    今回、ある特定フォルダの中にあるdbfファイルを自動インポートしたいと思っております。 その際には、すでにインポートしたdbfファイルはインポートしないか、テーブルを一度全て削除してからインポートを始めるかのどちらかの方法になると思います。インポート方法はTransferTableで実行できるのは知っています。 dbfファイル名を取得する方法と、テーブルの削除方法を御願いします。宜しく御願い致します。ちなみに、OS:windows2000、AccessVersion:access2000です。

  • oracleのテーブルimportについて

    oracle10gを使用しております。 oracleのimportについて質問いたします。 テーブルAをExportしてdumpファイルを作成し、テーブルAより任意のレコードを削除、 commitを行います。 後に、テーブルレコードを削除前に戻したいと思った場合、 dumpファイルを用いて、削除したレコードだけを元に戻すことは可能でしょうか? 現状ではテーブルAを削除し、dumpファイルをimportしてテーブル、レコードを復元しておりますが、 これ以外に方法はありますでしょうか。 回答、宜しくお願いします。

  • ORACLE9iがわかる方

    SQL Plusからのデータのインポートの方法を教えていただきたいです。元データはACSESSで用意されていて、ORACLEの方にユーザーも作成してテーブルも用意しました。あとはACCESSのデータをORACLEの方にインポートしてあげればいいんですが、量が半端じゃないので出来ればSQL Plusでコマンド入力して一気にインポートしてしまいたいです。一応原始的に新規.MDBにリンクテーブルを作成し、元データから一つ一つ貼り付けしてもいいんですが、それでも時間がかかります。わかる方いらっしゃいますでしょうか???