ASE维护常见问题分析.ppt
ASE维护常见问题分析,内容梗概,数据库服务器维护的基本要点和步骤 数据库服务器启动不成功的问题数据库日志空间的问题一些常见问题,数据库服务器维护的基本要点和步骤,1.对各ASE用户担当的角色和特权进行分配2.管理和监视磁盘空间的使用情况3.进行日常的数据库备份与恢复4.诊断系统故障5.调整ASE的性能,数据库服务器维护的基本要点和步骤,对各ASE用户担当的角色和特权进行分配 为了保证数据库服务器访问的安全性,以及区分各种登录帐户的工作范围,首先需要系统管理员(这里一般情况是指具有sa_role的登录帐户)添加具有一定角色的登录帐户以便进行相关的数据库服务器管理工作。,数据库服务器维护的基本要点和步骤,管理和监视磁盘空间的使用情况 这里主要是指对数据库空间的管理,包括数据段和日志段;以及数据库设备空间的管理。系统管理员要定期的对数据库空间和数据库设备空间进行监视及管理。在以后版本中提供disk resize命令用来扩展设备空间大小 disk resize name=“device_name”,size=additional_space,数据库服务器维护的基本要点和步骤,进行日常的数据库备份与恢复 系统管理员根据系统运行状况以及业务需求指定相应的数据库备份与恢复策略,之后以该策略为指导进行日常数据库备份与恢复。,数据库服务器维护的基本要点和步骤,诊断系统故障 在系统诊断的过程中,首先需要具有一定系统维护经验的系统管理员确认是操作系统的问题,还是Sybase数据库服务器的问题。以下简要步骤只是说明了,当碰到数据库服务器的问题时该如何做。,数据库服务器维护的基本要点和步骤,(1)详细记录出现系统故障时的现象,以及在应用过程中可能出现在客户端的错误提示信息(2)查看Sybase错误日志文件:$SYBASE/ASE-12_5/install/server_name.log,查找不正常的信息提示或者出现的错误代码。如果此时能够确认是数据库本身的问题,例如数据页或者索引损坏,那么可以先执行DBCC命令进一步确认问题的确切所在。,数据库服务器维护的基本要点和步骤,(3)按照错误日志文件中所提示的错误代码,查看Troubleshooting and Error Messages Guide并按书中所提示的纠错步骤进行处理(4)在自行无法解决的情况下,可以联系Sybase工程师寻求帮助,同时提供:详细的产品版本信息 详细的现象描述 详细的错误信息提示 必要的查询输出结果 完整的数据库服务器错误日志文件,数据库服务器维护的基本要点和步骤,调整ASE的性能 这是一项需要长时间的,不断尝试的,不断测试的,不断优化的循序渐进的过程。针对不同的数据库服务器的运行环境,不同的业务需求就会出现不同的性能要求。,数据库服务不能启动,如何查找数据库启动失败原因 在实际环境中,数据库Server无法启动的原因很多,本文仅列出了几种常见的情况,供您参考。首先,应检查Adaptive Server的日志文件,数据库服务不能启动,CASE 1:basis_dlock:file/sybase/master.dat already in use by a SQL Serverkernel kdconfig:unable to read primary master devicekernel kiconfig:read of config block failed检查server是否已经启动(showserver,ps-u sybase 或NT service),数据库服务不能启动,CASE 2:dopen:open/sybase/master.dat failed,permission deniedkernel kdconfig:unable to read primary master devicekernel kiconfig:read of config block failed 检查master设备文件的所有者及权限,数据库服务不能启动,CASE 3:ninit:All master network listeners have failed.Shutting down 编辑interfaces文件,检查相应服务器的网络端口是否和其它的服务器重复或使用的是系统已经使用的端口;检查/etc/hosts的主机名和IP地址,对照interfaces中的主机名,是否存在冲突。重新启动数据库服务器。,数据库服务不能启动,CASE 4:kernel:kscsinit:connectivity library error.Operation:cs_ctx_alloc().检查操作系统参数是否已经修改并重新启动操作系统 若操作系统异常宕机,ASE未启动而$SYBASE/.krg已经存在,删除该文件,数据库服务不能启动,Server启动失败的各种原因硬件问题导致无法读取阵列设备sybase数据库设备读写权限问题由于异常宕机,在sybase主目录下存在一个*.krg文件,删掉即可网络问题,ip地址或端口无法侦听内存配置过大,超过OS的许可SYBASE环境变量/注册表设置错误或损坏Master库日志满.清除即可设备损坏或被误删除,日志满了,但是清不掉怎么办?用户有时候会遇到执行大事务使syslogs空间不足,于是所有该数据库的事务操作挂起,但是使用dump tran dbname with truncate_only又截不断日志的问题。这时候需要执行select*from master.syslogshold查看master.syslogshold表的信息,该表记录着日志里最早执行但是尚未完成的事务,这个事务不完成,日志是不能截断的。由系统管理员决定是杀掉该进程还是扩充日志使该进程顺利完成。平时对master.syslogshold表进行监控,以及时对异常事务进行处理,避免此类问题出现,也是非常重要的。,数据库日志的问题,数据库日志的问题,master 事务日志满,重启动仍报日志满?解决方法:使用dump tran master with truncate_only.如果日志仍不能截掉,启动时加-T3607,再执行 dump tran master with truncate_only,磁带恢复的问题,通过磁带load 数据库时报错 load database test from/dev/rmt0.1 Errorlog报错:Nov 21 17:10:33 2007:Backup Server:6.31.2.4:Volume rejected.Nov 21 17:10:59 2007:Backup Server:6.32.2.3:/dev/rmt0.1:volume not valid or not requested(server:,session id:5.)Nov 21 17:10:59 2007:Backup Server:1.14.2.4:Unrecoverable I/O or volume error.This DUMP or LOAD session must exit.,磁带恢复的问题,解决办法:检查磁带机的blocksize的设置是否相同,Sa口令的问题,忘记了sa 的口令怎么办?如果忘记了sa的口令,可以使用如下方法生成一个新的口令。我们以windows操作系统为例.首先把ASE进程停下来,然后找到文件RUN_xxx.bat,其中xxx是ASE服务器的名字(缺省情况在目录:sybaseASE-12_5install中).编辑这个文件,在其中命令行的最后加上选项 psa,然后直接运行文件RUN_xxx.bat启动ASE.这时请注意返回的信息,在启动信息的最后会有类似下面内容的一行信息:New SSO password for sa:xurolifczwtqnk其中xurolifczwtqnk 就是sa的新口令.使用这个口令登录,然后修改成自己需要的口令.最后把选项-psa去掉.,安装的问题,安装时出现提示:Exception in thread,如何解决?执行setup时增加选项:setup-is:javahome jre所在路径例如:setup-is:javahome/usr/java/jre1.4.2_02,安装的问题,以上版本在卸载ASE服务之后,重新安装失败,如何解决?查看是否存在文件vpd.propertise,将其删除后重试。,Error Msg,Error 605,691 on object 99解决方案:可能需要重新创建数据库,Error Msg,Error 605,691 on object 8解决方案:1.先试试 dbcc rebuild_log2.如果仍然报错,需要将数据库删除重建,Error Msg,Error 614 A row on page%ld was accessed that has an illegal length of%d in database%.*s.解决方案:根据错误出现的不同时机和不同对象,采取的方法不尽相同下面所述是简单的原则:如果该错误出现在数据库恢复过程中,则可能需要将数据库删除重建;如果该错误出现在正常操作时,操作如下:1)如果损坏的是用户表的non-clustered index,将有关索引删除重建;2)如果损坏的是用户表本身,则需要将表中数据导出后删除重建;3)如果损坏的是系统表,某些可以使用sp_fixindex命令修复,Error Msg,Error 692 Uninitialized logical page%ld was read while accessing object%ld in database%d.Please contact Sybase Technical Support.解决方案:1.error 692可能与硬件有关。请先排除硬件问题。2.一般情况下,可能需要将有关表的数据导出后重建,Error Msg,Error 3414 Database%.*s(dbid%d):Recovery failed.Check the SQL Server errorlog for further information as to the cause.解决方案:将数据库置为bypass状态(-32768);重新启动ASE SERVER;dump tran dbname with no_log;将数据库状态位(sysdatabases.status)置为0;重新启动ASE SERVER;如果启动成功,对数据库执行dbcc检查,确保一致性;如果仍然失败,则使用干净的数据库备份恢复;,Error Msg,Error related stack size or overflow解决方案:increase“stack size”,“stack guard size”no more alarms available/no free alarms available解决方案:increase number of alarms,资料 http:/,问题?,