Error ORA-31204: DBMS_LDAP after Migration
Martin1Sep 14 2012 — edited Sep 14 2012Hi,
i upgraded the datebase from 11.2.0.1 to 11.2.0.3. Since then i get the error 'ORA-31204: DBMS_LDAP' when the APEX app wants to authenticate via ldap.
Detail errors:
ORA-20987: APEX - Error processing authentication. - ORA-31204: DBMS_LDAP: PL/SQL - Ungültige LDAP-Session.
Create AD-Session on <hostname> failed! ORA-24247: Netzwerkzugriff von Access Control-Liste (ACL) abgelehnt
The following script i used to do the acl grants:
DECLARE
vAclPath VARCHAR2(4000);
vAclId RAW(16);
BEGIN
-- Look for the ACL currently assigned to '*' and give APEX_040100
-- the "connect" privilege if APEX_040100 does not have the privilege yet.
SELECT acl INTO vAclPath
FROM dba_network_acls
WHERE host = '*'
AND lower_port IS NULL
AND upper_port IS NULL;
-- Before checking the privilege, ensure that the ACL is valid
-- (for example, does not contain stale references to dropped users).
-- If it does, the following exception will be raised:
--
-- ORA-44416: Invalid ACL: Unresolved principal 'APEX_040100'
-- ORA-06512: at "XDB.DBMS_XDBZ", line ...
SELECT sys_op_r2o(extractValue(p.res, '/Resource/XMLRef')) INTO vAclId
FROM xdb.xdb$acl a
, path_view p
WHERE extractValue(p.res, '/Resource/XMLRef') = ref(a)
AND equals_path(p.res, vAclPath) = 1;
dbms_xdbz.ValidateACL(vAclId);
IF dbms_network_acl_admin.check_privilege(vAclPath, 'APEX_040100', 'connect')
IS NULL THEN
dbms_network_acl_admin.add_privilege(vAclPath, 'APEX_040100',
TRUE, 'connect');
END IF;
EXCEPTION
-- When no ACL has been assigned to '*'.
WHEN NO_DATA_FOUND THEN
dbms_network_acl_admin.create_acl('power_users.xml',
'ACL that lets power users to connect to everywhere',
'APEX_040100', TRUE, 'connect');
dbms_network_acl_admin.assign_acl('power_users.xml','*');
END;
/
COMMIT;
Has anybody an idea what's going wrong?
Best regards,
Martin