一、硬件平台:SUN Ultra Enterprise 3000
操作系统:Solaris 2.5(中文简体)
磁盘:4.2GB
内存:256MB
ORACLE B版本:7.3.2.1
安装目录:/database/oracle(/database下有2GB空间)
安装产品:ORACLE RDBMS,SQL*NET,SQL*Plus,Pro *C,Server Manager等
产品安装正常,运行稳定。
二、应用开发中常见问题及排除
ORACLE数据库在应用开发过程中,经常会遇到以下两个问题:
1、使用Shutdown命令不能关闭数据库;
2、Client端经常无故发生死机现象。
问题1的排除:只要正确使用命令开启和关闭数据库(只有Internal用户有此权),问题1的出现,是由于数据库有未提交事务,此时可用Shutdown Abort命令关闭数据库,但是所有未提交事务将被废弃。
问题2的排除:⑴此时可在Server端使用Platinum EP M产品确认问题所在。使用EMP可以监控系统的运行,当Cl ient端发生死机时,监控DML LOCK的使用会发现,用户由于误操作,造成此用户在数据库中发生死锁,引起Client 端死机。经确定进程号后,到ORACLE用户下,使用‘KILL -9进程号’命令,即可释放死锁,解决Client端死机问题。
例如用户在发出Update、Delete命令语句后,接着进行Select,此时这个用户就会发生死锁。
⑵在应用软件开发过程中?会由于应用软件中存在某些BUG问题引起Client端死机。此时可借助数据字典和数据库基表进行查找,主要针对数据库中数据特点及数据库基表的约束条件进行核对以尽快找到问题所在,而和数据库的性能没有关系;当然也可在Server端使用EPM,监控某一用户当前正在执行的SQL语句,以便找到问题的所在。
例如用户数据表加入数据后,运行应用程序时,提示DUP-VALUE-IN-INDEX等类似错误信息时,就是因为数据基表的Primary Key的数据字段选择有误,造成不应加入的数据加入到数据库,使应用程序发生死机。此时可通过修改基表,删除错误数据,即可解决问题。
(T114)