Oracle 从Dump 文件里提取 DDL 语句 方法说明(一)

2014-11-24 18:29:26 · 作者: · 浏览: 2

有关Dump 文件的命令有exp/imp 和 expdp/impdp。 这四个命令之前都有整理过相关的文章。


exp/imp 与 expdp/impdp 对比 及使用中的一些优化事项


Oracle expdp/impdp 使用示例


Oracle 10g Data Pump Expdp/Impdp 详解


Oracle expdp/impdp 从高版本 到 低版本 示例


对于Dump 文件,我们不能直接提取出Data数据,但是我们可以通过相关的参数,从Dump文件中提取出对应的DDL 语句。


(1)如果是导出导入(exp/imp),那么是indexfile参数。


(2)如果是数据泵(expdp/impdp),那么是sqlfile 参数。



SYS@anqing1(rac1)> create user dvdidentified by dvd;


User created.


SYS@anqing1(rac1)> grant dba to dvd;


Grant succeeded.


SYS@anqing1(rac1)> conn dvd/dvd;


Connected.


DVD@anqing1(rac1)> create table t1(idnumber);


Table created.


DVD@anqing1(rac1)> insert into t1values(1);


1 row created.


DVD@anqing1(rac1)> commit;


Commit complete.


DVD@anqing1(rac1)> create index idx_t1on t1(id);


Index created.


DVD@anqing1(rac1)>





[oracle@rac1 ~]$ exp dvd/dvd file=dvd.dmpowner=dvd



Export: Release 10.2.0.4.0 - Production onWed Sep 21 19:50:14 2011



Copyright (c) 1982, 2007, Oracle. All rights reserved.




Connected to: Oracle Database 10gEnterprise Edition Release 10.2.0.4.0 - Production


With the Partitioning, Real ApplicationClusters, OLAP, Data Mining


and Real Application Testing options


Export done in US7ASCII character set andAL16UTF16 NCHAR character set


server uses ZHS16GBK character set(possible charset conversion)



About to export specified users ...


. exporting pre-schema procedural objectsand actions


. exporting foreign function library namesfor user DVD


. exporting PUBLIC type synonyms


. exporting private type synonyms


. exporting object type definitions foruser DVD


About to export DVD's objects ...


. exporting database links


. exporting sequence numbers


. exporting cluster definitions


. about to export DVD's tables via ConventionalPath ...


. . exporting table T1 1 rows exported


EXP-00091: Exporting questionablestatistics.


. exporting synonyms


. exporting views


. exporting stored procedures


. exporting operators


. exporting referential integrityconstraints


. exporting triggers


. exporting indextypes


. exporting bitmap, functional andextensible indexes


. exporting posttables actions


. exporting materialized views


. exporting snapshot logs


. exporting job queues


. exporting refresh groups and children


. exporting dimensions


. exporting post-schema procedural objectsand actions


. exporting statistics


Export terminated successfully withwarnings.




[oracle@rac1 ~]$ imp dvd/dvd file=dvd.dmpfromuser=dvd touser=dvd indexfile=dvd.sql



Import: Release 10.2.0.4.0 - Production onWed Sep 21 19:50:50 2011



Copyright (c) 1982, 2007, Oracle. All rights reserved.




Connected to: Oracle Database 10gEnterprise Edition Release 10.2.0.4.0 - Production


With the Partitioning, Real ApplicationClusters, OLAP, Data Mining


and Real Application Testing options



Export file created by EXPORT:V10.02.01 viaconventional path


import done in US7ASCII character set andAL16UTF16 NCHAR character set


import server uses ZHS16GBK character set (possiblecharset conversion)


. . skipping table "T1"



Import terminated successfully withoutwarnings.



这里要注意2点:


(1) 该import 命令并没有真正的import data,而只是生成了我们对应用户下所有DDL的sql 语句。


(2) 对于表的DDL语句,用REM 进行了注释。



[oracle@rac1 ~]$ cat dvd.sql



REM CREATE TABLE "DVD"."T1" ("ID" NUMBER)PCTFREE 10 PCTUSED 40 INITRANS


REM 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1


REM BUFFER_POOL DEFAULT) TABLESPACE "USERS" LOGGING NOCOMPRESS ;


REM ... 1 rows


CONNECT DV