• 締切済み

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

こんにちわ 現在Aというサーバーにおいて、とあるテーブル(他のテーブルとのリンク等無し)がサーバーの容量を圧迫するぐらいに肥大してしまったので、このテーブルのデータを一度別のサーバBにエクスポートしてバックアップをとり、このテーブルにTruncateをかけてインデックスを再構築し、データを戻すということを考えています。 しかし、別のサーバーにデータをエクスポートする方法がわかりません。実の事を言えばexpコマンド自体、あまり分かっていません exp ユーザー/パスワード file=エクスポートファイル名、パス table=DB名.テーブル名 という所までは分かっているのですが、この後、どのようなオプションや記述をすれば良いのかが分かりません。 すみませんが、どのようにすれば別のサーバーにファイルをエクスポートできるのでしょうか? 尚、一度サーバーAにおいてFTPでBに移すという方法は、既にサーバーの残り容量が少ない為、不可能な状態です。 OSはSolaris、Oracleのバージョンは9iです。 お手数をおかけしますが、宜しくお願いします。

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

みんなの回答

回答No.2

・サーバBにオラクルクライアントをインストールして、サーバB上でEXPを動かしサーバAのデータを抜き出す。 ・サーバBをNFSなどでアクセスできるようにした上で、サーバA上でEXPを動かし、 出力先(FILE=)をネットワーク上のファイルとする。 のいずれかになると思います。

urizaka
質問者

補足

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

  • ishi7474
  • ベストアンサー率32% (71/216)
回答No.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を起動する

urizaka
質問者

補足

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

関連するQ&A

  • 異なる名前のテーブルにデータ移管をしたい

    こんにちわ。 データ移管の件で悩んでいます。 AとBというテーブルがあり、違いは名前だけで構造は全く一緒です。 Aには大量のデータが入っており、Bにはデータが全く入っていません。 今、このテーブルにAのデータを一度エクスポートして、後でBのテーブルに移管したいと考えています。 しかし、 exp ID/PW file = (エクスポートしたファイル名) table = A でデータをエクスポートし、 imp ID/PW file = (エクスポートしたファイル名) tables = B でデータを入れようとしたのですが、 IMP-00033: 警告: 表"B"がエクスポート・ファイルにありません というエラーになります。 AからエクスポートしたデータをBにインポートするにはどのようにすれば宜しいのでしょうか? 尚、今回は事情があり、create table B as select ... という方法は使えません。 宜しくお願いします。

  • テーブルのエクスポート・インポート

    SQL Server2005 を使用しています。 テーブルのインポート・エクスポートに関して質問があります。 今まで、Oracleを主に使用していて、「EXP」「IMP」コマンドを使用して DMPファイルを介して別PCのデータベース間でテーブルのやり取りをしていました。(DB上のテーブルすべてや特定のテーブルのみなど) 同様のことをSQL Serverで実現したく下記を試したのですが上手くいきません。 1.Management Studio で「タスク」→「データのインポート(エクスポート)」   フラットファイル、Excel、MDBファイルなど試したのですが、   これらの中間ファイルを介した際にデータ型が変わってしまい   元の型のまま戻せない。   Oracleの「DMP」ファイルのようなものには落とせないのでしょうか? 2.「bcp」コマンド   これに関しては、複雑でよくわかりませんでした。   もし、このコマンドで実現可能であれば、やり方を教えて下さると   助かります。 以上、ながなが書きましたが宜しくお願い致します。

  • ACCESS でインポートファイル名とエキスポートファイル名を変数にしたい

    ACCESSで ファイルインポート-->データ加工-->ファイルエキスポート-->インポートしたデータテーブルを削除 という処理を行っています。 ファイル名が担当者毎に違うので担当者分(20人分)ファイル名を変えてACCESSを作成しています。 なので、仕様変更があると20コのACCESSを変更しなければいけません。ファイル名を変数にすればACCESSは1つで良いのではと考えたのですが、その方法がわかりません。どうか教えて下さい。 ACCESS 2002 例 担当者Aならインポートファイル名 INFILE.A.TXT エキスポートファイル名 OUTFILE.A.TXT  担当者Bならインポートファイル名 INFILE.B.TXT  エキスポートファイル名 OUTFILE.B.TXT   データ加工(処理)の内容は同じです。 どうぞよろしくお願いします。  

  • oracleのテーブルExportについて

    oracle10gを使用しております。 テーブルに億桁のレコードが登録してある場合、 テーブルExportを行うと時間がかかってしまう&出力dumpファイルが 大きくなってしまうといった弊害があると思うのですが、 テーブルレコードを数万単位に分割してExportすることは可能でしょうか? また、その分割したファイルをImportする際は、Export前と同じく 一つのテーブルでレコードを管理することが可能でしょうか。 大雑把な質問で申し訳ありませんが、宜しくお願いします。 また、今回Export時に使用するコマンドは以下になります。 exp スキーマ名/パスワード constraints=y grants=y indexes=y tables=テーブルA file= テーブルA.dmp log=テーブルA.log

  • データをファイルにダンプ(エキスポート)する方法

    SQLサーバー7及び2000 テーブルのデータをローカルのファイルへダンプ(エキスポート)をストアド,SQL文でかけないでしょうか。SQLサーバーのデータがテキストエディタで見えるようになればOKですので。教えてくださいませ。

  • エクスポートしたファイルを別テーブルへインポートする方法

    エクスポートしたファイルを別テーブルへインポートする方法を教えてください。 perlでテーブル名称だけを置換する方法を考えたのですが、ダンプファイルのレコード数が多いため、時間がかかりすぎてしまいます。 うまくデータ部分以外のヘッダ部分のテーブル名を変えるか、それ以外の方法ってないのでしょうか?

  • Accessのcsvエクスポートに関して

    Accessでのcsvエクスポートに関して、ご教授頂けましたら幸いです。 テーブルを基にした帳票形式のフォームがあります。チェックボックスにフラグが付い たデータのみcsvでエクスポートし、かつ、保存するファイル名をフィールドに値を使用 したいのですが、このような処理は可能でしょうか。 フォーム表示例: 商品コード 数量 チェックボックス A     10  チェックあり B     10  チェックなし この時、チェックありの商品コードAの情報のみをcsvでエクスポートし、かつ、ファイル名を「A.csv」としたい。あわせて、商品Bが対象となった場合は「B.csv」としたい。 お手数ですが、宜しくお願い致します。

  • PostgreSQLのエクスポートについて

    現在、自宅から大学へ接続し、TeraTermからPostgreSQL8.1.23を利用しています。 なので、自宅のプログラムファイルの中にはpgsqlというファイルがありません。 そこで、作成したテーブルを自宅のPCでエクスポートしたいのですができません。 <インポートを実行した場合> a=>\copy example from import.txt; \. と表示され、なぜか違うテーブルのデータが増える。 <エクスポート> a=>\copy example to export.txt; a=> なにも表示されず、デスクトップに用意したexport.txtには、データが書き込まれません。 この場合、import.txt・export.txtのファイルがデスクトップにあるからいけないのでしょうか?

  • oracleのExportシェル作成

    oracle10gを使用しています。 テーブル単位のExportを行うシェルを作成しようと思っております。 テーブルをfilesizeを指定し分割したいのですが、 "エクスポート・ファイル: EXPDAT.DMP >"を検知、新たにファイル名を指定、Enter の書き方がわかりません。お力添え宜しくお願いします。 ファイル名は最初にexp_dump01.dmpを指定し、以降はexp_dump02.dmpと 番号をインクリメントさせたいと思っております。 現在、以下のようなシェルを作成しました。 #!/bin/sh #変数指定 CON='エクスポート・ファイル: expdat.dmp >' RET='エクスポートは警告なしで正常終了しました。' ICOUNT=1 #コマンド実行 expコマンド #結果取得 VAR=`command` #取得結果が次のファイル名を要求している場合 while [VAR=CON] do ファイル名をインクリメントしたものを指定 done #取得結果が正常終了を示した場合 if [VAR = RET] echo 'Exportが終了しました。' fi #次のコマンド実行

  • CSVファイルのインポート/エクスポート

    VBAのAccessでCSVファイルを取り込んでテーブルに登録するプログラムと、テーブルのデータをCSVファイルでエクスポートするプログラムを作ろうと思っています。 選択クエリを使用して、取得したものをエクスポートするようにしたいのですが、どのようにすれば可能でしょうか?