ORA-24247:network access denied by access control list (ACL) 的處理方法
ORA-24247 在11g及以上版本會碰到此問題。這是因為Oracle在安全方面做了升級,導致要對一些系統包的使用前需要先獲得授權,而這個授權不是簡簡單單的透過grant就可以完成的。
下面舉例說明問題的解決步驟和思路,需要用到的包為 DBMS_NETWORK_ACL_ADMIN,需要DBA許可權去執行:
——————————————————————————————————————————————————————————
--首先,如果不存在訪問控制檔案,那麼就建立一個
--如果已經有了,那麼就忽略這一步,除非你想有序化進行管理,那麼就重新建立一個
begin
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL(acl => 'Resolve_Access.xml',
description => 'Resolve Access',
principal => 'SCOTT',
is_grant => true,
privilege => 'connect');
end;
--其次,為某個SCHEMA增加訪問許可權,許可權分resolve和connect兩種(必須全小寫),需要根據具體使用的包來確定
--具體的,is_grant的說明說得很清楚了
/*
Network privilege to be granted or denied - 'connect | resolve' (case sensitive). A database user needs the connect privilege to an external network host computer if he or she is connecting using the UTL_TCP, UTL_HTTP, UTL_SMTP, and UTL_MAIL utility packages. To resolve a host name that was given a host IP address, or the IP address that was given a host name, with the UTL_INADDR package, grant the database user theresolve privilege.
*/
begin
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(acl => 'Resolve_Access.xml',
principal => 'SCOTT',
is_grant => true,
privilege => 'resolve');
end;
--第三步,授權從某主機上可以訪問。host支援IP或主機名,並支援萬用字元*,指定主機名時要注意大小寫是敏感的。
begin
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(acl => 'Resolve_Access.xml',
host => '*');
end;
--最後一步,提交
commit;
——————————————————————————————————————————————————————————
以上展示瞭如何建立資原始檔、新增許可權到資原始檔,最後授權主機訪問的過程,最後記得一定要提交。
更多的,請參考官方文件中關於DBMS_NETWORK_ACL_ADMIN的部分。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29867/viewspace-1063530/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [Oracle] ORA-24247: network access denied by access control list(ACL)Oracle
- Httplistener Access DeniedHTTP
- ORA-07274: spdcr: access error, access to oracle denied.ErrorOracle
- Cannot Access Pls Pages: 'mod_security: Access denied with code 400'
- nginx中報Access denied.Nginx
- Postfix 554 5.7.1 Relay Access Denied
- User Get 'Access Denied' with Excel Service WebPartExcelWeb
- C#處理Access中的事務C#
- mysql ERROR 1045 (28000): Access denied for user解決方法MySqlError
- Access denied for user 'default'@'%' to database 'shop'報錯Database
- ubuntu mysql Access denied for user root@localhostUbuntuMySqllocalhost
- Access denied for user 'root'@'localhost' (using password: NO)localhost
- 解決mysql“Access denied for user 'root'@'localhost'”MySqllocalhost
- ERROR 1045 (28000): Access denied for userError
- Access denied for user ‘root‘@‘localhost‘問題的解決localhost
- laravel mysql批量提交報Access denied 錯誤LaravelMySql
- OGG Director連線報錯Access denied
- Access denied; you need (at least one of) the PROCESS privilege(s)AST
- RBAC(Role-Based Access Control)
- logstash nginx error access 日誌處理NginxError
- 登入mysql報ERROR 1045 (28000): Access denied 解決方法MySqlError
- vue專案中連線MySQL時,報錯ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using password:YES)VueMySqlErrorlocalhost
- Hive JDBC:Permission denied: user=anonymous, access=EXECUTE, inode=”/tmp”HiveJDBC
- ERROR 1045 (28000): Access denied for user 'root'@'localhost'Errorlocalhost
- Error 1045(28000) Access Denied for user 'root'@'localhost'Errorlocalhost
- #1045 - Access denied for user 'root'@'localhost' (using password: NO)localhost
- NFS掛載時出現”access denied by server while mounting”的解決方法NFSServerWhile
- Edge崩潰(Edge錯誤程式碼STATUS_ACCESS_DENIED的修復方法)
- mysql 1045, "Access denied for user 'root'@'localhost' (using password: NO)"MySqllocalhost
- Mysql 5.7 CentOS Access denied for user 'root'@'localhost'解決方式MySqlCentOSlocalhost
- Mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost'MySqlErrorlocalhost
- 解決mysql"Access denied fot user 'root'@'localhost'"問題MySqllocalhost
- No ‘Access-Control-Allow-Origin’ headerHeader
- Swift 新特性 – 訪問控制(Access Control)Swift
- 解決Mysql:ERROR 1045 (28000):Access denied for user ‘root‘@‘localhost‘ (using password: NO)的方法MySqlErrorlocalhost
- 使用TortoiseHg克隆遠端目錄報錯"abort: Access is denied"
- Permission denied:user=xxx,access=WRITE,inode=xxx
- MYSQL解決error: 'Access denied for user 'root'@'localhost' (using password:MySqlErrorlocalhost