
いつもお世話になっております。
datapumpの実行方法(expdp/impdp)について、ご存知の方がいらっしゃいましたら、ご教授の程お願い致します。
------------------------------
●環境
Oracle 11g (11.2.0.3)
以下の手順で、エクスポート/インポート テストを行ったのですが、
expdpで"tables"を指定するとエラーとなり実行できませんでした。
full=y(データベース全体)は動きました。
tablesで指定するものは、"CREATE TABLE"で作成したテーブル名ではないのでしょうか。
また、テーブルスペースを削除"drop tablespace tbl01"したのですが、
expdpでデータベース全体をエクスポートしたものから、impdpしても
削除したものが戻せませんでした。
impdpのコマンドに誤りがあるのでしょうか。
●expdp実行
-----
・tablespace作成
$ sqlplus / as sysdba
SQL> create tablespace tbl01 datafile '+data/testdb/datafile/tblsp1' size 10m autoextend off;
-----
・sequence作成
SQL> create sequence seq1;
-----
・TABLE作成
SQL> CREATE TABLE TEST_TBL(USER_ID VARCHAR2(8) NOT NULL, DEPT_NO VARCHAR2(8)) tablespace tbl01;
-----
・INSERT実行(5件分)
begin
for i in 1..5 loop
INSERT INTO TEST_TBL (USER_ID, DEPT_NO) VALUES (seq1.nextval, '1234') ;
commit;
end loop;
end;
/
-----
・expdp使用する為の準備
ディレクトリの作成と read/write 権限の付与
$ sqlplus / as sysdba
SQL> create directory expdp_dir as '/u01/tpump';
SQL> grant read,write on directory expdp_dir to system;
-----
・expdb実行
$ expdp system/pass dumpfile=TEST_DIR:expdp_all.dmp logfile= TEST_DIR:expdp_all.log full=y
=====
"SYSTEM"."SYS_EXPORT_FULL_01"を起動しています: system/******** dumpfile=TEST_DIR:expdp_all.dmp logfile= full=y
BLOCKSメソッドを使用して見積り中です...
オブジェクト型DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATAの処理中です
-中略-
SYSTEM.SYS_EXPORT_FULL_01に設定されたダンプ・ファイルは次のとおりです:
/u01/tpump/expdp_all.dmp
ジョブ"SYSTEM"."SYS_EXPORT_FULL_01"が11:31:19で正常に完了しました
=====
$ expdp system/pass tables=TEST_TBL dumpfile=TEST_DIR:expdp_tbl.dmp logfile= TEST_DIR:expdp_tbl.log
=====
"SYSTEM"."SYS_EXPORT_TABLE_01"を起動しています: system/******** tables=TEST_TBL dumpfile=TEST_DIR:expdp_tbl.dmp logfile=
BLOCKSメソッドを使用して見積り中です...
BLOCKSメソッドを使用した見積り合計: 0 KB
ORA-39166: オブジェクトSYSTEM.TEST_TBLが見つかりません。
ORA-31655: ジョブに対してデータまたはメタデータ・オブジェクトが選択されていません
ジョブ"SYSTEM"."SYS_EXPORT_TABLE_01"が完了しましたが、2エラーが11:33:54で発生しています
=====
●impdp実行
$ impdp system/pass dumpfile=TEST_DIR:expdp_all.dmp logfile= TEST_DIR:impdp_all.log
=====
マスター表"SYSTEM"."SYS_IMPORT_FULL_01"は正常にロード/アンロードされました
"SYSTEM"."SYS_IMPORT_FULL_01"を起動しています: system/******** dumpfile=expdp_dir:expdp_all.dmp logfile= full=y
オブジェクト型DATABASE_EXPORT/TABLESPACEの処理中です
ORA-31684: オブジェクト型TABLESPACE:"UNDOTBS1"はすでに存在します
ORA-31684: オブジェクト型TABLESPACE:"TEMP"はすでに存在します
ORA-31684: オブジェクト型TABLESPACE:"USERS"はすでに存在します
ORA-39083: オブジェクト型TABLESPACEの作成が次のエラーで失敗しました:
ORA-01119: データベース・ファイル'+DATA/testdb/datafile/tblsp1'の作成中にエラーが発生しました。
ORA-17502: ksfdcre:4 ファイル+DATA/testdb/datafile/tblsp1の作成に失敗しました
ORA-15005: name "testdb/datafile/tblsp1" is already used by an existing alias
-中略-
※以下のORAエラーが多数発生
例:ORA-31684: オブジェクト型TABLESPACE:"UNDOTBS1"はすでに存在します
例:ORA-39151: 表"SYSTEM"."REPCAT$_PRIORITY_GROUP"が存在します。スキップのtable_exists_actionのため、すべての依存メタデータおよびデータはスキップされます
例:ORA-39111: 依存オブジェクト型OBJECT_GRANT:"SYSTEM"はスキップされ、ベース・オブジェクト型VIEW:"SYSTEM"."SCHEDULER_PROGRAM_ARGS"はすでに存在します
-中略-
オブジェクト型DATABASE_EXPORT/SCHEMA/TABLE/CONSTRAINT/REF_CONSTRAINTの処理中です
オブジェクト型DATABASE_EXPORT/SCHEMA/TABLE/STATISTICS/TABLE_STATISTICSの処理中です
オブジェクト型DATABASE_EXPORT/SCHEMA/TABLE/POST_TABLE_ACTIONの処理中です
オブジェクト型DATABASE_EXPORT/SCHEMA/TABLE/TRIGGERの処理中です
オブジェクト型DATABASE_EXPORT/SCHEMA/POST_SCHEMA/PROCACT_SCHEMAの処理中です
オブジェクト型DATABASE_EXPORT/AUDITの処理中です
ジョブ"SYSTEM"."SYS_IMPORT_FULL_01"が完了しましたが、146エラーが20:14:48で発生しています
=====
No.2ベストアンサー
- 回答日時:
> SYSスキーマなどを含めてエクスポートしたいときには、
> Full=y では無理だから各スキーマ(SYS、ORDSYS等)を指定して個別で
> 行う必要があるということなのでしょうか。
SYS スキーマはシステムの持ち物なのでexp した事はありません。
その他も、Oracle Text やExpression Filter 等、Oracle の拡張機能をInstall
した際に作成されるスキーマのため、ユーザが意識的にexp/imp する事はありません。
SYSスキーマにオブジェクトを作成しなければならない理由が無いのであれば、
新しいスキーマを作成してそちらにオブジェクトを移動した方が良いです。
テーブルのデータだけで良ければ、ユーザ作成後に
Create table 新ユーザ.テーブル名 as select * from SYS.テーブル名;
とすれば、コピー可能です。
度々ご回答いただきありがとうございます。
>SYSスキーマにオブジェクトを作成しなければならない理由が無いのであれば、
>新しいスキーマを作成してそちらにオブジェクトを移動した方が良いです。
今回のものについては、SYSに置く必要がないので、お教えいただきました手順で、
別のスキーマのオブジェクトに移動させようと思います。
No.1
- 回答日時:
こんにちわ。
> impdpのコマンドに誤りがあるのでしょうか。
SYS スキーマでTable を作成している事が原因だと思います。
確か、expdp はSYS スキーマオブジェクトは対象外だった筈だと思います。
この回答への補足
回答いただきありがとうございます。
調べてみましたら、確かにSYSスキーマオブジェクトは対象外のようです。
=====
制限事項
・システム・スキーマSYS、ORDSYS、EXFSYS、MDSYS、DMSYS、CTXSYS、ORDPLUGINS、LBACSYS、XDB、
SI_INFORMTN_SCHEMA、DIP、DBSNMP、WMSYSは、スキーマに含まれるメタデータが
ダンプ・ファイル・セット内の他のオブジェクトの一部としてエクスポートされるため、
全体エクスポートの一部としてエクスポートされません。
・SYSスキーマが所有しているオブジェクトに対する権限はエクスポートされません。
=====
もしお分かりなら再度教えていただきたいのですが、
SYSスキーマなどを含めてエクスポートしたいときには、
Full=y では無理だから各スキーマ(SYS、ORDSYS等)を指定して個別で行う必要があるということなのでしょうか。
度々ご回答いただきありがとうございます。
No2の方にも書かせていただきましたが、
今回のものについては、SYSに置く必要がないので、お教えいただきました手順で、
別のスキーマのオブジェクトに移動させようと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- Java 複数TBLのオブジェクトを1つの変数(オブジェクト)でまとめて管理したい 1 2022/12/17 00:12
- Visual Basic(VBA) Excel VBAについて、 フォルダ内のファイルを全て開きたい場合、 FSOを使えば、Dirは使わ 1 2023/01/27 13:18
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- その他(SNS・コミュニケーションサービス) 自分のpcがハッキングされたようなメールが来たのですがどうすればいいですか? 4 2022/10/02 16:14
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
このQ&Aを見た人はこんなQ&Aも見ています
-
oracleのimpdpでORA-39166
Oracle
-
ORA-00959: 表領域'****'は存在しません
Oracle
-
Data Pump で大量データインポートの際のUNDO表領域、TEMP表領域不足エラー解消法のついて
Oracle
-
-
4
【oracle10g 】Oracle Enterprise Managreでの表のインポート
Oracle
-
5
データを削除しても表領域の使用率が減りません
Oracle
-
6
SQLPLUSで結果を画面に表示しない
Oracle
-
7
SQLローダーCSV取込で、囲み文字がデータ中に入っている場合について
Oracle
-
8
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
9
SIDとSERVICE_NAMEの違いとは?
Oracle
-
10
フルインポートで警告が発生します
Oracle
-
11
新規表領域の作成について
Oracle
-
12
Oracleの起動時に、マウントしたりしなかったりで困っています。
Oracle
-
13
特定のスキーマのテーブルを一括削除したい
その他(データベース)
-
14
importについて
Oracle
-
15
sqlplusで表示が変なので、出力を整形したい。
Oracle
-
16
Statement ignored というエラー
Oracle
-
17
異なるスキーマからデータを抽出するには?oracl、PL/SQL
Oracle
-
18
selectした結果の余計な余白を取るにはどうしたらよいのでしょうか
Oracle
-
19
viewのバックアップ
Oracle
-
20
Oracleで上書きImportはできますか?
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
datapumpの実行方法について
-
viewのバックアップ
-
SQLでスキーマ名(所有者名)の...
-
ストアドで別スキーマのテーブ...
-
Oracle10gで他のスキマーのテー...
-
select insert 句
-
DBリンク&シノニム経由インデ...
-
スキーマの削除、スキーマオブ...
-
オラクルのビューの存在について
-
異なるスキーマからビュー作成
-
oracleのimpdpでORA-39166
-
複数テーブルからの抽出と結合...
-
CLOB型へのINSERT
-
(ACCESS)複数mdbからのデータ...
-
Postgresqlの自己結合について
-
表領域サイズについて
-
列名の変更 (Oracle 8.1.7)
-
mdbファイルを試しに開いてみた...
-
Access レコードを追加できませ...
-
AccessのInsertクエリのあとつ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLでスキーマ名(所有者名)の...
-
異なるスキーマからデータを抽...
-
datapumpの実行方法について
-
特定のスキーマのテーブルを一...
-
oracleのimpdpでORA-39166
-
viewのバックアップ
-
select insert 句
-
スキーマの削除、スキーマオブ...
-
異なるスキーマからビュー作成
-
シノニムってエイリアスのエイ...
-
ストアドやviewなどのエクスポート
-
DBリンク経由の参照について
-
DBリンク&シノニム経由インデ...
-
ストアドで別スキーマのテーブ...
-
Oracle10gで他のスキマーのテー...
-
oracle 10g ユーザやスキーマご...
-
SynonymとViewについて
-
エクスポートしたファイルを別...
-
EXPORT時にあるテーブルのみ範...
-
ライブラリオブジェクトについて
おすすめ情報