Essentiel oracle
| Fiche express | |
|---|---|
| Type | Aide-mémoire |
| Rôle | Requêtes/commandes d'exploitation courantes |
| Voir aussi | Oracle · Alter · Asm |
Essentiel Oracle — aide-mémoire des requêtes et commandes d'exploitation les plus utilisées au quotidien : dictionnaire de données, dimensionnement, statut de sauvegarde, démarrage/arrêt.
Vues du dictionnaire de données
Trois familles de vues à connaître en premier :
dba_* -- tous les objets de la base (nécessite le privilège DBA) all_* -- objets visibles par l'utilisateur connecté (les siens + ceux avec privilège explicite) user_* -- objets appartenant à l'utilisateur connecté
Rechercher une vue par thème :
SELECT object_name FROM dba_objects WHERE owner='SYS' AND object_name LIKE 'DBA_%';
Espace et dimensionnement
Espace libre restant dans un diskgroup ASM (exemple pour le diskgroup RECO) :
show parameter DB_RECO SELECT SUM(d.free_mb/1024) GB FROM v$asm_disk d, v$asm_diskgroup dg WHERE d.group_number = dg.group_number AND dg.name = 'RECO';
Taille occupée par propriétaire :
SELECT owner, SUM(bytes/1024/1024) MB FROM dba_segments GROUP BY owner ORDER BY 2 DESC;
Tables d'un schéma :
SELECT table_name FROM dba_tables WHERE owner = 'schema_name';
Nombre d'objets (index/tables) par tablespace :
SELECT tablespace_name, COUNT(*) FROM dba_indexes WHERE owner = 'schema_name' GROUP BY tablespace_name; SELECT tablespace_name, COUNT(*) FROM dba_tables WHERE owner = 'schema_name' GROUP BY tablespace_name;
SCN courant (utile à noter avant un expdp pour un export cohérent à un point donné) :
SELECT current_scn FROM v$database;
Lister les schémas et leur date de création :
SELECT username, created FROM dba_users ORDER BY created DESC;
Statut des sauvegardes RMAN
SET LINES 130
SET PAGES 300
COL status FOR a15
ALTER SESSION SET NLS_DATE_FORMAT="DD/MM-HH24:MI:SS";
SELECT start_time "Start", ROUND(input_bytes/1024/1024*10)/10 "Source MB",
ROUND(output_bytes/1024/1024*10)/10 "Backup MB", input_type "Type",
status "Status", ROUND(elapsed_seconds/60*10)/10 "Min",
ROUND(input_bytes/1024/1024/elapsed_seconds,1) "read MB/s",
ROUND(output_bytes/1024/1024/elapsed_seconds,1) "write MB/s"
FROM v$rman_backup_job_details
WHERE start_time >= SYSDATE-2
ORDER BY 1 DESC;
Préparation d'un pfile
SQL> show parameters spfile;
Conversion du spfile (ASM ou binaire) vers un fichier texte lisible :
SQL> CREATE PFILE='/tmp/pfile.txt' FROM SPFILE; cat /tmp/pfile.txt
Modifier un paramètre
show parameters use_large_pages;
- SPFILE seul (pris en compte au prochain redémarrage, tient le reboot) :
alter system set use_large_pages='FALSE' scope=spfile;
- MEMORY seul (immédiat, ne tient pas le reboot) :
alter system set use_large_pages='FALSE' scope=memory;
- BOTH (immédiat + tient le reboot) :
alter system set use_large_pages='FALSE' scope=both;
Voir Alter pour le détail de la syntaxe.
Démarrage
Démarrer l'instance en mémoire seulement (pas de base montée) :
startup nomount
Vérifier l'état :
desc v$database; select open_mode from v$database;
Monter le système de fichiers sans ouvrir les transactions :
alter database mount;
Ouvrir la base aux transactions :
SQL> alter database open;
Vues utiles à ce stade :
dba_tablespaces dba_users dba_objects dba_data_files desc dba_temp_files;
Jeu de caractères
select value$ from sys.props$ WHERE name LIKE 'NLS_CHAR%'; show parameter nls_lang select * from nls_session_parameters;
Utilisateurs
Liste des utilisateurs :
select username from dba_users;
Utilisateur courant :
select user from user_users;