实现步骤: 
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语句

解决方案 »

  1.   

    这个是我自己写的:先修改init.ora
    例如:
    utl_file_dir=/usr    //路径为 oracle所在的盘:/usr
    此过程将用户TEMP的P1过程的代码保存到ORACLE安装盘下/USR/TEXT.TXT中
    create or replace procedure TEST
    is
      file_handle utl_file.file_type;
      STOR_TEXT VARCHAR2(4000);
      N NUMBER;
    I NUMBER;
     begin
    I:=1;
       SELECT MAX(LINE) INTO N FROM ALL_SOURCE WHERE OWNER='TEMP' AND NAME='P1';
    file_handle:=utl_file.fopen('/usr','test.txt','a');
    WHILE I<=N LOOP
       SELECT TEXT  INTO STOR_TEXT FROM ALL_SOURCE WHERE OWNER='TEMP' AND NAME='P1' AND LINE= I;
       I:=I+1;
       utl_file.put_line(file_handle,stor_text);
    END LOOP;
       utl_file.fclose(file_handle);
    commit;
    end TEST;
    /
      

  2.   

    select table_name,column_name,data_type from user_tab_columns;
      

  3.   

    你用pl/sql dev 5.01以上版本的在tools下有比较不同的,
    把你想要导出的东东选中然后选一个什么都没有的用户比较
    显示不同的另存为OK了
      

  4.   

    spool c:\sql.txt
    select table_name,column_name,data_type from user_tab_columns;
    spool off
      

  5.   

    用powerdesigner或其他类似的数据库case工具。
    1 reverse engineering   吸出数据库结构
    2 generate create database script.产生建表的数据库结构
    而且,可以生成一份数据库设计报告。
      

  6.   

    同意enhydraboy(乱舞的浮尘)的方法,用PowerDesigner很方便的。
      

  7.   

    1。使用exp80 a/a@host_string full=y file=a.dmp log=loga.txt rows=n
    2.使用其他工具
      如PowerDesigner、Pl/sql Developer等都可以