DBA 職責及日常工作職責:
1.安裝和升級數據庫服務器,以及應用程序工具構建和配置網絡環境.
2.熟悉數據庫系統的存儲結構預測未來的存儲需求,制訂數據庫的存儲方案.
3.根據開發人員設計的應用系統需求創建數據庫存儲結構.
4.根據開發人員設計的應用系統需求創建數據庫對象
5.根據開發人員的反饋信息,在必要的時候修改數據庫的結構
6.管理數據庫的用戶維護數據庫的安全性
7.控制和監控用戶對數據庫的存取訪問
8.監控和優化數據庫的性能
9.制定數據庫備份計劃,災難出現時對數據庫信息進行恢復
10.備份和恢復數據庫
11.聯系數據庫系統生產廠商,跟蹤技術信息
12.解決客戶端中間層和服務器的鏈接問題
13.保證安全連接
每日工作:
1 確保服務器工作狀態正常,各類數據庫狀態正常
2 檢查硬盤空間是否夠用
3 查看數據庫日志,查看跟蹤文件,檢查是否有錯誤信息
4 檢查備份的有效性
5 通過系統的性能監視器對服務器的性能參數監控發現數據庫的性能是否下降,尋找原因並解決
6 填寫dba日志
每周工作:
1 監控數據庫對象的空間擴展情況
2 決定是否調整存儲參數
3 對系統健康檢查
4 檢查刪除沒有任何意義的數據對象
5 檢查刪除沒有意義的約束和觸發器
6 對每周的備份檢查處理
每月工作:
1 根據上面的檢查情況,分析數據庫中是否有影響性能的存儲碎片存在
2 根據數據庫性能的歷史數據,決定如何優化性能
3 處理每日每周每月的備份
4 總結工作,提出下一步的管理計劃
Oracle DBA日常工作總結
Oracle管理員應按如下方式對Oracle數據庫系統做定期監控:
1、每天對Oracle數據庫的運行狀態、日志文件、備份情況、數據庫空間使用情況、系統資源使用情況進行檢查,發現並解決問題。
2、每周對數據庫對象的空間擴展情況、數據的增長情況進行監控、對數據庫做健康檢查、對數據庫對象的狀態做檢查。
3、每月對表和索引等進行analyze、檢查表空間碎片、尋找數據庫性能調整的機會、進行數據庫性能調整、提出下一步空間管理計劃。對Oracle數據庫狀態進行一次全面檢查。
每天工作
1、確認所有的instance狀態正常登錄到所有數據庫或實例,檢測Oracle後台進程:#ps -ef | grep ora
2、檢查文件系統的使用(剩余空間)。如果文件系統的剩余空間小於20%,需刪除不用的文件以釋放空間。#df -k
3、檢查日志文件和trace文件記錄alert和trace文件中的錯誤。
cd $Oracle_BASE/oradata/<sid>/bdump
tail -f alert_<sid>.log
發現任何新的ORA_錯誤,記錄並解決
4、檢查數據庫當日備份的有效性
對RMAN備份方式,檢查第三方備份工具的備份日志以確定備份是否成功
對EXPORT備份方式,檢查exp日志文件以確定備份是否成功
對其它備份方式,檢查相應的日志文件
5、檢查數據文件的狀態記錄狀態不是“online"的數據文件,並做恢復。
select file_name from dba_data_files where status="OFFLINE"
6、檢查表空間的使用情況
select a.tablespace_name,round((total-free)/total,3)*100 pecent
from (select tablespace_name,sum(bytes) free from dba_free_space group by tablespace_name) a,
(select tablespace_name,sum(bytes) total from dba_data_files group by tablespace_name) b
where a.tablespace_name=b.tablespace_name
7、檢查剩余表空間
select tablespace_name,sum(blocks) as free_blk,trunc(sum(bytes)/(1024*1024)) as free_m,
max(bytes)/(1024) as big_chunk_k,count(*) as num_chunks
from dba_free_space group by tablespace_name;
8、監控數據庫性能
運行utlbstat.sql/utlestat.sql生成系統報告,或者使用statspace收集統計數據
9、檢查數據庫性能,記錄數據庫的CPU使用、IO、Buffer命中率等等,使用vmstat,iOStat,glance,top
10、日常出現問題的處理
每周的工作
1、控制數據庫對象的空間擴展情況,根據本周每天的檢查情況找到空間擴展很快的數據庫對象,並采取相應的措施。
刪除歷史數據、擴展表空間
alter tablespace <name> add datafile '<file>' size <size>
調整數據對象的存儲參數 next extent pct_increase
2、監控數據量的增長情況
根據本周每天的檢查情況找到記錄數據數量增長很快的數據庫對象,並采取相應的措施
刪除歷史數據、擴表空間
alter tablespace <name> add datafile '<file>' size <size>
3、系統健康檢查
檢查以下內容:
init<sid>.ora
controlfile
redo log file
archiveing
sort area size
tablespace(system,temporary,tablespace fragment)
datafiles(autoextend,location)
object(number of extent,next extent,index)
rollback segment
logging & tracing(alert.log,max_dump_file_size,sqlnet)
4、檢查無效的數據庫對象
select owner,object_name,object_type from dba_objects where status='INVALID'
5、檢查不起作用的約束
select owner,constraint_name,table_name,constraint_type,status from dba_constraints
where status='DISABLED' and constraint_type='p'
6、檢查無效的trigger
select owner,trigger_name,table_name,status from dba_triggers
where status='DISABLED'
每月的工作
1、Analyze tables/indexes/cluster
analyze table <name> estimate statistics sample 50 percent;
2、檢查表空間碎片
根據本月每周的檢查分析數據庫碎片,找到相應的解決方法
3、尋找數據庫性能調整機會
比較每天對數據庫性能的監控報告,確定是否有必要對數據庫性能進行調整
4、數據庫性能調整,如有必要進行性能調整
5、提出下一步空間管理計劃,根據每周的監控,提出空間管理的改進方法