資料庫非常慢,簡單的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 ...