sql server2000如何释放可用空间

sql server2000如何释放可用空间,第1张

收缩数据库文件(如果不压缩,数据库的文件不会减小

企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件

--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了

--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了

也可以用SQL语句来完成

--收缩数据库

DBCC SHRINKDATABASE(库名)

--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select from sysfiles

DBCC SHRINKFILE(1)

首先不知道你的数据库在什么系统下:

window:

找到数据文件存放的位置,比如D:\存放的是oracle的数据文件,如果表空间采用的是自动管理方式,考虑将一些数据文件移到其他盘符下,比如:e:\等

linux/unix

du -sk 查看oracle数据库相关文件夹下每个文件的空间使用情况,删除垃圾文件

如果没有垃圾文件,尝试整理表空间,可以释放一些空间,只是暂时解决文件

增加裸设备

如果使用asm的方式管理的,考虑将asm里增加pv。

以上,希望能帮助你!

你把client删了,就糟糕了 为了腾出些磁盘空间,只能按sap的要求做archive,然后做reorg重组 现在client不在了,就会做不了archive 一定要删,就只有进表去删了,这样会多很多事情, 因为archive是sap标准的,掌握的人多相对简单 搞表,掌握的人相对少,而且表太多,也容易遗漏

一、drop表

执行drop table xx 语句drop后的表被放在回收站(user_recyclebin)里,而不是直接删除掉。

不放入回收站,直接删除则是:drop table xx purge;

二、回收站

通过查询回收站user_recyclebin获取被删除的表信息,然后使用语句

flashback table <user_recyclebinobject_name or user_recyclebinoriginal_name> to before drop [rename to <new_table_name>];

将回收站里的表恢复为原名称或指定新名称,表中数据不会丢失。

若要彻底删除表,则使用语句:drop table <table_name> purge;

清除回收站里的信息

清除指定表:purge table <table_name>;

清除当前用户的回收站:purge recyclebin;

清除所有用户的回收站:purge dba_recyclebin;

三、清除表中的数据

truncate *** 作同没有where条件的delete *** 作十分相似,只是把表里的信息全部删除,但是表依然存在。

例如:truncate table XX

Truncate不支持回滚,并且不能truncate一个带有外键的表,如果要删除首先要取消外键,然后再删除。

truncate table 后,有可能表空间仍没有释放,可以使用如下语句:

alter table 表名称 deallocate UNUSED KEEP 0;

注意如果不加KEEP 0的话,表空间是不会释放的。例如:

alter table F_MINUTE_TD_NET_FHO_B7 deallocate UNUSED KEEP 0;

或者:

TRUNCATE TABLE (schema)table_name DROP(REUSE) STORAGE才能释放表空间。

例如: truncate table test1 DROP STORAGE;

以上就是关于sql server2000如何释放可用空间全部的内容,包括:sql server2000如何释放可用空间、oracle数据库放的硬盘空间满了..怎么才能释放出点垃圾文件,.比如日志什么的、删除client后 怎样释放数据库空间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9744764.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存