刪除Oracle用戶及表空間

来源:https://www.cnblogs.com/ritchy/archive/2019/04/03/10647651.html
-Advertisement-
Play Games

--轉載自 https://blog.csdn.net/sunny05296/article/details/81126548--以sysdba用戶登錄,查找需要刪除的用戶conn / as sysdba --查找用戶select * from dba_users;select username f ...


--轉載自 https://blog.csdn.net/sunny05296/article/details/81126548
--以sysdba用戶登錄,查找需要刪除的用戶
conn / as sysdba

--查找用戶
select * from dba_users;
select username from dba_users;
select username from dba_users where username='JACK';
select username from all_users where username='JACK';

--查看所有表空間總大小、已使用大小、剩餘大小
select a.tablespace_name,
total "Total(M)",
free "Free(M)",
total - free "Used(M)",
round(((total - free) / total) * 100, 2) "Used(%)"
from (select tablespace_name, sum(bytes) / 1024 / 1024 total
from dba_data_files
group by tablespace_name) a,
  (select tablespace_name, sum(bytes) / 1024 / 1024 free
from dba_free_space
group by tablespace_name) b
where a.tablespace_name = b.tablespace_name;

--查找表空間存儲文件的路徑
select * from dba_data_files; 

--查看所有表占用的表空間的大小
select t.segment_name, t.segment_type, sum(t.bytes / 1024 / 1024) "占用空間(M)"
from dba_segments t
where t.segment_type='TABLE'
group by OWNER, t.segment_name, t.segment_type;

--查看表所屬的用戶
select owner,table_name from dba_tables where table_name='TEST_TBL01';

--查看用戶所在的表空間(查看當前用戶的預設表空間)
conn JACK
select username,default_tablespace from user_users;

--查看表所屬的表空間(查看所有表)
select table_name,tablespace_name from user_tables;

--查看表所屬的表空間(查看指定表)
select table_name,tablespace_name from user_tables where table_name=upper('&table_name'); 

--刪除用戶
--註意:指定 cascade 會刪除用戶下的所有對象(包括表、視圖、主鍵、外鍵、索引等;但不會刪除存儲過程、函數、包)。如果不指定則僅僅只刪除用戶,一般建議指定
conn /as sysdba 
drop user myusername cascade;

--刪除表空間
drop tablespace mytablespace including contents and datafiles cascade constraint;

例如:刪除用戶JACK及表空間USER_DATA:
--刪除用戶JACK,級聯刪除
drop user JACK cascade;
--刪除表空間,及對應的表空間文件也刪除掉。註意:如果多個用戶使用相同的表空間,刪除用戶時不要刪除表空間
drop tablespace USER_DATA including contents and datafiles cascade constraint;

--Tablespace表空間刪除
--轉自 http://blog.itpub.net/28793776/viewspace-1587612
一、普通表空間刪除:
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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文適合初學JAVA,要用到MySQL開發的學習者。 第一步、下載MySQL 1. 百度mysql,找到官網,點擊進入。 2. 進入官網,點擊DOWNLOADS,在DOWNLOADS菜單欄中點擊Community,接著在左側菜單欄中找到MySQL Community Server, 點擊進入。 3. ...
  • 以下命令均在mysql命令行下執行。1. 修改表名稱有2種方法,mysql命令行,沒有區分大小寫,方法1:mysql>ALTER TABLE 表名l RENAME TO 表名2; 方法2:mysql>rename table 表名1 to 表名2; 2. 修改表中的欄位預設值,mysql>ALTER ...
  • 1、mysqladmin語句: # 查看mysql版本 mysqladmin version # 更改root用戶密碼 mysqladmin -u root -p原密碼 password '新密碼' # 查看資料庫是否可用 mysqladmin -uroot -p ping # 創建資料庫 mysq ...
  • 很久沒有使用命令行操作Mysql,百度搜羅,重新整理,加強記憶,便於查詢。 以下命令均在win7,64位操作系統下,cmd命令行操作; 一、創建1個Mysql 資料庫 二、刪除1個Mysql資料庫 ...
  • 這是國外數據科學學習平臺DataCamp成員寫的一篇圖文《8步成為數據科學家》。我們具體來看下有哪些學習內容和學習資源。 ...
  • AIX 7.2 下Oracle 11.2.0.4 RAC資料庫root用戶在使用 /u01/app/11.2.0/grid/OPatch/opatch auto /soft/28813878 -ocmrf /soft/ocm.rsp 安裝11.2.0.4.20190115 PSU時,遇到 patch ...
  • Elasticsearch的映射(mapping)是什麼? 在創建索引時, 如何對不同的數據類型進行特殊的配置與操作? 映射(mapping)有哪些組成部分? 如何配置和更新mapping? 這篇文章通通告訴你. ...
  • 為什麼要配置主從同步? 如果一臺資料庫伺服器掛了,還有一個備用 為了方便配置,我採用兩台WinServer2003虛擬機: 1.前期準備工作:安裝好鏡像文件,VMTOOLS,MySQL5.5 我這裡以192.168.111.134為主伺服器(以下簡稱134) 打開my.ini文件: 在最下麵加上這些 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...