간단하게 오늘 업무에 대해서 리뷰를 진행해보겠다.
오늘 들은 것 중은데 일단 확인해봐야하는 키워드는
'Snapshot | 프로시저 | 패키지 | ORACLE JOB 조회 | ORACLE 소스 포함된 Package 찾기'
🌼 스냅샷 ( Snapshot)
: 사진을 찍듯이 특정 시간(시점)에 데이터 저장 장치(스토리지)의 파일 시스템을 포착해 별도의 파일이나 이미지로 저장, 보관하는 기술을 말한다. 스냅샷 기능을 이용하여 데이터를 저장하면 유실된 데이터 복원과 일정시점의 상태로 데이터를 복원할 수 있다.
해서 DB에 Shapshot을 검색하면 웬만한 정보를 확인 할 수 있으니, 기본 정보를 알고 싶다면 Snapshot를 이용하면 된다.
🌼 테이블 _IF
업무를 하다가 발견한 테이블에_IF가 붙은 인터페이스 테이블이 있었다. 도대체 이게 뭘까 궁금해서 찾아보았다.
한 서비스에서 다른 서비스의 DB로 접근 할 때 바로 다른 서비스의 DB로 붙는게 아니라
인터페이스 테이블로 붙여 사용하게 된다.
이게 A 서비스에서 바로 B서비스로 붙어버리면
한 서비스에서 타 서비스의 테이블을 변경해버려 보안상 문제가 생기기 때문에,
B 서비스의 테이블과 동일한 테이블을 이름만 바꿔 인터페이스 테이블을 만든 뒤
인터페이스 서버를 만들거나 혹은 인증과정을 통해서만 접근 할 수 있게 된다.
인터페이스 테이블에 쌓인 데이터는 주기적인 배치(BATCH)를 통해 타 서비스로 데이터를 보내
A서비스와 B 서비스는 인터페이스 테이블을 매개로 송 수신할 수 있게 된다.
여기서 배치를 통해 송 수신한다고 되어 있으니,
우리는일정시간마다 스케쥴러가 돌아가는지 확인해보자 !
🌼 잡(JOB)
: 프로젝트를 하면서 일정시간마다 데이터작업을 하는 것은 잡(JOB)이라고 한다.
JOB을 일정시간마다 계획을 세워 실행시켜 주는 것을 스케쥴러(SCHEDULER)라고 한다.
🌱JOB 조회
select * from user_jobs;
🌱USER SCHEDULER 조회
기본
select * from USER_SCHEDULER_JOBS;
조건
select * from USER_SCHEDULER_JOBS;
WHERE JOB_ACTION LIKE '%원하는 데이터추가%';
조건을 JOB_ACTION에 걸어서 확인해보면 스케쥴이 몇분마다 돌아가는지 확인할 수 있다.
컬럼 값은 LAST_START_DATE와 NEXT_RUN_DATE를 확인해보면 스케쥴이 몇분마다 돌아가는지 알 수 있다.
아래와 같은 경우는 1시간 배치가 도는데

🌼 패키지(Package)
: 프로시저 또는 함수 등 서브 프로그램을 하나로 묶어놓은 객체이다.
🌱 프로시저란 ?
: 어떤 업무를 수행하기 위한 절차
쇼핑몰에서 신발을 구매하는 프로시저를 표현
[ Procedure Start ]
① 쇼핑몰 회원 로그인
② 구매할 신발 선택
③ 개인정보 및 배송지 선택
④ 결제
[ Procedure End ]
🌿 프로시저 문법
CREATE OR REPLACE PROCEDURE 프로시저 이름
( 매개변수명1 [ IN || OUT || INOUT ] 데이터타입,
매개변수명2 [ IN || OUT || INOUT ] 데이터타입 ... )
IS||AS
변수, 상수 등 선언 ( 선언부 )
BEGIN
실행 문장 ( 실행부 )
EXCEPTION 문장 //필수아님
END ;
🌱 함수란 ?
: 프로시저의 각 프로세스를 수행하기 위해 필요한 기능들을 함수라 한다.
🌿 함수 문법
CREATE OR REPLACE FUNCTION 함수 이름
( 매개변수명1 매개변수1타입,
매개변수명2 매개변수2타입 ... )
RETURN 데이터타입
IS||AS
변수, 상수 등 선언 ( 선언부 )
BEGIN
실행 문장 ( 실행부 )
RETURN 반환값 //필수
EXCEPTION 문장 //필수아님
END ;
🌻프로시저 함수 차이
프로시저 | 함수 |
특정작업을 수행 | 특정 계산을 수행 |
리턴값을 가질 수 도 있고 안 가질 수도 있음 | 리턴값을 반드시 가져아함 |
서버(DB)단에서 기술 | 화면(Client)단에서 기술 |
수식 내에서 사용 불가 | 수식내에서만 사용 가능 |
단독 문장구성 가능 | 단독 문장구성 불가 |
🌼 ORACLE 소스 포함된 Package 찾기
SELECT *
FROM USER_SOURCE
WHERE TEXT LIKE '%원하는 package 넣기%';
참조사이트
https://mjn5027.tistory.com/47
https://fomaios.tistory.com/entry/Oracle-%ED%8C%A8%ED%82%A4%EC%A7%80Package%EB%9E%80-feat-CRUD
https://dnjsrud.tistory.com/285
'업무' 카테고리의 다른 글
[업무] TIL 6회차 - 업무 리뷰 (Oracle / CASE 문 - CASE WHEN 해석 및 사용법) (0) | 2024.03.20 |
---|---|
[업무] TIL 5회차 - 업무 리뷰 (JS / JSP 에 값 넘겨받기) (0) | 2024.02.28 |
[업무] TIL 3회차 - SQL 관련 추가 내용 [LEFT OUTER JOIN/RIGHT OUTER JOIN] (0) | 2024.02.14 |
[업무] TIL 2회차 - Batch란 ? (Scheduler 비교) (0) | 2024.02.06 |
[업무] TIL 1회차 - 용어 정리 (0) | 2024.02.06 |
간단하게 오늘 업무에 대해서 리뷰를 진행해보겠다.
오늘 들은 것 중은데 일단 확인해봐야하는 키워드는
'Snapshot | 프로시저 | 패키지 | ORACLE JOB 조회 | ORACLE 소스 포함된 Package 찾기'
🌼 스냅샷 ( Snapshot)
: 사진을 찍듯이 특정 시간(시점)에 데이터 저장 장치(스토리지)의 파일 시스템을 포착해 별도의 파일이나 이미지로 저장, 보관하는 기술을 말한다. 스냅샷 기능을 이용하여 데이터를 저장하면 유실된 데이터 복원과 일정시점의 상태로 데이터를 복원할 수 있다.
해서 DB에 Shapshot을 검색하면 웬만한 정보를 확인 할 수 있으니, 기본 정보를 알고 싶다면 Snapshot를 이용하면 된다.
🌼 테이블 _IF
업무를 하다가 발견한 테이블에_IF가 붙은 인터페이스 테이블이 있었다. 도대체 이게 뭘까 궁금해서 찾아보았다.
한 서비스에서 다른 서비스의 DB로 접근 할 때 바로 다른 서비스의 DB로 붙는게 아니라
인터페이스 테이블로 붙여 사용하게 된다.
이게 A 서비스에서 바로 B서비스로 붙어버리면
한 서비스에서 타 서비스의 테이블을 변경해버려 보안상 문제가 생기기 때문에,
B 서비스의 테이블과 동일한 테이블을 이름만 바꿔 인터페이스 테이블을 만든 뒤
인터페이스 서버를 만들거나 혹은 인증과정을 통해서만 접근 할 수 있게 된다.
인터페이스 테이블에 쌓인 데이터는 주기적인 배치(BATCH)를 통해 타 서비스로 데이터를 보내
A서비스와 B 서비스는 인터페이스 테이블을 매개로 송 수신할 수 있게 된다.
여기서 배치를 통해 송 수신한다고 되어 있으니,
우리는일정시간마다 스케쥴러가 돌아가는지 확인해보자 !
🌼 잡(JOB)
: 프로젝트를 하면서 일정시간마다 데이터작업을 하는 것은 잡(JOB)이라고 한다.
JOB을 일정시간마다 계획을 세워 실행시켜 주는 것을 스케쥴러(SCHEDULER)라고 한다.
🌱JOB 조회
select * from user_jobs;
🌱USER SCHEDULER 조회
기본
select * from USER_SCHEDULER_JOBS;
조건
select * from USER_SCHEDULER_JOBS;
WHERE JOB_ACTION LIKE '%원하는 데이터추가%';
조건을 JOB_ACTION에 걸어서 확인해보면 스케쥴이 몇분마다 돌아가는지 확인할 수 있다.
컬럼 값은 LAST_START_DATE와 NEXT_RUN_DATE를 확인해보면 스케쥴이 몇분마다 돌아가는지 알 수 있다.
아래와 같은 경우는 1시간 배치가 도는데

🌼 패키지(Package)
: 프로시저 또는 함수 등 서브 프로그램을 하나로 묶어놓은 객체이다.
🌱 프로시저란 ?
: 어떤 업무를 수행하기 위한 절차
쇼핑몰에서 신발을 구매하는 프로시저를 표현
[ Procedure Start ]
① 쇼핑몰 회원 로그인
② 구매할 신발 선택
③ 개인정보 및 배송지 선택
④ 결제
[ Procedure End ]
🌿 프로시저 문법
CREATE OR REPLACE PROCEDURE 프로시저 이름
( 매개변수명1 [ IN || OUT || INOUT ] 데이터타입,
매개변수명2 [ IN || OUT || INOUT ] 데이터타입 ... )
IS||AS
변수, 상수 등 선언 ( 선언부 )
BEGIN
실행 문장 ( 실행부 )
EXCEPTION 문장 //필수아님
END ;
🌱 함수란 ?
: 프로시저의 각 프로세스를 수행하기 위해 필요한 기능들을 함수라 한다.
🌿 함수 문법
CREATE OR REPLACE FUNCTION 함수 이름
( 매개변수명1 매개변수1타입,
매개변수명2 매개변수2타입 ... )
RETURN 데이터타입
IS||AS
변수, 상수 등 선언 ( 선언부 )
BEGIN
실행 문장 ( 실행부 )
RETURN 반환값 //필수
EXCEPTION 문장 //필수아님
END ;
🌻프로시저 함수 차이
프로시저 | 함수 |
특정작업을 수행 | 특정 계산을 수행 |
리턴값을 가질 수 도 있고 안 가질 수도 있음 | 리턴값을 반드시 가져아함 |
서버(DB)단에서 기술 | 화면(Client)단에서 기술 |
수식 내에서 사용 불가 | 수식내에서만 사용 가능 |
단독 문장구성 가능 | 단독 문장구성 불가 |
🌼 ORACLE 소스 포함된 Package 찾기
SELECT *
FROM USER_SOURCE
WHERE TEXT LIKE '%원하는 package 넣기%';
참조사이트
https://mjn5027.tistory.com/47
https://fomaios.tistory.com/entry/Oracle-%ED%8C%A8%ED%82%A4%EC%A7%80Package%EB%9E%80-feat-CRUD
https://dnjsrud.tistory.com/285
'업무' 카테고리의 다른 글
[업무] TIL 6회차 - 업무 리뷰 (Oracle / CASE 문 - CASE WHEN 해석 및 사용법) (0) | 2024.03.20 |
---|---|
[업무] TIL 5회차 - 업무 리뷰 (JS / JSP 에 값 넘겨받기) (0) | 2024.02.28 |
[업무] TIL 3회차 - SQL 관련 추가 내용 [LEFT OUTER JOIN/RIGHT OUTER JOIN] (0) | 2024.02.14 |
[업무] TIL 2회차 - Batch란 ? (Scheduler 비교) (0) | 2024.02.06 |
[업무] TIL 1회차 - 용어 정리 (0) | 2024.02.06 |