相信大多数人都碰到过如何从oracle导出建库脚本的问题,这事说起来其实不难,但挺麻烦的。总体而言有两种方式:
 
1、通过dbms_metadata包导出。最简单的方式如下:
 
SELECT DBMS_METADATA.GET_DDL('TABLE','EMPLOYEE', 'SCOTT') FROM dual;
 这样就得到了SCOTT用户下EMPLOYEE的建表脚本:
 
CREATE TABLE "SCOTT"."EMP" 
   (	"EMPNO" NUMBER(4,0), 
	"ENAME" VARCHAR2(10), 
	"JOB" VARCHAR2(9), 
	"MGR" NUMBER(4,0), 
	"HIREDATE" DATE, 
	"SAL" NUMBER(7,2), 
	"COMM" NUMBER(7,2), 
	"DEPTNO" NUMBER(2,0), 
	 CONSTRAINT "PK_EMP" PRIMARY KEY ("EMPNO")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
  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"  ENABLE, 
	 CONSTRAINT "FK_DEPTNO" FOREIGN KEY ("DEPTNO")
	  REFERENCES "SCOTT"."DEPT" ("DEPTNO") ENABLE
   ) 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" 
 
但这样得到的脚本是不完全的,没有包括表上面的索引和注释,所以还需要继续获取每个索引的DDL:
 
SELECT DBMS_METADATA.GET_DDL('INDEX','IDX_EMP_JOB', 'SCOTT') FROM dual;

 
                   
                   
                   
                   本文介绍了两种从Oracle导出建库脚本的方法:1) 使用DBMS_METADATA包,虽然繁琐低效,但能灵活控制DDL内容;2) 利用expdp/impdp工具,快捷生成脚本,通过选项调整输出内容。对于大量对象的导出,推荐使用expdp/impdp以提高效率。
本文介绍了两种从Oracle导出建库脚本的方法:1) 使用DBMS_METADATA包,虽然繁琐低效,但能灵活控制DDL内容;2) 利用expdp/impdp工具,快捷生成脚本,通过选项调整输出内容。对于大量对象的导出,推荐使用expdp/impdp以提高效率。
           最低0.47元/天 解锁文章
最低0.47元/天 解锁文章
                           
                       
       
           
                 
                 
                 
                 
                 
                
               
                 
                 
                 
                 
                
               
                 
                 扫一扫
扫一扫
                     
              
             
                   1956
					1956
					
 被折叠的  条评论
		 为什么被折叠?
被折叠的  条评论
		 为什么被折叠?
		 
		  到【灌水乐园】发言
到【灌水乐园】发言                                
		 
		 
    
   
    
   
             
            


 
            