自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺析Oracle中的表空間查詢方法

數(shù)據(jù)庫 Oracle 數(shù)據(jù)庫運維
在本文中筆者將以oracle為例,詳細介紹查詢Oracle數(shù)據(jù)庫表空間信息和數(shù)據(jù)文件信息的方法。希望能幫助大家更深入了解表空間的知識和應(yīng)用。

提到表空間大家可能都不會陌生,它是數(shù)據(jù)庫中最大的邏輯單位與存儲空間單位,數(shù)據(jù)庫系統(tǒng)通過表空間為數(shù)據(jù)庫對象分配空間。表空間在物理上體現(xiàn)為磁盤數(shù)據(jù)文件,每一個表空間由一個或多個數(shù)據(jù)文件組成,一個數(shù)據(jù)文件只可與一個表空間相聯(lián)系,這是邏輯與物理的統(tǒng)一。了解表空間和數(shù)據(jù)文件的的屬性及使用率,是數(shù)據(jù)庫管理員的一項重要職責。在本文中筆者將以oracle為例,詳細介紹查詢Oracle數(shù)據(jù)庫表空間信息和數(shù)據(jù)文件信息的方法。希望能幫助大家更深入了解表空間的知識和應(yīng)用。

一、如何查看Oracle數(shù)據(jù)庫中表空間信息的方法

1、從Oracle數(shù)據(jù)庫中工具入手:

使用oracle enterprise manager console工具,這是oracle的客戶端工具,當安裝oracle服務(wù)器或客戶端時會自動安裝此工具,在windows操作系統(tǒng)上完成oracle安裝后,通過下面的方法登錄該工具:開始菜單——程序——Oracle-OraHome92——Enterprise Manager Console(單擊)——oracle enterprise manager console登錄——選擇‘獨立啟動’單選框——‘確定’ —— ‘oracle enterprise manager console,獨立’ ——選擇要登錄的‘實例名’ ——彈出‘數(shù)據(jù)庫連接信息’ ——輸入’用戶名/口令’ (一般使用sys用戶),’連接身份’選擇選擇SYSDBA——‘確定’,這時已經(jīng)成功登錄該工具,選擇‘存儲’ ——表空間,會看到如下的界面,該界面顯示了表空間名稱,表空間類型,區(qū)管理類型,以”兆”為單位的表空間大小,已使用的表空間大小及表空間利用率。

2、從Oracle數(shù)據(jù)庫中命令方法入手

通過查詢數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)字典表(data dictionary tables)獲取表空間的相關(guān)信息,首先使用客戶端工具連接到數(shù)據(jù)庫,這些工具可以是SQLPLUS字符工具、TOAD、PL/SQL等,連接到數(shù)據(jù)庫后執(zhí)行如下的查詢語句:

select 
  a.a1 表空間名稱,

  c.c2 類型,

  c.c3 區(qū)管理,

  b.b2/1024/1024 表空間大小M,

  (b.b2-a.a2)/1024/1024 已使用M,

  substr((b.b2-a.a2)/b.b2*100,1,5) 利用率

  from

  (select tablespace_name a1, sum(nvl(bytes,0)) a2 from 
                          dba_free_space group by tablespace_name) a,

  (select tablespace_name b1,sum(bytes) b2 from 
                           dba_data_files group by tablespace_name) b,

  (select tablespace_name c1,contents c2,extent_management c3 from dba_tablespaces) c

  where a.a1=b.b1 and c.c1=b.b1;

該語句通過查詢dba_free_space,dba_data_files,dba_tablespaces這三個數(shù)據(jù)字典表,得到了表空間名稱,表空間類型,區(qū)管理類型,以”兆”為單位的表空間大小,已使用的表空間大小及表空間利用率。dba_free_space表描述了表空間的空閑大小,dba_data_files表描述了數(shù)據(jù)庫中的數(shù)據(jù)文件,dba_tablespaces表描述了數(shù)據(jù)庫中的表空間。

上面語句中from子句后有三個select語句,每個select語句相當于一個視圖,視圖的名稱分別為a、b、c,通過它們之間的關(guān)聯(lián)關(guān)系,我們得到了表空間的相關(guān)信息。

語句執(zhí)行結(jié)果如下:

上面描述中分別介紹了查看Oracle數(shù)據(jù)庫中表空間信息的工具方法和命令方法。

二、查詢Oracle數(shù)據(jù)庫中數(shù)據(jù)文件信息的方法

1、查看Oracle數(shù)據(jù)庫中數(shù)據(jù)文件信息的工具方法

使用上面介紹過的方法登錄oracle enterprise manager console工具,選擇‘存儲’ ——數(shù)據(jù)文件,會看到如下的界面,該界面顯示了數(shù)據(jù)文件名稱,表空間名稱,以”兆”為單位的數(shù)據(jù)文件大小,已使用的數(shù)據(jù)文件大小及數(shù)據(jù)文件利用率。

2、查看Oracle數(shù)據(jù)庫中數(shù)據(jù)文件信息的命令方法:

通過查詢數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)字典表(data dictionary tables)獲取數(shù)據(jù)文件的相關(guān)信息,首先使用客戶端工具連接到數(shù)據(jù)庫,這些工具可以是SQLPLUS字符工具、TOAD、PL/SQL等,連接到數(shù)據(jù)庫后執(zhí)行如下的查詢語句:

 select 
  b.file_name 物理文件名,

  b.tablespace_name 表空間,

  b.bytes/1024/1024 大小M,

  (b.bytes-sum(nvl(a.bytes,0)))/1024/1024 已使用M,

  substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) 利用率

  from dba_free_space a,dba_data_files b

  where a.file_id=b.file_id

  group by b.tablespace_name,b.file_name,b.bytes

  order by b.tablespace_name

上面描述中分別介紹了查看Oracle數(shù)據(jù)庫中數(shù)據(jù)文件信息的工具方法和命令方法。

三、查看臨時表空間和數(shù)據(jù)庫文件的方法

在oracle數(shù)據(jù)庫中,臨時表空間主要用于用戶在使用order by 、group by語句進行排序和匯總時所需的臨時工作空間。要查詢數(shù)據(jù)庫中臨時表空間的名稱,大小及數(shù)據(jù)文件,可以查詢數(shù)據(jù)字典dba_tablespaces及dba_data_files。命令如下:

select 
  a.talbespace_name 表空間名稱,

  b.bytes 大小bytes,

  b.file_name 數(shù)據(jù)文件名

  from dba_tablespaces a, dba_data_files b

  Where a.talbespace_name=b.talbespace_name and a.contents=’TEMPORARY’;

查詢結(jié)果如下:

從oracle 9i開始,可以創(chuàng)建Temporary tablespace類表空間,即“臨時“表空間,這類表空間使用臨時文件。臨時文件的信息被存儲在數(shù)據(jù)字典V$tempfile中。命令如下:

Select file#,status,name from V$tempfile;

查詢數(shù)據(jù)字典V$tempfile結(jié)果如下:

在上面介紹的方法中,建議掌握命令方法,因為你的環(huán)境可能沒有圖形工具,而SQLPLUS一般情況下都是可以使用的,有了命令腳本,很容易得到表空間和數(shù)據(jù)文件的相關(guān)信息。另外,數(shù)據(jù)庫管理員應(yīng)該多整理命令腳本,在需要時直接執(zhí)行腳本以提高工作效率。

在數(shù)據(jù)庫管理員的日常工作中,應(yīng)該經(jīng)常查詢表空間的利用率,按照數(shù)據(jù)庫系統(tǒng)的具體情況估算表空間的增長量,當表空間的利用率超過90%時,要及時采取措施,如清理歷史表、歷史數(shù)據(jù)以釋放空間,向表空間中添加新的數(shù)據(jù)文件,擴展現(xiàn)有數(shù)據(jù)文件大小等方法來降低表空間的利用率,避免表空間利用率接近100%時,將產(chǎn)生空間不夠的錯誤。

 

【編輯推薦】

  1. Oracle數(shù)據(jù)庫中的字符處理技巧
  2. Oracle中只更新兩張表對應(yīng)數(shù)據(jù)的方法
  3. 淺談存取Oracle當中掃描數(shù)據(jù)的方法
責任編輯:佚名 來源: IT專家網(wǎng)
相關(guān)推薦

2010-10-29 11:22:23

Oracle用戶會話

2010-03-24 09:42:12

Oracle數(shù)據(jù)庫

2010-11-15 16:26:46

Oracle系統(tǒng)時間

2010-11-25 16:40:11

MySQL大表重復(fù)字段

2010-10-27 14:41:45

Oracle查詢用戶表

2010-11-16 11:17:41

Oracle表空間大小

2009-11-06 14:07:58

Oracle用戶表空間

2010-11-16 16:26:42

Oracle查詢用戶表

2010-10-29 16:48:30

oracle查詢所有表

2012-07-30 09:50:28

MongoDB

2009-10-21 16:03:06

Oracle查詢用戶表

2011-04-13 09:31:50

Oracle

2009-10-21 14:48:39

Oracle用戶權(quán)限表

2010-09-14 15:51:15

sql遍歷

2009-10-22 16:25:53

Oracle UNDO

2009-06-08 10:20:01

Hibernate查詢

2010-06-10 17:59:05

2009-06-17 15:52:23

Hibernate查詢

2010-11-16 11:40:04

Oracle查詢表空間

2009-06-29 09:03:31

Hibernate多條
點贊
收藏

51CTO技術(shù)棧公眾號