Plusieurs process DBW ou ASYNC IO?
Bonjour à tout le monde,
Je suis en train d'essayer d'optimiser ma base de données et je me pose des questions sur le nombre de process DBW à utiliser.
Voici l'état de mon environnement :
48 CPU actifs.
Code:
1 2 3 4 5
| select * from v$osstat where upper(comments) like('%NUMBER%CPU%');
STAT_NAME VALUE OSSTAT_ID COMMENTS CUMULATIVE
NUM_CPUS 48 0 Number of active CPUs NO
NUM_CPU_CORES 24 16 Number of CPU cores NO
NUM_CPU_SOCKETS 6 17 Number of physical CPU sockets NO |
6 process DBW, ce qui correspond aux préconisations d'Oracle, à savoir un process DBW pour 8 CPU.
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| show parameters writer
db_writer_processes integer 6
select PNAME from v$process where pname like 'DBW%';
PNAME
-----
DBW0
DBW1
DBW2
DBW3
DBW4
DBW5 |
En faisant des recherches sur le net, je suis tombé sur des articles parlant d'écritures directes et asynchrones.
https://oracle-base.com/articles/mis...synchronous-io
Actuellement on permet les deux sur ma base.
Code:
1 2 3
| select name, display_value, description from v$parameter where upper(name) like '%FILESYSTEMIO_OPTIONS%';
NAME DISPLAY_VALUE DESCRIPTION
filesystemio_options SETALL IO operations on filesystem files |
Est-ce qu'avec ce système d'I/O direct et asynchrone je peux (si jamais c'était nécessaire) réduire le nombre de process DBW? J'ai l'impression que le fait d'utiliser le système asynchrone réduit le bénéfice d'avoir plusieurs process DBW mais peut-être que je fais fausse route.
Plusieurs process DBW ou ASYNC IO?
Le mieux, c'est que tu regarde sur un Rapport AWR