Oracle:網絡訪問被訪問控制列表 (ACL) 拒絕


原因:新創建的用戶並未指定ACL權限(訪問控制列表),因此不能直接訪問互聯網

解決方式:

  • 1.在sys權限下,查詢是否為當前用戶分配acl權限
select * from dba_network_acl_privileges ;

  • 因此,執行以下sql,將系統中已經有的acl分配給當前用戶
begin
  dbms_network_acl_admin.add_privilege
    (acl        => 'utl_http.xml',      -- 命名ACL
     principal  => 'USER',                   -- 用戶
     is_grant   => true,                     -- true表示賦權,false表示取消賦權
     privilege  => 'connect');               -- 權限限制
end;
  • 如果沒有acl文件,則需要創建acl;(慎用:一般直接使用系統自帶的acl文件,直接使用添加acl給用戶)
begin
  dbms_network_acl_admin.create_acl
    (acl         => 'utl_http.xml', -- 命名 ,命名禁止和系統的相同,和系統的相同會把系統數據刪掉,造成acl無法使用
     description => 'some word.. ',           -- 描述
     principal   => 'USER',                   -- 要賦權限的用戶
     is_grant    => true,                     -- true表示賦權,false表示取消賦權
     privilege   => 'connect');               -- 權限限制
end;
  • 分配地址端口
begin
  dbms_network_acl_admin.unassign_acl
    (acl        => 'utl_http.xml', -- 命名
     host       => '*',          -- 服務器地址,可以使用*作為通配
     lower_port => 1,                       -- 端口從
     upper_port => 10000);                  -- 端口到
end;
  • 刪除用戶權限
begin
      dbms_network_acl_admin.delete_privilege(
            '/utl_http.xml', 'PACDBUSER', NULL, 'resolve'
            );
end; 
  • 刪除acl配置文件
begin
      dbms_network_acl_admin.drop_acl(
            '/utl_http.xml'
            );
end;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM