티스토리 뷰
반응형
오라클에서 Java 기능을 사용하고자 할때는 Load Java를 이용합니다.
Load Java에 대한 내용은 쉽게 검색할 수 있으니 패스~~
한단계 더 나아가서 특정 기능을 C로 구현하고 (동적라이브러리 .dll 또는 .so)
Java에서 호출하는 JNI 기능을 Load Java 와 더블어 사용하고자 할때는 아래와 같이 하시면 됩니다.
1. JNI 구현
: Java + 동적라이브러리
2. Load Java로 Java class를 오라클에 이식
3. 퍼미션 부여
select
seq, kind, grantee,
name
, enabled
from
dba_java_policy
where
name
like
'%java.lang.RuntimePermission%'
;
SEQ KIND GRANTEE
NAME
ENABLED
---------- -------- ------------------------------ ------------------------------------------------------------ --------
11
GRANT
JAVA_ADMIN 0:java.lang.RuntimePermission#* ENABLED
95
RESTRICT
PUBLIC
0:java.lang.RuntimePermission#loadLibrary.* ENABLED
즉 loadLibrary가 기본으로 제약되어 있기 때문에 퍼미션 변경으로
loadLibrary를 허용해 주고 다시 제약을 활성화 시키면 됨.
3-1. loadLibrary이 제약조건 비활성화
exec
dbms_java.disable_permission(95);
3-2. 1에서 생성한 동적라이블러리 로드 권한 주기
exec
dbms_java.grant_permission(
'계정'
,
'SYS:java.lang.RuntimePermission'
,
'loadLibrary.testjni'
,
''
); // testjni는 동적라이브러리 명
3-3.
loadLibrary이 제약조건 활성화exec
dbms_java.enable_permission(95);
4. 테스트
: load java로 구현한 함수를 호출해서 테스트 해보면 됨.
ps.) Load Java와 JNI를 모두 설명하면 너무 길어져서 각각의 기술은 별도로 검색하면 쉽게 찾을 수 있어서 생략하였고, 두 기술을 접목시킨 부분만 간단히 설명했습니다. 그리고 동적 라이브러리는 오라클에서 참조하는 디렉토리에 넣어 두셔야 합니다. 저는 오라클홈/lib 위치에서 심볼릭 링크로 라이브러리 실경로와 링크를 걸어서 사용했음.
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 오미크론
- 브리다 정수기
- Life Chair
- 톡토기
- 코라나 19
- 유가바이트디비
- 카카오 에드
- GKRS
- weka
- JMW 헤어드라이기기
- 르세라핌
- 홈 오피스
- Sybase IQ
- Pixel Pals
- 별이 빚나는 밤
- 별잉 빛나는 밤
- 남설 팔찌
- 빈센트 반 고흐
- 로니카 BCS
- 증권정보포털
- 루미큐브 종류
- node.js
- 화분벌레
- 파나소닉 비데 DL-EH10KWS
- 매직 트랙패드2
- yugabyteDB
- VARIDESK
- 솔리드 쿨론
- 배당급
- 고체 향수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함