网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.构建用于位置信息开放标准的Port.
.通过Oracle平台依赖性进行系统优.
.查看ORACLE数据库信息的一些SQL.
.如何启动DataGuard的备用数据库.
.sqlplus中改变日期的输出格式.
.甲骨文Sun联手 构建新10年战略伙.
.Oracle备份的分类总结分析.
.实现Oracle数据库的每天的自动备.
.Oracle数据操作和控制语言详解(1).
.在Oracle里使用RAID.
.使用配置文件创建口令管理策略.
.甲骨文助陕西重型汽车驶入信息化.
.一起学习在linux下使用汇编语言(.
.[范例]层次树添加节点、删除节点.
.优化Oracle网络设置.
.如何给表、列加注释.
.学会在Oracle下构建综合的SOA 平.
.Java+Oracle应用开发的几个问题.
.Oracle和mysql 的一些简单命令对.
.Oracle中自动工作负载信息库(AWR.

汇出资料结构DDL的程序和方法

发表日期:2008-2-9



  * 可以使用DBMS_METADATA PACKAGE抓出DDL
  
  DESC dbms_metadata,我们使用get_ddl function
  
  FUNCTION GET_DDL RETURNS CLOB
  Argument Name Type In/Out Default?
  ------------------------------ ----------------------- ------ --------
  OBJECT_TYPE VARCHAR2 IN
  NAME VARCHAR2 IN
  SCHEMA VARCHAR2 IN DEFAULT
  VERSION VARCHAR2 IN DEFAULT
  MODEL VARCHAR2 IN DEFAULT
  TRANSFORM VARCHAR2 IN DEFAULT
  
  所以只要输入OBJECT_TYPE,NAME 就可以
  
  SQL> SELECT DBMS_METADATA.GET_DDL('TABLE','T2','SYS') FROM DUAL;
  
  DBMS_METADATA.GET_DDL('TABLE','T2','SYS')
  ----------------------------------------------------------------
  
  CREATE TABLE "SYS"."T2"
  ( "A" NUMBER,
  "B" NUMBER
  ) PCTFREE 10 PCTUSE
  
  配合spool就可以把需要的表格DDL汇出。
  
  假如不想产生STORAGE CLAUSE,可以DISABLED ~
  
  SQL>EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE',false);
  
  * 假如要汇出大量的资料库DDL结构,可利用EXPORT/IMPORT
  
  1) $ exp userid=test/test rows=n file=test.dmp
  
  Connected to: Oracle9i Enterprise Edition Release 9.2.0.5.0 - 64bit ProdUCtion
  With the Partitioning, OLAP and Oracle Data Mining options
  JServer Release 9.2.0.5.0 - Production
  Export done in ZHT16MSWIN950 character set and UTF8 NCHAR character set
  Note: table data (rows) will not be exported
  
  About to export specified users ...
  . exporting pre-schema procedural objects and actions
  . exporting foreign function library names for user TEST
  . exporting PUBLIC type synonyms
  . exporting private type synonyms
  . exporting object type definitions for user TEST
  About to export TEST's objects ...
  . exporting database links
  . exporting sequence numbers
  . exporting cluster definitions
  . about to export TEST's tables via Conventional Path ...
  . . exporting table DEPT_TEST
  . . exporting table LAB1
  . . exporting table T1
  . . exporting table T2
  . . exporting table TEST
  . exporting synonyms
  . exporting views
  . exporting stored procedures
  . exporting operators
  . exporting referential integrity constraints
  . exporting triggers
  . exporting indextypes
  . exporting bitmap, functional and extensible indexes
  . exporting posttables actions
  . exporting materialized views
  . exporting snapshot logs
  . exporting job queues
  . exporting refresh groups and children
  . exporting dimensions
  . exporting post-schema procedural objects and actions
  . exporting statistics
  Export terminated successfully without warnings.
  
  2) $ imp userid=test/test full=y file=test.dmp indexfile=test.sql
  
  Connected to: Oracle9i Enterprise Edition Release 9.2.0.5.0 - 64bit Production
  With the Partitioning, OLAP and Oracle Data Mining options
  JServer Release 9.2.0.5.0 - Production
  
  Export file created by EXPORT:V09.02.00 via conventional path
  import done in ZHT16MSWIN950 character set and UTF8 NCHAR character set
  Import terminated successfully without warnings.
  
  3) $ cat test.sql
  
  REM CREATE TABLE "TEST"."DEPT_TEST" ("DEPTNO" NUMBER(2, 0), "DNAME"
  REM VARCHAR2(14), "LOC" VARCHAR2(13)) PCTFREE 10 PCTUSED 40 INITRANS 1
  REM MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1)
  REM TABLESPACE "USERS" LOGGING NOCOMPRESS ;
  REM CREATE TABLE "TEST"."LAB1" ("NAME" VARCHAR2(10), "ADDR" VARCHAR2(20),
  REM "ID" NUMBER) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
  REM STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1) TABLESPACE
  REM "USERS" LOGGING NOCOMPRESS ;
  REM CREATE TABLE "TEST"."T1" ("ID" NUMBER) PCTFREE 10 PCTUSED 40 INITRANS
  REM 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1)
  REM TABLESPACE "USERS" LOGGING NOCOMPRESS ;
  REM CREATE TABLE "TEST"."T2" ("ID" NUMBER) PCTFREE 10 PCTUSED 40 INITRANS
  REM 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1)
  REM TABLESPACE "USERS" LOGGING NOCOMPRESS ;
  REM CREATE TABLE "TEST"."TEST" ("DEPTNO" NUMBER(2, 0), "DNAME"
  REM VARCHAR2(14), "LOC" VARCHAR2(13)) PCTFREE 10 PCTUSED 40 INITRANS 1
  REM MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1)
  REM TABLESPACE "USERS" LOGGING NOCOMPRESS ;
  
  把讨厌的REM删除后就完成啦~可以储存一份留着以后备用。

上一篇:ORACLE PERFORMANCE SQL TUNING 人气:619
下一篇:在Oracle中返回多个结果集 人气:625
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐