群导表结构问题 大侠,请教一个问题,已经有一系列表,它们的命名都有一定规则如XN_CGYGZGL,怎么能用SQl语句导出创建这些表结构的sql语句?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 dbms_metadata 10g以上可以使用这个package导出 用存储过程,循环调用dbms_metadata 10G的话,使用Expdp 的 include子句expdp userid/password content=metadata_only include=table:\"like \'XN_CGYGZGL\'\" 10g的话,select dbms_metadata.get_ddl('TABLE','table_name','table_owner') from dual; 通过exp/imp 变通的方式:实现步骤: 1、用EXP工具导出2、导入时使用show=y选项、log选项3、查看、编辑日志文件具体实例: 1、调出SQL*Plusconn system/managergrant connect,resource to a identified by a;grant connect,resource to b identified by b;conn a/acreate table a(a number);insert into a values(1);insert into a values(2);insert into a values(3);create table b(a number,b varchar2(10));insert into b values(1,'1111');insert into b values(2,'2222');insert into b values(3,'3333');commit;2、打开一个DOS窗口、先执行导出E:\>exp a/a file=a.dmp log=loga.txtExport: Release 8.1.6.0.0 - Production on 星期五 12月 1 22:24:16 2000(c) Copyright 1999 Oracle Corporation. All rights reserved.连接到: Oracle8i Enterprise Edition Release 8.1.6.0.0 - ProductionWith the Partitioning optionJServer Release 8.1.6.0.0 - Production已导出ZHS16GBK字符集和ZHS16GBK NCHAR 字符集. 正在导出 pre-schema 过程对象和操作. 正在导出用户A的外部函数程序库名称. 正在导出用户A的对象类型定义即将导出A的对象 .... 正在导出数据库链接. 正在导出序号. 正在导出群集定义. 即将导出A的表通过常规路径 .... . 正在导出表 A 3 行被导出. . 正在导出表 B 3 行被导出. 正在导出同义词. 正在导出视图. 正在导出存储的过程. 正在导出运算符. 正在导出引用完整性约束条件. 正在导出触发器. 正在导出索引类型. 正在导出位图、功能性索引和可扩展索引. 正在导出后期表活动. 正在导出快照. 正在导出快照日志. 正在导出作业队列. 正在导出刷新组和子组. 正在导出维. 正在导出 post-schema 过程对象和操作. 正在导出统计在没有警告的情况下成功终止导出。E:\>3、再执行导入,使用show=y、log这两个选项E:\>imp a/a file=a.dmp show=y log=logb.txtImport: Release 8.1.6.0.0 - Production on 星期五 12月 1 22:29:49 2000(c) Copyright 1999 Oracle Corporation. All rights reserved.连接到: Oracle8i Enterprise Edition Release 8.1.6.0.0 - ProductionWith the Partitioning optionJServer Release 8.1.6.0.0 - Production经由常规路径导出由EXPORT:V08.01.06创建的文件已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入. 正在将A的对象导入到 A"CREATE TABLE "A" ("A" NUMBER) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 25""5 LOGGING STORAGE(INITIAL 131072 NEXT 65536 MINEXTENTS 1 MAXEXTENTS 2147483""645 PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLE""SPACE "SYSTEM"". . 正在跳过表 "A""CREATE TABLE "B" ("A" NUMBER, "B" VARCHAR2(10)) PCTFREE 10 PCTUSED 40 INIT""RANS 1 MAXTRANS 255 LOGGING STORAGE(INITIAL 131072 NEXT 65536 MINEXTENTS 1 ""MAXEXTENTS 2147483645 PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER_P""OOL DEFAULT) TABLESPACE "SYSTEM"". . 正在跳过表 "B"成功终止导入,但出现警告。E:\>4、使用编辑器打开logb.txt,里面可以看到DDL语句 程序问题 三招让Oracle表列管理更简单 profile connect_time 设定为1,实际断开时间超过1分钟,求解 怎么截取字符串 452;1824;3663;1547 为行? 小弟是菜鸟,提个简单的问题,大家别BS我啊 求。。。oracle9i与c++应用开发实例 Orcal 9i 数据库 有关Oracle中簇与索引关系的问题! 怎么在数据库中判断某张表存在与否? 求职 Oracle存储过程解析XML 数据持久化 能否实现IMP导入dmp文件,只导里面的一个存储过程
expdp userid/password content=metadata_only include=table:\"like \'XN_CGYGZGL\'\"
select dbms_metadata.get_ddl('TABLE','table_name','table_owner') from dual;
实现步骤:
1、用EXP工具导出
2、导入时使用show=y选项、log选项
3、查看、编辑日志文件具体实例: 1、调出SQL*Plusconn system/manager
grant connect,resource to a identified by a;
grant connect,resource to b identified by b;
conn a/acreate table a(a number);
insert into a values(1);
insert into a values(2);
insert into a values(3);create table b(a number,b varchar2(10));
insert into b values(1,'1111');
insert into b values(2,'2222');
insert into b values(3,'3333');
commit;
2、打开一个DOS窗口、先执行导出E:\>exp a/a file=a.dmp log=loga.txtExport: Release 8.1.6.0.0 - Production on 星期五 12月 1 22:24:16 2000(c) Copyright 1999 Oracle Corporation. All rights reserved.
连接到: Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production
With the Partitioning option
JServer Release 8.1.6.0.0 - Production
已导出ZHS16GBK字符集和ZHS16GBK NCHAR 字符集
. 正在导出 pre-schema 过程对象和操作
. 正在导出用户A的外部函数程序库名称
. 正在导出用户A的对象类型定义
即将导出A的对象 ...
. 正在导出数据库链接
. 正在导出序号
. 正在导出群集定义
. 即将导出A的表通过常规路径 ...
. . 正在导出表 A 3 行被导出
. . 正在导出表 B 3 行被导出
. 正在导出同义词
. 正在导出视图
. 正在导出存储的过程
. 正在导出运算符
. 正在导出引用完整性约束条件
. 正在导出触发器
. 正在导出索引类型
. 正在导出位图、功能性索引和可扩展索引
. 正在导出后期表活动
. 正在导出快照
. 正在导出快照日志
. 正在导出作业队列
. 正在导出刷新组和子组
. 正在导出维
. 正在导出 post-schema 过程对象和操作
. 正在导出统计
在没有警告的情况下成功终止导出。E:\>3、再执行导入,使用show=y、log这两个选项E:\>imp a/a file=a.dmp show=y log=logb.txtImport: Release 8.1.6.0.0 - Production on 星期五 12月 1 22:29:49 2000(c) Copyright 1999 Oracle Corporation. All rights reserved.
连接到: Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production
With the Partitioning option
JServer Release 8.1.6.0.0 - Production经由常规路径导出由EXPORT:V08.01.06创建的文件
已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入
. 正在将A的对象导入到 A
"CREATE TABLE "A" ("A" NUMBER) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 25"
"5 LOGGING STORAGE(INITIAL 131072 NEXT 65536 MINEXTENTS 1 MAXEXTENTS 2147483"
"645 PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLE"
"SPACE "SYSTEM""
. . 正在跳过表 "A""CREATE TABLE "B" ("A" NUMBER, "B" VARCHAR2(10)) PCTFREE 10 PCTUSED 40 INIT"
"RANS 1 MAXTRANS 255 LOGGING STORAGE(INITIAL 131072 NEXT 65536 MINEXTENTS 1 "
"MAXEXTENTS 2147483645 PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER_P"
"OOL DEFAULT) TABLESPACE "SYSTEM""
. . 正在跳过表 "B"成功终止导入,但出现警告。E:\>4、使用编辑器打开logb.txt,里面可以看到DDL语句