① 查詢Oracle資料庫表空間信息的方法
表空間是資料庫中最大的邏輯單位與存儲空間單位 資料庫系統通過表空間為資料庫對象分配空間 表空間在物理上體現為磁碟數據文件 每一個表空間由一個或多個數據文件組成 一個數據文件只可與一個表空間相聯系 這是邏輯與物理的統一 了解表空間和數據文件的的屬性及使用率 是資料庫管理員的一項重要職責 在本文中筆者將以oracle為例 詳細介紹查詢Oracle資料庫表空間信息和數據文件信息的方法 希望能幫助大家更深入了解表空間的知識和應用
一 如何查看嘩陪Oracle資料庫中表空間信息的方法
從Oracle資料庫中工具入手
使用oracle enterprise manager console工具 這是oracle的客戶端工具 當安裝oracle伺服器或客戶端時會自動安裝此工具 在windows操作系統上完成oracle安裝後 通過下面的方法登錄該工具 開始菜單——程序——Oracle OraHome ——Enterprise Manager Console(單擊)——oracle enterprise manager console登錄——選擇 獨立啟動 單選框—— 確定 —— oracle enterprise manager console 獨立 ——選擇要登錄的 實例名 ——彈出 資料庫連接信息 ——輸入 用戶名/口令 (一般使用sys用戶) 連接身份 選擇選擇SYSDBA—— 確定 這時已經成功登錄該工具 選擇 存儲 ——表空間 會看到如下的界面 該界面顯示了表空間名稱 表空間類型 區管理類型 以 兆 為單位的表空間大小 已使用的表空間大小及表空間利用率
從Oracle資料庫中命令方法入手
通過查詢資料庫系統中的數據字典表(data dictionary tables)獲取表空間的相關信息 首先使用客戶端工具連接到穗肆資料庫 這些工具可以是SQLPLUS字元工具 TOAD PL/SQL等 連接到資料庫後執行如下的猜蘆轎查詢語句
select a a 表空間名稱 c c 類型 c c 區管理 b b / / 表空間大小M (b b a a )/ / 已使用M substr((b b a a )/b b * ) 利用率from(select tablespace_name a sum(nvl(bytes )) a from dba_free_space group by tablespace_name) a (select tablespace_name b sum(bytes) b from dba_data_files group by tablespace_name) b (select tablespace_name c contents c extent_management c from dba_tablespaces) cwhere a a =b b and c c =b b ;
該語句通過查詢dba_free_space dba_data_files dba_tablespaces這三個數據字典表 得到了表空間名稱 表空間類型 區管理類型 以 兆 為單位的表空間大小 已使用的表空間大小及表空間利用率 dba_free_space表描述了表空間的空閑大小 dba_data_files表描述了資料庫中的數據文件 dba_tablespaces表描述了資料庫中的表空間
上面語句中from子句後有三個select語句 每個select語句相當於一個視圖 視圖的名稱分別為a b c 通過它們之間的關聯關系 我們得到了表空間的相關信息
語句執行結果如下
上面描述中分別介紹了查看Oracle資料庫中表空間信息的工具方法和命令方法
二 查詢Oracle資料庫中數據文件信息的方法
查看Oracle資料庫中數據文件信息的工具方法
使用上面介紹過的方法登錄oracle enterprise manager console工具 選擇 存儲 ——數據文件 會看到如下的界面 該界面顯示了數據文件名稱 表空間名稱 以 兆 為單位的數據文件大小 已使用的數據文件大小及數據文件利用率
查看Oracle資料庫中數據文件信息的命令方法
通過查詢資料庫系統中的數據字典表(data dictionary tables)獲取數據文件的相關信息 首先使用客戶端工具連接到資料庫 這些工具可以是SQLPLUS字元工具 TOAD PL/SQL等 連接到資料庫後執行如下的查詢語句
select b file_name 物理文件名 b tablespace_name 表空間 b bytes/ / 大小M (b bytes sum(nvl(a bytes )))/ / 已使用M substr((b bytes sum(nvl(a bytes )))/(b bytes)* ) 利用率from dba_free_space a dba_data_files bwhere a file_id=b file_idgroup by b tablespace_name b file_name b bytesorder by b tablespace_name
上面描述中分別介紹了查看Oracle資料庫中數據文件信息的工具方法和命令方法
三 查看臨時表空間和資料庫文件的方法
在oracle資料庫中 臨時表空間主要用於用戶在使用order by group by語句進行排序和匯總時所需的臨時工作空間 要查詢資料庫中臨時表空間的名稱 大小及數據文件 可以查詢數據字典dba_tablespaces及dba_data_files 命令如下
select a talbespace_name 表空間名稱 b bytes 大小bytes b file_name 數據文件名from dba_tablespaces a dba_data_files bWhere a talbespace_name=b talbespace_name and ntents= TEMPORARY ;
查詢結果如下
從oracle i開始 可以創建Temporary tablespace類表空間 即 臨時 表空間 這類表空間使用臨時文件 臨時文件的信息被存儲在數據字典V$tempfile中 命令如下
Select file# status name from V$tempfile;
查詢數據字典V$tempfile結果如下
在上面介紹的方法中 建議掌握命令方法 因為你的環境可能沒有圖形工具 而SQLPLUS一般情況下都是可以使用的 有了命令腳本 很容易得到表空間和數據文件的相關信息 另外 資料庫管理員應該多整理命令腳本 在需要時直接執行腳本以提高工作效率
lishixin/Article/program/Oracle/201311/18471
② 怎麼查看oracle里有哪些資料庫,以及資料庫里有哪些表
通過以下方式可以查看oracle里有哪些資料庫,以及資料庫里有哪些表:
1、SELECT*FROMALL_TABLES;系統里有許可權的表。
2、SELECT*FROMDBA_TABLES;系統表。
3、SELECT*FROMUSER_TABLES;當前用戶下的表。
③ oracle資料庫如何查詢表數據量
1、查看錶空間的大小,首先我們要登錄到oracle資料庫,我們要使用管理員的身份登錄,因為管理員的許可權要相對的大一些。
2、登錄到資料庫之後,我們要在側邊欄找到dataspace這個文件夾,這個文件夾下存放的就是我們管理員可以管理的所有的表空間的名稱。
3、根據dataspace文件夾下的內容名稱,選擇我們想要看的表空間,使用右鍵點擊的方式,選擇右鍵顯示中的屬性按鈕。
4、進入到屬性表之後,我們可以看到當前表空間的許多屬性,其中有個屬性叫做segment
space
management的選項,當這個選項的值為auto的時候,表示當前表空間是可以自增長的,否則就是固定大小的。