失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 表空间自动增长 导致磁盘空间不足 给数据库表空间瘦身

表空间自动增长 导致磁盘空间不足 给数据库表空间瘦身

时间:2019-05-21 12:40:02

相关推荐

表空间自动增长 导致磁盘空间不足 给数据库表空间瘦身

有时管理员图方便,给业务表空间设置自动增长空间的权限,在管理员疏忽的情况下,表空间会长满,导致磁盘空间紧张,为了给磁盘瘦身,就测试如下想法是否可行

搭建环境 oracle10g windows系统

创建一个test表空间,大小为50m

create tablespace test_tablespace datafile 'D:\jxj\test\test_data.dbf' size 50m;

创建用户test,默认表空间为test_tablespace

create user test identified by test123 default tablespace test_tablespace;

赋予用户相应权限

grant connect,resource to test;

grant dba to test;

计划是这样,创建一个表,使用pl/sql的文本导入器导入数据,在将现有的50m空间占满后,再增加一个数据文件给test_tablespace,容量同样是50m;

alter tablespace test add datafile 'D:\jxj\test\test_data2.dbf' size 50m;

然后再次导入数据,当数据达到表空间使用量的70%时,开始测试。

question1:删除表数据,使表空间低于50%表空间容量,试着删除增加表空间,看数据库是否正常运行?

操作

1将表空间数据exp导出

C:\>exp test/test123 file=c:\test_tablespace3.dmp log=c:\test_tablespace3.log owner=test

2将表空间删除,并删除文件

drop tablespace test_tablespace including contents and datafiles cascade constraints;

删除表空间文件

3重建表空间,可重新设计表空间大小

create tablespace test_tablespace datafile 'D:\jxj\test\test_data.dbf' size 80m;

4将表空间设置为test用户的默认表空间

alter user test default tablespace test_tablespace;

5将exp导出数据imp导入

C:\>imp test/test123 file=c:\test_tablespace3.dmp log=c:\test_tablespace3.log fromuser=test touser=test

ok,导入完成,无报错。

至此,数据库空间由原先的100m,变成了80m,表空间瘦身完成,无异常。

数据库是出于非归档模式下测试操作完成。

如果觉得《表空间自动增长 导致磁盘空间不足 给数据库表空间瘦身》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。