"ORACLE 프로시져"의 두 판 사이의 차이
DB CAFE
(같은 사용자의 중간 판 하나는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
− | = 프로시져 = | + | == 프로시져 == |
− | == 프로시져 소스 조회 == | + | |
+ | === 프로시져 재 컴파일 === | ||
+ | <source lang="sql"> | ||
+ | ALTER PROCEDURE [PROCEDURE NAME] COMPILE; | ||
+ | </source> | ||
+ | <source lang="sql"> | ||
+ | SELECT 'ALTER PROCEDURE '||OBJECT_NAME||' COMPILE;' DSQL | ||
+ | FROM USER_PROCEDURES | ||
+ | WHERE OBJECT_TYPE = 'PROCEDURE' | ||
+ | ORDER BY OBJECT_NAME | ||
+ | ; | ||
+ | </source> | ||
+ | |||
+ | |||
+ | |||
+ | === 프로시져 소스 조회 === | ||
<source lang="sql"> | <source lang="sql"> |
2024년 1월 11일 (목) 00:46 기준 최신판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
1 프로시져[편집]
1.1 프로시져 재 컴파일[편집]
ALTER PROCEDURE [PROCEDURE NAME] COMPILE;
SELECT 'ALTER PROCEDURE '||OBJECT_NAME||' COMPILE;' DSQL
FROM USER_PROCEDURES
WHERE OBJECT_TYPE = 'PROCEDURE'
ORDER BY OBJECT_NAME
;
1.2 프로시져 소스 조회[편집]
SELECT *
FROM DBA_SOURCE
WHERE TYPE='PROCEDURE'
AND TEXT LIKE '%PROD_ID%';
2 패키지에서 주석처리 되지 않은 항목 조회[편집]
오라클 사용자가 사용하는 패키지의 BODY 소스를 검색하여 주석이 없거나 패턴이 맞지 않는 항목을 조회 한다.
SELECT * FROM DBA_OBJECTS B
WHERE B.OWNER =:IN_OWNER
AND B.OBJECT_TYPE = 'PACKAGE BODY'
AND B.STATUS <> 'INVALID' -- VALID 상태만 조회, 만약 INVALID 된다고 해도 패키지를 수행하는 순간 컴파일 됨.
AND NOT EXISTS (SELECT 1
FROM DBA_SOURCE A
WHERE A.OWNER = B.OWNER
AND A.TYPE = B.OBJECT_TYPE
AND A.NAME = B.OBJECT_NAME
AND A.LINE <= 5
AND A.TEXT LIKE '%NAME%');