oralce归档,死锁,阵列问题处理

本文介绍了Oracle数据库中常见的归档、死锁及阵列问题处理方法。针对归档错误提供了三种解决方案,包括关闭闪回日志功能、增大闪回日志文件大小及清理归档空间。对于死锁问题,通过查询锁定资源并释放来解决。阵列问题则从操作系统层面进行检查和调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

oralce归档,死锁,阵列问题处理(个人经验,仅供参考)

归档问题:登录数据库报错:ORA-00257 归档程序错误,在释放之前仅限于内部连接。

处 理:

第一种就是关闭闪回日志的功能 alter database flashback off

第二种方法就是增大闪回日志文件的最大大小。 alter system set DB_RECOVERY_FILE_DEST_SIZE=10g,去查看v$flash_recovery_area_usage视图中的使用率情况这个时候发现使用率(PERCENT_SPACE_USED列的值)已经大大降低了。查看系统日志文件情况。select * from v$log会发现现在redo日志文件也可以正常写入。

第三种方法 删除归档空间种的dbf数据文件
1、删除部分归档
2、修改归档备份策略为oracle类型
3、在rman里面,连接目标和恢复目录数据库,执行:crosscheck archivelog all;
4、执行归档备份,检查备份结果。



死锁问题:所有对数据库某些表的更新操作,报错:资源正忙,请制定wait后执行。

处 理:

1.查看系统死锁情况

select /*+ RULE */ ls.osuser os_user_name, ls.username user_name, 
decode(ls.type, 'RW', 'Row wait enqueue lock', 'TM', 'DML enqueue lock', 'TX',
'Transaction enqueue lock', 'UL', 'User supplied lock') lock_type,
o.object_name object, decode(ls.lmode, 1, null, 2, 'Row Share', 3,
'Row Exclusive', 4, 'Share', 5, 'Share Row Exclusive', 6, 'Exclusive', null)
lock_mode, o.owner, ls.sid, ls.serial# serial_num, ls.id1, ls.id2
from sys.dba_objects o, ( select s.osuser, s.username, l.type,
l.lmode, s.sid, s.serial#, l.id1, l.id2 from v$session s,
v$lock l where s.sid = l.sid ) ls where o.object_id = ls.id1 and o.owner
<> 'SYS' order by o.owner, o.object_name


2.释放被锁的资源,此语句直接生成kill锁的sql,把结果直接放到pl/sql或者sqlplus中批量执行就可以了。

select 'alter system kill session '''||l.session_id||','||d.serial#||''';'
from v$locked_object l, dba_objects b,v$lock c, v$session d
where b.object_id=l.object_id
and l.session_id=c.sid and l.session_id=d.sid and c.block>0;


阵列问题:对于任何对于数据库的操作报错:Transaction is already completed - do not call commit or rollback more than once per transaction

处 理:

1.使用top检查操作系统iowait情况,如果iowait大于30说明阵列的读写出现严重瓶颈,需要在阵列找原因。

2.使用 iostat -xn 3 检查对阵列的读写状况

avg-cpu: %user %nice %sys %idle
0.46 0.00 0.53 99.01

Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
/dev/cciss/c0d0
0.22 3.04 0.15 1.31 2.92 34.79 1.46 17.39 25.93 0.06 4.12 2.54 0.37
/dev/cciss/c0d0p1
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 4.08 0.00 188.22 141.68 0.00

3.注意考虑--阵列的电池是否已经过期。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值