转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> SyBase >> 正文
CU和个人的一点SYBASE资料整理         ★★★★

CU和个人的一点SYBASE资料整理

作者:闵涛 文章来源:闵涛的学习笔记 点击数:688 更新时间:2009/4/22 23:09:38

1、timeslice -201,current process infected错误,几天出现一次,需要重 
  新启动服务,同时还报好多SQL错误
   解决方法:打SYBASE补丁

2、错误:Recovering database 'master' 
00:00000:00001:2004/03/12 10:05:27.70 server Redo pass of recovery has processed 10 committed and 0 aborted transactions. 
00:00000:00001:2004/03/12 10:05:27.81 server No such message: 1105 
00:00000:00001:2004/03/12 10:05:27.81 server There is no space available in SYSLOGS for process 1 to log a record for 
which space has been reserved. This process will retry at intervals of one minute. 
The internal error number is -4
    解决方法:第一步: 
认为很简单,在启动文件中加-T3607 -m,然后用sa进 
dump tran master with no_log或 
alter database master on master_dev=xxxM 即可 
问题: 
启动报:Error: 3475, Severity: 21, State: 7 
00:00000:00006:2004/03/12 10:38:55.71 server There is no space available in SYSLOGS for process 6 to log a record for which space has been reserved. This process will retry at intervals of one minute. The internal error number is -4. 
用sa登陆进不去:报: 
isql -Usa -Pxxx 
Can't allocate space for object 'syslogs' in database 'master' because 
'logsegment' segment is full/has no free extents. If you ran out of space in 
syslogs, dump the transaction log. Otherwise, use ALTER DATABASE or 
sp_extendsegment to increase size of the segment. 
Msg 3475, Level 21, State 7: 
There is no space available in SYSLOGS for process 6 to log a record for which 
space has been reserved. This process will retry at intervals of one minute. The 

internal error number is -4. 
CT-LIBRARY error: 
ct_connect(): user api layer: internal Client Library error: Read from t 
he server has timed out. 
第二步:从没遇到这种情况 再加 -T699(Turn off transaction logging for the entire SQL dataserver) 
这次sa可进 
执行 
alter database master on master_dev=xxxM 报和上面一样的错 
dump tran master with no_log也不行 
本想bcp系统表再重建master,总是麻烦(懒),还是生产机 
第三步: 再加-T7409 
执行 alter database master on master_dev=xxxM ok 
问题解决 
---------来自CU

3、启动时数据库不能回滚
   解决方法:第1. 使用 install目录下 的 RUN 文件启动数据库服务器(如果服务已经启动,可跳过此步骤) 
第2. 使用isql连接进入数据库服务器 
isql -Usa -Ppasswd -S server_name 
1>sp_configure 'allow update',1 
2>go 

1>use master 
2>go 
1>sp_helpdb DB_NAME 
2> 
记下此处查询出的数据库选项 (例如:select into/bulkcopy等) 

1>begin tran 
2>go 
1>update sysdatabases set status = -32768 where name = 'DB_NAME' (注意:一定要加上数据库名称条件,切记,最好使用事务) 
2>go 
如果显示 (1 row affected),commit,否则 rollback 
1>commit 
2>go 

1>shutdown with nowait 
2>go 

第3. 重新重复步骤1,启动数据库服务器,注意观察日志中是否显示 在 recovery database DB_NAME 时使用bypass状态,如果正常,这种情况下,数据库服务器应该能够完全启动 

第4. 使用isql连接进入数据库服务器 
isql -Usa -Ppasswd -S server_name 
1>use master 
2>go 
1>dump tran DB_NAME with no_log ( dbcc rebuild_log(DBNAME,1,1) ) 
2>go 

1>update sysdatabases set status = 0 where name = 'DB_NAME' (注意:一定要加上数据库名称条件,切记) 
2>go 

1>shutdown with nowait 
2>go 

第5. 重新重复步骤1,启动数据库服务器,注意观察日志中是否显示 recovery database DB_NAME 成功,DB_NAME数据库online 

第6. 恢复数据库选项 
使用isql连接进入数据库服务器 
isql -Usa -Ppasswd -S server_name 
1>use master 
2>go 
1>sp_dboption DB_NAME,'select into',true 
2>go 
1>use DB_NAME 
2>go 
1>checkpoint 
2>go 

如果有其他选项,依法处理 

先试步骤四中的 dump tran with no_log 如果不行就用后面括号中那个命令 dbcc rebuild_log(DBNAME,1,1) 
dbcc rebuild_log,如果还不行,只有恢复备份了 

如果没有备份,只能在重新做1到3步骤,然后使用bcp将数据库中所有数据备份出来,然后重新创建数据库了。 

强行截断日志的方法能够清除系统中日志的错误,让数据库正常online,但也有可能造成数据库中用户表甚至系统表的损坏,
所以建议在数据库正常online后进行全库的DBCC检查(比如dbcc checkdb、 dbcc checkalloc等)以确保正常运行。

-----------来自CU

4、SYBASE打补丁
   数据库打补丁
    下载相应的补丁,上传到机器上的某个目录下(自己确定),例如/ebf
    cd /ebf
    gzip –S filename(解压缩为*.tar文件)(也可以在window平台上用winzip解压缩
后再上传)
    tar –xvf *.tar
    在sybase服务停掉的情况下,拷贝解开的所有文件到/sybase目录下
    su - sybase
    cd /sybase
    cp –R /ebf/../* .
    chown –R sybase:sybse /Sybase
    启动sybase服务,执行脚本:
          isql -Usa -P -n -i /sybase/scripts/installmaster -o installmaster.txt 
           isql -Usa -P -n -i /sybase/scripts/installdbccdb -o installdbccdb.txt 
      isql -Usa -P -n -i /sybase/scripts/instmsgs.ebf -o instmsgs.txt
通过select @@version 确定补丁安装成功。

------------来自CU

5、AIX上简单的备份脚本
   bktime="`date +%y%m%d%H%M`" 备份数据库的时间 
bkdbname="master" 要备份的数据库名字 
bkuser="`whoami`" 执行备份的系统用户 
cd /data  存放备份的目录 
bkname="'""/data/${bkdbname}_20${bktime}.dat""'" 备份文件名字 
echo "---------backup is beging at ${bktime} by ${bkuser}--------" >> dump.log 
echo "--backup name:$bkname--"  
echo "--backup time:$bktime--" 
echo "--backup dbname:$bkdbname--" 
su - sybase -c "isql -Usa -P -SSYBASE <<DUMP  
dump database ${bkdbname} to "${bkname}" 
go 
DUMP" 
echo "---------backup is completed----------" >> dump.log

 chenfeng825 回复于:2004-03-15 11:17:48 加个精华!呵呵

 li2002 回复于:2004-03-16 08:15:10 恩.很有用,谢谢楼主

 caosohu 回复于:2004-03-16 09:43:46 好!

 solofeng 回复于:2004-03-16 15:08:17 很有用,谢谢

 红烧排骨 回复于:2004-03-17 10:59:12 肯定不错
拷下来再说

 xdf118 回复于:2004-03-17 12:45:20 好东东

 cshongji 回复于:2004-03-20 18:17:13 不知道有什么用?

不过大家都说好,那我就先收下来再说了!~~

可能在已后的学习中会用到,那就谢谢楼主了!~~~

 唐小羊 回复于:2004-03-21 03:06:41 谢谢老兄,请问Cu是什么意思?

关闭本页  


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台