免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6092 | 回复: 9

CU和个人的一点SYBASE资料整理 [复制链接]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
发表于 2004-03-15 10:29 |显示全部楼层
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 namebkname--"  
echo "--backup timebktime--"
echo "--backup dbnamebkdbname--"
su - sybase -c "isql -Usa -P -SSYBASE <<DUMP  
dump database ${bkdbname} to "${bkname}"
go
DUMP"
echo "---------backup is completed----------" >;>; dump.log

论坛徽章:
0
发表于 2004-03-15 11:17 |显示全部楼层

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

加个精华!呵呵

论坛徽章:
0
发表于 2004-03-16 08:15 |显示全部楼层

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

恩.很有用,谢谢楼主

论坛徽章:
0
发表于 2004-03-16 09:43 |显示全部楼层

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

好!

论坛徽章:
0
发表于 2004-03-16 15:08 |显示全部楼层

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

很有用,谢谢

论坛徽章:
0
发表于 2004-03-17 10:59 |显示全部楼层

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

肯定不错
拷下来再说

论坛徽章:
0
发表于 2004-03-17 12:45 |显示全部楼层

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

好东东

论坛徽章:
0
发表于 2004-03-20 18:17 |显示全部楼层

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

不知道有什么用?

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

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

论坛徽章:
0
发表于 2004-03-21 03:06 |显示全部楼层

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

谢谢老兄,请问Cu是什么意思?

论坛徽章:
0
发表于 2006-11-17 19:21 |显示全部楼层
先考下来再说,以后肯定用的着
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP