Oracle--查詢表空間、schema、表等儲存情況操作
一、對錶空間的查詢
表空間是資料庫的邏輯劃分,一個表空間只能屬於一個數據庫。所有的資料庫物件都存放在指定的表空間中。但主要存放的是表, 所以稱作表空間。
Oracle資料庫中至少存在一個表空間,即SYSTEM的表空間。
1、查詢所有表空間名
select tablespace_name from sys.dba_tablespaces;
2、查詢所有表空間大小
//單位M
SELECT DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) "表空間大小(M)"
FROM SYS. DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME
3、查詢所有表空間剩餘空間大小
SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) "空閒空間(M)",
ROUND(MAX(BYTES) / (1024 * 1024), 2) "最大塊(M)"
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME
4、表空間已使用大小
--方法一:總表空間 - 空閒表空間
select d.tablespace_name, d.totalSize - f.freeSize "已使用空間(M)"
from
(
SELECT DD.TABLESPACE_NAME,ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) totalSize
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME
) d,
(
SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) freeSize
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME
) f
where d.TABLESPACE_NAME = f.TABLESPACE_NAME
--方法二:
select TABLESPACE_NAME,round(sum(bytes)/(1024*1024),2) "已使用空間(M)" from sys.dba_segments GROUP BY TABLESPACE_NAME
注:建議採用第一種方法,第二種方法會忽略未使用的表空間,且第一種方法得到的結果普遍比第二種方法得到的結果大1M,第一種方法得到的結果應該更準確
5、增加表空間大小的方式
--第一種:格式化資料檔案初始大小並設定自增長到最大值
create tablespace d_test1 datafile '/test1_data/datafile01.dbf' size 10m autoextend on next 5m maxsize 100m;
--第二種:格式化資料檔案初始大小不設定自增長,當然也就沒有最大值
alter tablespace d_test1 add datafile '/test1_data/datafile02.dbf' size 10m;
二、對schema的查詢
1、查詢所有schema
//一個使用者(user)對應一個方案(schema)
select username from sys.dba_users
2、查詢schema下的所有表
select table_name from sys.dba_tables where owner='schema名';
3、查詢所有的schema及所屬的所有表
select s.username "schema",t.table_name "table_name" from sys.dba_users s left join sys.dba_tables t on s.username=t.owner order by s.username asc
4、查詢所有的schema所佔空間大小
//消耗的總磁碟空間(包括索引、表空間空閒空間),單位G
select
owner,
sum(bytes)/1024/1024/1024 schema_size_gig
from
sys.dba_segments
group by
owner;
5、查詢指定schema各segment_type佔用空間大小
select
sum(bytes)/1024/1024/1024 as size_in_gig,
segment_type
from
dba_segments
where
owner='SCOTT'
group by
segment_type;
Drop Table 之後,如果空間不能回收,需要執行下面語句
清除當前使用者的回收站:purge recyclebin;
清除所有使用者的回收站:purge dba_recyclebin;
三、查詢表
1、通過指定表空間查詢所屬的表名
Select Table_Name, Tablespace_Name
From Dba_Tables
Where Tablespace_Name = 'USERS';
2、通過指定表空間查詢所屬表的佔用空間
select segment_name, bytes/1024||'KB' "佔用空間"
from user_segments
where segment_type='TABLE' and tablespace_name='USERS' order by segment_name asc
相關推薦
Oracle--查詢表空間、schema、表等儲存情況操作
一、對錶空間的查詢 表空間是資料庫的邏輯劃分,一個表空間只能屬於一個數據庫。所有的資料庫物件都存放在指定的表空間中。但主要存放的是表, 所以稱作表空間。 Oracle資料庫中至少存在一個表空間,即SYSTEM的表空間。 1、查詢所有
oracle查詢表空間大小以及每個表所佔空間的大小
1、查詢資料庫中所有的表空間以及表空間所佔空間的大小,直接執行語句就可以了: select tablespace_name, sum(bytes)/1024/1024 from dba_data_files group by tablespace_name; 2、查看
ORACLE 資料庫、表空間、SCHEMA、資料檔案的概念
在Oracle中,結合邏輯儲存與物理儲存的概念,我們可以這樣來理解資料庫、表空間、SCHEMA、資料檔案這些概念: 資料庫是一個大圈,裡面圈著的是表空間,表空間裡面是資料檔案,那麼schema是什麼呢?schema是一個邏輯概念,是一個集合,但schem
DB2資料庫-庫級別配置-編碼、schema以及表空間配置
編碼格式的配置。 使用db2 get db cfg for databasename命令查詢,可以看到程式碼集為UTF-8 例如 db2 get db cfg for test, 得到如下結果。 如需要注意的時,資料庫建庫時一旦指定了程式碼集,則不能修改,只能刪除重建。 建庫
表空間、資料檔案、schema、表的關係
首先,你需要明白的一點是:資料庫的物理結構是由資料庫的作業系統檔案所決定,每一個Oracle資料庫是由三種類型的檔案組成:資料檔案、日誌檔案和控制檔案。資料庫的檔案為資料庫資訊提供真正的物理儲存。 每一個Oracle資料庫有一個或多個物理的資料檔案(data file)。一個
Oracle 查詢表空間及某個表的大小
1、查詢某個表的大小 (需更改“你要查詢的使用者”) --注,僅表資料的大小,不含索引、分割槽、LOB型別 select Segment_Name "表名",sum(bytes)/1024/1024 "表大小(M)" From User_Extents Group B
冒泡排序、36選7不重復、水仙花數、九九乘法表等案例
strong table 整數 排序 sum n) += flag false 九九乘法表 var str = ‘<table border=1px>‘; for(var i = 1;i <=9 ;i++ ){
oracle查詢表空間使用率
oracle表空間SELECT TABLESPACE_NAME, MEGS_ALLOC "Size(m)", MEGS_FREE "Free(m)", MEGS_USED "Used(m)", PCT_
ORACLE 查詢表空間使用情況
SELECT a.tablespace_name ,--表空間 Round(a.bytes/(1024*1024*1024),3),-- 大小G Round(b.bytes/(1024*1024*1024)), --已使用G Round(c.bytes/(10
postgresql中cluster、catalog、database、schema、table的區別
Example Scenario For example, a company could have two different software development teams. One writes software to manage the warehouses
二十八、全域性臨時表用於多delete操作的SQL優化
全域性臨時表用於多delete操作的SQL優化 某日,某某生產系統忽然日誌暴增,
Oracle查詢表空間使用情況
通過dba_data_files 與dba_free_space 按照tablespace_name分組統計,然後進行關聯即可select c.tablespace_name "表空間",
如何用DELPHI實現把WORD、EXCEL和圖片等儲存到資料庫中
用image欄位儲存這些文件。 var word_stream: TMemoryStream; filename: string; begin if odgDoc.Execut
oracle查詢表空間的空間佔用情況
轉自: http://www.cnblogs.com/HondaHsu/archive/2009/08/14/1545914.html select a.tablespace_name,a.bytes bytes_used,b.largest,round(((a.byt
單鏈表順序儲存相關操作的c語言實現
以前學資料結構時,對於單鏈表的順序儲存的原理都懂,但是從沒有好好地程式設計實現一下,現在呢,重溫資料結構,然後實現了一下.下面是原始碼.實現了初始化,建立,查詢,刪除,定位還有兩個連結串列的合併.#i
[oracle]表空間情況查看、占用、擴容、使用情況、空間維護等操作
file where sed limit sel dbf limited 每次 文件大小 --查詢表空間使用情況SELECT Upper(F.TABLESPACE_NAME) "表空間名", D.TOT_GROOTTE_MB
Oracle中查詢表的大小、表的佔用情況和表空間的大小
有兩種含義的表大小。一種是分配給一個表的物理空間數量,而不管空間是否被使用。可以這樣查詢獲得位元組數: select segment_name, bytes from user_segments where segment_type = 'TABLE'; 或者 &
分享知識-快樂自己:Oracle基本語法(建立:表空間、使用者、授權、約束等)使用指南
--2.1)建立主鍵約束-- alter table Student add constraint PK_Student_StuId primary key(StuId); alter table StuClass add constraint PK_StuClass_ClassId primar
mysql、oracle、sqlserver根據對應的表查詢表中的所有欄位名稱、型別、別名、長度等資訊
SELECT t.COLUMN_NAME AS NAME, ( CASE WHEN t.IS_NULLABLE = 'YES' THEN '1' ELSE '0' END ) AS isNull, (t.ORDINAL_POSITION * 10) AS sort, is
Oracle創建用戶、角色、授權、建表空間
數據 revoke 空間名 plus with 其他 ini ota article oracle數據庫的權限系統分為系統權限與對象權限。系統權限( database system privilege )可以讓用戶執行特定的命令集。例如,create table權限允許用戶