• ベストアンサー

オラクルのインポートについて

guchi32の回答

  • ベストアンサー
  • guchi32
  • ベストアンサー率100% (10/10)
回答No.1

既存テーブルとダンプファイル上のテーブル構造が異なると理解して良いでしょうか? 下記のような状態ですよね?  インポート先テーブル:a,b,c列  ダンプファイル内容 :a,b,c,d列  ☆この状態でインポートしたらd列がインポートされなかった インポート先にテーブルが無い場合、インポート時にテーブルを作成してくれますが、既にテーブルがある場合、列を追加する等の処理は行いません。 事前に、インポート先テーブルに「Alter table add ・・・」で必要なカラム(上記でいうd列)を追加する必要があると思われます。 その他インポート時に自動的に作成する表はデフォルト表領域に作成しますので、確実なインポートを行うためには全く同じ構造のテーブルをインポート先スキーマに作成した上で、 「ignore=Y」のパラメータを設定する方法が良いと思われます。

toshi_200578
質問者

お礼

追加はしないんですね。 ありがとうございました。

関連するQ&A

  • importについて

    こんばんは。 exportしたダンプファイルを頂いたので oracleにimportしようと思っています。 色々調べて以下のようにわかったのですが、 間違っていないか、パラメータで追加した方が よいものがあれば、ご指摘お願いします。 1) 既に同じ内容のテーブルが存在するが、それは気にせずimportを行う。既存のテーブルデータは新しくimportするもので更新されている??? 2) SQL*PLUSでコマンドを叩く。 コマンド内容は以下の通り。 imp system/manager fromuser=test1 touser=test2 file=db_data.dmp log=implog.log test1 ← DBA権限あり。 test2 ← このユーザーの表領域にデータを作成したい。

  • オラクルのエクスポートについて

    こんにちわ。 あるdmpファイルをインポートした際、その中のデータには主キーの重複したレコードが存在しているらしく一意制約エラーでおちてしまいます。 もちろん、テーブル構造もエクスポートしている為、エクスポートした時点で、テーブル内がそのような状況になるということは有り得ないはずなのですが、バイナリエディタで覗くと実際、キーの重複したデータが存在しています。 というわけで、dmpファイルをバイナリエディタなどで編集するというようなことはナシで(あくまでオラクルユーティリティ内の範疇で)、そのようなdmpファイルを強引に作ることが出来るのでしょうか? よろしくお願いします。

  • インポートについて

    初歩的な質問ですみません・・・ ユーザモードでエクスポートした [ data.dmp ] があるのですが、このデータを、同じユーザが作成されている別のデータベースに、インポートしたいと思っています。その時、 [ data.dmp ] にある全テーブルのデータを(テーブルの作成と合わせて)インポートしたいのですが、 IMP USERID=****/**** FILE=user.dmp LOG=imp.log FULL=y IGNORE=y で大丈夫でしょうか? 「FULL」というパラメータが良く分かっていません。「全体をインポート」「全ファイルをインポート」という説明があったのですが、「全部」とは何を意味しているのか良く理解できていません。 よろしくお願いします。

  • dmpファイルをインポートせずに、テーブル名を知りたい

    Oracle8.1.6のexpコマンドで作成したdmpファイルがあります。 このdmpファイルをimpコマンドでインポートせずに、テーブル名を(できれば、レコード数も)知りたいのですが、何か方法がありますでしょうか? よろしくお願いします。

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

    oracle10gを使用しております。 oracleのimportについて質問いたします。 テーブルAをExportしてdumpファイルを作成し、テーブルAより任意のレコードを削除、 commitを行います。 後に、テーブルレコードを削除前に戻したいと思った場合、 dumpファイルを用いて、削除したレコードだけを元に戻すことは可能でしょうか? 現状ではテーブルAを削除し、dumpファイルをimportしてテーブル、レコードを復元しておりますが、 これ以外に方法はありますでしょうか。 回答、宜しくお願いします。

  • 既にテーブルが存在する場合のインポート

    インポート対象のテーブルが既に存在する場合、次のエラーが発生します。 IMP-00015: オブジェクトがすでに存在するため次の文は失敗しました: "CREATE TABLE ... SQL Loaderではデータにスペースや改行が含まれているとdatの作成がめんどうですし、dmpファイルでcreate文を削除するようなこともできればしたくありません。 データを追記したいのでテーブルを削除せずにインポートしたいのですが、どうすればよいでしょうか?

  • アクセス2000のインポートについて

    アクセル2000使っています。 アクセルファイルのテーブルをインポートしていますが、100個ぐらいあるので、インポートするのも大変で間違います。自動に一気に取り込む方法は無いでしょうか?100個のファイル名一覧はテーブルとしてあります。プログラムは少しなら組めますが何か良い方法はないでしょうか?100個ファイルのテーブルはテーブル名も項目も一致しています。

  • oracle DMPファイルのインポートについて

    あるシステムのDB管理を行うにあたり、 Oracleを使用しているのですが、 Oracleのバージョンの違いにより、 DMPファイルのインポートが行えない事はございますでしょうか? 詳細は以下です。 ローカル環境のシステム Oracle 10g / 10.2.0.1.0 社内環境のシステム Oracle 11g / 11.2.0.1.0 社内環境システムよりバックアップを行い出力されたDMPファイルを ローカル環境へインポートを試みたところ、 以下のエラーが発生し、インポートができません。 ********************************************************** IMP-00058: Oracleエラー12154が発生しました。 ORA-12154: TNS: 指定された接続識別子を解決できませんでした IMP-00000: エラーが発生したためインポートを終了します。 ********************************************************** システムの構成はローカル環境、システム環境ともに同様です。 差異があるのはOracleのバージョンとなります。 基本的なご質問かもしれませんが ご教示頂けると大変助かります。 宜しくお願い申し上げます。

  • Oracle の imp コマンドについて

    oracle(8.1.6) のフルダンプから、指定したテーブルのみDBにインポートする為、imp コマンドを使います。 ---------------------------------------------------------------- $imp (Enterキーを押す) 1. ユーザー名: userid 2. パスワード: ****** 接続: Oracle8i Enterprise Edition Release 8.1.6.1.0 - Production With the Partitioning option JServer Release 8.1.6.0.0 - Production 3. インポート・ファイル: expdat.dmp > ---------------------------------------------------------------- 3.行目のインポート・ファイルのところで、複数のファイルを指定したい場合はどうすればいいでしょうか。 expdat01,expdat02 (expdat01,expdat02) \(expdat01,expdat02\) expdat01.dmp,expdat02.dmp と色々試してみましたが、どれもうまく行きませんでした。 なお、impのコマンドに入ったあと、普通のコマンドプロンプトに戻る方法も教えて頂けないでしょうか。exit、bye、Ctrl+C のどれも試したが、出来ませんでした。 どうぞよろしくお願いいたします。

  • 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 #次のコマンド実行