Oracle查詢表空間大小及每個表所占空間的大小語句示例
查詢 Oracle
數據庫表空間的大小以及每個表所占空間的大小,在網上搜索瞭一些查詢語句,在此記錄一下:
1、查詢數據庫中所有的表空間以及表空間所占空間的大小,直接執行語句就可以瞭
SELECT tablespace_name, sum( bytes ) / 1024 / 1024 FROM dba_data_files GROUP BY tablespace_name;
2、查看表空間物理文件的名稱及大小
SELECT tablespace_name, file_id, file_name, round( bytes / ( 1024 * 1024 ), 0 ) total_space FROM dba_data_files ORDER BY tablespace_name;
3、查詢所有表空間以及每個表空間的大小,已用空間,剩餘空間,使用率和空閑率,直接執行語句就可以瞭
SELECT a.tablespace_name, total, free, total - free AS used, substr( free / total * 100, 1, 5 ) AS "FREE%", substr( ( total - free ) / total * 100, 1, 5 ) AS "USED%" FROM (SELECT tablespace_name, sum( bytes ) / 1024 / 1024 AS total FROM dba_data_files GROUP BY tablespace_name) a, (SELECT tablespace_name, sum( bytes ) / 1024 / 1024 AS free FROM dba_free_space GROUP BY tablespace_name) b WHERE a.tablespace_name = b.tablespace_name ORDER BY a.tablespace_name;
4、查詢某個具體的表所占空間的大小,把 TABLE_NAME 換成具體要查詢的表的名稱就可以瞭
SELECT t.segment_name, t.segment_type, sum( t.bytes / 1024 / 1024 ) "占用空間(M)" FROM dba_segments t WHERE t.segment_type = 'TABLE' AND t.segment_name = 'TABLE_NAME' GROUP BY OWNER, t.segment_name, t.segment_type;
一些 Oracle
基礎語句
在邏輯結構中, Oracle
從大到下,分別是如下的結構:數據庫實例 -> 表空間 -> 數據段(表) -> 區 -> 塊。
也就是說當我們要使用 Oracle
作為項目的數據庫時,我們需要先創建數據庫實例,之後創建表空間,再創建相對應的表(也就是邏輯結構中的數據段)。
5、創建數據庫實例
創建數據庫實例一般使用 配置移植工具 -> Database Configuration Assistant
來創建。
6、創建表空間
創建名為 animal
的表空間,數據文件為 animal.dbf
create user csy identified by csy default tablespace ANIMAL;
查詢當前用戶擁有的所的有表空間:
select tablespace_name from user_tablespaces;
7、創建用戶並指定默認表空間,並為其授予權限
創建用戶:
註意:這裡的 ANIMAL(表空間)
必須大寫(因為 Oracle
自動將表空間名字全部轉為大寫)
create user csy identified by csy default tablespace ANIMAL;
最後,賦予用戶 DBA
權限:
grant connect, resource, dba to csy;
8、創建表(數據段)
下面的語句在 animal
表控件下創建一個名為 dog
的表:
create table dog ( name varchar(12), age varchar(12) ) tablespace animal;
使用下面的語句查看是否添加成功。查看 ANIMAL
表空間下的所有表:
SELECT tablespace_name, table_name FROM user_tables WHERE tablespace_name = 'ANIMAL';
註意:上面的 ANIMAL
一定要大寫。即使你在創建表空間的時候輸入的表空間名是小寫的,也還是要大寫。
因為 Oracle
在存儲表空間的時候自動將名字轉化成大寫瞭。
9、刪除表空間
drop tablespace ANIMAL including contents and datafiles;
10、刪除用戶
drop user user_name cascade;
總結
到此這篇關於Oracle查詢表空間大小及每個表所占空間的大小的文章就介紹到這瞭,更多相關Oracle查詢表空間大小內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!