最近在做資料庫segment的資訊監控,具體什麼意思不是很明白,就是段的意思,總而言之就是監控你的資料庫的一些資訊,看看表空間增長如何,哪些表的行數,索參數量,就好像乙個pl/sql一樣,指令碼都來自網上的蒐集指令碼,我不是dba不是很懂這些,只是做了些簡單的關聯資訊,供大家看看,有更好的建議可以提出來。我的sql真的很醜。。。
第乙個是資料庫表的監控指令碼,去oracle跑一下就知道是什麼資訊了基本上,乙個表的基本資訊。
select t.owner,
t.table_name,
c.comments,
d.created,
t.tablespace_name,
t.status,
t.row_movement,
t.partitioned,
t.last_analyzed,
t.logging,
a.bytes,
t.num_rows,
(select count(1) from dba_ind_columns e, dba_indexes f where e.index_name = f.index_name and e.table_name = f.table_name and e.table_name = t.table_name and f.table_owner =t.owner and e.index_owner = t.owner ) indexnums,
(select count(1) from dba_constraints where owner=t.owner and table_name=t.table_name and constraint_type ='p' ) keynums
from dba_tables t
inner join dba_tab_comments c on t.owner = c.owner and t.table_name = c.table_name
left join ( select owner,segment_name,bytes from dba_segments where segment_type='table' ) a on c.owner = a.owner and c.table_name = a.segment_name
left join dba_objects d on a.owner = d.owner and a.segment_name = d.object_name and d.object_type='table'
第二個是資料庫使用者的監控指令碼:檢視使用者的表數量,表大小,是否被鎖
select t1.*, t2.tablesize,t3.account_status,t3.lock_date
from (select a.owner,
count(table_name) tablecount,
sum(num_rows) tablerows
from dba_tables a
where a.owner is not null
group by a.owner) t1
left join (select owner, sum(bytes) tablesize
from dba_segments
where segment_type = 'table'
group by owner) t2
on t1.owner = t2.owner
left join dba_users t3 on t2.owner= t3.username
order by account_status,lock_date desc
資料庫監控優化指令碼
檢查資料庫中使用的 總分區數,已經使用的數量 保留的頁數 混合區數,混合的頁數 磁碟結構一致性,索引占用的分割槽 占用的單元,占用的頁數,混合頁數 dbcc checkalloc incrv8 with all errormsgs 目錄一致性檢查 dbcc checkcatalog incrv8 檢...
nagios監控oralce資料庫的表空間大小
一 安裝nrpe 本處使用直接解壓的方式來安裝的nrpe 二 配置nrpe服務 1.修改libexec資料夾中的check oracle 在其中新增如下項 1 2 oracle home oradata oracle product 11.2.0 path path oradata oracle p...
oralce資料庫索引
例如有如下表 test tbid name rowid 1zhangsan 0 1 2limei 1 2 3haungqing 0 3 如果在該表中不存在任何索引,那麼在查詢某一條記錄,例如姓名為limei的人,因為查詢到乙個後下面不確定是否還存在姓名為limei的人,因此會進行全表掃瞄查詢。而如果...