有一个企业内部大WEB系统。
经过三年不停的开发和修改。如今的数据库表结构已经和设计文档大相径庭了。
一个小型机跑着ORACLE 数据库(可能是9,但是我们用的客户端都是10)。设有5个用户空间,对应整个系统的5大部分。登录名都是互有权限来访问的,任何一个功能都可以访问其他部分的数据。
总共大概有300多个表,80多个过程函数,还有不超过10个触发等。
现在希望完整的把现有数据库结构导出。可以用来新建平台的数据库设置(表内数据不要,但是键和索引都要,个别指定的字典表要保留内部数据)。我对ORCALE数据哭是两眼一摸黑
希望高人赐教。。 或者QQ/MSN 单独教练
谢谢啦

解决方案 »

  1.   

    依次生成脚本,花上一两天专门派人做这个或者用exp导出文件,然后imp到新的环境把数据改清理的清理掉,然后再exp到文件作为模板使用。
      

  2.   

    exp system/passwd@sid file=d:\daochu.dmp full=y rows=n;
      

  3.   

    导出数据库定义而不导出数据:
    exp system/manager file=bible_db log=dible_db full=y rows=n
      

  4.   

    用exp system/manager file=bible_db log=dible_db full=y rows=n不导出数据,导入新的数据库中再exp system/manager file=bible_db log=dible_db full=y 导出数据
    用imp  table=导入指定表的数据 中间的信息你自己写
      

  5.   

    LZ如果不是为了迁移数据,而只是为了获得数据库的对象结构,那可以写一个过程就行了。过程中用dbms_metadata包及部分数据字典视图即可。
      

  6.   

    也可以在用LS几位的EXP方法导出后,再imp user/pwd file=xxx indexfile=out.sql即可以文本形式导出全部对象创建DDL语句。
      

  7.   

    可以用plsql阿,有个export object,可以只把对象的定义导出,而不导出数据;
    至于你说的主外健的约束关系,先后导入的问题,还是需要熟悉的人依次建立,因为约束本来就是比较麻烦的事;
    然后通过 user_object来验证是否正确完全的导入;
    花上两三天梳理一个系统应该是可以的。