Alter
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Type | Commande SQL DDL |
| Rôle | Modifier un paramètre d'instance ou de session |
| Voir aussi | Oracle · Essentiel oracle · Indexes |
ALTER permet de modifier à chaud (ou au prochain redémarrage) un grand nombre de paramètres de configuration de l'instance et de la base.
Paramètres d'initialisation de l'instance
ALTER SESSION SET parametre = valeur [...]; ALTER SYSTEM SET parametre = valeur [...] [COMMENT = 'texte'] [DEFERRED] [SCOPE = MEMORY | SPFILE | BOTH];
- L'option DEFERRED n'applique la modification qu'aux futures sessions (pas aux sessions déjà connectées).
- L'option SCOPE détermine si la modification porte sur la configuration courante, sur celle rechargée au redémarrage, ou les deux.
> ALTER SYSTEM SET processes = 200 COMMENT = 'modif du 10/12/2013' SCOPE = SPFILE;
Pour supprimer une valeur du fichier de paramètres :
> ALTER SYSTEM RESET parametre [SCOPE = SPFILE];
Vues associées
V$SYSTEM_PARAMETER -- valeur appliquée à l'instance actuelle V$SYSTEM_PARAMETER2 -- idem, une ligne par valeur (paramètres à valeurs multiples) V$SYSTEM_SPPARAMETER -- contenu du fichier spfile
Comparaison valeur active / valeur spfile :
SELECT p.name, p.display_value actuel, sp.display_value spfile FROM v$parameter p, v$spparameter sp WHERE p.name = sp.name AND p.name = 'processes' /
> SHOW PARAMETERS [chaine] > SHOW SPPARAMETERS [chaine]
Exporter un fichier de paramètres
> CREATE PFILE [='pname'] FROM SPFILE [='spname']; > CREATE PFILE [='pname'] FROM MEMORY;
Gestion dynamique de la mémoire
Depuis Oracle 11g, plusieurs composants mémoire peuvent être redimensionnés dynamiquement :
MEMORY_TARGET SGA_TARGET DB_CACHE_SIZE SHARED_POOL_SIZE JAVA_POOL_SIZE LARGE_POOL_SIZE STREAMS_POOL_SIZE RESULT_CACHE_MAX_SIZE PGA_AGGREGATE_TARGET
> SHOW SGA V$SGA
SELECT
name, value, display_value
FROM v$parameter
WHERE name in ('sga_target','sga_max_size','memory_target','memory_max_target');
SELECT name,value FROM v$sga
UNION ALL
SELECT '*** TOTAL ***', SUM(value) FROM v$sga;
SELECT name, ROUND(bytes/(1024*1024),1) size_mb, resizeable
FROM v$sgainfo;
V$SGA_DYNAMIC_FREE_MEMORY V$MEMORY_DYNAMIC_COMPONENTS
SELECT component, current_size/(1024*1024) current_mb FROM v$memory_dynamic_components;
COL component FOR A30
SELECT component,
current_size/1024/1024 current_size,
user_specified_size/1024/1024 user_specified_size
FROM v$memory_dynamic_components
WHERE current_size > 0
UNION ALL
SELECT '*** LIBRE SGA ***', current_size/1024/1024, null
FROM v$sga_dynamic_free_memory
/
(clause WHERE current_size > 0 corrigée — le filtre était incomplet dans la version d'origine.)
Utilisateurs
- Verrouiller un utilisateur :
ALTER USER USERNAME ACCOUNT LOCK;
- Changer un mot de passe :
ALTER USER user_name IDENTIFIED BY new_password;
Voir aussi
- Oracle
- Essentiel oracle — vue d'ensemble des commandes d'exploitation courantes
- Indexes —
ALTER INDEX