"ORACLE 프로시져"의 두 판 사이의 차이
DB CAFE
(사용자 2명의 중간 판 12개는 보이지 않습니다) | |||
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"> | |
− | < | + | SELECT * |
+ | FROM DBA_SOURCE | ||
+ | WHERE TYPE='PROCEDURE' | ||
+ | AND TEXT LIKE '%PROD_ID%'; | ||
+ | </source> | ||
+ | |||
+ | == 패키지에서 주석처리 되지 않은 항목 조회 == | ||
+ | |||
+ | 오라클 사용자가 사용하는 패키지의 BODY 소스를 검색하여 | ||
+ | 주석이 없거나 패턴이 맞지 않는 항목을 조회 한다. | ||
+ | |||
+ | |||
+ | <source lang="sql"> | ||
SELECT * FROM DBA_OBJECTS B | SELECT * FROM DBA_OBJECTS B | ||
WHERE B.OWNER =:IN_OWNER | WHERE B.OWNER =:IN_OWNER | ||
32번째 줄: | 44번째 줄: | ||
AND A.TEXT LIKE '%NAME%'); | AND A.TEXT LIKE '%NAME%'); | ||
− | </ | + | </source> |
− | + | [[Category:oracle]] |
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%');