Dba tables current user

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Script SQL*Plus de diagnostic
Domaine Administration (inventaire de tables)
Voir aussi Dba tables all · Dba tables query user · Dba table info

Dba tables current user liste les tables appartenant au schéma actuellement connecté (vue user_tables, pas de propriétaire à saisir), avec tablespace, date de dernière analyse et nombre de lignes. Le plus simple des trois scripts d'inventaire de tables — pratique quand on est déjà connecté sous le schéma applicatif à auditer.

Fait partie d'une famille de trois scripts qui ne diffèrent que par leur périmètre : voir Dba tables all (toute la base) et Dba tables query user (schéma choisi à l'exécution).

Script

-- Liste les tables du schéma actuellement connecté (user_tables).

SET TERMOUT OFF
COLUMN current_instance NEW_VALUE current_instance NOPRINT
COLUMN current_user     NEW_VALUE current_user     NOPRINT
SELECT rpad(instance_name, 17) current_instance, rpad(USER, 13) current_user FROM v$instance;
SET TERMOUT ON

PROMPT
PROMPT +------------------------------------------------------------------------+
PROMPT | Report   : Tables owned by &current_user                              |
PROMPT | Instance : &current_instance                                          |
PROMPT +------------------------------------------------------------------------+

SET ECHO      OFF
SET FEEDBACK  6
SET HEADING   ON
SET LINESIZE  180
SET PAGESIZE  50000
SET TRIMSPOOL ON
SET VERIFY    OFF

CLEAR COLUMNS
CLEAR BREAKS
CLEAR COMPUTES

COLUMN table_name      FORMAT a30             HEADING "Table Name"
COLUMN tablespace_name FORMAT a30             HEADING "Tablespace"
COLUMN last_analyzed   FORMAT a20             HEADING "Last Analyzed"
COLUMN num_rows        FORMAT 999,999,999,990 HEADING "# of Rows"

SELECT
    table_name
  , tablespace_name
  , TO_CHAR(last_analyzed, 'DD-MON-YYYY HH24:MI:SS') last_analyzed
  , num_rows
FROM
    user_tables
ORDER BY
    table_name
/

Utilisation

Interroge user_tables, qui ne renvoie que les objets du schéma connecté — pas besoin de filtrer par propriétaire ni de disposer de privilèges DBA. La colonne owner n'apparaît volontairement pas dans le rapport puisqu'elle est constante (l'utilisateur connecté lui-même).

Voir aussi