当前位置:首页 >> 计算机软件及应用 >>

ORACLE数据库常见问题诊断方法(常见错误篇)-20021224-A2


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

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

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<SID>.ORA 文件中增加 OPEN_CURSORS 的数量, 一般要求大 于 200。 (2) 在应用级,与开发工具有关,例如设置 MAXOPEN_CURSORS 等。

3 ORA-01545
特征: 某个回滚段不可用 原因: (1)当使回滚段 ONLINE 时,但回滚段不可用,例如回滚段所在表空间 OFFLINE; (2) 当使回滚段 ONLINE 时,但回滚段已 ONLINE,例如回滚段被使用两次,典型的 案例如 OPS 方式时,回滚段不能公有; (3)删除回滚段时,回滚段中有活动的事务; 措施: (1)确保回滚段可 (2)从 初始化文件 INIT<SID>.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; 如果是内存碎片,执行 alter system flush share_pool

7 ORA-04091
特征: 触发器工作不正常 原因:一个行触发读取或修改变化的表(正在修改、插入)时,产生这种错误。 措施:检查触发器脚本,保证引用完整性

8 ORA-01242、ORA-01113
特征: 介质故障导致数据库宕机 原因:介质故障。

措施:检查硬件故障;修改dbshut脚本,将其中的STARTUP命令修改为:
Startup open recover Alter database open


相关文章:
更多相关标签: