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;