Penso enumerare da DBA_OBJECTS può aver perso un sacco di procedure: (io sono su Oracle 12c, esegui il login come SYS)
select count(*) from dba_objects where object_type = 'PROCEDURE';
202
E 'davvero guardato impossibile che l'intero database Oracle può avere solo 202 procedure.
e l'interrogazione da DBA_PROCEDURES:
select owner||'-'||object_name || '-'||procedure_name from
dba_procedures WHERE PROCEDURE_NAME IS NOT NULL;
26539 rows selected.
ora concentrando sullo schema SYS, che viene fornito di default per tutti i database (non riguardano solo il mio):
Interrogazione per le stored procedure ANONIME (http://www.praetoriate.com/t_high_perform_calling_procedures.htm) appartenenti a SYS :
select owner||'-'||object_name || '-'||procedure_name from dba_procedures WHERE PROCEDURE_NAME IS NULL and owner = 'SYS';
994 rows selected.
e stored procedure non anonimi di SYS hanno 15K:
select owner||'-'||object_name || '-'||procedure_name from dba_procedures WHERE PROCEDURE_NAME IS NOT NULL and owner = 'SYS';
15408 rows
fonte
2017-01-25 01:16:33
Si desidera eseguire object_type in ('PROCEDURE', 'FUNCTION', 'PACKAGE') per ottenere tutto il possibile codice sorgente. –
Mi spiace, totale noob Oracle qui. Non riesco a vedere quella vista/tabella. Significa che ho effettuato l'accesso come utente sbagliato? –
È possibile che non si disponga dei privilegi necessari per interrogare tali viste. Puoi provare ALL_OBJECTS e ALL_SOURCE invece. –