国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Oracle查詢表空間大小及每個表所占空間的大小語句示例

瀏覽:126日期:2023-03-12 15:25:35
目錄
  • 1、查詢數據庫中所有的表空間以及表空間所占空間的大小,直接執行語句就可以了
  • 2、查看表空間物理文件的名稱及大小
  • 3、查詢所有表空間以及每個表空間的大小,已用空間,剩余空間,使用率和空閑率,直接執行語句就可以了
  • 4、查詢某個具體的表所占空間的大小,把 TABLE_NAME 換成具體要查詢的表的名稱就可以了
  • 5、創建數據庫實例
  • 6、創建表空間
  • 7、創建用戶并指定默認表空間,并為其授予權限
  • 8、創建表(數據段)
  • 9、刪除表空間
  • 10、刪除用戶
  • 總結

查詢 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查詢表空間大小內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: Oracle
主站蜘蛛池模板: 阳江市| 循化| 连州市| 上高县| 甘德县| 泸西县| 香河县| 林西县| 河北区| 大埔区| 新丰县| 兰西县| 长宁区| 石狮市| 普兰店市| 云霄县| 河源市| 邹城市| 榆林市| 甘孜| 漳州市| 海原县| 钟祥市| 武乡县| 枣庄市| 松原市| 扶余县| 福州市| 金塔县| 天镇县| 水城县| 冕宁县| 宁海县| 水富县| 名山县| 绵竹市| 洞头县| 满城县| 航空| 平度市| 永定县|