
正文
oracle11g释放表空间,oracle表空间满了怎么删除释放空间
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
oracle数据库怎么删除表空间
首先表空间分三种。永久表空间:是存储数据库中需要永久化存储的对象,如表、视图、存储过程、索引等。临时表空间:存储数据库中的执行过程,临时表空间是通用的。undo表空间:保存数据修改前的副本。
oracle可以删除表空间。 登录oracle数据库,如用plsql,需要用户具有删除表空间的权限。 打开一个SQL窗口。
drop tablespace tablespacename including contents and datafiles;就可以把表空间和数据文件一起删除,ORA-02173错误是删除的命令有误。
如果删除用户使用drop即可,如果要删除表空间的同时,删除对应的文件可以这样drop tablespace ocscdrbak including contents;drop tablespace tablespace_name including contents and datafiles;windows 要先offline。
删除表空间限制:⑴ 不能删除正在活动的表空间,也就是说正在使用的表空间。⑵ 不能删除默认表空间。
相关问答
Q1: 在oracle数据库中删除表后,怎样把占用的磁盘空间释放出来?
1、如果是system表空间的话,基本上没有办法变小了。(按照你的说法,就是释放磁盘空间)就算你删除了表,但是数据文件(就是物理存在于磁盘上的文件)是不会变小的。
2、你是用drop命令删除的吗?drop命令是不回收表空间的,只是吧表对应的记录从数据字典中抹掉,也不会回收高水位。
3、删除用户和数据,磁盘空间不会释放,因为数据文件大小已定。解决方法最直接的就是:导出数据,重建数据文件、表空间,重新导入数据。
Q2: oracle删除数据不删分区会释放表空间吗
1、删除用户和数据,磁盘空间不会释放,因为数据文件大小已定。解决方法最直接的就是:导出数据, 重建数据文件、表空间, 重新导入数据。
2、正确的说法是,TRUNCATE命令用于删除表中的所有数据,它会释放表空间,从而使得表可以重新插入新的数据。
3、删除的方式有两种,一种是delete,这种情况存储空间是不变的,继续使用时,会空出delete的数据区向后直接写入。另外一种是truncate,这种情况存储空间会缩小,继续使用数据库时,可能会使用truncate 删除后空出来的数据区。
4、使用delete删除数据后,表空间不会回收,存在高水位 High Water Mark,HWM) 是Oracle(Segment)级别的概念。在仅有DML(比如delete,insert)操作时,高水位线只会增长,不会降低。
5、会释放,或者如最后说的直接删除表分区,然后进行表分析,视数据量大小定吧。
6、不管是delete还是truncate 相应数据文件的大小并不会改变,如果想改变数据文件所占空间大小可执行如下语句:alter database datafile filename resize 8g重定义数据文件的大小(不能小于该数据文件已用空间的大小)。
oracle11g释放表空间的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于oracle表空间满了怎么删除释放空间、oracle11g释放表空间的信息别忘了在本站进行查找喔。





