热门关键字:  ubuntu  分区  函数  linux系统进程  Fedora

Sybase常见灾难性恢复

来源: 作者: 时间:2007-09-13 Tag: 点击:

 数据库服务不能启动
 如何查找数据库启动失败原因
在实际环境中,数据库Server无法启动的原因很多,本文仅列出了几种常见的情况,供您参考。

首先,应检查Server的日志文件。不同版本缺省的日志文件如下(其中<server_name>为Sybase Server的名称:
UNIX:
11.0*: $SYBASE/install/errorlog
11.5* 或 11.9*: $SYBASE/install/<server_name>.log
12.0*SYBASE/ $SYBASE_ASE/install/<server_name>.log
NT:
11.0* 11.5* 或 11.9*: %SYBASE%installerrorlog
12.0*: %SYBASE%ASE-12_0installerrorlog

·        CASE 1:
basis_dlock: file '/sybase/master.dat' already in use by a SQL Server
kernel kdconfig: unable to read primary master device
kernel kiconfig: read of config block failed
检查server是否已经启动( showserver, ps -u sybase 或NT service )
·        CASE 2:
dopen: open '/sybase/master.dat' failed, permission denied
kernel kdconfig: unable to read primary master device
kernel kiconfig: read of config block failed
检查master设备文件的所有者及权限

·        CASE 3:
ninit: All master network listeners have failed. Shutting down
检查network ip 及 port配置 ( netstat -a )

·        CASE 4:
kernel:kscsinit: connectivity library error. Operation: cs_ctx_alloc().
o        检查操作系统参数是否已经修改并重新启动操作系统 (参见安装手册)
若操作系统异常宕机,ASE未启动而$SYBASE/<server_name>.krg已经存在, 删除该文件

 简单故障及排除方法
服务器启动失败,报告不能创建共享内存(UNIX平台):
解决方法:
检查Sybase主目录下的文件,将所有文件的所有者改为sybase帐户。
编辑sybase主目录下的名为ServerName.cfg文件,找到total memory的一行,检查其配置值是否过大。
重新启动数据库服务器。
·        服务器启动失败,报告不能建立网络监听(UNIX平台):
解决方法:
编辑Sybase主目录下的名为interfaces文件,检查相应服务器的网络端口是否和其它的服务器重复或使用的是系统已经使用的端口;
检查/etc/hosts的主机名和IP地址,对照interfaces中的主机名,是否存在冲突。
重新启动数据库服务器。
·        服务器启动失败,报告不能打开master设备文件(UNIX平台):
解决方法:
检查$SYBASE/$SYBASE_ASE/RUN_ServerName中的master设备文件的位置;
检查master设备文件路径及访问权限;
重新启动数据库服务器。

 master数据库日志满了,server无法启动,怎么办 (error 1105)

[ERROR]
Can't allocate space for object 'syslogs' in database 'master' because the 'system' segment is full.
If you ran out of space in syslogs, dump the transaction log. Otherwise, use ALTER DATABASE or sp_extendsegment
to increase the size of the segment.
[WORKAROUND]
1.在RUN_servername的文件中添加标识 : -T3607
(编辑RUN_servername文件,在文件末尾添加以上标识)
2.启动ASE
(要直接运行文件RUN_servername,且该运行窗口在执行以下操作时不能关闭)
3.截断日志
1>dump tran master with no_log
2>go
4.停止ASE服务
1>shutdown
2>go
5.删除RUN_servername文件末尾的标识 : -T3607
6.重新启动ASE

 SQL Server 10.x配置内存过大、Server不能启动时怎么办?        
 SQL Server使用的内存与机器的内存总数有一定的比例关系。如果Server使用内存太小,影响到SQL Server的性能,但内存配置过大超过一定比例时,导致SQL Server不能启动。
  在ISQL中,用sp_configure “memory”可以看到你的Server现在使用的内存大小。这个数字单位为Page,每一个Page为2K。参数memory在启动Server时被读入内存。所以memory被修改之后,必须shutdown Server,再重新启动Server,新的参数才生效。
1>sp_configure "memory",number_of_memory
2>go
1>reconfigure with override
2>go
1>shutdown with nowait
2>go 
  如果新的内存配置太大,SQL Server不能启动,那么必须修改Master设备上的内存配置参数。
  在$SYBASE/install目录下,使用buildmaster命令
  $buildmaster -d/path/master.dat -y cmemsize = XXX 
  其中XXX为内存页数。如果新的内存大小合适,SQL Server可以启动。       
数据库被挂起

上一篇:没有了
下一篇:在hp-ux下修改字符集
最新评论共有 4 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册