이 블로그 검색

[ORACLE] DB OJVM 패치와 OJVM 패치 적용

1. 소개 

ORACLE JVM(Java Virtual Machine)은 ORACLE에서 Component 형식으로 제공한다.
DB의 PL/SQL 등의 작성에 있어서, CREATE JAVA/CREATE JAVA SOURCE/CALL 등을 통해서 Java Class를 컴파일하거나 호출 하는 등의 작업이 가능하며,
PL/SQL에서 {IS|AS} LANGUAGE JAVA NAME 'JAVA_메소드_명/java_type...' 등의 구문의 사용이 가능하다.
 
예를들어 DB 암호화 솔루션의 암호화/복호화 함수를 확인해 보면, 아래와 같은 형식으로 만들어진 것을 알 수 있다.
 

CREATE OR REPLACE FUNCTION PETRA.PLS_DECRYPT_B64_ID

(DATA IN VARCHAR2

,ENC_COL_ID NUMBER)

RETURN VARCHAR2 parallel_enable deterministic IS LANGUAGE JAVA NAME 'PcaOracle.EXT_DEC_BB(byte[],int) return byte[]';

/

 

2. Patch

Database RU 패치(구  PSU)와 적용 방법은 동일하나, 별도의 OJVM RU가 존재한다.
오라클에서는 DATABASE + OJVM RU 등으로 표기하며, 이 두가지 패치를 모두 하는 것을 COMBO Patch라고 표현 하고 있다.
 
다만, DATABASE + OJVM RU 패치를 다운받아보면 DATABASE RU와 OJVM RU를 압축해놓은 것에 불과하며,
두가지 패치를 모두 적용 후, datapatch는 한번만 수행해도 된다.
※ Doc ID 1585822.1를 확인해 보면, 다중 패치에 대한 datapatch -apply <patch1, patch2> 옵션이 있는 것을 확인 할 수 있다. "-apply"옵션으로 지정하지 않는 경우 엔진에 적용된 패치 모두가 datapatch로 적용 된다.

추천 게시글

[ORACLE] Data Pump가 느리거나 멈춘경우.

목록