DBWn
Database Writer
Oracle資料庫後台寫入進程
基本介紹
- 中文名:Oracle資料庫後台寫入進程
- 外文名:DBWn
- 曾用名:DBWr
數據,參數,
數據
Database Writer是Oracle資料庫實例中的一個進程。
和DBWr是一個概念,後來允許多進程寫data file,所以改成DBWn了
資料庫寫入進程(DBWn)負責把buffer cache內的髒數據寫入數據檔案。
當buffer cache被修改了,就會標成髒數據。DBWn的主要工作是把髒數據寫入磁碟以保證buffer cache 是乾淨的。用戶進程會產生髒數據,空餘的緩衝區會減少。如果空閒的緩衝區太少,用戶進程從磁碟讀block進緩衝區的時候就找不到空餘的位置了。DBWn管理 buffer cache保證用戶進程始終可以找到空閒的位置。
參數
DBWn的觸發條件有:
1、當server process在buffer擦車中無法找到可用的buffer時,調用該進程,保證用戶進程始終可以在buffer cache中找到空閒的位置;
2、接收到CKPT(檢查點,checkpoint)進程的指令後,調用該進程,將數據寫入到磁碟中。
作為一個DBA,可以通過設定多個DBWn進程來加快髒數據寫入磁碟的速度。在sqlplus中,連線上資料庫後,使用命令如下命令即可查看並改寫該進程個數:(需重啟資料庫生效)
- show parameter db_writer_processes
- alter system set db_writer_processes=2 scope=spfile;
- shutdown immediate
- startup
- show parameters db_writer_processes
由於配置該參數會提高系統的IO開銷成本,建議初學者對此值不做修改。