• ベストアンサー

expでの質問

Oracle初心者です。 Solaris8 + Oracle8i という環境下でexpを使用して、 データのバックアップ環境を構築しようと考えています。 単純にファイルに吐き出すということなので、データ量 が膨大な数であった場合、1ファイルに収まりきらない (2Gを超える)可能性があると予想しております。 そういう場合はどのように回避するのが一般的なのでしょうか? よろしくお願いします。

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

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

  • ベストアンサー
  • PCFREAK
  • ベストアンサー率51% (417/805)
回答No.1

テーブルが複数存在し、1つのテーブルで2GBを超えない事が予想出来るのであれば、 テーブル単位にエクスポート(または幾つかのテーブルをまとめてエクスポート)する事で回避出来ます。 例えば全体で100テーブル存在するならば、50テーブルずつに分けてエクスポートするなどです。 但し、これはexpコマンドでtables=xxxxx,xxxxx,xxxx・・・ とエクスポート対象のテーブルをすべて(例なら50テーブル)指定する必要があり、ちょっと手間が掛かりますね。

devisbusy
質問者

お礼

回答有難うございます。 やはり、そういう方法しかないのですね。 簡単そうなので expの使用を考えていましたが やはり、オンラインバックアップを使用するのが 一般的なのですね。 効果的にバックアップを取れるソフトの 使用感等、教えていただければ有難いです。

その他の回答 (1)

  • PCFREAK
  • ベストアンサー率51% (417/805)
回答No.2

>効果的にバックアップを取れるソフトの >使用感等、教えていただければ有難いです。 当初の質問とかけ離れた追加質問ですので、 ここは締め切って、新たに質問してください。

関連するQ&A

  • 順序のEXP/IMPについて

    Oracle9i 9.2.0 テーブルのデータも権限もなく、順序のみをEXPしてIMPしたいのですが、どのようにしたらよいでしょうか? //EXP C:\oracle\ora92\bin\EXP.EXE ユーザ/パス@サービス file='C:\DB移行作業 \SEQUENCE_EXP.DMP' ROWS=N INDEXES=N TRIGGERS=N //IMP C:\oracle\ora92\bin\imp.exe toshi/toshi@grjctc2 file='DB移行作業\SEQUENCE_EXP.DMP' FEEDBACK=100000 IGNORE=Y ROWS=N INDEXES=N CONSTRAINTS=N ANALYZE=N TABLES=(住所テーブル) 上記で一応うまく登録されたようですが、 よくわかりません。 どなたかアドバイスお願いします。

  • ブロック障害でEXPやDELETEが失敗します

    はじめまして! ある日、急に以下のメッセージが出てしまい、エクスポートができなくなってしまいました。 EXP-00056: Oracleエラー1578が発生しました。 ORA-01578: Oracleデータ・ブロックに障害が発生しました(ファイル番号99、ブロック番号99999) ORA-01110: データ・ファイル99: 'D:\ORACLE\ORADATA\xxxxx\yyyyyy.DBF' また、DELETEをかけるとやはり、データ・ブロック障害とのことで不正終了します。 障害になってしまったところのデータはあきらめますが、それ以外のデータだけでも 何とか取り出したいです。たいへん困惑しております。 どうかよろしくお願いいたします。

  • Oracle8iでテーブルをエクスポートする方法

    Oracle10gを使用しています。Oracle8iから特定のテーブルを抽出してOracle10gに入れようとしましたが、Oracle10gのexpコマンドは互換性の問題で8iに対して使えませんでした。そこでOracle8iのexpコマンドを使用しようかと考えましたが、テーブルごとのエクスポートができないとのことで不可(データベースが大きすぎるため、そもそも8iのExpコマンドを実行できる権限を持っていないのでできませんが)。 仕方がないのでExpコマンドはあきらめて、テーブル定義抽出→データをCSVまたはSQLで抽出という手順でデータを移そうかと考えています。データの抽出はできたのですが、テーブル定義の取得は10gで使えるdbms_metadata.get_ddlが使用できないので取得できずにこまっています。8iでテーブル定義を取得するにはどうしたらいいのでしょうか? なお当方8iのデータベースのSystem/Sys権限を所有していないません。また8iがインストールされているサーバへログインすることもできません。それを考慮した上で実現可能な方法をご提示願います。

  • EXPコマンドでDIRECT=Yの弊害は?

    Oracle10gを使用。 EXPコマンドを高速するためにDIRECT=Y RECORDLENGTH=65535 を指定していますが このオプションをつけることで何か弊害は発生しますか? 弊害がない場合は、なぜデフォルトで上記オプションが指定されていないのか教えてください。

  • Oracle インスタンスの exp について

    Oracle9iR2(9.2.0.8) EE を使用しています。(OS は HP-UX 64bit) テストの為、開発環境でインスタンスの定義の exp を行ったところ数分で終了しました。 ところが、いざ本番環境で同様の作業を行ったところ、3時間以上たっても終了しませんでした。 この2環境の差 ・初期化パラメータの差はアーカイブログモードか否か。(本番がアーカイブログモード) ・データ量が本番(150GB程度) >> 開発(30GB程度) 本番環境での exp 中 40MB 程度の dmp を出力するのに 60GB 程度のアーカイブログを出力しており、 event を確認すると log file sync が頻繁に発生していました。 (サイズは中断したので最終的にはもっと増える可能性が有りました。) 作業中 DB アクセスは本 exp のみで他の作業は行っていませんでした。 また、本作業中サーバの vmstat を確認していたのですが、ほぼ常時 idle 80% を占めていました。 disk 上の空容量も十分にある状態でした。 実行した exp のコマンドは下記のとおりです。(開発、本番両環境共) exp system/password@sid file=instance_def.dmp log=instance_def.log full=y compress=n rows=n direct=y 上記 exp コマンドのパフォーマンス劣化を解消する方法についてご教示願います。 インスタンスの設定を no archive log モードに変更する必要が有ったのでしょうか? または、他に何か懸念される設定や、データ量の差等の影響が有りますでしょうか。 よろしくお願いいたします。

  • ObjectBrowserでエクスポート

    お世話になります。 ObjectBrowserでエクスポート実行の設定に関する質問です。 テーブルのバックアップをしたいのですが、exp.exeパスの指定の方法で悩んでいます。 ・パスの入力場所はOB/管理/エクスポート/オプション(タブ)の使用ツールで合っているか ・exp.exeはclientの$ORACLE_HOME/bin配下にあるものでいいのか です。 見るところが間違えているのか、clientの$ORACLE_HOME/bin配下にexpではじまるものがありませんでした。 ・となると、hostの$ORACLE_HOME/bin配下にあるexpというものがそうなのでしょうか。 ・またその場合の指定の仕方は環境がunixなので例えば /a00/oracle/bin/exp という記述でいいのでしょうか。 以上、パスの記述場所、記述内容についての質問です。 /a00/oracle/bin/expという記述で実行してみたのですが、 「/a00/oracle/bin/expは実行できません」というエラーのあとに 「ファイル***\EXP.LOGは開けません。指定されたファイルが見つかりません」と出てしまいます。。 心当たりのあるかたがいらっしゃいました、ご回答いただけると幸いです。

  • アップグレードできるのか?

    oracle9iのバックアップをoracle10gにリカバリが成功しました。 しかし、oracle10gにoracle9iのバックアップが入っている為、oracle10gとして使用できるのか調査中です。 やりたいことは、oracle9iをoracle10gにアップグレードすることです。 説明が下手で申し訳ごさいませんが、ご教授お願いいたします。

  • リカバリに必要なファイルを教えてください

    こんばんは。 以前にOracle 9iのDBのバックアップについて質問させていただいたものです。 再度行き詰まってしまい、皆様のご助言をお借りしたく質問させて頂きます。 当初、ORACLE_HOME以下全ファイルをバックアップしてリカバリに備えようとしていたのですが、容量の関係でそれが難しくなってしまいました。 そこで完全リカバリに必要なファイルを考えてみたのですが、以下のファイルで完全リカバリは可能なのでしょうか。 よろしくお願いします。 ■環境■ OS:Solaris(Windows2000から変更になりました…(涙)) DB:9i DataBase Release2 ●コールドバックアップの、ノーアーカイブログです。 ●バックアップとして取得する予定のファイル   1) select name from v$database   2) select name from v$controlfile   3) select member from v$logfile  で取得できるファイル ●以下のファイルも必要?と懸念するファイル 4) パラメータファイル 4-1) %ORACLE_HOME%\ADMIN\%ORACLE_SID%\pfile\init.ora.xxxxxxxxxxxx 4-2) %ORACLE_HOME%\database\SPFILE%ORACLE_SID%.ORA 5) パスワードファイル %ORACLE_HOME%\database\PWD%ORACLE_SID%.ORA 6) リスナーファイル %ORACLE_HOME%\network\admin\listener.ora 7) ホスト文字列(?)ファイル %ORACLE_HOME%\network\admin\tnsnames.ora 上記1)~3)のファイルだけでは完全リカバリは無理なのでしょうか。 もしくは、これ以外で必要なファイルはあるのでしょうか。 どうかご助力お願いします。

  • レプリケーションについて

    お世話になります。 レプリケーション環境の構築を検討しています。 1.エンタープライズエディションをライセンスしていれば、それ以外に追加のライセンスや費用はなくても構築できますか。 2.レプリケーションしたい2つのDBを保有している部門が異なっていても、ライセンス上問題ないですか。 3.Oracle9i <-> Oracle10g 間のレプリケーションもできますか。予想される制限事項などあれば教えてください。 お手数かけますが、よろしくお願いします。

  • oracleの順序のexp/impにつて

    oracleの順序のEXP/IMPについてです。 oracle 11gでlinuxなのですが、別サーバ上にあるAというスキーマ(例:hon1)の シーケンスを、別サーバ上にあるBというスキーマ(例:dev1)に、expdp/impdp コマンドで、sequenceのみを、export/importをしようとしています。 expdpコマンドでsequenceのみはexportできたのですが、impdpコマンドで、sequence をimportするとエラーがでて失敗します。 SEQUENCEの処理はできるのですが、OBJECT_GRANTの作成でエラーで失敗します。 別環境の別スキーマに入れようとしているので、権限の作成で失敗するのは当たり前 かもしれませんが。 回避する方法、grantを実行しない方法はないのでしょうか。 また、表のimportみたいに、記述したテーブルのみをimportするような、ターゲットの sequenceのみをimportするような記述はできないのでしょうか。 宜しくお願い致します。 環境:oracle 11g、Linux