今天测试drop undo 表空间
有 undo表空间 undotbs1, undotbs02 两个
show parameter undo
显示 undo_tablespace 现在为undotbs1
alter system undo_tablespace = undotbs02
设置好后,开启另一链接(用户)scott/tiger
在HAHAHA表中插入一条数据 但是没有commit(transction依然存在)
使用原链接drop,drop之前先保证其不是action undo表空间
alter undo_tablespace = undotbs1 (将undotbs02变为非action)
竟然切换成功了,这是怎么回事。。。
试着删除一下
drop tablespace undotbs02
报错:undo tablespace 'UNDOTBS02' is currently in use
what the fuc……!!
思路1:进入链接2 commit 一下 看是否可以删除
链接2> commit;
链接1> drop tablespace undotbs02 ;
报错:undo tablespace 'UNDOTBS02' is currently in use
,这是怎么个情况。
思路2:进入链接1,将undotbs02切回action状态,进入链接2commit,再进入链接1,切换为非action,drop。 !咱们试试
链接1> alter system set undo_tablespace = undotbs02;
链接2>commit;
链接1>alter system set undo_tablespace = undotbs1;
链接1>drop tablespace undotbs02;
提示:System altered.
OK 这个实验完成了,当切换undo表空间时,一定要将所有的transaction提交后,再切换表空间。否则旧的表空间切换下来也删除不掉
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26764523/viewspace-722010/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26764523/viewspace-722010/