728x90
반응형
라는 애러는 UTL_SMTP의 UTL_SMTP.OPEN_CONNECTION을 사용할 떄 애러메시지가 떨어진다.
이유는 외부 네티워크 서비스에 대한 엑세스가 허용되지 않았을 때 발생한다.
이를 해결하려면 UTL_SMTP를 사용하는 유저가 네트워크 서비스에 엑세스할 수 있도록
데이터베이스 제어 목록(ACL)을 설정해야 한다.
1. ACL설정
새로운 ACL을 설정하고 이를 유저에게 할당한다.
BEGIN
DBMS_NETWORK_ACL_ADMIN.create_acl(
acl => 'smtp_permission.xml',
descriptions => 'ACL for SMTP Access',
principal => '데이터베이스 유저 명',
is_grant => TRUE,
privilege => 'connect'
);
COMMIT;
END;
2. SMTP서버에 대한 권한 추가
생성된 ACL에 SMTP서버 주소를 추가하고, 해당 서비스에 대한 엑세스 권한을 설정합니다.
BEGIN
DBMS_NETWORK_ACL_ADMIN.add_privilege(
acl => 'smtp_permission.xml',
principal => '데이터베이스 유저 명',
is_grant => TRUE,
privilege => 'resolve'
);
COMMIT;
END;
3. 1번과 2번의 실행 결과 확인
select *
from dba_network_acl_privileges;
를 조회하면 principal에 유저명과 privilege에 권한을 조회할 수 있다.
1번과 2번을 정상적으로 진행했다면 추가하고자 하는 유저에 connect, resolve 권한이 추가되었을 것이다.
4. ACL을 SMTP서버에 할당
ACL을 SMTP서버의 주소에 할당한다.
※ 이미 acl을 smtp서버에 할당했으면 생략가능
BEGIN
DBMS_NETWORK_ACL_ADMIN.assign_acl(
acl => 'smtp_permission.xml',
host => '실제 SMTP서버 주소 입력',
lower_port => 25,
upper_port => 25
);
COMMIT;
END;
5. dba_network_acl 조회
select *
from dba_network_acl;
을 조회하여 특정 호스트명으로 할당된 acl을 확인할 수 있다.
728x90
반응형
'DB (데이터베이스) > Oracle (오라클)' 카테고리의 다른 글
[Oracle] oracle datafile rename방법 (0) | 2024.05.10 |
---|---|
[Oracle] oracle 실행계획 조회방법 (0) | 2024.05.10 |
[Oracle] Oracle UTL_SMTP페키지로 메일 전송하기 (0) | 2024.05.03 |
[Oracle] oracle patition의 high_value기준으로 조회하기 (0) | 2024.05.03 |
[Oracle] oracle cold 백업 방법 (0) | 2024.04.23 |