Essentiel oracle

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
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;

Voir aussi