penbin123 发表于 2008-11-6 22:33:44

关于BCP IN恢复数据库default segment满的问题!

本人用BCP作ASE 12.5的数据库备份和恢复,目前备份基本没问题,但是,近期数据库出现问题,要恢复,于是,便重新安装服务器,对其进行恢复,结果在恢复过程中出现以下2个问题:
1、在创建数据库设备时,指定了设备大小,但创建的设备文件大小却与指定大小不一致。如,设备名为bfdb,设备文件名为bfdb.dat,我设定bfdb的大小为10G,但创建出来的bfdb.dat却只有
1.22G左右。在设备属性中显示设备尚有8G多的空间没有使用,却没法对设备大小进行扩展。
2、使用BCP IN 导入数据,当导入到一半左右时,系统便提示:Can't allocate space for object....'default' segment is full...,出现这个提示之后的所有数据便无法成功导入,重新建立一个设备给这个数据库使用,便可解决该问题。但备份出来的数据只有200多M,而我申请的设备大小有10G,应该不至于数据空间不足,请问这是什么原因,是不是数据库的配置不正确造成的,该如何解决?
由于问题比较急,希望高手们能帮帮忙。小弟在这里先行谢过了!

techie 发表于 2008-11-11 17:30:34

1、估计是你在创建逻辑设备时,大小计算错了,注意设备大小是以一个页面的大小为计算单位的,正确的计算方式是 页面大小分为2k、4k、8k、16k ,如果以2k为单位,你想创建一个10G大小的设备,那么计算的大小应该是:512×10240=5242880,具体语句如下:
use master
go
disk init
   name=bfdb,
    physname="/opt/bfdb.dat",
    size = 5242880
go
这样创建出来的设备大小测试10G。

2、从错误提示”Can't allocate space for object....'default' segment is full.. “看,是数据段default segment满了,没有存储空间,你建库时分配的数据空间不足,需要扩库。
use master
go
alter database dbname on devname=200
go

shakeone 发表于 2009-2-4 00:02:27

sp_extendsegment default segment

flybean 发表于 2009-2-4 21:34:39

1、很可能是计算错误,需要注意的是某些版本的Sybase Central在处理2、4、8、16K页面时会计算错误
2、注意区分设备与数据库
页: [1]
查看完整版本: 关于BCP IN恢复数据库default segment满的问题!

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com