数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

ORACLE数据库问题诊断方法 :常见错误篇


发布日期:2023年06月07日
 
ORACLE数据库问题诊断方法 :常见错误篇

ORACLE的这类错误在ORALCE的文档中有详细说明但原因及措施说明不详细本文当着重说明如何解决这类错误

ORAORAORAORA

特征客户端(代理或应用服务器)有时报这类断连错误

原因如果偶尔出现一次则可能为网络原因或用户异常中止如果经常出现则为客户端与服务端的字符集不一致

措施如果偶尔出现可在服务端的协议配置文件PROTOCOLORA中增加一行

TCPNODELAY=YES

如果经常出现则为客户端与服务端字符集不一致或网络原因

客户端的字符集在注册表里定义 HKEY__LOCAL__MACHINE/SOFTWARE/ORACLE/NLS__LANG

在客户端注册表中的TCP参数项中设置 TCPMAXDATARETRANSMITIONS=

ORA

特征达到会话允许的最大游标数

原因达到会话允许的最大游标数

措施有两种解决方法

)在初始化文件INITORA文件中增加OPEN_CURSORS的数量一般要求大于

)在应用级与开发工具有关例如设置MAXOPEN_CURSORS等

ORA

特征某个回滚段不可用

原因)当使回滚段ONLINE时但回滚段不可用例如回滚段所在表空间OFFLINE;

)当使回滚段ONLINE时但回滚段已ONLINE例如回滚段被使用两次典型的案例如OPS方式时回滚段不能公有;

)删除回滚段时回滚段中有活动的事务

措施)确保回滚段可

)从 初始化文件INITORA的参数ROLLBACK)SEGMENTS中删除指定的回滚段

)可以将回滚段所在表空间删除取消UNDO事务

ORAx

特征表空间没有足够的空间供分配

原因表空间已满存储参数不合理NEXT太小没有连续的区间

措施如果表空间已满则需为表空间增加文件如果存储参数不合理则需增加INITIAL和NEXT如果没有连续的区间需要合并空闲的表空间

查看空间碎片用DBA_FREE_SPACE

ORA

特征当前会话无法读到以前版本的数据

原因原因很多主要原因有下列回滚段太小太少回滚段沖突交叉提交(FETCH_ACROSS)

措施增加回滚段数量

ORA

特征共享池内存区内存不够或产生内存碎片

原因当试图装载一个大包时或执行一个较大的存储过程时而共享池没有连续的内存空间

措施如果是内存不够则增加SHARE)POOL_SIZE

如果是内存碎片执行alter system flush share_pool

ORA

特征触发器工作不正常

原因一个行触发读取或修改变化的表(正在修改插入)时产生这种错误

措施检查触发器脚本保证引用完整性

ORAORA

特征介质故障导致数据库宕机

原因介质故障

措施检查硬件故障修改dbshut脚本将其中的STARTUP命令修改为

&nbs

p; Startup open recover

Alter database open

上一篇:oracle日期操作方法

下一篇:tkprof和sql trace