SQL à la recherche d'objets, y compris les procédures stockées dans Oracle
J'ai besoin d'écrire du sql qui va me permettre d'interroger tous les objets dans notre base de données Oracle. Malheureusement, les outils, nous sommes autorisés à utiliser n'ont pas construit dans cette.
En gros, j'ai besoin de rechercher toutes les tables, procédures, triggers, vues, tout.
Je sais comment faire une recherche pour les noms d'objets. Mais j'ai besoin de rechercher le contenu de l'objet.
c'est à dire SÉLECTIONNEZ * à PARTIR de DBA_OBJECTS OÙ nom_objet = '%chaîne de recherche%';
Grâce,
Glenn
- Une bonne ressource: techonthenet.com/oracle/sys_tables
Vous devez vous connecter pour publier un commentaire.
je ne suis pas sûr si je vous comprends, mais pour interroger le code source de vos déclencheurs, procédures, d'emballer et de fonctions, vous pouvez essayer avec le "user_source" de la table.
Je ne suis pas sûr que je comprends très bien la question, mais si vous souhaitez rechercher des objets dans la base de données pour une recherche particulière de la chaîne d'essayer:
À partir de là si vous avez besoin de plus d'info, vous pouvez juste chercher l'objet ou le numéro de la ligne.
SELECT owner, name, type FROM dba_source WHERE instr(UPPER(name), UPPER(':srch_strg')) > 0;
pour rechercher uniquement dans les noms .. peut-être plus pratique pour certainsJe voudrais utiliser DBA_SOURCE (si vous y avez accès) parce que si l'objet que vous avez besoin n'est pas détenu par le schéma sous lequel vous êtes connecté, vous ne le verrez pas.
Si vous avez besoin de connaître les fonctions et les Procs dans les paquets essayer quelque chose comme cela:
La dernière ligne empêche tous les sys trucs (DBMS_ et al) d'être renvoyé. Cela fonctionne en user_source si vous voulez juste votre propre schéma des choses.
j'ai atteint cette question tout en essayant de trouver toutes les procédures qui utilisent une certaine table
Oracle SQL Developer offre cette fonctionnalité, comme indiqué dans cet article : https://www.thatjeffsmith.com/archive/2012/09/search-and-browse-database-objects-with-oracle-sql-developer/
Dans le menu Affichage, choisissez Trouver DB Objet. Choisissez une connexion DB. Entrez le nom de la table. À des Types d'Objet, de ne garder que les fonctions, les procédures et les paquets. À la section de Code, vérifiez Toutes les lignes de source.
ALL_SOURCE décrit le texte source de la stockés les objets accessibles à l'utilisateur actuel.
Ici est celui de la solution