表空间能直接删除么?

devLife 2014-10-23 08:35:17
先声明,本人在数据库管理这块是崭新的新手
其实本意是想调整表空间数据文件的大小,由一个20G改为2个10G
但是resize好像只能从小往大扩,不能从大往小缩
想删除数据文件再新建,查了下百度,很多人说不能直接删,会导致数据库报错甚至无法登录
没办法只好打表空间的主意,但又不敢贸然行事,故而特来求教各们大神。

系统环境描述:
OS:windows 2008 r2
Oracle: 11g
表空间现在为某个正式的应用系统所用,但其中的数据属于前期测试性,所以不用考虑保留
另外不想把oracle搞崩掉再重装,时间来不及

如上,我现在最好的操作方式应该是怎样呢?
直觉第一步应该是先停应用,接下来呢,直接在em里删除表空间会不会有什么风险?

...全文
352 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
devLife 2014-10-23
  • 打赏
  • 举报
回复
感谢上面各位的指导与帮助,祝生活愉快!
wangwei 2014-10-23
  • 打赏
  • 举报
回复
如果你数据不要表空间当然可以直接删除,如果数据库需要可以先把数据导出来(exp 或者expdp) 如果用户下的对象数据在你要删除的表空间中,删除表空间这部分数据会丢失,如果没有数据库在你要删除的表空间中,就与用户无关了。 测试环境可以放心的操作,多练习,多实验
huangdh12 2014-10-23
  • 打赏
  • 举报
回复
新建同名的表空间, 能建的。 最好还是删掉用户吧。 除非你用户里面没有对象(表,过程等等),要不然,在建的时候,对象已经存在,却有错误。
devLife 2014-10-23
  • 打赏
  • 举报
回复
感谢版主如此神速的回帖 还想问一下:直接删除表空间再重建同名的新表空间,会不会影响到已存在的用户呢? 还是说必须先删除用户,再重建表空间,用户? 如果有时间就解答,没时间也没关系,稍后一定结帖,感谢!
huangdh12 2014-10-23
  • 打赏
  • 举报
回复
用不着停数据库。 比如说你要删除 表空间 A ,对应的默认用户是 u drop user u cascade; --删用户 drop tablespace A including contents and datafiles;--删文件和表空间 create tablespace A datafile '' size 10g autoextend on; alter tablespace A add datafile '' size 10g autoextend on; create user u default tablespace A; .....
huangdh12 2014-10-23
  • 打赏
  • 举报
回复
可以删除表空间的,只要里面没有内容。 或者说你里面的内容可以不要了。 其实可以把对应的用户删掉,对应的表空间文件、表空间删掉。 然后重建表空间,用户。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧