sybase数据库2

本文提供了Sybase数据库在遇到启动失败、日志溢出等问题时的诊断与解决方法,包括检查日志文件、调整内存配置等内容。

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而不做备份。

你贴出来的是:警告说在这几个时间里,有个家伙用no_log这种危险的方式清日志,(最后一次已经成功了!)仅此而已!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值