各位大大,空闲之余想到一个问题,没有思路,不知道该如何做,求教。
目前有一个oracle数据库,平时建库的时候一般都是先创建表空间,用户,然后导入DMP文件,完成库还原。
现在想用一个sql脚本来实现库还原,如何从oracle数据库中抽取创建表,索引,等sql文件。

解决方案 »

  1.   

    两个办法:
    1、用批处理文件,包含创建空间,用户的sql和导入dmp的命令
    2、用单纯的sql来实现,以scott为例:
    set pagesize 0 set long 90000 set feedback off
    set echo off spool scott_schema.sql connect scott/tiger; SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name) FROM USER_TABLES u; SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name) FROM USER_INDEXES u; spool off;