프린트 하기

OS환경 : Oracle Linux6.8(64bit)


DB 환경 : Oracle Database 11.2.0.4


쿼리 : 오라클 프로시저, 잡, 트리거 내용 확인 방법

프로시저 내용 확인

1
select text from user_source where name = '프로시저 명' ;

잡 내용 확인

1
select text from user_source where name = 'job명' ;

트리거 내용 확인

1
select text from user_source where name = '트리거 명' ;



응용해서 A유저의 프로시저, 잡, 트리거에 모두 확인

프로시저 확인

1
2
3
4
conn A/A
select 'select text from user_source where name = '''||object_name||''';' from user_objects
where object_type = 'PROCEDURE'
and status ='VALID';


결과

1
2
3
4
5
6
select text from user_source where name = 'AW_REN_PROC';
select text from user_source where name = 'AW_DROP_PROC';
select text from user_source where name = 'SCHEDULER$NTFY_SVC_METRICS';
select text from user_source where name = 'SETMODFLG';
select text from user_source where name = 'EXECASUSER';
select text from user_source where name = 'EXEC_SHARD_PLSQL';

나온 결과 select 문 복사, 붙여넣기 해서 결과 확인



잡 확인

1
2
conn A/A
select 'select text from user_source where name = '''||what||''';' from user_jobs;

결과 

1
2
3
4
5
select text from user_source where name = 'A.NEWJOB;';
select text from user_source where name = 'A.WEEK_JOB;';
select text from user_source where name = 'A.DAY_SCHEDULER;';
select text from user_source where name = 'A.ROLE_PLL;';
select text from user_source where name = 'A.TABLE_DROPJOB;';

나온 결과에 빨간표시한 user 명 제거하고 제일뒤 ; 제거 후 

select 문 복사, 붙여넣기 해서 결과 확인



트리거 확인

1
2
conn A/A
select 'select text from user_source where name = '''||trigger_name||''';' from user_triggers;

결과
1
2
3
4
5
6
select text from user_source where name = 'SYSLSBY_EDS_DDL_TRIG';
select text from user_source where name = 'LOGMNRGGC_TRIGGER';
select text from user_source where name = 'AW_TRUNC_TRG';
select text from user_source where name = 'AW_REN_TRG';
select text from user_source where name = 'AW_DROP_TRG';
select text from user_source where name = 'XDB_PI_TRIG';

나온 결과 select 문 복사, 붙여넣기 해서 결과 확인