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

締切り済みの質問

異なるサーバーにファイルをエクスポートしたい

こんにちわ

現在Aというサーバーにおいて、とあるテーブル(他のテーブルとのリンク等無し)がサーバーの容量を圧迫するぐらいに肥大してしまったので、このテーブルのデータを一度別のサーバBにエクスポートしてバックアップをとり、このテーブルにTruncateをかけてインデックスを再構築し、データを戻すということを考えています。
しかし、別のサーバーにデータをエクスポートする方法がわかりません。実の事を言えばexpコマンド自体、あまり分かっていません

exp ユーザー/パスワード file=エクスポートファイル名、パス table=DB名.テーブル名

という所までは分かっているのですが、この後、どのようなオプションや記述をすれば良いのかが分かりません。
すみませんが、どのようにすれば別のサーバーにファイルをエクスポートできるのでしょうか?

尚、一度サーバーAにおいてFTPでBに移すという方法は、既にサーバーの残り容量が少ない為、不可能な状態です。

OSはSolaris、Oracleのバージョンは9iです。

お手数をおかけしますが、宜しくお願いします。

投稿日時 - 2007-02-05 20:09:56

QNo.2726563

すぐに回答ほしいです

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

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

回答(2)

・サーバBにオラクルクライアントをインストールして、サーバB上でEXPを動かしサーバAのデータを抜き出す。

・サーバBをNFSなどでアクセスできるようにした上で、サーバA上でEXPを動かし、
出力先(FILE=)をネットワーク上のファイルとする。

のいずれかになると思います。

投稿日時 - 2007-02-05 21:10:46

補足

なるほど、サーバBの方にもクライアントが必要になるのですね。
今のところ、後者の方法が現実的なのですが、引き続き前者の方法についても管理者を説得して試みようとしているところです。

宜しくお願いします。

投稿日時 - 2007-02-06 17:29:47

ANo.1

サーバーBに何がインストールされているかで、話が違ってきます。
(1) Oracle9iサーバーが稼動している場合
データベースリンクを使用すれば、expでなく「INSERT INTO
(データベースリンクを利用したB上のテーブル) SELECT xxx FROM
(A上のテーブル)」でデータを移せます(もっと効率のよい方法も
あるとは思いますが、すぐには思いつきません)
(2) Oracle9iクライアントがインストールされている場合
サーバーAでなくサーバーBでexpを起動してサーバーA上のDBに
接続する形にすれば、ダンプファイルはサーバーB上にできます
(3) (1)/(2)どちらでもない、ただのSolarisマシンの場合
サーバーBの空きがあるファイルシステムを、サーバーAからNFS
マウントした後にexpを起動する

投稿日時 - 2007-02-05 20:57:43

補足

う~ん、今一番現実的な方法は(3)ですね。
ただ、システム管理者を説得して(2)の方法も試みたいと思うのですが、その場合どのようにexpコマンドを使えば良いか、もう少し細かく書いていただけると助かります。

宜しくお願いします。

投稿日時 - 2007-02-06 17:27:23

あなたにオススメの質問