Toute les bases de données Oracle démarrent avec un fichier d'initialisation.
Son format est soit texte (Parameter FILE) ou binaire (Serveur Parameter
FILE).
Dans ces fichiers il y a des paramètres dynamiques (changement pris en compte pendant le fonctionnement de l'instance) ou statiques (redémarrage nécessaire pour une prise en
compte).
Simplement pour expliquer qu'il est important de savoir si notre base fonctionne avec un PFILE ou avec un SPFILE car des surprises peuvent surgir en cas de redémarrage de base.
SQL> SELECT value
FROM v$parameter
WHERE name='spfile';
| VALUE |
| C:\ORACLE\PRODUCT\10.2.0\DBTEST\DATABASE\SPFILEDBTEST.ORA |
SQL> show parameter spfile
| SNAME | TYPE | VALUE |
| spfile | string | C:\ORACLE\PRODUCT\10.2.0\DBTEST\DATABASE\SPFILEDBTEST.ORA |
Si VALUE est Null alors notre base utilise un PFILE.
La commande ALTER SYSTEM SET pour changer un paramètre d'initialisation dans la base est comfortable si un SPFILE est en place.
ALTER SYSTEM SET n'écrit en aucun cas dans un PFILE.
Les changements dynamiques seront effectifs mais disparaîtront en cas de redémarrage de l'instance, les changements ne seront pas permanents (Soyez
vigilant).
| SQL> ALTER SYSTEM SET processes=200 SCOPE=SPFILE; |
SCOPE = SPFILE
- pour les Paramètres Statiques
- Changement permanent écrit dans le fichier paramètre serveur (SPFILE)
SCOPE = MEMORY
- pour les Paramètres Dynamiques
- Changement immédiat pour les paramètres dynamiques en mémoire.
- Non permanent car pas écrit dans le fichier SPFILE.
SCOPE = BOTH
- pour les Paramètres Dynamiques
- Changement permanent écrit dans le fichier paramètre serveur (SPFILE) et en Mémoire.