亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Tablespace表空間刪除

發布時間:2020-08-09 23:34:27 來源:ITPUB博客 閱讀:197 作者:kakaxi9521 欄目:關系型數據庫
一、普通表空間刪除:
Oracle 11g刪除表空間語法描述:
DROP TABLESPACE tablespace_name   [ including contents [ and datafiles ] [ CASCADE CONSTRAINT 搜索] ]; 
  無選項 -- 當表空間為空才能刪除;  
  including contents — 刪除表空間及對象;  
  including contents and datafiles — 刪除表空間、對象及數據文件;  
  including contents CASCADE CONSTRAINT — 刪除關聯;  
  including contents and datafiles cascade constraint -- 含前兩項。


生成腳本:
select 'drop tablespace '||tablespace_name||' including contents and datafiles cascade constraint;' from dba_data_files  where tablespace_name not in('SYSTEM','SYSAUX','USERS','EXAMPLE','UNDOTBS2','UNDOTBS1')




二、分區表空間刪除:


select 'alter table '||owner||'.'||segment_name||' drop partition '||partition_name||' ;'
from dba_segments
where segment_name in (select distinct segment_name
from dba_segments
where tablespace_name = 'p1'
and segment_type like '%PART%')
and tablespace_name <> 'p1'; 


得出: 
alter table CP.IDX_CP_HANDLE_BATCH_NO drop partition SYS_P200 ;
alter table CP.IDX_CP_HANDLE_REQUEST_ID drop partition SYS_P200 ;
alter table CP.IDX_CP_PAYMENT_REQUEST_ID drop partition SYS_P201 ;
alter table CP.IDX_CP_PAYMENT_TRAN_NO drop partition SYS_P201 ;
alter table CP.IDX_CP_REQUEST_ID drop partition SYS_P199 ;
alter table CP.IDX_CP_REQUEST_TRAN_NO drop partition SYS_P199 ;
alter table CP.TBL_CP_HANDLE drop partition SYS_P200 ;
alter table CP.TBL_CP_PAYMENT drop partition SYS_P201 ;
alter table CP.TBL_CP_REQUEST drop partition SYS_P199 ; 


三、異常處理:
報錯有下面幾種:
一. ORA-23515
--- ORA-23515: materialized views and/or their indices exist in the tablespace
drop tablespace crm_data including contents and datafiles
*
ERROR at line 1:
ORA-23515: materialized views and/or their indices exist in the tablespace


意思是:該表空間 CRM_DATA含有物化視圖,或者含有物化視圖的索引
解決辦法:
-- 首先刪掉該表空間下的的物化視圖
select 'drop  materialized view '||owner||'.'||segment_name||' ;'
  from dba_segments
 where segment_name in (select mview_name from dba_mviews)
   and tablespace_name = 'CRM_DATA'


-- 然后刪除該表空間下的其他表空間下物化視圖在本表空間下創建的索引
select *
  from dba_segments
 where tablespace_name = 'CRM_DATA'
   and segment_name in
       (select index_name
          from dba_indexes
         where table_name in (select mview_name from dba_mviews));
二. ORA-02429
---ORA-02429: cannot drop index used for enforcement of unique/primary key
drop tablespace crm_idx including contents cascade constraints
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-02429: cannot drop index used for enforcement of unique/primary key
ORA-02429的意思是: 讓你刪除該表空間下面的 primary key 和 unique key
處理辦法:
select 'alter table '||owner||'.'||table_name||' drop constraint '||constraint_name||' ;'
  from dba_constraints
 where constraint_type in ('U', 'P')
   and (index_owner, index_name) in
       (select owner, segment_name
          from dba_segments
         where tablespace_name = 'CRM_IDX');


三. ORA-14404
--ORA-14404: partitioned table contains partitions in a different tablespace
drop tablespace crm_arc_data including contents and datafiles
*
ERROR at line 1:
ORA-14404: partitioned table contains partitions in a different tablespace
意思是: 本表空間下面有這么樣一個或一些分區表的分區: this partition OR partitions的table所包含的全部 partitions不在一個表空間下面:
處理辦法:
select 'alter table '||owner||'.'||segment_name||' drop partition '||partition_name||' ;'
  from dba_segments
 where segment_name in (select distinct segment_name
                          from dba_segments
                         where tablespace_name = 'CRM_ARC_DATA'
                           and segment_type like '%PART%')
   and tablespace_name <> 'CRM_ARC_DATA';
殺手锏: 直接drop 這個分區表(如果允許的話)


四. ORA-02449
--- ORA-02449: unique/primary keys in table referenced by foreign keys
drop tablespace crm_data including contents and datafiles
*
ERROR at line 1:
ORA-02449: unique/primary keys in table referenced by foreign keys
意思是: 這個要刪除的表空間 里面含有這么樣的一些主鍵: 其他表空間的表在這些主鍵上建有外鍵
處理辦法: 去掉這些垃圾外鍵
select 'alter table '||owner||'.'||table_name||' drop constraint '||constraint_name||' ;'
  from dba_constraints
 where constraint_type = 'R'
   and table_name in (select segment_name
                        from dba_segments
                       where tablespace_name = 'CRM_DATA'
                         and segment_type like '%TABLE%');                       
如果還是不行的話,就用這個語句來刪表空間吧:
drop tablespace crm_data including contents cascade constraints


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

图们市| 抚宁县| 永胜县| 伽师县| 唐山市| 竹北市| 宣恩县| 达拉特旗| 庆安县| 霸州市| 松滋市| 都江堰市| 多伦县| 马鞍山市| 连州市| 石屏县| 磐安县| 浏阳市| 桓台县| 通榆县| 天等县| 济阳县| 资溪县| 宝坻区| 聂拉木县| 大关县| 宁津县| 无为县| 客服| 泸西县| 九台市| 文昌市| 万荣县| 腾冲县| 柳林县| 会同县| 黔西县| 库伦旗| 弋阳县| 虞城县| 玉树县|