oracle常见问题
第一楼目 录 故障分类一数据库挂起故障 1 由于 ARCHIVE 挂起导致数据库挂死 2 NIT 文件中 SGA 区设置太大,导致内存不够用,数据库和系统都挂死 3 由于临时表空间无法扩展导致数据库被挂起 4 由于未打补丁导致 RMAN 备份时将数据库挂起 故障分类二数据库功能/性能异常 5 由于 BLOB 类型的表记录数太多操作又太频繁导致数据库效率急差 6 由于未对特大表(达到或超过100 万条记录)定期做表分析导致数据库操作特别慢 7 由于空间不够导致插入数据时扩展索引失败 8 由于 REDOLOG 破坏导致数据库异常 9 由于控制文件被破坏导致数据库无法正常启动 10 由于数据文件丢失或破坏导致数据库无法正常启动 11 由于空间参数设置不合理导致扩展表空间、索引等失败 12 由于时间格式的环境变量设置问题导致话单无法入库 13 由于大事务未使用大回滚段导致事务挂起 14 由于数据库连接数太多导致服务器进程数多或内存耗尽 15 由于使用了 MTS 方式,导致数据库操作特别慢(包括备份) 16 由于存在一个大事务操作,导致数据库性能特别差或产生频繁日志切换 17 由于没有 COMMIT,导致数据库表被锁住 18 索引创建不合理,导致数据库查询特别慢 19 由于 BUFFER 参数设置不合理导致 EXP 失败 20 由于 EXP 不向上兼容,语言不兼容,导致不同版本、不同字符集的数据库无法导入 21 由于创建表空间时误将其创建在以 ‘本地管理’ , 导致在表空间上的所有对象无法修改其 存储参数 22 错误地在系统表空间上建无关的数据文件 23 ORACLE 客户端在 P4 上安装不成功 24 由于 LISTENER.ORA 或 TNSNAMES.ORA配置问题导致网络问题 25 由于环境变量设置问题导致VERSOIN 版本启动问题 26 用户数据、表破坏下的数据恢复 27 由于 OS 层问题导致数据库 ORA-600 错误 故障分类三 将导致数据库安装失败或打补丁失败的情况 28 由于环境变量或没有安装MAKE 文件导致数据库安装失败 29 由于/TMP 等文件系统设置太小导致数据库无法正常安装 30 HPUX 上由于核心参数设置不对导致数据库无法正常启动 31 在 64 位的 ORACLE817 上打 32 的补丁失败 32 由于安装备机数据库时是使用的拷贝方式,所以导致在备机上安装补丁失败 33 由于安装 ORACLE 时错误地在ORACLE_HOME 目录下创建 LINK,导致将打过补丁后的版 本拷贝到备机失败 第一种数据库挂起故障 1 由于 archive 挂起导致数据库挂死 故障现象 数据库挂起,sqlplus 无法登录,alert_zxin.log 中有如下信息报出 Sat Jul 13 214801 2002 ARC0 Beginning to archive log 1 seq 61 Current log 2 seq 62 mem 0 /zxindata/oracle/redolog/redo0log ARC0 Error 19504 creating archivelog file /zxindata/zxinbak/arch/1_61.dbf ARC0 Archiving not possible error count exceeded ARC0 Failed to archive log 1 seq 61 ARCH Archival stopped, error occurred. Will continue retrying Sat Jul 13 214801 2002 ORACLE Instance zxin - Archival Error ARCH Connecting to console port. Sat Jul 13 214801 2002 ORA-16014 log 1 sequence 61 not archived, no available destinations ORA-00312 online log 1 thread 1 /zxindata/oracle/redolog/redo01.log ARCH Connecting to console port. ARCH ORA-16014 log 1 sequence 61 not archived, no available destinations ORA-00312 online log 1 thread 1 /zxindata/oracle/redolog/redo01.log Sat Jul 13 215037 2002 ARC0 Beginning to archive log 1 seq 61 ARC0 Archiving not possible No primary destinations ARC0 Failed to archive log 1 seq 61 故障原因 一般是 archive 所在的文件系统满或无操作权限引起的。 故障解决 检查/zxindata/zxinbak文件系统,是否已经达到或接近100,另外确定其对oracle 用户有可写权限。 如果文件系统已经满,请执行 手工删除/zxindata/zxinbak/arch下的 arch 文件 使用 sqlplus /nolog 登录,执行 SQL alter system archive log start; 进一步检查/zxindata/zxinbak文件系统为什么满 查 zxin10 用户下的 checkpsfs.sh oracle任务有没有执行 crontab –l |grep checkpsfs,看是否 有.checkpsfs.sh oracle.的返回,如没有,表示定期检查空间是否满的任务没有执行,需要 启动该任务 查zxin10用 户 对 /zxindata/zxinbak/arch 目 录 下 文 件 有 没 有 删 除 权 限 ls– l /zxindata/zxinbak/arch 对 dba 组需要有可读可写权限 查数据库备份任务有没有正常执行 crontab –l 如果不存在rman 或 exp方式的数据库备份, 则表示没有执行数据库备份任务,需要加上 是否是/zxindata/zxinbak文件系统太小,不符合备份和呼叫模型下的最小大小配置。 如果文件系统大小不能满足每天产生的arch 日志和两个全备份的总空间,则需要扩展 /zxindata/zxinbak文件系统,aix 下可以直接扩,hpux 下则需要将该文件系统 umount 以后再 扩 2 init 文件中 SGA 区设置太大,导致内存不够用,数据库和系统都挂死 故障现象 操作系统无法使用 telnet 或 ftp 登录,数据库挂起,sqlplus 无法登录 故障原因 只能通过维护台登录到主机(很有可能维护台也无法登录) ,如果可以登录,则在 aix 上使用 lsps –a 检查 paging