如何彻底删除表空间

如何彻底删除表空间

ID:34757371

大小:56.46 KB

页数:4页

时间:2019-03-10

如何彻底删除表空间_第1页
如何彻底删除表空间_第2页
如何彻底删除表空间_第3页
如何彻底删除表空间_第4页
资源描述:

《如何彻底删除表空间》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、如何彻底删除表空间ora-02429:无法删除用于强制唯一/主键的索引sql>droptablespaceksdmincludingcontentscascadeconstraintsora-00604:递归sql层1出现错误。ora-02429:无法删除用于强制唯一/主键的索引。sql>selectsegment_name,partition_name,tablespace_namefrom  dba_extents   wheretablespace_name=upper('KSDM')显示出2个表的主键的表空间是:KSDM    --以下是生成删除主键约束的脚本sql

2、>select'altertable'

3、

4、owner

5、

6、'.'

7、

8、table_name

9、

10、'dropconstraint'

11、

12、constraint_name

13、

14、';'fromdba_constraintswhereconstraint_typein('U','P')  and(index_owner,index_name)in      (selectowner,segment_name         fromdba_segments        wheretablespace_name='KSDM');显示结果如下:altertableTEST.SYS_CODEdro

15、pconstraintPK_CODEID;altertableTEST.KS_WPYP_PWPLGXdropconstraintPK_KS_WPYP_PWPLGX; 执行以上2条显示的结果sql>altertableTEST.SYS_CODEdropconstraintPK_CODEID;表已经更改sql>altertableTEST.KS_WPYP_PWPLGXdropconstraintPK_KS_WPYP_PWPLGX;表已经更改sql>droptablespaceKSDM表空间已经丢弃。DROPTABLESPACEtablespace_nameINCLUDINGCO

16、NTENTSANDDATAFILES;在该用户下写一个存储过程(要保证该用户并不是以dba身份登录的,不然会把系统表都删掉哦)createorreplaceprocedurepro_droptableiscursorcurisselecttable_namefromuser_tables;drop_sqlvarchar2(1000);beginfortbnameincurloopbegindrop_sql:='droptable'

17、

18、tbname.table_name;executeimmediatedrop_sql;end;endloop;endpro_droptable

19、;然后执行就OK啦执行语句:callpro_droptable()删除ORACLE下的用户conn/assysdbadeletefromuser$wherename='dzysc';commit;altersystemflushshared_pool;删除ORACLE下的用户dropuserdzysc  cascade;Oracle回收站空间清空oracle10g,在pl/sql中选中删除后会出现类似:BIN$nJ5JuP9cQmqPaArFei384g==$0的表。1.查看回收站select*fromuser_recyclebin;2.清空回收站purgerecycleb

20、in;3.清空回收站中的某个表--如下方式删除会提示:SQL命令未正确结束。purgetableBIN$/UpBuh+LQ9yZGN95BFsk5Q==$0--正确写法如下:purgetable"BIN$/UpBuh+LQ9yZGN95BFsk5Q==$0";--如下方式删除会提示:SQL命令未正确结束。droptableBIN$/UpBuh+LQ9yZGN95BFsk5Q==$0--而如下这样写,则会提示:无法对回收站中的对象执行DDL/DML。droptable"BIN$0iJ7/rWFQrSGdZexvGv3qQ==$0"4.恢复回收站FLASHBACKTABLE"B

21、IN$0iJ7/rWFQrSGdZexvGv3qQ==$0"TOBEFOREDROP这是10g的新特性在10g中,如果启用flashdrop功能,在drop表时,数据库不会直接删除,而是将其放在回收站中,当空间出现短缺时,才会逐渐回收这部分空间。bin$表示表放在了回收站,你想要的话还可以找回来删除的话一个方法是直接删deletetanlebin$.....;另一种方法就是使用purgetabletable_name;droptable时,不产生他们,修改你的drop语句写成:DROPTABLETABLE_NAME

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。