使用SQLfile 语句从dump文件中抽取DDL语句

RDBMS 11.2.0.4

[oracle@test02 ~]$ impdp \"/ as sysdba\" dumpfile=dump:dump_query.dmp logfile=dump:impsql.log sqlfile=dump:imp.sql

Import: Release 11.2.0.4.0 - Production on Tue Mar 13 14:09:53 2018

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Master table "SYS"."SYS_SQL_FILE_FULL_01" successfully loaded/unloaded
Starting "SYS"."SYS_SQL_FILE_FULL_01":  "/******** AS SYSDBA" dumpfile=dump:dump_query.dmp logfile=dump:impsql.log sqlfile=dump:imp.sql 
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/COMMENT
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Job "SYS"."SYS_SQL_FILE_FULL_01" successfully completed at Tue Mar 13 14:09:56 2018 elapsed 0 00:00:01

SQL语句如下:


[oracle@test02 dump]$ cat imp.sql
-- CONNECT SYS
ALTER SESSION SET EVENTS '10150 TRACE NAME CONTEXT FOREVER, LEVEL 1';
ALTER SESSION SET EVENTS '10904 TRACE NAME CONTEXT FOREVER, LEVEL 1';
ALTER SESSION SET EVENTS '25475 TRACE NAME CONTEXT FOREVER, LEVEL 1';
ALTER SESSION SET EVENTS '10407 TRACE NAME CONTEXT FOREVER, LEVEL 1';
ALTER SESSION SET EVENTS '10851 TRACE NAME CONTEXT FOREVER, LEVEL 1';
ALTER SESSION SET EVENTS '22830 TRACE NAME CONTEXT FOREVER, LEVEL 192 ';
-- new object type path: TABLE_EXPORT/TABLE/TABLE
CREATE TABLE "BB"."BB_T1" 
   (	"OWNER" VARCHAR2(30 BYTE), 
	"OBJECT_NAME" VARCHAR2(128 BYTE), 
	"SUBOBJECT_NAME" VARCHAR2(30 BYTE), 
	"OBJECT_ID" NUMBER, 
	"DATA_OBJECT_ID" NUMBER, 
	"OBJECT_TYPE" VARCHAR2(19 BYTE), 
	"CREATED" DATE, 
	"LAST_DDL_TIME" DATE, 
	"TIMESTAMP" VARCHAR2(19 BYTE), 
	"STATUS" VARCHAR2(7 BYTE), 
	"TEMPORARY" VARCHAR2(1 BYTE), 
	"GENERATED" VARCHAR2(1 BYTE), 
	"SECONDARY" VARCHAR2(1 BYTE), 
	"NAMESPACE" NUMBER, 
	"EDITION_NAME" VARCHAR2(30 BYTE)
   ) SEGMENT CREATION IMMEDIATE 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "DD" ;
CREATE TABLE "CC"."SYS_IMPORT_FULL_01" 
   (	"PROCESS_ORDER" NUMBER, 
	"DUPLICATE" NUMBER, 
	"DUMP_FILEID" NUMBER, 
	"DUMP_POSITION" NUMBER, 
	"DUMP_LENGTH" NUMBER, 
	"DUMP_ORIG_LENGTH" NUMBER, 
	"DUMP_ALLOCATION" NUMBER, 
	"COMPLETED_ROWS" NUMBER, 
	"ERROR_COUNT" NUMBER, 
	"ELAPSED_TIME" NUMBER, 
	"OBJECT_TYPE_PATH" VARCHAR2(200 BYTE), 
	"OBJECT_PATH_SEQNO" NUMBER, 
	"OBJECT_TYPE" VARCHAR2(30 BYTE), 
	"IN_PROGRESS" CHAR(1 BYTE), 
	"OBJECT_NAME" VARCHAR2(500 BYTE), 
	"OBJECT_LONG_NAME" VARCHAR2(4000 BYTE), 
	"OBJECT_SCHEMA" VARCHAR2(30 BYTE), 
	"ORIGINAL_OBJECT_SCHEMA" VARCHAR2(30 BYTE), 
	"ORIGINAL_OBJECT_NAME" VARCHAR2(4000 BYTE), 
	"PARTITION_NAME" VARCHAR2(30 BYTE), 
	"SUBPARTITION_NAME" VARCHAR2(30 BYTE), 
	"DATAOBJ_NUM" NUMBER, 
	"FLAGS" NUMBER, 
	"PROPERTY" NUMBER, 
	"TRIGFLAG" NUMBER, 
	"CREATION_LEVEL" NUMBER, 
	"COMPLETION_TIME" DATE, 
	"OBJECT_TABLESPACE" VARCHAR2(30 BYTE), 
	"SIZE_ESTIMATE" NUMBER, 
	"OBJECT_ROW" NUMBER, 
	"PROCESSING_STATE" CHAR(1 BYTE), 
	"PROCESSING_STATUS" CHAR(1 BYTE), 
	"BASE_PROCESS_ORDER" NUMBER, 
	"BASE_OBJECT_TYPE" VARCHAR2(30 BYTE), 
	"BASE_OBJECT_NAME" VARCHAR2(30 BYTE), 
	"BASE_OBJECT_SCHEMA" VARCHAR2(30 BYTE), 
	"ANCESTOR_PROCESS_ORDER" NUMBER, 
	"DOMAIN_PROCESS_ORDER" NUMBER, 
	"PARALLELIZATION" NUMBER, 
	"UNLOAD_METHOD" NUMBER, 
	"LOAD_METHOD" NUMBER, 
	"GRANULES" NUMBER, 
	"SCN" NUMBER, 
	"GRANTOR" VARCHAR2(30 BYTE), 
	"XML_CLOB" CLOB, 
	"PARENT_PROCESS_ORDER" NUMBER, 
	"NAME" VARCHAR2(30 BYTE), 
	"VALUE_T" VARCHAR2(4000 BYTE), 
	"VALUE_N" NUMBER, 
	"IS_DEFAULT" NUMBER, 
	"FILE_TYPE" NUMBER, 
	"USER_DIRECTORY" VARCHAR2(4000 BYTE), 
	"USER_FILE_NAME" VARCHAR2(4000 BYTE), 
	"FILE_NAME" VARCHAR2(4000 BYTE), 
	"EXTEND_SIZE" NUMBER, 
	"FILE_MAX_SIZE" NUMBER, 
	"PROCESS_NAME" VARCHAR2(30 BYTE), 
	"LAST_UPDATE" DATE, 
	"WORK_ITEM" VARCHAR2(30 BYTE), 
	"OBJECT_NUMBER" NUMBER, 
	"COMPLETED_BYTES" NUMBER, 
	"TOTAL_BYTES" NUMBER, 
	"METADATA_IO" NUMBER, 
	"DATA_IO" NUMBER, 
	"CUMULATIVE_TIME" NUMBER, 
	"PACKET_NUMBER" NUMBER, 
	"INSTANCE_ID" NUMBER, 
	"OLD_VALUE" VARCHAR2(4000 BYTE), 
	"SEED" NUMBER, 
	"LAST_FILE" NUMBER, 
	"USER_NAME" VARCHAR2(30 BYTE), 
	"OPERATION" VARCHAR2(30 BYTE), 
	"JOB_MODE" VARCHAR2(30 BYTE), 
	"QUEUE_TABNUM" NUMBER, 
	"CONTROL_QUEUE" VARCHAR2(30 BYTE), 
	"STATUS_QUEUE" VARCHAR2(30 BYTE), 
	"REMOTE_LINK" VARCHAR2(4000 BYTE), 
	"VERSION" NUMBER, 
	"JOB_VERSION" VARCHAR2(30 BYTE), 
	"DB_VERSION" VARCHAR2(30 BYTE), 
	"TIMEZONE" VARCHAR2(64 BYTE), 
	"STATE" VARCHAR2(30 BYTE), 
	"PHASE" NUMBER, 
	"GUID" RAW(16), 
	"START_TIME" DATE, 
	"BLOCK_SIZE" NUMBER, 
	"METADATA_BUFFER_SIZE" NUMBER, 
	"DATA_BUFFER_SIZE" NUMBER, 
	"DEGREE" NUMBER, 
	"PLATFORM" VARCHAR2(101 BYTE), 
	"ABORT_STEP" NUMBER, 
	"INSTANCE" VARCHAR2(60 BYTE), 
	"CLUSTER_OK" NUMBER, 
	"SERVICE_NAME" VARCHAR2(100 BYTE), 
	"OBJECT_INT_OID" VARCHAR2(32 BYTE), 
	"TARGET_XML_CLOB" CLOB
   ) SEGMENT CREATION IMMEDIATE 
  PCTFREE 10 PCTUSED 40 INITRANS 10 MAXTRANS 255 
 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "DD" 
 LOB ("XML_CLOB") STORE AS BASICFILE (
  TABLESPACE "DD" ENABLE STORAGE IN ROW CHUNK 8192
  NOCACHE LOGGING 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 
 LOB ("TARGET_XML_CLOB") STORE AS BASICFILE (
  TABLESPACE "DD" ENABLE STORAGE IN ROW CHUNK 8192
  NOCACHE LOGGING 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) ;
-- new object type path: TABLE_EXPORT/TABLE/COMMENT
 COMMENT ON TABLE "CC"."SYS_IMPORT_FULL_01"  IS 'Data Pump Master Table IMPORT                         FULL                          ';
-- new object type path: TABLE_EXPORT/TABLE/INDEX/INDEX
-- CONNECT CC
CREATE INDEX "CC"."SYS_MTABLE_000015B0F_IND_1" ON "CC"."SYS_IMPORT_FULL_01" ("OBJECT_SCHEMA", "OBJECT_NAME", "OBJECT_TYPE") 
  PCTFREE 10 INITRANS 2 MAXTRANS 255 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "DD" PARALLEL 1 ;

  ALTER INDEX "CC"."SYS_MTABLE_000015B0F_IND_1" NOPARALLEL;
CREATE INDEX "CC"."SYS_MTABLE_000015B0F_IND_2" ON "CC"."SYS_IMPORT_FULL_01" ("BASE_PROCESS_ORDER") 
  PCTFREE 10 INITRANS 2 MAXTRANS 255 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "DD" PARALLEL 1 ;

  ALTER INDEX "CC"."SYS_MTABLE_000015B0F_IND_2" NOPARALLEL;
CREATE INDEX "CC"."SYS_MTABLE_000015B0F_IND_3" ON "CC"."SYS_IMPORT_FULL_01" ("OBJECT_PATH_SEQNO") 
  PCTFREE 10 INITRANS 2 MAXTRANS 255 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "DD" PARALLEL 1 ;

  ALTER INDEX "CC"."SYS_MTABLE_000015B0F_IND_3" NOPARALLEL;
-- new object type path: TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
-- CONNECT SYS
ALTER TABLE "CC"."SYS_IMPORT_FULL_01" ADD UNIQUE ("PROCESS_ORDER", "DUPLICATE")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "DD"  ENABLE;
-- new object type path: TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
DECLARE I_N VARCHAR2(60); 
  I_O VARCHAR2(60); 
  NV VARCHAR2(1); 
  c DBMS_METADATA.T_VAR_COLL; 
  df varchar2(21) := 'YYYY-MM-DD:HH24:MI:SS'; 
 stmt varchar2(300) := ' INSERT INTO "SYS"."IMPDP_STATS" (type,version,flags,c1,c2,c3,c5,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,d1,cl1) VALUES (''I'',6,:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,NULL,:14,:15,NULL,:16,:17)';
BEGIN
  DELETE FROM "SYS"."IMPDP_STATS"; 
  i_n := 'SYS_MTABLE_000015B0F_IND_1'; 
  i_o := 'CC'; 
  EXECUTE IMMEDIATE stmt USING 2,I_N,NV,NV,I_O,359,2,254,1,1,113,1,359,NV,NV,TO_DATE('2018-03-12 14:46:25',df),NV;

  DBMS_STATS.IMPORT_INDEX_STATS('"' || i_o || '"','"' || i_n || '"',NULL,'"IMPDP_STATS"',NULL,'"SYS"'); 
  DELETE FROM "SYS"."IMPDP_STATS"; 
END; 
/
DECLARE I_N VARCHAR2(60); 
  I_O VARCHAR2(60); 
  NV VARCHAR2(1); 
  c DBMS_METADATA.T_VAR_COLL; 
  df varchar2(21) := 'YYYY-MM-DD:HH24:MI:SS'; 
 stmt varchar2(300) := ' INSERT INTO "SYS"."IMPDP_STATS" (type,version,flags,c1,c2,c3,c5,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,d1,cl1) VALUES (''I'',6,:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,NULL,:14,:15,NULL,:16,:17)';
BEGIN
  DELETE FROM "SYS"."IMPDP_STATS"; 
  i_n := 'SYS_MTABLE_000015B0F_IND_2'; 
  i_o := 'CC'; 
  EXECUTE IMMEDIATE stmt USING 2,I_N,NV,NV,I_O,2,1,1,1,1,1,0,2,NV,NV,TO_DATE('2018-03-12 14:46:25',df),NV;

  DBMS_STATS.IMPORT_INDEX_STATS('"' || i_o || '"','"' || i_n || '"',NULL,'"IMPDP_STATS"',NULL,'"SYS"'); 
  DELETE FROM "SYS"."IMPDP_STATS"; 
END; 
/
DECLARE I_N VARCHAR2(60); 
  I_O VARCHAR2(60); 
  NV VARCHAR2(1); 
  c DBMS_METADATA.T_VAR_COLL; 
  df varchar2(21) := 'YYYY-MM-DD:HH24:MI:SS'; 
 stmt varchar2(300) := ' INSERT INTO "SYS"."IMPDP_STATS" (type,version,flags,c1,c2,c3,c5,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,d1,cl1) VALUES (''I'',6,:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,NULL,:14,:15,NULL,:16,:17)';
BEGIN
  DELETE FROM "SYS"."IMPDP_STATS"; 
  i_n := 'SYS_MTABLE_000015B0F_IND_3'; 
  i_o := 'CC'; 
  EXECUTE IMMEDIATE stmt USING 2,I_N,NV,NV,I_O,354,1,78,1,1,90,0,354,NV,NV,TO_DATE('2018-03-12 14:46:25',df),NV;

  DBMS_STATS.IMPORT_INDEX_STATS('"' || i_o || '"','"' || i_n || '"',NULL,'"IMPDP_STATS"',NULL,'"SYS"'); 
  DELETE FROM "SYS"."IMPDP_STATS"; 
END; 
/
DECLARE I_N VARCHAR2(60); 
  I_O VARCHAR2(60); 
  NV VARCHAR2(1); 
  c DBMS_METADATA.T_VAR_COLL; 
  df varchar2(21) := 'YYYY-MM-DD:HH24:MI:SS'; 
 stmt varchar2(300) := ' INSERT INTO "SYS"."IMPDP_STATS" (type,version,flags,c1,c2,c3,c5,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,d1,cl1) VALUES (''I'',6,:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,NULL,:14,:15,NULL,:16,:17)';
BEGIN
  DELETE FROM "SYS"."IMPDP_STATS"; 
  c(1) := 'PROCESS_ORDER';
  c(2) := 'DUPLICATE';

  DBMS_METADATA.GET_STAT_INDNAME('CC','SYS_IMPORT_FULL_01',c,2,i_o,i_n); 
  EXECUTE IMMEDIATE stmt USING 2,I_N,NV,NV,I_O,400,1,400,1,1,25,0,400,NV,NV,TO_DATE('2018-03-12 14:46:25',df),NV;

  DBMS_STATS.IMPORT_INDEX_STATS('"' || i_o || '"','"' || i_n || '"',NULL,'"IMPDP_STATS"',NULL,'"SYS"'); 
  DELETE FROM "SYS"."IMPDP_STATS"; 
END; 
/
[oracle@test02 dump]$ 

看完上面的语句,应该就明白,为什么把dump文件传输到另外一台机器的时候,要在另外一台机器上创建用户和表空间的原因了吧 。


end


你可能感兴趣的:(EXPDPIMPDP)