http://blog.tianya.cn/blogger/post_show.asp?BlogID=701038&PostID=7464797
4, 开机自动启动sybase服务
在/etc/rc2.d/目录下建立一个新文件S999SYBASE,文件内容如下:
su – Sybase –c “/Sybase/install/startserver –f /Sybase/install/RUN_SYBASE”
su – Sybase –c “/Sybase/install/startserver –f /Sybase/install/RUN_SYB_BACKUP”
三, sybase常见问题解答
1,修改主机的IP 地址后,如何更改interfaces 文件?
安装SYBASE Adaptive Server 的机器IP 地址改变后, 应修改interfaces 文件及有关的设置。
如果interfaces 文件中使用的是机器名而不是IP 地址, 则不需要变动。但如果客户端联接服务器使用的是服务器的IP 地址而不是机器名,那么客户端需修改联接服务器的IP地址。
如果interfaces 文件中使用的是IP 地址, 那么需要修改interfaces 文件中和地址有关的部分, 可使用dscp 或dsedit 进行修改。如果客户端联结服务器使用的是服务器的地址而不是机器名,那么客户端也需修改。
2,SYBASE出错日志的位置?
也许在数据库启动时,由于各种原因,数据库不能正常启动,数据库会把引起数据库错误的信息放到SYBASE.log 文件中,这个文件在$SYBASE/install 目录下。
3, SYBASE无法启动该怎么办?
在实际环境中,数据库Server 无法启动的原因很多,本文仅列出了几种常见的情况,供您参考。
首先,应检查Server 的日志文件。不同版本缺省的日志文件如下(其中
为Sybase Server 的名称:
UNIX:
11.0*: $SYBASE/install/errorlog
11.5* 或11.9*: $SYBASE/install/.log
12.0*: $SYBASE_ASE/install/.log
NT:
11.0* 11.5* 或11.9*: $SYBASE/install/errorlog
12.0*: $SYBASE/ASE-12_0/install/errorlog
· 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/.krg 已经存在, 删除该文
件
· CASE5
现象:Error 926
Severity Level 14
Error Message text
Database 'xx' cannot be opened -it has been marked SUSPECT by recover Explantion
解决办法:
http://bbs.chinaunix.net/thread-131885-1-1.html
请教各位高手,在syb.log中不停的有如下提示,是什么原因?
1、“不停的有”就是每15分钟一次。 2、00:00000:00025:2003/08/02 04:54:00.09 server Error: 709, Severity: 17, State: 1 00:00000:00025:2003/08/02 04:54:00.09 server There is insufficient system memory to continue login process for spid 25. 说明了什么问题? 3、00:00000:00025:2003/08/02 17:20:00.45 server WARNING: *************************** 00:00000:00006:2003/08/02 17:28:39.03 server Error: 4201, Severity: 17, State: 1 00:00000:00006:2003/08/02 17:28:39.06 server DUMP TRANSACTION for database 'zcdynadb' failed: insufficient memory to allocate backout structure. 00:00000:00006:2003/08/02 17:28:39.06 server Error: 4201, Severity: 17, State: 1 00:00000:00006:2003/08/02 17:28:39.06 server DUMP TRANSACTION for database 'zcst' failed: insufficient memory to allocate backout structure. 00:00000:00006:2003/08/02 17:28:39.06 server Error: 4201, Severity: 17, State: 1 00:00000:00006:2003/08/02 17:28:39.06 server DUMP TRANSACTION for database 'sybsystemprocs' failed: insufficient memory to allocate backout structure. 00:00000:00006:2003/08/02 17:28:39.06 server Error: 4201, Severity: 17, State: 1 00:00000:00006:2003/08/02 17:28:39.06 server DUMP TRANSACTION for database 'tempdb' failed: insufficient memory to allocate backout structure. 是什么提示? 刚接触sybase不久,很菜,见谅! |
1.
肯定是有定期执行的任务在做,检查你的crontab
建议将no_log方式换为 truncate_only 方式
或者直接设置数据库的选项“trunc log on chkpt”
2.
添加Sybase ASE的内存资源
增加 total memory(或者max memory)
增加 procedure cache size
http://blog.youkuaiyun.com/J2EEWEIWEI/archive/2010/09/06/5865711.aspx
Sybase 日志溢出解决方案
数据库装好,测试连接成功后,下一步就得建数据库了。打开交互工SQL,执行SQL语句时,出现如下错误:
The transaction log in database clfm is almost full. Your transaction is being suspended until space is made available in the log.
log日志已满了。
解决办法:第一种方法、数据库属性里面选择设置,增加log空间。
第二种方法、清除日志(最佳)。
问题当然是解决了,但只是一种妥协的方法.
对于sybase log可以进行手动和自动来清除。
2.手动清除法
执行命令“dump transaction”来清除Log。以下两条命令都可以清除日志:
dump transaction with truncate_only
dump transaction with no_log
通常删除事务日志中不活跃的部分可使用“dump transaction with trancate_only”命令,这条命令写进事务日志时,还要做必要的并发性检查。SYBASE提供“dump transaction with no_log”来处理某些非常紧迫的情况,使用这条命令有很大的危险性,SQL Server会弹出一条警告信息。为了尽量确保数据库的一致性,你应将它作为“最后一招”。
以上两种方法只是清除日志,而不做日志备份,若想备份日志,应执行“dump transaction database_name to dumpdevice”命令。
2008.7.30
在执行SQL语句的时候,出现如下错误:
DUMP TRANSACTION for database 'clfm' could not truncate the log. Either extend the log using ALTER DATABASE ... LOG ON command or eliminate the oldest active transaction in database 'clfm' shown in syslogshold table.
解决方法:增加log空间,然后再执行命令dump transaction clfm with truncate_only。
如果问题还依然存在的话,那就直接删除syslogs里面的数据。sybase每个库都有syslogs表。Log记录用户对数据库修改的操作,所以如果不用命令清除, log会一直增长直至占满空间。首先修改一下syslogs这个表的属性,赋予sa用户删除权限,执行这个过程有点慢,耐心等待。也可以增加一下syslogs表空间的大小
1.自动清除法
开放数据库选项 Trunc Log on Chkpt,使数据库系统每隔一段时间自动清除Log。此方法的优点是无须人工干预,由SQL Server自动执行,并且一般不会出现Log溢满的情况;缺点是只清除Log而不做备份。