一般巡檢的操作
檢查內存
grep "Physical:" /var/adm/syslog/syslog.log
或
# /usr/sbin/dmesg | grep "Physical:"
系統硬件配置檢查
# /opt/ignite/bin/print_manifest
Show parameter sga
Show parameter pga
檢查鎖
----查詢TX鎖----
SELECT l.session_id sid, s.serial#, l.locked_mode,l.oracle_username,
l.os_user_name,s.machine, s.terminal, o.object_name, s.logon_time,a.sql_text
FROM v$locked_object l, all_objects o, v$session s,v$sqlarea a
WHERE l.object_id = o.object_id
AND l.session_id = s.sid
and a.address=s.prev_sql_addr
ORDER BY sid, s.serial# ;
----查詢TM鎖----
select /*+ rule */
lpad('--', decode(b.block, 1, 0, 4)) || s.username user_name,
b.type,
o.owner || '.' || o.object_name object_name,
s.sid,
s.serial#,
decode(b.request, 0, 'BLOCKED', 'Waiting') status,
t.SQL_TEXT
from dba_objects o,
v$session s,
v$lock v,
v$lock b,
v$sqltext_with_newlines t
where v.id1 = o.object_id
and v.sid = s.sid
and v.sid = b.sid
and (b.block = 1 or b.request > 0)
and v.type = 'TM'
and t.ADDRESS = s.PREV_SQL_ADDR
order by status,s.sid;
----進程數
select count(*) from v$process;
select count(*) from v$session;
select count(*) from v$session where status='ACTIVE';
數據庫總體性能檢查
----緩衝區命中率
SELECT (1 - (SUM(DECODE(NAME, 'physical reads', VALUE, 0)) /
(SUM(DECODE(NAME, 'db block gets', VALUE, 0)) +
SUM(DECODE(NAME, 'consistent gets', VALUE, 0))))) * 100
"緩衝區命中率"
FROM V$SYSSTAT;
----數據字典命中率
SELECT (1 - (SUM(GETMISSES) / SUM(GETS))) * 100 "數據字典命中率"
FROM V$ROWCACHE;
----庫緩存命中率
SELECT SUM(PINS) / (SUM(PINS) + SUM(RELOADS)) * 100 "庫緩存命中率"
FROM V$LIBRARYCACHE;
----內存排序百分比
select a.value "磁盤排序",
b.value "內存排序",
round((100 * b.value) /decode((a.value + b.value), 0, 1, (a.value + b.value)),2) "內存排序百分比"
from v$sysstat a, v$sysstat b
where a.name = 'sorts (disk)'
and b.name = 'sorts (memory)';
----檢查當前數據庫的等待
select se.sid,s.serial#, s.username, se.event, se.wait_time, se.seconds_in_wait
from v$session s, v$session_wait se
where s.USERNAME is not null
and se.SID = s.SID
and s.STATUS = 'ACTIVE'
and se.EVENT not like '%SQL*Net%'
and se.wait_time=0
order by se.wait_time desc;
----表空間使用率
SELECT d.tablespace_name
,round((1 - nvl(free_space, 0) / space) * 100, 0) "used_rate(%)"
FROM (SELECT tablespace_name
,round(SUM(bytes) / (1024 * 1024), 0) space
,SUM(blocks) blocks
FROM dba_data_files
GROUP BY tablespace_name) d
,(SELECT tablespace_name
,round(SUM(bytes) / (1024 * 1024), 0) free_space
FROM dba_free_space
GROUP BY tablespace_name) f
WHERE d.tablespace_name = f.tablespace_name(+)
UNION ALL --if have tempfile
SELECT D.TABLESPACE_NAME
,ROUND(NVL(USED_SPACE, 0) / SPACE * 100, 2) "USED_RATE(%)"
FROM (SELECT TABLESPACE_NAME
,ROUND(SUM(BYTES) / (1024 * 1024), 2) SPACE
,SUM(BLOCKS) BLOCKS
FROM DBA_TEMP_FILES
GROUP BY TABLESPACE_NAME) D
,(SELECT TABLESPACE_NAME
,ROUND(SUM(BYTES_USED) / (1024 * 1024), 2) USED_SPACE
,ROUND(SUM(BYTES_FREE) / (1024 * 1024), 2) FREE_SPACE
FROM V$TEMP_SPACE_HEADER
GROUP BY TABLESPACE_NAME) F
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
ORDER BY "used_rate(%)" DESC;
------crs狀態,轉到oracle用戶執行,遇到unkown一般不需要調整,一般已經在正常工作了。
------cmmb有時會出現crs_stat -t刷不出來的情況,這時候需要留意是不是運行有問題了。
crs_stat -t
------crs狀態
crsctl check crs
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.