必须声明 Oracle APEX 5.0 到 5.1 升级 XS$ACE_TYPE
Oracle APEX 5.0 to 5.1 up gradation XS$ACE_TYPE must be declared
我想将 Oracle APEX 5.0 升级到 5.1。访问控制阶段,oracle数据库11gR2报错。
BEGIN
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE (
HOST => '*',
ace => xs$ace_type (privilege_list => xs$name_list ('connect'),
principal_name => 'APEX_050100',
principal_type => xs_acl.ptype_db)
);
END;
/
XS$中出现以下错误ACE_TYPE
ERROR at line 4:
ORA-06550: line 4, column 8:
PLS-00201: identifier 'XS$ACE_TYPE' must be declared
ORA-06550: line 2, column 1:
PL/SQL: Statement ignored
试一试 - 对我有用:
第 1 步:
SQL> grant execute on utl_http to username;
Grant succeeded.
第 2 步:以 sysdba 身份连接
conn / 作为 sysdba
BEGIN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL (
acl => 'sonudev.xml',
description => 'Permissions to access mail',
principal => 'USERNAME',
is_grant => TRUE,
privilege => 'connect',
start_date => SYSTIMESTAMP,
end_date => NULL);
COMMIT;
END;
/
PL/SQL procedure successfully completed.
第 3 步:
BEGIN
DBMS_NETWORK_acl_ADMIN.ADD_PRIVILEGE(
acl => 'sonudev.xml',
principal => 'USERNAME',
is_grant => true,
privilege => 'resolve'
);
COMMIT;
END;
/
PL/SQL procedure successfully completed.
第 4 步:
BEGIN
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL (
acl => 'sonudev.xml',
host => '*');
COMMIT;
END;
/
第 5 步:
select acl , host , lower_port , upper_port from DBA_NETWORK_ACLS;
select acl , principal , privilege , is_grant from DBA_NETWORK_ACL_PRIVILEGES
参考:https://mohamedazar.com/2015/11/26/ora-24247-network-access-denied-by-access-control-list-acl/
我想将 Oracle APEX 5.0 升级到 5.1。访问控制阶段,oracle数据库11gR2报错。
BEGIN
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE (
HOST => '*',
ace => xs$ace_type (privilege_list => xs$name_list ('connect'),
principal_name => 'APEX_050100',
principal_type => xs_acl.ptype_db)
);
END;
/
XS$中出现以下错误ACE_TYPE
ERROR at line 4:
ORA-06550: line 4, column 8:
PLS-00201: identifier 'XS$ACE_TYPE' must be declared
ORA-06550: line 2, column 1:
PL/SQL: Statement ignored
试一试 - 对我有用:
第 1 步:
SQL> grant execute on utl_http to username;
Grant succeeded.
第 2 步:以 sysdba 身份连接 conn / 作为 sysdba
BEGIN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL (
acl => 'sonudev.xml',
description => 'Permissions to access mail',
principal => 'USERNAME',
is_grant => TRUE,
privilege => 'connect',
start_date => SYSTIMESTAMP,
end_date => NULL);
COMMIT;
END;
/
PL/SQL procedure successfully completed.
第 3 步:
BEGIN
DBMS_NETWORK_acl_ADMIN.ADD_PRIVILEGE(
acl => 'sonudev.xml',
principal => 'USERNAME',
is_grant => true,
privilege => 'resolve'
);
COMMIT;
END;
/
PL/SQL procedure successfully completed.
第 4 步:
BEGIN
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL (
acl => 'sonudev.xml',
host => '*');
COMMIT;
END;
/
第 5 步:
select acl , host , lower_port , upper_port from DBA_NETWORK_ACLS;
select acl , principal , privilege , is_grant from DBA_NETWORK_ACL_PRIVILEGES
参考:https://mohamedazar.com/2015/11/26/ora-24247-network-access-denied-by-access-control-list-acl/