Oracle 데이터베이스의 모든 저장 프로 시저를 나열하려면 어떤 SQL을 사용해야합니까?Oracle 데이터베이스에서 모든 저장 프로 시저를 나열하려면 어떤 SQL을 사용해야합니까?
나는 두 개의 질의하고 싶습니다 가능하다면 : 이름 지정된 이름
- 목록 모든 저장 프로 시저,
Oracle 데이터베이스의 모든 저장 프로 시저를 나열하려면 어떤 SQL을 사용해야합니까?Oracle 데이터베이스에서 모든 저장 프로 시저를 나열하려면 어떤 SQL을 사용해야합니까?
나는 두 개의 질의하고 싶습니다 가능하다면 : 이름 지정된 이름
DBA_OBJECTS
보기가 나열됩니다 절차 (뿐만 아니라 거의 모든 다른 물체) :
SELECT owner, object_name
FROM dba_objects
WHERE object_type = 'PROCEDURE'
DBA_SOURCE
보기는 해당 절차에 대한 소스 코드의 라인을 나열합니다 :
SELECT line, text
FROM dba_source
WHERE owner = ?
AND name = ?
AND type = 'PROCEDURE'
ORDER BY line
주
:이 권한에 따라, 당신은DBA_OBJECTS
및
DBA_SOURCE
뷰를 쿼리 할 수 없습니다. 이 경우 대신
ALL_OBJECTS
및
ALL_SOURCE
을 사용할 수 있습니다.
DBA_
보기에는 데이터베이스에
모두 개체가 포함되어 있으며
ALL_
보기에는 액세스 할 수있는 개체 만 포함되어 있습니다.
당신이 (등 매개 변수) 저장 프로 시저를 성찰하는 모든 통화를 얻고 싶은 경우에, 당신이 오픈 소스 패키지 밖으로 당겨 수 있습니다
http://code.google.com/p/orapig
OraPIG 오라클 파이썬 인터페이스 생성기입니다. 그것은 oracle 패키지를 내성적으로 검사하여 파이썬 래퍼를 생성합니다. 내가 DBA_OBJECTS에서 열거하는 생각
는 절차의 많은 손실이 발생했을 : (나는 오라클 12C 오전 SYS로 로그인) 정말 전체 Oracle 데이터베이스는 (202)를 가질 수 없다 보았다
select count(*) from dba_objects where object_type = 'PROCEDURE';
202
절차. SYS에 속하는
ANONYMOUS 저장 프로 시저에 대한 쿼리 (http://www.praetoriate.com/t_high_perform_calling_procedures.htm) :
그리고 DBA_PROCEDURES에서 쿼리 :select owner||'-'||object_name || '-'||procedure_name from
dba_procedures WHERE PROCEDURE_NAME IS NOT NULL;
26539 rows selected.
이제 (나의 고유하지 않음) 모든 데이터베이스에 대한 기본을 제공 SYS 스키마에 집중 :
select owner||'-'||object_name || '-'||procedure_name from dba_procedures WHERE PROCEDURE_NAME IS NULL and owner = 'SYS';
994 rows selected.
그리고 SYS의 익명이 아닌 저장 프로 시저 15K 있습니다
,536,select owner||'-'||object_name || '-'||procedure_name from dba_procedures WHERE PROCEDURE_NAME IS NOT NULL and owner = 'SYS';
15408 rows
('PROCEDURE', 'FUNCTION', 'PACKAGE')에 object_type을 사용하여 가능한 모든 소스 코드를 얻으 려합니다. –
죄송합니다. 여기에 오라클 놈이 있습니다. 그보기/표를 볼 수 없습니다. 그것은 내가 잘못된 사용자로 로그인하고 있다는 것을 의미합니까? –
이러한 뷰를 쿼리하는 데 필요한 권한이 없을 수 있습니다. 대신 ALL_OBJECTS 및 ALL_SOURCE를 시도 할 수 있습니다. –