日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Oracle ACL(Access Control List)

系統 2072 0

在oralce 11g中假如你想獲取server的ip或者hostname,執行如下語句

SELECT utl_inaddr.get_host_address FROM dual;? //獲取IP

SELECT? utl_inaddr.get_host_name FROM dual; //獲取host 名字

如果在oracle 9i中能夠正常執行,但在11g中你可能會得到一個莫名其妙的錯誤提示:

ORA-24247: network access denied by access control list(ACL)

?

你可能馬上想到是需要啥額外的權限,而我們平時賦予權限一般是grant XXX to user_name;但你找不到有啥跟ACL對應的權限.

實際上這里確實需要額外權限,但賦予權限的方式相當變態,跟grant的方式太不一樣了.

?

細粒度訪問網絡服務

為了更細致的控制網絡權限,Oracle 11g中針對這么幾個PL/SQL API(UTL_TCP, UTL_SMTP, UTL_MAIL, UTL_HTTP和 UTL_INADDR)的訪問設置了單獨的權限訪問控制方式.

其中UTL_SMTP,UTL_MAIL是跟郵件相關的,比如你可以在觸發器中設定當在某些表中做插入刪除操作時就發個郵件知識某個負責人.

?

賦予權限

假如要給用戶賦予訪問上面提到的那些函數咋整呢? 要通過如下的一段pl/sql語句

BEGIN

DBMS_NETWORK_ACL_ADMIN.CREATE_ACL ( acl => 'abc.xml' , --這個xml文件名字隨便取的,但不同出現同名的情況

description => 'ACL list' ,

principal => 'ARWEN' , --表示賦予權限給哪個用戶

is_grant => true, --為true表示賦予權限,如果是false相當取消權限

privilege => 'connect' );

?

?

DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE ( acl => 'abc.xml' ,

principal => 'ARWEN' ,

is_grant => true,

privilege => 'resolve' );

?

?

DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL ( acl => 'abc.xml' ,

host => 'Oracle_Host_name' ); --因為那些網絡操作的權限是針對某一個server的,所以這里是指定一臺機器的名字

?

END;

?

?

如果要刪除上面的控制列表

BEGIN

DBMS_NETWORK_ACL_ADMIN.drop_acl ( acl => ' abc .xml');

END;

刪除這個列表,那用些列表賦予權限的那些用戶自然也被取消相應的權限了.

?

關于DBMS_NETWORK_ACL_ADMIN的詳細介紹參看Oracle 官方文檔:

http://docs.oracle.com/cd/B28359_01/appdev.111/b28419/d_networkacl_adm.htm

?

Oracle ACL(Access Control List)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 马尔康县| 萍乡市| 木里| 南通市| 共和县| 晋州市| 濮阳县| 如东县| 山东| 象山县| 遵义县| 洞口县| 利川市| 磐安县| 永吉县| 海门市| 营口市| 郑州市| 新乡市| 墨脱县| 淄博市| 宜宾县| 逊克县| 东丰县| 上栗县| 泸定县| 青龙| 新化县| 松桃| 邯郸县| 固阳县| 甘谷县| 噶尔县| 竹溪县| 松潘县| 西昌市| 萝北县| 英吉沙县| 威信县| 德兴市| 五家渠市|