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




1、timeslice-201,currentprocessinfected几天出现需要重
新启动服务同时还报好多SQL
解决思路方法:打SYBASE补丁

2、:Recoveringdatabase\'master\'
00:00000:00001:2004/03/1210:05:27.70serverRedopassofrecoveryhasprocessed10committedand0abortedtransactions.
00:00000:00001:2004/03/1210:05:27.81serverNosuchmessage:1105
00:00000:00001:2004/03/1210:05:27.81serverThereisnospaceavailableinSYSLOGSforprocess1tologarecordfor
whichspacehasbeenreserved.Thisprocesswillretryatervalsofoneminute.
Theernalerrornumberis-4
解决思路方法:第步:
认为很简单在启动文件中加-T3607-m,然后用sa进
dumptranmasterwithno_log或
alterdatabasemasteronmaster_dev=xxxM即可
问题:
启动报:Error:3475,Severity:21,State:7
00:00000:00006:2004/03/1210:38:55.71serverThereisnospaceavailableinSYSLOGSforprocess6tologarecordforwhichspacehasbeenreserved.Thisprocesswillretryatervalsofoneminute.Theernalerrornumberis-4.
用sa登陆进不去:报:
isql-Usa-Pxxx
Can\'tallocatespaceforobject\'syslogs\'indatabase\'master\'because
\'logsegment\'segmentisfull/hasnofreeextents.Ifyouranoutofspacein
syslogs,dumpthetransactionlog.Otherwise,useALTERDATABASEor
sp_extendsegmenttoincreasethesegment.
Msg3475,Level21,State7:
ThereisnospaceavailableinSYSLOGSforprocess6tologarecordforwhich
spacehasbeenreserved.Thisprocesswillretryatervalsofoneminute.The

ernalerrornumberis-4.
CT-LIBRARYerror:
ct_connect:userapilayer:ernalClientLibraryerror:Readfromt
heserverhastimedout.
第 2步:从没遇到这种情况再加-T699(TurnofftransactionloggingfortheentireSQLdataserver)
这次sa可进
执行
alterdatabasemasteronmaster_dev=xxxM报和上面
dumptranmasterwithno_log也不行
本想bcp系统表再重建master总是麻烦(懒)还是生产机
第 3步:再加-T7409
执行alterdatabasemasteronmaster_dev=xxxMok
问题解决
---------来自CU

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

1>usemaster
2>go
1>sp_helpdbDB_NAME
2>
记下此处查询出数据库选项(例如:selecto/bulkcopy等)

1>begran
2>go
1>updatesysdatabasesstatus=-32768wherename=\'DB_NAME\'(注意:定要加上数据库名称条件切记最好使用事务)
2>go
如果显示(1rowaffected),commit,否则rollback
1>commit
2>go

1>shutdownwithnowait
2>go

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

第4.使用isql连接进入数据库服务器
isql-Usa-Ppasswd-Sserver_name
1>usemaster
2>go
1>dumptranDB_NAMEwithno_log(dbccrebuild_log(DBNAME,1,1))
2>go

1>updatesysdatabasesstatus=0wherename=\'DB_NAME\'(注意:定要加上数据库名称条件切记)


2>go

1>shutdownwithnowait
2>go

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

第6.恢复数据库选项
使用isql连接进入数据库服务器
isql-Usa-Ppasswd-Sserver_name
1>usemaster
2>go
1>sp_dboptionDB_NAME,\'selecto\',true
2>go
1>useDB_NAME
2>go
1>checkpo
2>go

如果有其他选项依法处理

先试步骤 4中dumptranwithno_log如果不行就用后面括号中那个命令dbccrebuild_log(DBNAME,1,1)
dbccrebuild_log如果还不行只有恢复备份了

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

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

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

4、SYBASE打补丁
数据库打补丁
下载相应补丁,上传到机器上某个目录下(自己确定)例如/ebf
cd/ebf
gzip–Sfilename(解压缩为*.tar文件)(也可以在window平台上用winzip解压缩
后再上传)
tar–xvf*.tar
在sybase服务停掉情况下拷贝解开所有文件到/sybase目录下
su-sybase
cd/sybase
cp–R/ebf/../*.
chown–Rsybase:sybse/Sybase
启动sybase服务执行脚本:
isql-Usa-P-n-i/sybase/scripts/master-omaster.txt
isql-Usa-P-n-i/sybase/scripts/dbccdb-odbccdb.txt
isql-Usa-P-n-i/sybase/scripts/instmsgs.ebf-oinstmsgs.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\"---------backupisbegingat${bktime}by${bkuser}--------\">>dump.log
echo\"--backupname:$bkname--\"
echo\"--backuptime:$bktime--\"
echo\"--backupdbname:$bkdbname--\"
su-sybase-c\"isql-Usa-P-SSYBASE<<DUMP
dumpdatabase${bkdbname}to\"${bkname}\"
go
DUMP\"
echo\"---------backupiscompleted----------\">>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是什么意思?

Tags:  sybaseiq sybasease sybase数据库 sybase

延伸阅读

最新评论

发表评论