请问如何快速的清除,Oracle数据库的全部数据! 是全部数据  只保留数据库  表、函数、过程、等 全部清除  只保留权限  请问如何操作!

解决方案 »

  1.   

    用exp rows=n导出schema,然后用imp rows=n 导入。
      

  2.   

    --先整出DELETE语句,当然:要加上where条件,别把一些系统表也给删除了
    --代码如下:sys@ORCL10G> SELECT 'DELETE FROM '||owner||'.'||table_name 
      2   FROM dba_tables
      3  WHERE owner NOT LIKE '%SYS%' 
      4  AND owner NOT IN
      5  ('OUTLN','DBSNMP','XDB');'DELETEFROM'||OWNER||'.'||TABLE_NAME
    -------------------------------------------------------------
    DELETE FROM SCOTT.DEPT
    DELETE FROM SCOTT.EMP
    DELETE FROM SCOTT.BONUS
    DELETE FROM SCOTT.SALGRADE
    DELETE FROM SCOTT.TMP3
    DELETE FROM SCOTT.EMP3
    DELETE FROM SCOTT.T_MONEY
    DELETE FROM SCOTT.CONTENT
    DELETE FROM SCOTT.TEST_TB
    DELETE FROM SCOTT.STUDENT
    DELETE FROM SCOTT.A
    DELETE FROM SCOTT.B已选择12行。sys@ORCL10G> 
    --然后执行生成的DELETE语句就OK了!
    --当然:这在有很多大表中,是很费时的,那么:你可以用truncate语句
      

  3.   


    在plsql工具 里面,用export userobjects ,导出所有的建表语句,然后import 进去,这样就相当于drop table、create table。呵呵快吧,几分钟搞定了!
      

  4.   

    Truncate Table [表名]清空表中的全部数据,如果有多个表的话就重建吧。
      

  5.   

    把2楼的delete换成truncate table