• 締切済み

Oracleのバックアップデータを見る方法を教えて下さい

こんにちは。 Oracleをデータベースにしたシステムを使用しています。データは毎日DATに退避しています。 本日SQL文でデータの更新を誤ったあげく、commitまでしてしまいました。 昨日のデータに戻せると助かるのですが・・・ 昨日のデータに戻したいファイルは1つのみです。他のファイルは昨日からいろいろ更新をかけているので昨日の状態に戻すと困ります。 ディスクの使っていない領域にデータベース全体を新しく作成するには、大きすぎるデータベースです。 部分的に1つのファイルのみを、バックアップデータから戻す方法はありますか?

みんなの回答

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

リカバリの間、運用を止められますか? バックアップファイルは「エクスポートファイル」としますね。 1.戻したいテーブルをリネーム 2.エクスポートファイルから必要なテーブルをインポートする。 3.インポートしたテーブルをリネームする。 4.戻したいテーブルをリネーム(元に戻す) あとは必要なレコードだけとりだすか、2.でやめちゃうか。 どうでしょう?

happa-happa
質問者

お礼

bin-chanさん、ありがとうございます。 私はあまりよくわからないのですが、サーバからArcServeというソフトでOSごと 根こそぎバックアップしていて、なんと4ギガも毎日DATに退避しているらしいです。エクスポートできるようなレベルじゃないのでした・・・

関連するQ&A

  • Oracleのバックアップについて

    データベースソフトOracle10gを使用してサーバで バックアップを下記運用でとっています。 毎日、ディスクにSQL Plus Expにてフルバックアップをとっています。 質問ですがこの運用から一週間の一日だけフルバックアップをとり あとはすべて差分バックアップというやり方です。 バッチファイルの中身とSQLファイルの差分の書き方を教えてください よろしくお願い致します。

  • BACKUPEXECでのバックアップ方法

    BACKUPEXECを使って、OracleのバックアップをDATにとりたいと思っています。 手順として、ORACLEのデータベースをユーザでエクスポートして、そのdumpファイルを、バックアップするという方法を考えています。 ArcServeであれば、前処理でデータベースのエクスポートをしてから、毎日定時に、バックアップを行なうという方法がわかるのですが、BACKUPEXECに関しては、なにも分からないため、困っています。 どなたか、教えてください。

  • データファイルに書き込まれるタイミングは?

    はじめまして。 oracleの勉強をしていたところ、以下の記述がありました。 ---------------------------------------------------- データベース・バッファ・キャッシュ上で更新された データ・ブロックは、COMMIT時には、データ・ファイルに 書き込まれません。 ---------------------------------------------------- 具体的に書き込まれるタイミングはいつなのか疑問を 持ちました。 ご存知のかたがいらっしゃいましたら教えていただけたら と思います。 よろしくお願いします。

  • Oracle9iのバックアップ

    oracle9iのデータを外部ファイルにはきだしてバックアップをとりたいです。 基本的な質問なのですがoracleではける外部ファイルはどのようなものがあるのでしょうか? CSV以外にも色々とあるものなのでしょうか?

  • 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 SQLにて固定長でデータをselectする方法

    Oracle SQL超初心者の者です。 Oracle SQLで固定長を指定してデータをselectすることを考えているのですが、僕がやりたいことが見当たらず質問に至りました。 例えば、Field1はchar型で(10)で定義されているとします。このField1を固定長の(20)でselectしたいのです。 (空き領域は半角0を入力) また、Field1には「ヤマダ タロウ」や「ヤマノウチ ケンジロウ」のように、固定長のデータが格納されていません。 このようなことがOracle SQLで実現可能であれば是非とも教えていただきたいです。

  • OracleにおけるH/W障害によるリカバリ

    Oracleデータベースのバックアップ/リカバリについて検討しているのですが、 サーバ本体のH/W障害等により、 Oracleシステム(或いは、OS自体)が破壊された場合の リカバリ方法が見当つきません。 Oracleにおける各データ(表領域や制御ファイルなど)に障害が起こった場合は、 ・各表領域データファイル ・制御ファイル ・アーカイブRedoログ のオンラインバックアップにより対処できるということは分かってます。 しかし、Oracle自体が起動できないときは、 例えば、予備のサーバ(DBデータの同期は一切無し、 全く新規のサーバと考えてください)で復旧したいとき、 どのように対処したらよろしいのでしょうか? 上記のオンラインバックアップでは復旧できないのでしょうか? また、Export/Importによる論理バックアップで対処できるのでしょうか?

  • Oracleのバックアップに関して

    すいません。Oracle初心者です・・・。質問があります。 OracleデータをARCserveにてDATテープにバックアップする事を考えているのですが、24時間サービスを止めれない運用で動いておりますので、 (1)アーカイブログモードに変更し、ホットバックアップする。 (2)サービスを止めずにEXP.EXEにてDMPをはき出しそのDMPファイルをバックアップする というような2種類の方法を考えているのですが、どちらにした方が良いか迷っています。上記2種類を考えると万が一障害がおきた時復旧時間&手間を考えると(1)の方が早いと思うのですが、アーカイブログを一定感覚でデータをはきだしするのでパフォーマンスが落ちると耳にしました。 そこで、質問なのですが、 Q1.もし(2)で行った場合、EXP.EXEでDMPをエクスポートしている最中にDBに書き込みがあった場合うまくエクスポートできるのでしょうか? Q2.(1)で行った場合、アーカイブログだけを毎日テープで取ればいいのでしょうか? 以上もしお分かりになる方がおられましたら宜しくお願いいたします。

  • 10gのバックアップ方法とリストア方法 一括・個別

    oracle10gで、データベースのバックアップを行いたいのです。 初めてで心配なのでお知恵を貸してください。 1 丸ごとバックアップ PostgreSQLでいう pg_dumpのようなもの。 2 テーブル毎(順序も含めて)にSQLで吐いたもの。   この場合、表やビュー、順序など全てをsqlplusで定義やデータを見ることが可能でしょうか?また、sql形式でファイル化する方法などもです。 要は、他のマシンにあるオラクルDBのデータを全て別のマシンに移したいのですが、一括方法と、表や順序など個別で細分化して移すファイルが巨大にならないようにできる方法など知りたいです。

  • ORACLEのテーブルスペースについて

    OS:AIX Ver.4.3 DB:ORACLE(Ver.8.1.6) でSQL*Loaderを実行していたのですが、 "エラーコード -2 STDERR 書込不可"? ↑ (ログを消してしまってはっきりは覚えてないのですが) というエラーログが出力され、その後、ロードする テーブルのTABLESPACEについて "ORA-01536: 表領域 TABLESPACEXXXに対して割り当てられた領域を使い果たしました。" というORACLEのエラーが発生し始めました。 その後、CREATEは上記ORACLEエラーにより実行不可、 その後のINSERTは途中までできていたのですが、途中から 同様のORALCEエラーにより実行不可、 という状態になっています。 (直前まで通常にデータの更新は行えていました) ちなみに該当するTABLESPACEに割り付けられたデータ ファイルにはまだ十分領域が空いています。 該当するTABLESPACEのデータファイルに対する割付領域を "ALTER TABLE ~" で拡大できたと思うのですが、 方法がはっきり分かりません。 どなたかご存知の方、また、このエラー自体の原因が 分かる方、いらっしゃったらお願いします。