
DBWn에서 n의 의미
: 0 ~ n번까지 띄울 수 있어서

💡 UPDATE 를 하면 데이터 파일에서 해당 데이터를 찾아서 메모리에서 UPDATE 를 합니다.
그러면 데이터 파일의 SCOTT의 데이터와 메모리에 올라온 SCOTT의 데이터의 차이가 발생합니다.
이 변경된 버퍼를 Dirty buffer 라고 하고 이 더티 버퍼를 데이터 파일에 내려쓰는 백그라운드 프로세서가 DBWR 입니다.
select pname, spid
from v$process
where pname like 'DBW%';
DBW0 3265
[oracle@ora19c ~]$ ps -ef |grep 3265 | grep -v grep
oracle 3265 1 0 11:06 ? 00:00:00 ora_dbw0_ORA19
💡 지금은 db가 바쁘지 않아서 1개가 떠있는데 dirty buffer가 많아지면 자동으로 dbwr의 갯수가 늘어남
- free buffer
: 비어있는 버퍼
- pinned buffer
: 비어있지 않은 버퍼
(데이터가 변경되지 않은 버퍼)
- dirty buffer
: 비어있지 않은 버퍼
(데이터가 변경되어서 디스크의 데이터와 서로 일치하지 않는 버퍼)
SQL> alter system set dbwr_io_slaves=3 scope=spfile;
시스템이 변경되었습니다.
SQL> shutdown immediate
SQL> startup
SQL> show parameter dbwr
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
dbwr_io_slaves integer 3