免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 25222 | 回复: 13

如何彻底删除sybase数据库表空间 [复制链接]

论坛徽章:
0
发表于 2010-04-12 10:39 |显示全部楼层
环境:
我使用的电脑(本地电脑)上安装有sybase客户端。连接到局域网中的一台sybase服务器上。

操作:
测试数据库脚本。创建数据表空间、日志表空间、索引表空间、新数据库。
创建好后,又删除这些表空间和数据库。
删除步骤是:先在我电脑上通过sybase客户端删除数据库,再通过远程登录到sybase服务器中,把表空间给删除。(正确的是在客户端删除数据库外,也得删除表空间,再远程登录到sybase服务器把表空间给删除)

这样删除的话,表空间没有彻底删除,在sybase客户端,“数据库设备”中表空间还在,并且无法删除,
删除时显示“Device is being used by a database,You can't drop it.”
且“未使用”显示为负数。

请问谁知道这是怎么回事,如何才能把这些无效的表空间给删除掉。

论坛徽章:
6
水瓶座
日期:2014-06-04 03:34:37水瓶座
日期:2014-06-17 13:20:31数据库技术版块每日发帖之星
日期:2016-07-09 06:20:00数据库技术版块每日发帖之星
日期:2016-07-17 06:20:00数据库技术版块每日发帖之星
日期:2016-08-01 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
发表于 2010-04-12 11:04 |显示全部楼层
表述的太换乱。



过程有3个。
第一:drop datababase db_name
第二:sp_dropdevcie datadev1      ,datadev1   .....
第三: rm -f datadev1.dat 等

论坛徽章:
0
发表于 2010-04-12 11:32 |显示全部楼层
楼主以前是做Oracle的吧

论坛徽章:
6
水瓶座
日期:2014-06-04 03:34:37水瓶座
日期:2014-06-17 13:20:31数据库技术版块每日发帖之星
日期:2016-07-09 06:20:00数据库技术版块每日发帖之星
日期:2016-07-17 06:20:00数据库技术版块每日发帖之星
日期:2016-08-01 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
发表于 2010-04-12 13:32 |显示全部楼层
指定是搞oracle的了!
sybase中不叫表空间,应该叫数据库;数据文件在sybase中应该称为数据设备。

论坛徽章:
0
发表于 2010-04-14 13:20 |显示全部楼层
回复 2# andkylee


    我是按这三步操作,
一、先删除数据库
二、删除设备
就是在删除设备的时候,这设备删除不了,说正在使用,查看属性,这个设备竟然成了一个坏的数据库下的设备了。
这有点奇怪,这设备怎么自己跑到别的数据库下了。并且,设备未使用量也是负数了。
三、删除.dat文件,

就第二步删除时出现了问题,难道是我在删除数据库时,还没删除完,就开始删除设备,造成设备转移归属的?

不知怎么弄的,那我该怎么把这些设备未使用为负的设备删除呢?

论坛徽章:
0
发表于 2010-04-14 13:23 |显示全部楼层
回复 4# andkylee


    谢谢提醒。是我搞混了。
sybase下是数据库设备,现在设备删除不了,出现了负的未使用量情况。
这个多作的设备该怎么删除呢?

论坛徽章:
6
水瓶座
日期:2014-06-04 03:34:37水瓶座
日期:2014-06-17 13:20:31数据库技术版块每日发帖之星
日期:2016-07-09 06:20:00数据库技术版块每日发帖之星
日期:2016-07-17 06:20:00数据库技术版块每日发帖之星
日期:2016-08-01 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
发表于 2010-04-14 14:08 |显示全部楼层
回复 5# olivia2007


    问题出在第二步,删除设备 sp_dropdevice的时候没有成功执行完成。 是不是设备上还分配了其它的数据库?

论坛徽章:
33
ChinaUnix元老
日期:2018-07-04 15:10:362015年亚洲杯之阿联酋
日期:2015-02-06 17:15:532015亚冠之武里南联
日期:2015-06-06 15:40:252015亚冠之北京国安
日期:2015-06-17 15:42:412022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:322015亚冠之阿尔纳斯尔
日期:2015-09-20 09:42:1215-16赛季CBA联赛之北京
日期:2016-01-15 10:03:5915-16赛季CBA联赛之青岛
日期:2016-04-26 16:44:4915-16赛季CBA联赛之广夏
日期:2018-07-04 15:33:21C
日期:2016-10-25 16:12:142017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之同曦
日期:2017-02-22 22:41:10
发表于 2010-04-14 14:13 |显示全部楼层
其实楼主的意思是可能需要把SYBASE里的数据清了,然后重新导入新的数据,只是需要原来的表结构,触发器,存储过程,索引吧。如果是这样,你为什么不select 出有数据的表,然后truncate table。你把库的设备都DROP了,还想再用SYBASE,这种情况是不可实现的!·

论坛徽章:
0
发表于 2010-04-14 16:40 |显示全部楼层
回复 7# andkylee


        设备上本来没分布别的数据库,
  
我就是创建一个新的数据库,并且把这个新建的数据库删除,先删除数据库,再删除设备,删除设备时,就莫名的删除不了,出现了

“Device is being used by a database,You can't drop it.”这样的说明,查看设备,竟然在另一个数据库的归属下,而这个数据库是不正常的数据库,无法使用也无法删除的坏库。

也不怎么的,这设备会跑到别的数据库下,导致无法删除。
如果想把这无用的设备删除,该怎么操作呢?

论坛徽章:
0
发表于 2010-04-14 16:43 |显示全部楼层
回复 8# wfcjz


    我不是想清空数据,只是想把一个数据库和相关设备彻底删除。删除过程中,设备删除不了。设备跑到另一个数据库下面去了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP