oracle檢視表空間並擴容,解決查詢慢問題

2021-10-01 09:39:12 字數 1554 閱讀 9083

資料庫非常慢,簡單的sql速度也很慢。

可能的原因:

1、歸檔日誌是否滿了。 (如果滿了,清理下)

2、表空間是否滿了。

這裡說下表空間的處理。

檢視表空間及使用率(total表示目前的可用空間):

-- 檢視表空間及使用率等資訊

select

a.tablespace_name,

filenum,

total "total (mb)"

, f.free "free (mb)"

, to_char (

round

( free *

100/ total,2)

,'990.00'

)"free%"

, to_char (

round

(( total - free )

*100

/ total,2)

,'990.00'

)"used%"

,round

( maxsizes,2)

"max (mb)"

from

(select

tablespace_name,

count

( file_id ) filenum,

sum( bytes /

(1024

*1024

)) total,

sum( maxbytes )

/1024

/1024 maxsizes

from

dba_data_files

group

by tablespace_name

) a,

(select tablespace_name,

round

(sum

( bytes /

(1024

*1024))

) free from dba_free_space group

by tablespace_name ) f

where

a.tablespace_name = f.tablespace_name

一看使用率確實很高,達到了95%。

修改表空間大小,根據上述查詢的total來看。

-- 設定可用空間,注:可用空間不能超過最大空間,就是上面查詢結果的最後一列

alter

-- 設定為自動擴充套件

alter

;

擴充套件完表空間需要重啟嗎?

不確定,為了確保萬一,我是重啟了。 (生產環境一定要在視窗期操作額)

再次查詢速度果然快了很多。

命令如下:

col file_name for a60;

-- 檔名字元長度為60個字元

set linesize 160

;-- 每行最多顯示160個字元

select file_name,tablespace_name,bytes from dba_data_files;

oracle檢視表空間使用率及擴容

oracle表空間使用率檢視,首先登入,sysdba使用者,select tablespace name 表空間 to char round bytes 1024,2 99990.00 實有 to char round free 1024,2 99990.00 g 現有 to char round ...

oracle 檢視表空間大小

1.檢視所有表空間大小 sql select tablespace name,sum bytes 1024 1024 from dba data files 2 group by tablespace name 2.已經使用的表空間大小 sql select tablespace name,sum ...

oracle檢視表空間情況

查詢表空間的總容量 select tablespace name 表空間名稱,sum bytes 1024 1024 表空間總容量mb 查詢表空間使用率 select total.tablespace name 表空間名稱,round total.mb,2 總容量mb,round total.mb ...