こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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

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

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

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

投稿日時 - 2007-04-24 01:48:10

QNo.2945729

困ってます

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

>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日間のトライアル版をダウンロードできるので使ってみてはどうでしょう。

投稿日時 - 2007-05-03 02:16:56

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

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

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

投稿日時 - 2007-04-27 00:27:15

あなたにオススメの質問