Dba object search

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Script SQL*Plus de diagnostic
Domaine Administration (dictionnaire de données)
Voir aussi Dba object summary · Dba invalid objects

Dba object search recherche, dans tout le dictionnaire de données accessible (all_objects), tous les objets dont le nom contient une chaîne donnée — utile pour retrouver rapidement un objet dont on ne connaît que le schéma probable ou un fragment du nom.

Script

SET TERMOUT OFF
COLUMN current_instance NEW_VALUE current_instance NOPRINT
SELECT RPAD(instance_name, 17) current_instance FROM v$instance;
SET TERMOUT ON

PROMPT
PROMPT +------------------------------------------------------------------------+
PROMPT | Report   : Object Search Interface                                     |
PROMPT | Instance : &current_instance                                          |
PROMPT +------------------------------------------------------------------------+

PROMPT
ACCEPT search_string CHAR PROMPT 'Enter search string (i.e. EMPLOYEES) : '

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

COLUMN owner       FORMAT A20 HEADING "Owner"
COLUMN object_name FORMAT A45 HEADING "Object Name"
COLUMN object_type FORMAT A18 HEADING "Object Type"
COLUMN created                HEADING "Created"
COLUMN status                 HEADING "Status"

SELECT
    owner
  , object_name
  , object_type
  , TO_CHAR(created, 'DD-MON-YYYY HH24:MI:SS') created
  , LPAD(status, 7) status
FROM all_objects
WHERE object_name LIKE UPPER('%&&search_string%')
ORDER BY owner, object_name, object_type
/

Le paramètre a été renommé search_string (au lieu de schema dans la version d'origine, qui prêtait à confusion — il ne s'agit pas d'un nom de schéma mais d'un fragment de nom d'objet cherché dans toute la base accessible).

Colonnes / sortie

  • Owner / Object Name / Object Type — identification de chaque objet trouvé.
  • Created — date de création de l'objet.
  • Status — statut (VALID/INVALID, voir Dba invalid objects pour creuser les objets invalides).

Le résultat porte sur all_objects (objets accessibles à l'utilisateur connecté), pas dba_objects : pour une recherche exhaustive tous schémas confondus, se connecter avec un compte disposant du privilège SELECT ANY DICTIONARY ou adapter la requête sur dba_objects.

Voir aussi