반응형
10g에서 사용중인 DB가 11g로 업그레이드 되었고, 기존 DB에서 사용중인 메링링 서비스가 11g에서는 에러를 뱉으며 되지 않았습니다. 그에 따른 해결방법 정리하였습니다.
에러메세지
ORA-29260 네트워크 오류 : 접속되지 않음
ORA-06512 'SYS.UTL_TCP' 231행
ORA-06512 'SYS.UTL_TCP' 460행
ORA-24248 XML DB 확장 가능한 보안이 설치되지 않았습니다.
원인
Oracle 버전 업에 따른 MAILING 방식이 추가 됨.
보안 레벨을 향상시키지위해 network-related PL/SQL package에 대해 runtime시 실행하는 사람(invoker)에 대한 추가적인 권한이 요구되도록 변경됨. (XML DB access control list(ACL))을 통해 구현됨.
출처 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=jinh2004&logNo=80139511224
비교해보니
10g에는 XDB스키마가 없음. 11g는 XDB 스키마가 있고 (XDB.DBMS_XDB가 필요) 하고 등록하는 프로시저가 있음. (DBMS_NETWORK_ACL_ADMIN.CREATE_ACL,DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL)
프로시저를 사용하기 위해서는 XDB관련 패키지가 설치되어 있어야 함.
XDB관련 패키지 설치법
sqlplus / as sysdba
@?/rdbms/admin/prvtxdb.plb
@?/rdbms/admin/utlrp.sql
해결
패키지를 사용하여 ACL을 생성하고 등록.
####ACL 생성
BEGIN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL (
acl => 'smtp-permissions.xml',
description => 'Permissions for smtp',
principal => 'ORAHRP',
is_grant => TRUE,
privilege => 'connect'
);
COMMIT;
END;
/
###ACL 등록
BEGIN
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL (
acl => 'smtp-permissions.xml',
host => '메일링 서버',
lower_port => '2525',
upper_port => null);
COMMIT;
END;
/
확인 쿼리
아래 쿼리로 등록되있는것을 확인
select * from dba_network_acls;
select * from dba_network_acl_privileges;
XML기능에 대해서 어렴풋이 알고있었는데, 해당 기능에 대해서 좀더 알수 있는 계기였습니다.
2023년 현재 다른 어플리케이션 호환때문에 11g로 upgrade하는 이상한 현상..
반응형
'Oracle > 운영' 카테고리의 다른 글
ddl_lock_timeout 과 ORA-00054 : resource busy (0) | 2023.07.24 |
---|---|
테이블 컬럼삭제 Drop Column과 Unused (0) | 2023.07.19 |
큰 트랜잭션이 취소됐을때 확인 법과 대처법 (0) | 2023.05.19 |
[ASM] diskgroup에 disk 추가하기 (0) | 2023.05.16 |
[Single][linux] Oracle 자동 재기동 쉘 작성&등록 (0) | 2023.04.26 |
댓글