oracle的acl有哪些权限,Oracle 11g ACL访问控制(11g的新玩意)

写了一个存储过程用于自动发邮件,运行时报:ORA-24247 网络访问被访问控制列表 (ACL) 拒绝

上网收集了一些资料,原来是Oracle 11g加入了一个访问控制列表(ACL)用来控制网络访问,在访问外部网络地址前需要进行配置。

弄了个脚本添加了一个访问邮箱服务器的权限

set linesize 8000

set serveroutput on

set sqlblanklines on

exec DBMS_NETWORK_ACL_ADMIN.create_acl (

acl => ‘acl_e900_email_server.xml‘,

description => ‘User JDE send Email by 11.0.0.1‘,

principal => ‘HAHAHA‘,

is_grant => TRUE,

privilege => ‘connect‘,

start_date => SYSTIMESTAMP ,

end_date => NULL);

COMMIT;

exec DBMS_NETWORK_ACL_ADMIN.assign_acl (

acl => ‘acl_e900_email_server.xml‘,

host => ‘11.0.0.1‘,

lower_port => 25,

upper_port => NULL);

COMMIT;

以下是一份完整比较详尽的配置脚本:

------------------------------------

-- 创建ACL:

------------------------------------

BEGIN

DBMS_NETWORK_ACL_ADMIN.CREATE_ACL(

ACL  => ‘/sys/acls/BRDG_BMS_TO_OA.xml‘,  --命名

DESCRIPTION=> ‘ACL list‘,   --描述

PRINCIPAL   => ‘CHD_ACT_FOR_BUG_PROJ‘,   --要赋权限的用户

IS_GRANT    => TRUE,   --true表示赋权,false表示取消赋权

PRIVILEGE   => ‘connect‘

);

DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(

ACL       => ‘/sys/acls/BRDG_BMS_TO_OA.xml‘,

PRINCIPAL => ‘CHD_ACT_FOR_BUG_PROJ‘,

IS_GRANT  => TRUE,

PRIVILEGE => ‘resolve‘

);

DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(

ACL  => ‘/sys/acls/BRDG_BMS_TO_OA.xml‘,

HOST =>‘*‘,   --主机名,可以指定主机名,也可以使用*做为通配

lower_port=> 1,    --端口配置视情况而定,若需要精确控制可限定主机端口范围

upper_port=> 9999

);

commit;

END;

------------------------------------

-- 删除ACL:(与assign相对应)

------------------------------------

-- 删除acl这个列表文件,使用它的用户也就取消了对应的权限

begin

dbms_network_acl_admin.drop_acl(

‘/sys/acls/BRDG_BMS_TO_OA.xml‘

);

commit;

end;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值