2017-08-17 110 views
0

我想將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 

回答

0

給一個嘗試 - 爲我工作:

第1步:

SQL> grant execute on utl_http to username; 

    Grant succeeded. 

第2步:康恩以SYSDBA conn/as 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/