web-dev-qa-db-ja.com

Oracleエクスポートダンプファイルの内容を一覧表示する

Oracleの完全なダンプがあります。 fromusertouser句を使用してダンプを実行する必要があることはわかっています。ただし、ダンプに含まれるスキーマの名前はわかりません。

oracle 10gで作成されたダンプを開いて、内容を確認および分析する方法を教えてください。

11
Kerby82

SHOW=Yパラメータ

IMP SCOTT/TIGER SHOW=Y FILE=import_file.dmp
16
Sathyajith Bhat
imp SCOTT/tiger show=Y fiLE=IMPORT_FILE.DMP log=**logfile.log** fromuser=scott touser=scott 

オブジェクト名とスキーマの名前だけに関心がある場合、これはテーブル内のコンテンツではなくオブジェクトのリストに適しています。

コマンドが正常に終了したら、メモ帳/ vimなどのお気に入りのテキストエディターを使用して、パラメーターLOG = logfile.logを追加することにより、impコマンドによって生成されたログファイルを開きます。このファイルでは、impコマンドが実際のシナリオとして実行するすべてのアクションを出力します。各場所で「importing」というテキストを検索すると、スキーマ名に続いてそのスキーマに含まれるobject_namesが表示されます。

その後、元のデータベースと同じようにオブジェクトを作成/変更するコマンドが続きます。
データ挿入がシミュレートされた後、各スキーマにいくつのレコードがあるかがわかるでしょう。

しかし、それらはリストされません。

1つのテーブルEMPのみをインポートするためのサンプルインポートファイル

--------- impコマンドの出力を開始--------

EXPORT:V10.02.01で作成されたエクスポートファイルは、WE8MSWIN1252文字セットおよびAL16UTF16 NCHAR文字セット
 
 **で行われる従来のパス
インポートを介してインポートされます。 SCOTTのオブジェクトをSCOTTにインポートします** 
 "ALTER SESSION SET CURRENT_SCHEMA =" SCOTT "" 
 "CREATE TABLE" EMP "(" EMPNO "NUMBER(4、0)、" ENAME "VARCHAR2(10 )、 "JOB" VARCH "
" AR2(9)、 "MGR" NUMBER(4、0)、 "HIREDATE" DATE、 "SAL" NUMBER(7、2)、 "COMM" NUM "
 "BER(7、2)、" DEPTNO "NUMBER(2、0))PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRAN" 
 "S 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAU" 
 "LT)TABLESPACE" USERS "LOGGING NOCOMPRESS" 
。 。スキップテーブル "EMP" 
 
 "CREATE UNIQUE INDEX" PK_EMP "ON" EMP "(" EMPNO ")PCTFREE 10 INITRANS 2 MAX" 
 "TRANS 255 STORAGE(INITIAL 65536 FREELISTS 1フリーリストグループ1 BUFFER_POOL D "
" EFAULT)TABLESPACE "USERS" LOGGING "
" ALTER SESSION SET CURRENT_SCHEMA = "SCOTT" "
" ALTER TABLE "EMP" ADD CONSTRAINT " PK_EMP "PRIMARY KEY(" EMPNO ")USING INDE" 
 "X PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREE" 
 "LIST GROUPS 1 BUFFER_POOL DEFAULT)TABLESPACE" USERS "LOGGING ENABLE "
 
" ALTER TABLE "EMP" ADD CONSTRAINT "FK_DEPTNO" FOREIGN KEY( "DEPTNO")REFEREN "
" CES "DEPT"( "DEPTNO")ENABLE NOVALIDATE " 
 "ALTER TABLE" EMP "ENABLE CONSTRAINT" FK_DEPTNO "" 
 
インポートは警告なしに正常に終了しました。 

--------- out of impコマンドの終了---------

こちらをご覧ください

このツールは、ダンプファイルを取得し、データをExcel/Access/CSV形式のファイルに保存することを要求および提供します。あなたが探しているものかもしれません。

実際のデータベースにインポートせずに、テーブルの内部を表示します

誰かが必要なデータを含むダンプファイルを見つけようとしている場合に備えて。

古いダンプをすべて調べる代わりに、日付と時刻が付加された各DUMPFILEサフィックスと同じ名前のログファイルを保持する必要があります。
likeFULL_DB_DUMP_15012014_1240pm.DMP

そのため、関連するログファイルを開くだけで、どのファイルに必要なスキーマまたは関心のあるスキーマが含まれているかを把握できます。

[2]:もう1つ考えてみましょう。ダンプファイルが最大2GBで、Oracle SQLを識別できる場合。
HxD、Hexor、HexEditなどの16進エディターを読み取り専用モードで使用して、ダンプファイルを開きます。開いたら、ダンプファイルの内容をバイナリ/ ASCII形式で参照できます。これは大雑把な方法かもしれませんが、スキーマとオブジェクト名の部分的なビューDDLにビュー/トリガー/関数/プロシージャなどのコンテンツが含まれます。ただし、コンテンツ全体を読んで理解することはできません。しかし、それは目的を果たします。多分比較的速いです。

2
shinobi92

uNIX環境で作業している場合は、コマンド文字列を使用して、ダンプファイルから読み取り可能な情報を表示できます。

文字列test.dmp | grep CREATE。* TABLE

1
stw2019