1.创建测试用户并赋权
create user acl_test identified by oracle;
grant connect,resource to acl_test;
grant unlimited tablespace to acl_test;
2.创建测试
conn acl_test/oracle
create table t1(id int,name varchar2(10));
insert into t1 values(1,'aaa');
commit;
3.远程连接测试
sqlplus acl_test/oracle@10.220.104.101:1521/prodSQL> select * from t1;ID NAME
---------- ----------1 aaa
4.创建ACL
SQL> BEGIN2 DBMS_NETWORK_ACL_ADMIN.CREATE_ACL(acl => 'test.xml',3 4 description => 'Example ACL',5 principal => 'ACL_TEST',6 is_grant => TRUE,7 privilege => 'connect');8 DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(9 acl => 'test.xml',principal => 'ACL_TEST',10 11 is_grant => TRUE,12 privilege => 'resolve');13 DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(14 acl => 'test.xml',15 host => '10.220.104.101',16 lower_port => 1521,17 upper_port => 1521);18 COMMIT;19 END;20 /PL/SQL procedure successfully completed.
5.查看创建的ACL
col host format a30
col acl format a80
set pagesize 999
SELECT host, acl, lower_port, upper_port
FROM DBA_NETWORK_ACLS;
6.删除ACL
begin
DBMS_NETWORK_ACL_ADMIN.DELETE_PRIVILEGE(acl=>'test.xml',principal =>'ACL_TEST') ;
end;
/begin
DBMS_NETWORK_ACL_ADMIN.DROP_ACL(acl=>'test.xml') ;
end;
/