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

oracle10gで、データベースのバックアップを行いたいのです。
初めてで心配なのでお知恵を貸してください。

1 丸ごとバックアップ PostgreSQLでいう pg_dumpのようなもの。

2 テーブル毎(順序も含めて)にSQLで吐いたもの。
  この場合、表やビュー、順序など全てをsqlplusで定義やデータを見ることが可能でしょうか?また、sql形式でファイル化する方法などもです。

要は、他のマシンにあるオラクルDBのデータを全て別のマシンに移したいのですが、一括方法と、表や順序など個別で細分化して移すファイルが巨大にならないようにできる方法など知りたいです。

A 回答 (2件)

>1 丸ごとバックアップ PostgreSQLでいう pg_dumpのようなもの


exp:データを独自形式でエクスポートする
imp:expで抽出したデータをインポートする
というツールが標準で付いています。
コマンドラインについては exp, imp とだけ入力して実行するとヘルプが出てきます。

例)exp system/xxxx full=y file=xxx.dmp log=xxx.log consistent=y
とすると全データベースデータをエクスポートできます。
オプションで tablesやownerを調べると表毎、ユーザー毎にエクスポートできます。

>2 テーブル毎(順序も含めて)にSQLで吐いたもの
create table 文などがほしいのですよね?
ディクショナリを問い合わせれば可能ですが、ソースを表示するツールも多数存在しますので一度探してみると良いでしょう。
私は「SI Object Browser」を愛用しています。
30日間のトライアル版をダウンロードできるので使ってみてはどうでしょう。
    • good
    • 0

1.データベースクローニングといった技術がありますが、


  非常に高度な設定が必要なためあまりオススメできません。
  Enterprise EditionであればOEMというバンドル製品を使えば
  GUIベースで行うことができるかと思います。
  それより一番簡単なのはデータベースを停止した状態で
  UNIXの場合であれば/opt/oracle配下をガッツリコピーして
  しまうことだと思います。(もちろんデータファイルもinit.ora
  も/opt/oracle配下にあることが前提です)

2.OracleにはExport/Import機能というものがありますので
  それを使えばテーブル単位でバックアップ/リストアが行えます。
  ただし、Exportを行ってもバイナリファイルとして保存される
  ので開いてもある程度しか内容が把握できません。
  (もちろんテキストエディタで編集などはできません)
  表や順序などの定義を見たいのであれば
  sqlplusでOracleにログインしてdesc {table_name}とすれば
  表定義は表示されます。順序やビューなどの場合は
  ディクショナリと呼ばれる管理用ビューにアクセスする必要
  があります。
  
    • good
    • 1

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

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