Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ACLs

Tim BolesSep 17 2010 — edited Sep 17 2010
I am trying to practice our upgrade process on the development server and have ran into something I don't know how to handle.

The Pre-Checks came across ACLs that need to be reconfigured for 11g.

I was going through the Upgrade Guide...the section ...Access Control to Network Utility Packages

I did the following select as requested....

SELECT * FROM DBA_DEPENDENCIES
WHERE referenced_name IN ('UTL_TCP','UTL_SMTP','UTL_MAIL','UTL_HTTP','UTL_
INADDR')
AND owner NOT IN ('SYS','PUBLIC','ORDPLUGINS');

And got something along the lines of ... Sorry don't know how to do formatting in this forum.....

OWNER NAME TYPE
------------------------------ ------------------------------ -----------------
REFERENCED_OWNER
------------------------------
REFERENCED_NAME
----------------------------------------------------------------
REFERENCED_TYPE
-----------------
REFERENCED_LINK_NAME
--------------------------------------------------------------------------------
DEPE
----
AJS AUTO_DELETE FUNCTION
PUBLIC
UTL_HTTP
SYNONYM

HARD

AJS AUTO_INSERT FUNCTION
PUBLIC
UTL_HTTP
SYNONYM

HARD

AJS AUTO_DELETE FUNCTION
AJS
UTL_HTTP
NON-EXISTENT

HARD

AJS AUTO_INSERT FUNCTION
AJS
UTL_HTTP
NON-EXISTENT

HARD

The next part of the guide says....
Prepare post-upgrade scripts now so the scripts will be available for use in the test
environment. This ensures the new access controls are part of your upgrade
testing.

I am cluess how to take this information and make post-upgrade scripts....

Anyone have any ideas? It refers me to another section that has something like...

The following example first looks for any ACL currently assigned to host_name. If
one is found, then the example grants user_name the CONNECT privilege in the ACL
only if that user does not already have it. If no ACL exists for host_name, then the
example creates a new ACL called ACL_name, grants the CONNECT privilege to user_
name, and assigns the ACL to host_name.

DECLARE
acl_path VARCHAR2(4000);
BEGIN
SELECT acl INTO acl_path FROM dba_network_acls
WHERE host = 'host_name' AND lower_port IS NULL AND upper_port IS NULL;
IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(acl_path,
'user_name','connect') IS NULL THEN
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(acl_path,
'user_name', TRUE, 'connect');
END IF;
EXCEPTION
WHEN no_data_found THEN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('ACL_name.xml',
'ACL description', 'user_name', TRUE, 'connect');
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('ACL_name.xml','host_name');
END;
COMMIT;

But I don't know how that fits into my output.

Any help would be appreciated.
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 15 2010
Added on Sep 17 2010
1 comment
472 views