使用資料泵匯出DDL語句

壹頁書發表於2013-11-10

資料泵可以匯出dump檔案的DDL語句。

  1. C:\\Users\\lihuilin>impdp lihuilin/xxxxxx directory=tmp dumpfile=test.dmp sqlfile=test.sql
  2. Import: Release 11.2.0.1.0 - Production on 星期日 11月 10 23:29:50 2013
  3. Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
  4. 連線到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
  5. With the Partitioning, OLAP, Data Mining and Real Application Testing options
  6. 已成功載入/解除安裝了主表 \"LIHUILIN\".\"SYS_SQL_FILE_FULL_01\"
  7. 啟動 \"LIHUILIN\".\"SYS_SQL_FILE_FULL_01\": lihuilin/******** directory=tmp dumpfile=test.dmp sqlfile=test.sql
  8. 處理物件型別 SCHEMA_EXPORT/USER
  9. 處理物件型別 SCHEMA_EXPORT/SYSTEM_GRANT
  10. 處理物件型別 SCHEMA_EXPORT/ROLE_GRANT
  11. 處理物件型別 SCHEMA_EXPORT/DEFAULT_ROLE
  12. 處理物件型別 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
  13. 處理物件型別 SCHEMA_EXPORT/TABLE/TABLE
  14. 處理物件型別 SCHEMA_EXPORT/TABLE/INDEX/INDEX
  15. 處理物件型別 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
  16. 處理物件型別 SCHEMA_EXPORT/VIEW/VIEW
  17. 處理物件型別 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
  18. 作業 \"LIHUILIN\".\"SYS_SQL_FILE_FULL_01\" 已於 23:29:55 成功完成
檢視SQL檔案,可以發現如下DDL語句。

CREATE TABLE "LIHUILIN"."T1" 
   ( "N" NUMBER
   ) 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 "USERS" ;
....

其中的Segment資訊恐怕是大多數人不想要的。
可以使用如下命令,得到純粹的DDL語句。

C:\Users\lihuilin>impdp lihuilin/xxxxxx directory=tmp dumpfile=test.dmp sqlfile=test.sql TRANSFORM=segment_attributes:n

結果如下,果然清爽好多
CREATE TABLE "LIHUILIN"."T1" 
   ( "N" NUMBER
   ) ;
 
資料泵知識參見
http://space.itpub.net/17203031/viewspace-768611
http://zhyuxuan.blog.51cto.com/2209663/1316212
http://space.itpub.net/17203031/viewspace-768245/



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-776259/,如需轉載,請註明出處,否則將追究法律責任。

相關文章