解决方案 »

  1.   

    通过删除某个用户下的对象来实现,可以用spool先生成脚本,再执行这个脚本。
    你也可以通过程序采用动态sql的方式来实现。
    如:通过spool来删除当前用户下对象:
    --删除某个用户下的对象
    set heading off;
    set feedback off;
    spool c:/dropobj.sql;
     
     prompt --Drop tables
     select 'drop table ' || table_name ||';'||chr(13)||chr(10) from user_tables; 
     
     prompt --Drop view
     select 'drop view ' || view_name||';'||chr(13)||chr(10) from user_views;
     
     prompt --Drop sequence
     select 'drop sequence ' || sequence_name||';'||chr(13)||chr(10) from user_sequences; 
     
     prompt --Drop function
     select 'drop function ' || object_name||';'||chr(13)||chr(10) from user_objects  where object_type='FUNCTION'; prompt --Drop procedure
     select 'drop procedure ' || object_name||';'||chr(13)||chr(10) from user_objects  where object_type='PROCEDURE';
     
     prompt --Drop package
     select 'drop package ' || object_name||';'||chr(13)||chr(10) from user_objects  where object_type='PACKAGE';
     
    spool off;
    set heading on;
    set feedback on;
      

  2.   

    方法1.  可以通过dbca  去删除,再重建
    方法2. 删除各个新建的用户 ,然后删除表空间对应的文件。 但是这样清除可能不够彻底
    至于idle_time   设置问题, profile 是可以设置的, 但是 只能根据不通连接的用户,而不能对同一个用户 部分连接客户端做出设置
      

  3.   

    还原到装完oracle的状态,直接dbca删除实例就好了
      

  4.   

    1,将数据库恢复到只安装软件状态,查询并彻底删除数据库
    SELECT 'rm -f '||name as rf FROM v$datafile
           union
           SELECT 'rm -f '||name as rf FROM v$controlfile
           union
           SELECT 'rm -f '||name as rf FROM v$archived_log
           union
           SELECT 'rm -f '||name as rf FROM v$flashback_database_logfile;
           得出要删除的文件命令,在linux下执行
    将数据库和实例文件删除
    最原始的备机文件分布:
    1,/u01/oracle/product/11.2.0/dbhome_1/dbs下只有init.ora文件------其他备份后再删除
    2,/u01下没有oradata文件夹--将该文件夹删除
    3,u01/oracle下只有checkpoints  product文件夹----其他文件夹备份后删除二,用dbca图形界面删除
    三,设置idle time
    我没用过,我们这里只有数据库工程师才有权限碰数据库。所有没有做这样的设置
    oracle管理艺术是有提到这个功能,理论是可以的。
    你可以试一下
      

  5.   

    忘记说了/u01/oracle/product/11.2.0/dbhome_1/dbs是这边安装oracle11g的路径,供参考。
    另外我的删除方法是我亲自测试过的,删的挺干净的,删除完重启运行正常,然后搭建dataguard正常
      

  6.   

    方法2不彻底的话哪些东西没有被彻底清除啊undo表空间的内容,以及数据字典估计也会有部分残留
      

  7.   


    可以重建数据库,真正回到原始状态
    也可以删除用户和表空间,比较快速和干净至于挂着连接不放的,直接干掉,既然你要删除用户数据,反正应用一定会报错的。连接少的话可以kill session,如果多可以直接断掉网络,或者关掉监听并重启数据库
      

  8.   

    1. 有人连着不怕,你是测试环境,直接把服务停掉;
    2. 如果你想把测试的那些用户和表空间干掉,就手工清理一下,如果是整个台机器上的数据都不要了,直接 DBCA ;