• 締切済み
  • すぐに回答を!

はじめまして

はじめまして SQL初心者で先月始めたばかりなのですが "Oracle Enterprise manager" でユーザーを作り、同じDB内のユーザーのスキーマー内にある テーブルをエクスポート/インポートしたいのですがうまくいきません。 エラーとして ”このSQL文は無効です” ”この文字は無効です” ばかり出てきます。もしわかる方いらっしゃいましたらアドバイスよろしくお願いします。 私が打ったSQL文は以下のとおりです↓ 1,エクスポート ====================================== $exp mmmap/mmmap@mmmap file=c:\tableoutput.dmp lows=y tables=(T_FUKUSU_URIBA) ====================================== ユーザー:mmmap パスワード:mmmap ホスト文字列:mmmap ファイルを格納したい居場所:マイコンピューターのC¥ エクスポートしたいテーブル:T_FUKUSU_URIBA 2,インポート ====================================== $imp user01/user01234@mmmap file=c:\tableoutput.dmp log=imp.log fromuser=mmmap touser=user01 ====================================== インポートしたいユーザー:user01 パスワード:user0123 ホスト文字列:mmmap インポートしたいテーブル:T_FUKUSU_URIBA

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数47
  • ありがとう数23

みんなの回答

  • 回答No.1

こんにちは。 今後、この手の質問をする際にはOracleのバージョンや OSの種類も記述した方が良いですよ。 バージョンによっては記述が異なる場合があります。 あと・・・export と import、両方ともエラーになってるんでしょうか? それともどちらかだけ? パッと見で気になったのは以下2点です。 (1) imp や exp の前にある $   そのままつけて流してますか?不要な気がしますが。。 (2) exp の 「lows=y」   「rows = y」の間違いではないですか?

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • インポートについて

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

  • Oracle9iでのサーバー移行時のpublicユーザーの移行方法について

    移行元はOracle8iかOracle9i 移行先はOracle9iで、 EXP と IMP でデータの移行を行いたいのですが、 ●EXPの例 EXP TBL/TBL@SERVER FILE=E:\EXP_USER.DMP,FULL= Y,LOG=E:\EXP_USER.log ●IMPの例(AAAユーザーをインポートする) IMP TBL/TBL FILE=E:\EXP_USER.DMP LOG=E:\EXP_USER_COM.LOG FROMUSER=AAA TOUSER=AAA ROWS=YES しかしDATABASE LINKとSYNONYMはpublicユーザーで、 IMP文のAAAをPUBLICにしてもインポートされません。 ・PUBLIC DATABASE LINK データベースリンク ・PUBLIC SYNONYM publicユーザーの移行にはどのしたらいいのでしょうか?

  • oracle ダンプファイルのサイズとインポート先の表領域の使用サイズ

    oracle ダンプファイルのサイズとインポート先の表領域の使用サイズの関係 あるダンプファイル(2.5GB)をオラクルDBへimportしたら、 そのDBの表領域が10GBほど使用されました。 2.5GBのものをimportしたのに、なぜここまで表領域を消費するのでしょうか? (これまでこのようなことはありませんでした。) 表領域の使用サイズをもっと少なくするにはどうすればよいのでしょうか? エクスポート時のコマンド exp aaaa/aaaa file=bbbb.dmp log=exp_cccc.log consistent=y インポート時のコマンド imp aaaa/aaaa file=bbbb.dmp log=imp_cccc.log エクスポート時に「compress=n」をつけたり、 インポート時に「ignore=y」をつけたりしたのですが、 とくに変化はありませんでした。

  • OracleのIMPについて

    Oracle8iからOracle11gへのIMPについて教えてください。 現在、Oracleデータを8iから11gに移す作業を行っているのですが、特定のテーブルのみIMPの時間がかかっています。 4000万件のデータのIMPは1時間くらいで終わりますが特定のテーブルはデータ量が400万件にもかかわらず4時間くらいかかります。 原因等ありますでしょうか? ちなみに、IMPは、 imp XXXX/XXXX@XXXX file=TEST.DMP tables = TESTTABLE log = d:\test.log commit = Y ignore = Y の形式で行っています。

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

    こんにちわ。 データ移管の件で悩んでいます。 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 ... という方法は使えません。 宜しくお願いします。

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

    はじめまして。 12時前に質問したのですが、私の質問がWebから 見えないので、心配になってもう一度登録しています。 質問ですが、オラクルのDBサーバー移行作業を 3日前から進めているのですが、テーブルの インポートが出来なくて困っています。 インポート時のエラーは以下の通りです。 --------------------------------------------- C:\Temp>imp user/user@test file=C:\Temp\imp.dat log=C:\Temp\TBCIXBA.imp tables=tablename Import: Release 9.2.0.1.0 - Production on 金 Jun 18 11:43:46 2004 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. 接続先: Oracle9i Release 9.2.0.1.0 - Production JServer Release 9.2.0.1.0 - Production エクスポート・ファイルはEXPORT:V09.02.00によって従来型パス経由で作成されました IMP-00013: DBAのみ別のDBAがエクスポートしたファイルをインポートできます。 IMP-00000: エラーが発生したためインポートを終了します。 --------------------------------------------- お忙しいところすいませんが、手を貸して下さい。 失礼します。

  • インポートすれば、前の情報に戻るのでしょうか?

    テーブルに列やインデックスの変更など、どんな変更しても、インポートすれば、エクスポート時のテーブルの状態に戻るのでしょうか? 環境:Oracle 10g R2    Windows 2003 Server R2 ユーザー(スキーマ):userA このスキーマには、3つ作成したテーブルあるとします。 tableA tableB tableC [tableB]のテーブル定義を変更するのですが、失敗した時のために バックアップをとっておき、変更前の状態に復元できるようにしたいと考えています。 テーブル定義の変更は、主キーの削除、インデックスの追加を行ないます。 [変更テーブルのみexp、imp] 1.exp userA/passA file=D:\expUserA_tableB.dmp tables=(tableB) 2.tableBのテーブル定義を変更 <-- 失敗 3.drop table tableB <-- 変更に失敗したテーブルを削除 4.imp userA/passA file=D:\expUserA_tableB.dmp tables=(tableB) 上記の方法で、変更前の状態に戻るでしょうか? 実行してtableBが変更前の(主キーがあり、作成したインデックスがない)テーブル定義に 戻っていることは確認できるのですが、この戻し方で本当に正しいのか確信がもてません。 例えば、統計情報とか、そのテーブルに紐付いている?情報も全て変更する前の状態に戻っているのでしょうか? それとも、スキーマ(userA)をエクスポートし、スキーマ(userA)を削除し、 エクスポートしたスキーマをインポートしないと戻らないでしょうか? よろしくお願いします。

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

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

  • フルインポートで警告が発生します

    はじめまして。 OracleDBをfull=yでエクスポートして(壊れる前のものをエクスポートしています) 新しくDBを作成して full=yでインポートすると警告が多数発生します。 以下の通りにバッチファイルを作成して実行しています。 ※exp.bat d:\oracle\ora92\bin\exp.exe system/xxx@xxx FULL=Y STATISTICS=NONE file=e:\exp.dmp log=e:\exp.log ※imp.bat D:\oracle\ora92\bin\imp.exe system/xxx@xxx commit=y IGNORE=y full=y file=e:\exp.dmp log=e:\imp.log 上記を実行すると下記の警告が複数発生します。 IMP-00017: 次の文は、Oracleエラー1919で失敗しました: IMP-00003: Oracleエラー1919が発生しました。 ORA-01919: ロール'SYS'は存在しません ORA-06512: "SYS.DBMS_RMIN", 行56 IMP-00061: 警告: オブジェクト型"SYSTEM"."REPCAT$_OBJECT_NULL_VECTOR"は、別の識別子ですでに存在します IMP-00019: Oracleエラー1により、行のインポートは拒否されました IMP-00003: Oracleエラー1が発生しました。 ORA-00001: 一意制約(SYSTEM.HELP_TOPIC_SEQ)に反しています OracleDBが壊れてしまい、戻そうとしても警告が出るので 現在はシステムバックアップを戻して対処しています。 出来れば、フルインポートでOracleを元に戻したいのです。 ご存知の方ご教示頂けないでしょうか。宜しくお願いします。

  • サーバーの移行について(エクスポートとインポート)

    ご覧頂きありがとうございます。 サーバーの移行がうまくいかず困っているのでご質問させていただきます。 やりたいことは、本サーバーにあるOracleデータベースのデータをエクスポートして、開発環境にインポートさせようと思っています。 以下、行った作業です。 windowsのコマンドプロンプトから以下のコマンドを実行してエクスポート C:\>emp sadmin/password@sid file=C:\ora_data\empsid.dmp consistent=y owner=sadmin 開発環境にて、表領域の作成とユーザの作成、権限の付与を行う。 SQL>CREATE TABLESPACE HOGE datafile 'C:\temp\HOGE1.dbf' size 800M reuse logging online segment space management auto; SQL>CREATE TEMPORARY TABLESPACE HOGE_TEMP tempfile 'C:\temp\HOGE_TEMP1.dbf' size 800M extent management local uniform size 10M; SQL>CREATE USER sadmin IDENTIFIED BY hogehoge DEFAULT TABLESPACE HOGE TEMPORARY TABLESPACE HOGE_TEMP QUOTA UNLIMITED ON HOGE; SQL>GRANT DBA TO sadmin; GRANT IMP_FULL_DATABASE TO sadmin; 以下のコマンドを実行して、windowsのコマンドプロンプトからインポート。 C:\>imp sadmin/password@sid file=C:\ora_data\empsid.dmp log=C:\ora_data\impsid.log fromuser=sadmin touser=sadmin ignore=y 状況としましては、エクスポートは問題なく終了しています。(確信はありませんが(汗)) インポート実行時、トリガーの箇所だと思うのですが処理が止まってしまいインポートが完了しません。 画面上では、「制約を使用可能にします・・」と表示されて止まってしまいます。 ログには以下のようなエラーが出ています。 IMP-00003: Oracleエラー439が発生しました。 ORA-00439: 機能は有効ではありません: Partitioning IMP-00041: 警告: オブジェクト作成の際、コンパイル・エラーが発生しました。 DBを見てみると、データのインポートはできているようなのですが、トリガーのインポートができていないみたいです。 当方Oracleを触るのは初めてで、書籍やGoogle検索などで調べているのですが、原因解明できず途方にくれています。 どなたかご助言頂けないでしょうか? 宜しくお願いします。