1、oracle死锁解锁
在oracle中经常出现死锁的情况,导致查询语句一直处于查询状态却没数据出来,视图、存储过程无法正常编译。可执行如下语句查看死锁ID
select
lpad('',decode(l.XIDUSN,0,3,0))||l.ORACLE_USERNAME username,o.owner,o.object_name,o.object_type,s.SID,s.SERIAL#
from
v$locked_object l, dba_objects o,v$session s
where
l.OBJECT_ID = o.object_id and l.SESSION_ID = s.SID;
解锁:
alter system kill session 'sid,serial#';
sid,serial#在查看死锁语句中可找到。
2、恢复删除、或修改后之前的表、视图、存储过程等
(1)、查找dba_source表
select * from dba_source;
只针对delete、update、create等操作。
(2)、导入归档文件(前提是有归档文件,需要开启归档功能才可进行归档)
A:命令窗口(如果内容过长,将有部分内容看不到)
SQL> exec sys.dbms_logmnr.add_logfile(logfilename=>'文件路径');
SQL> exec sys.dbms_logmnr.start_logmnr(options=>sys.dbms_logmnr.DICT_FROM_ONLINE_CATALOG);
SQL> select * from v$logmnr_contents;
B:SQL窗口
begin
sys.dbms_logmnr.add_logfile(logfilename=>'文件路径');
end;
begin
exec sys.dbms_logmnr.start_logmnr(options=>sys.dbms_logmnr.DICT_FROM_ONLINE_CATALOG);
end;
select * from v$logmnr_contents;
如果开启了归档功能,那么归档的文件存放在flash_recovery_area文件夹,这个文件夹的大小是限定的,不会自动增长,如果容量已满,会出错,提示“日志无法恢复”等信息,这时就要对归档文件夹进行清理或增加容量
3、删除归档文件
A、设置变量
export NLS_DATE_FORMAT=Mon DD YYYY HH24:MI:SS
export NLS_LANG=american
B、进入命令环境CMD
直接输入
rman target sys/密码@数据库服务名
在rman命令窗口中输入以下命令
①crosscheck archivelog all;
②delete expired archivelog all;
或者删除指定时间之前的文件(7天前)
①delete archivelog all completed before 'sysdate-7';
4、增加归档文件夹的容量
进入命令环境CMD
set oracle_sid=数据库服务名称
sqlplus /nolog
connect /as sysdba
show parameter db_recovery_file_dest;--查看容量
alert system set db_recovery_file_dest_size=20G--设置容量
分享到:
相关推荐
oracle解锁,死锁oracle解锁,死锁oracle解锁,死锁oracle解锁,死锁oracle解锁,死锁oracle解锁,死锁oracle解锁,死锁oracle解锁,死锁oracle解锁,死锁oracle解锁,死锁oracle解锁,死锁
select object_name,session_id,os_user_name,Oracle_username,process,locked_mode,status from v$locked_object l, all_objects a where l.object_id=a.object_id;
有效关闭Oracle死锁进程,和释放状态为killed的session
查询ORACLE死锁以及解锁语句查询ORACLE死锁以及解锁语句
oracle死锁表后处理,oracle死锁表后处理
OracleOracle查询死锁表OracleOracle查询死锁表OracleOracle查询死锁表
java oracle 死锁 解锁 进程 SQL
当对于数据库某个表的某一列做更新或删除等操作,执行完毕后该条语句不提 交,另一条对于这一列数据做更新操作的语句在执行的时候就会处于等待状态, 此时的现象是这条语句一直在执行,但一直没有执行成功,也没有...
oracle死锁问题查询代码,仅供参考,有问题大家一起交流
数据库死锁的概念, 所谓死锁,是指两个会话,每个会话都持有另外一个会话想要的资源,因争夺资源而造成...对于锁死的会话,我们可以直接删掉该会话,等事物回滚完成,也可以找出锁死进程的spid,从服务器中删掉该进程。
oracle死锁故障分析和诊断解决~~~~~~~~~
oracle死锁及连接数监测
BLOG_Oracle_lhr_Oracle死锁的分类及其模拟.pdfBLOG_Oracle_lhr_Oracle死锁的分类及其模拟.pdf
oracle查询死锁语句,并能根据根据ID值杀死锁表的进程!
执行查询语句查询Oracle是否有死锁,以及叫你如何解锁。
提供了处理oracle死锁的详细oracle死锁语句,包括对死锁的定位,查找死锁的进程,kill掉死锁的进程,
编译的存储过程的时候,程序死住,等待一会出现ora-04021错误解决办法。文档中有查询思索的语句,以及杀掉死锁进程的方法。
Oracle 死锁处理 Oracle 死锁处理 Oracle 死锁处理 Oracle 死锁处理 Oracle 死锁处理
处理Oracle死锁的过程
ORACLE表死锁的解决方法亲测有效!