oracle操作记录

 

由于之前建的job过多,造成数据库cpu占用率达到99%,造成需要的job崩溃。

 

 

以下为解决方案:

 

1. 查询当前的job列表 ;

select * from user_jobs;

2. 暂停所有的job

exec dbms_job.broken('&JOB',true); 需要commit;  (需要当前用户登录)

3. 删除相应的物化视图(这个是最占资源的。。。)

 

4.最后把有问题的dbf文件删掉

DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;

 

 

一、使用offline数据文件的方法

非归档模式使用:alter database datafile '...' offline drop;

归档模式使用:  alter database datafile '...' offline;

说明:

1)         以上命令只是将该数据文件OFFLINE,而不是在数据库中删除数据文件。该数据文件的信息在控制文件种仍存在。查询v$datafile,仍显示该文件。

2)         归档模式下offline和offline drop效果是一样的

3)         offline后,存在此datafile上的对象将不能访问

4)         noarchivelog模式下,只要online redo日志没有被重写,可以对这个文件recover后进行online操作

 

实际使用案例:

直接删除数据文件后无法进入系统的解决方案

 

正常情况下,删除表空间的正确方法为:

DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;

posted @ 2016-10-20 15:48  一个勤奋的胖子  阅读(461)  评论(0编辑  收藏  举报