测试是一门武功,流程是套路、工具是武器,有简单的花拳秀腿,也有深奥的少林武功!测试好比战争,知己知彼,方能百战不殆!测试好比破案,精心推断,方能柳暗花明!有人说世界不缺少美,而是缺少发现,我看:其实软件不缺少问题,而是缺少发现!以精深的少林武功、用艺术工程的眼光、战争破案的缜密思维去发现软件世界“美”吧!

发布新日志

  • 误删数据文件处理方法

    2008-02-28 00:42:49

        在lunix系统下,删除是没有提示的, 所以经常有删除数据文件的事情发生,导致数据库无法启动. 可以使用下面方法进行处理.

    用系统用户进入系统.

    在归档模式ARCHIVELOG下.

    SQL>alter database datafile '/opt/oracle/data/SRV_BSS001' offline;

    非归档模式UNARCHIVELOG下.

    SQL>alter database datafile '/opt/oracle/data/SRV_BSS001' offline drop;

    可以查询数据文件联、脱机状态.
    SQL> select file#,name,status from v$datafile;

    最后删除数据库表空间.

    SQL> drop tablespace tablespace_name;

    这里只是可以重新启动数据库, 但数据是没有办法恢复的, 所以大家在删除文件的时候一定要多加注意. 尤其是在删除LOG日志时,最容易发生误删事件了.

  • 如何删除ORACLE用户非系统表

    2008-02-28 00:28:42

        在执行数据库脚本时常常在建完用户后没有切换用户, 导致在系统用户下建立过多无用对象. 如何删除这些对象就比较麻烦,一个个手动删除费时而且有可以删除错误. 今天研究出一个比较好的方法.

        在ORACLE系统用户下, 有一张DBA_OBJECTS表, 里面有所有用户的所有对象. 执行下面语句.

    SQL> spool c:\drop.txt

    SQL> select 'drop' || ' ' || t.object_type || ' ' || t.object_name || ';'

         from dba_objects t

         where t.created > sysdate -3 and t.owner='sys';

    SQL> spool off

         这样可以生成一个文件, 包含所有要删除的对象语句, 执行便可以了.

         因为t.created > sysdate -3 指定了最近三天建立的对象, 系统对象是在建数据库的时候建立的,一般都很久了. 所以这里只是错误建立的对象

数据统计

  • 访问量: 2797
  • 日志数: 5
  • 建立时间: 2008-02-19
  • 更新时间: 2008-05-03

RSS订阅

Open Toolbar