ORACLE数据库常见问题诊断方法.doc
《ORACLE数据库常见问题诊断方法.doc》由会员分享,可在线阅读,更多相关《ORACLE数据库常见问题诊断方法.doc(8页珍藏版)》请在冰豆网上搜索。
1 ORA-12571、ORA-03113、ORA-03114、ORA-01041
特征:
客户端(代理或应用服务器)有时报这类断连错误
原因:
如果偶尔出现一次,则可能为网络原因或用户异常中止,如果经常出现则为客户端与服务端的字符集不一致。
措施:
如果偶尔出现,可在服务端的协议配置文件PROTOCOL.ORA中增加一行
TCP.NODELAY=YES;
如果经常出现,则为客户端与服务端字符集不一致或网络原因。
客户端的字符集在注册表里定义:
HKEY__LOCAL__MACHINE/SOFTWARE/ORACLE/NLS__LANG
在客户端注册表中的TCP参数项中设置 TCPMAXDATARETRANSMITIONS=20。
2 ORA-01000
特征:
达到会话允许的最大游标数
原因:
达到会话允许的最大游标数
措施:
有两种解决方法:
(1) 在初始化文件INIT.ORA文件中增加OPEN_CURSORS的数量,一般要求大于200。
(2) 在应用级,与开发工具有关,例如设置MAXOPEN_CURSORS等。
3 ORA-01545
特征:
某个回滚段不可用
原因:
(1)当使回滚段ONLINE时,但回滚段不可用,例如回滚段所在表空间OFFLINE;
(2)当使回滚段ONLINE时,但回滚段已ONLINE,例如回滚段被使用两次,典型的案例如OPS方式时,回滚段不能公有;
(3)删除回滚段时,回滚段中有活动的事务;
措施:
(1)确保回滚段可
(2)从初始化文件INIT.ORA的参数ROLLBACK)SEGMENTS中删除指定的回滚段。
(3) 可以将回滚段所在表空间删除,取消UNDO事务
4 ORA-0165x
特征:
表空间没有足够的空间供分配
原因:
表空间已满;存储参数不合理,NEXT太小;没有连续的区间
措施:
如果表空间已满,则需为表空间增加文件;如果存储参数不合理,则需增加INITIAL和NEXT;如果没有连续的区间,需要合并空闲的表空间。
查看空间碎片用DBA_FREE_SPACE
5 ORA-01555
特征:
当前会话无法读到以前版本的数据
原因:
原因很多,主要原因有下列:
回滚段太小、太少;回滚段冲突;交叉提交(FETCH_ACROSS)
措施:
增加回滚段数量;
6 ORA-04031
特征:
共享池内存区内存不够,或产生内存碎片
原因:
当试图装载一个大包时或执行一个较大的存储过程时,而共享池没有连续的内存空间。
措施:
如果是内存不够,则增加SHARE)POOL_SIZE;
如果是内存碎片,执行altersystemflushshare_pool
7 ORA-04091
特征:
触发器工作不正常
原因:
一个行触发读取或修改变化的表(正在修改、插入)时,产生这种错误。
措施:
检查触发器脚本,保证引用完整性
8 ORA-01242、ORA-01113
特征:
介质故障导致数据库宕机
原因:
介质故障。
措施:
检查硬件故障;修改dbshut脚本,将其中的STARTUP命令修改为:
Startupopenrecover
Alterdatabaseopen