Oracle查詢表空間大小及每個(gè)表所占空間的大小語(yǔ)句示例
查詢 Oracle
數(shù)據(jù)庫(kù)表空間的大小以及每個(gè)表所占空間的大小,在網(wǎng)上搜索了一些查詢語(yǔ)句,在此記錄一下:
1、查詢數(shù)據(jù)庫(kù)中所有的表空間以及表空間所占空間的大小,直接執(zhí)行語(yǔ)句就可以了
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、查詢所有表空間以及每個(gè)表空間的大小,已用空間,剩余空間,使用率和空閑率,直接執(zhí)行語(yǔ)句就可以了
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、查詢某個(gè)具體的表所占空間的大小,把 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
基礎(chǔ)語(yǔ)句
在邏輯結(jié)構(gòu)中, Oracle
從大到下,分別是如下的結(jié)構(gòu):數(shù)據(jù)庫(kù)實(shí)例 -> 表空間 -> 數(shù)據(jù)段(表) -> 區(qū) -> 塊。
也就是說(shuō)當(dāng)我們要使用 Oracle
作為項(xiàng)目的數(shù)據(jù)庫(kù)時(shí),我們需要先創(chuàng)建數(shù)據(jù)庫(kù)實(shí)例,之后創(chuàng)建表空間,再創(chuàng)建相對(duì)應(yīng)的表(也就是邏輯結(jié)構(gòu)中的數(shù)據(jù)段)。
5、創(chuàng)建數(shù)據(jù)庫(kù)實(shí)例
創(chuàng)建數(shù)據(jù)庫(kù)實(shí)例一般使用 配置移植工具 -> Database Configuration Assistant
來(lái)創(chuàng)建。
6、創(chuàng)建表空間
創(chuàng)建名為 animal
的表空間,數(shù)據(jù)文件為 animal.dbf
create user csy identified by csy default tablespace ANIMAL;
查詢當(dāng)前用戶擁有的所的有表空間:
select tablespace_name from user_tablespaces;
7、創(chuàng)建用戶并指定默認(rèn)表空間,并為其授予權(quán)限
創(chuàng)建用戶:
注意:這里的 ANIMAL(表空間)
必須大寫(因?yàn)?Oracle
自動(dòng)將表空間名字全部轉(zhuǎn)為大寫)
create user csy identified by csy default tablespace ANIMAL;
最后,賦予用戶 DBA
權(quán)限:
grant connect, resource, dba to csy;
8、創(chuàng)建表(數(shù)據(jù)段)
下面的語(yǔ)句在 animal
表控件下創(chuàng)建一個(gè)名為 dog
的表:
create table dog ( name varchar(12), age varchar(12) ) tablespace animal;
使用下面的語(yǔ)句查看是否添加成功。查看 ANIMAL
表空間下的所有表:
SELECT tablespace_name, table_name FROM user_tables WHERE tablespace_name = 'ANIMAL';
注意:上面的 ANIMAL
一定要大寫。即使你在創(chuàng)建表空間的時(shí)候輸入的表空間名是小寫的,也還是要大寫。
因?yàn)?Oracle
在存儲(chǔ)表空間的時(shí)候自動(dòng)將名字轉(zhuǎn)化成大寫了。
9、刪除表空間
drop tablespace ANIMAL including contents and datafiles;
10、刪除用戶
drop user user_name cascade;
總結(jié)
到此這篇關(guān)于Oracle查詢表空間大小及每個(gè)表所占空間的大小的文章就介紹到這了,更多相關(guān)Oracle查詢表空間大小內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
oracle停止數(shù)據(jù)庫(kù)后linux完全卸載oracle的詳細(xì)步驟
本文介紹了linux完全卸載oracle的詳細(xì)步驟,卸載前需使用SQL*PLUS停止數(shù)據(jù)庫(kù)和相關(guān)服務(wù),詳細(xì)步驟看下面說(shuō)明,大家可以參考使用2014-01-01oracle數(shù)據(jù)庫(kù)sql的優(yōu)化總結(jié)
自己對(duì)oracle sql的一些優(yōu)化總結(jié),特分享下,方便需要的朋友2013-08-08Oracle數(shù)據(jù)庫(kù)實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)方法
Oracle數(shù)據(jù)庫(kù)的遠(yuǎn)程連接可以通過(guò)多種方式來(lái)實(shí)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫(kù)實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06Oracle學(xué)習(xí)記錄之使用自定義函數(shù)和觸發(fā)器實(shí)現(xiàn)主鍵動(dòng)態(tài)生成
這篇文章主要介紹了Oracle學(xué)習(xí)記錄之使用自定義函數(shù)和觸發(fā)器實(shí)現(xiàn)主鍵動(dòng)態(tài)生成,需要的朋友可以參考下2015-11-11ORACLE常見(jiàn)錯(cuò)誤代碼的分析與解決(一)
ORACLE常見(jiàn)錯(cuò)誤代碼的分析與解決(一)...2007-03-03oracle中print_table存儲(chǔ)過(guò)程實(shí)例介紹
存儲(chǔ)過(guò)程(Stored Procedure),就是一組用于完成特定數(shù)據(jù)庫(kù)功能的SQL語(yǔ)句集,該SQL語(yǔ)句集經(jīng)過(guò)編譯后存儲(chǔ)在數(shù)據(jù)庫(kù)系統(tǒng)中。這篇文章主要介紹了oracle中print_table存儲(chǔ)過(guò)程介紹,需要的朋友可以參考下2018-09-09