Authentication against a LDAP repository and business intelligence

I have many users who are authenticated against LDAP. I need to add a few users that may not exist in LDAP. I can create user in repository BI, and if the latter is in a group of the administrator, it is able to connect. But if this user is not an administrator group it get error "the successful execution of the intitializtion LDAP block is required. Y at - it anyway to authenticate LDAP repository agains users and BI?

Vlada salvation,

Have you tried to disable the "required for authentication" in the Init LDAP block?

concerning

John
http://obiee101.blogspot.com/

Tags: Business Intelligence

Similar Questions

  • Training and tools SQL Server Business Intelligence 2016

    We are looking for a SQL Server installation where it serves as a data warehouse, performs work of the ETL data and provides information for Business Intelligence using dashboards, reports, etc. From my research, it seems that SQL Server 2014 had a specific edition of BI but for 2016 all BI tools are available in the Enterprise edition. Please correct me if I'm wrong.

    Is there a place to find the specific documentation about SQL Server 2016 BI tools and specific training?

    Thank you for your help.

    Hello

    Your question is beyond the scope of this community.

    Please repost your question in the SQL Server TechNet Forums.

    https://social.technet.Microsoft.com/forums/SQLServer/en-us/home?category=SQLServer

    "The MSDN SQL Server Forums.

    https://social.msdn.Microsoft.com/forums/SQLServer/en-us/home?category=SQLServer

    See you soon.

  • Oracle Business Intelligence Data Warehouse Administration Console 11 g and Informatica PowerCenter and Guide of Installation PowerConnect adapters 9.6.1 for Linux x 86 (64-bit)

    Hi all

    I'm looking for full installation GUIDE for Oracle Business Intelligence Data Warehouse Console Administration 11 g and Informatica PowerCenter and PowerConnect 9.6.1 for Linux x 86 (64 bit) adapters. I just wonder is there any url that you can recommend for installation. Please advise.

    Looks like these are ask you.

    http://docs.Oracle.com/CD/E25054_01/fusionapps.1111/e16814/postinstsetup.htm

    http://ashrutp.blogspot.com.by/2014/01/Informatica-PowerCenter-and.html

    Informatica PowerCenter 9 Installation and Configuration Guide complete | Training of Informatica & tutorials

  • Authentication active Dictionary (LDAP)

    Hi all:

    Env: XE 10g with APEX 3.1.2 on Windows XP

    I am trying to create a new scheme of authentication using Microsoft Active Directory. In my business, we do not allow any AD user query the AD tree. We have a special user account (admaster) created in order to allow the web application query the AD tree. No matter what web application wants to authenticate the login of the user (username + password) against AD must connect on our ad server under this special user.

    Once I created my new 'Microsoft_AD' authentication scheme, I test the connection by using "LDAP Test Tool" by specifying 'admaster' user name and password, the test is ok.

    However, when I use this new scheme of authentication for an application, I can not connect even I specify the correct AD user name and the password (I use my own AD username).

    How to solve this problem?

    In addition, when an APEX application tries to interrogate our ad server (assuming that this application uses the new AD authentication scheme I just created), need special user or an anonymous user login to our ad server?


    Your quick response on this would be greatly appreciated!

    Kevin

    Hi Kevin

    The package definition is:

    CREATE OR REPLACE PACKAGE Pkg_XXX_Ldap
     IS
       /*
        * Package to handle the LDAP From PL/SQL
        * All functions use the DBMS_LDAP package
        *
       */
    
       -- User Insert --
       FUNCTION Insert_User
       (
         dn     IN VARCHAR2,
         sn       IN VARCHAR2,
         userpassword      IN VARCHAR2,
         uid IN VARCHAR2,
         objectclass1   IN VARCHAR2,
         objectclass2     IN VARCHAR2,
         objectclass3  IN VARCHAR2,
         objectclass4   IN VARCHAR2,
         objectclass5    IN VARCHAR2,
         cn        IN VARCHAR2,
         givenname      IN VARCHAR2,
         tel       IN VARCHAR2,
         rmsorgid    IN VARCHAR2,
         mail      IN VARCHAR2,
         ldapgroup      VARCHAR2
       )
       RETURN VARCHAR2 ;
    
       -- User Authentification --
       FUNCTION XXX_authenticate_user( p_username IN VARCHAR2, p_password IN VARCHAR2 )
       RETURN BOOLEAN ;
    
       -- Add to group --
       FUNCTION add_in_group (p_session dbms_ldap.SESSION,
         p_group VARCHAR2,
         p_user VARCHAR2)
       RETURN PLS_INTEGER ;
    
      -- Get User DN using current session--
       FUNCTION XXX_get_user_dn( p_uid IN VARCHAR2, p_session dbms_ldap.SESSION)
       RETURN VARCHAR2;
    
       FUNCTION XXX_change_password
       (
         uid    IN VARCHAR2,
         userpassword      IN VARCHAR2
       )
       RETURN VARCHAR2;
    
     END Pkg_XXX_Ldap;
    

    and the definition of body is:

    CREATE OR REPLACE PACKAGE BODY Pkg_XXX_Ldap
     IS
    
     -- global variables --
     GN$Errcode     NUMBER ;
     GC$ErrLib      VARCHAR2(2000) ;
    
     GC$ldap_host   VARCHAR2(256)   := 'yourservername'; -- your LDAP Host url
     GC$ldap_port   VARCHAR2(256)   := '389'; -- your LDAP Port
     GC$ldap_user   VARCHAR2(256)   := 'cn=root';
     GC$ldap_passwd VARCHAR2(256)   := 'adminpassword';
     GC$ldap_base   VARCHAR2(256)   := '';
    
     -------------------------
     --  Insert a new user  --
     -------------------------
     FUNCTION Insert_User
       (
         dn     IN VARCHAR2,
         sn       IN VARCHAR2,
         userpassword      IN VARCHAR2,
         uid IN VARCHAR2,
         objectclass1   IN VARCHAR2,
         objectclass2     IN VARCHAR2,
         objectclass3  IN VARCHAR2,
         objectclass4   IN VARCHAR2,
         objectclass5    IN VARCHAR2,
         cn        IN VARCHAR2,
         givenname      IN VARCHAR2,
         tel       IN VARCHAR2,
         rmsorgid   IN VARCHAR2,
         mail      IN VARCHAR2,
         ldapgroup      VARCHAR2
       )
     RETURN VARCHAR2
     IS
    
       retval PLS_INTEGER;
    
       my_session DBMS_LDAP.SESSION;
       emp_dn     VARCHAR2(256);
       emp_array  DBMS_LDAP.MOD_ARRAY;
       emp_vals   DBMS_LDAP.STRING_COLLECTION;
    
     BEGIN
      retval := -1;
    
      -- Insert into LDAP --
    
      DBMS_OUTPUT.PUT_LINE(RPAD('LDAP Host ',25,' ') || ': ' || GC$ldap_host);
      DBMS_OUTPUT.PUT_LINE(RPAD('LDAP Port ',25,' ') || ': ' || GC$ldap_port);
    
      DBMS_LDAP.USE_EXCEPTION := TRUE;
    
      my_session := DBMS_LDAP.init(GC$ldap_host,GC$ldap_port);
    
      DBMS_OUTPUT.PUT_LINE (RPAD('Ldap session ',25,' ') || ': ' ||
      RAWTOHEX(SUBSTR(my_session,1,8)) || '(returned from init)');
    
      retval := DBMS_LDAP.simple_bind_s(my_session, GC$ldap_user,GC$ldap_passwd);
    
      DBMS_OUTPUT.PUT_LINE(RPAD('simple_bind_s Returns ',25,' ') || ': ' || TO_CHAR(retval));
    
      emp_array := DBMS_LDAP.create_mod_array(20);
    
      -- Properties --
     -- emp_vals(1) := dn;
     -- DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD, 'dn',emp_vals);
      emp_vals(1) := sn;
      DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD, 'sn',emp_vals);
      emp_vals(1) := userpassword;
      DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD, 'userPassword',emp_vals);
      emp_vals(1) := uid;
      DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD, 'uid',emp_vals);
      emp_vals(1) := objectclass1;
      --DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD, 'objectclass',emp_vals);
      --emp_vals(1) := objectclass2;
      --DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD, 'objectclass',emp_vals);
      --emp_vals(1) := objectclass3;
      --DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD, 'objectclass',emp_vals);
      --emp_vals(1) := objectclass4;
      --DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD, 'objectclass',emp_vals);
      --emp_vals(1) := objectclass5;
      --DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD, 'objectclass',emp_vals);
      emp_vals(1) := cn;
      DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD, 'cn',emp_vals);
      emp_vals(1) := givenname;
      DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD, 'givenname',emp_vals);
      emp_vals(1) := tel;
      DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD, 'telephoneNumber',emp_vals);
      emp_vals(1) := rmsorgid;
      DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD, 'pager',emp_vals);
      emp_vals(1) := mail;
      DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD, 'mail',emp_vals);
    
      emp_vals(1) := objectclass1;
      emp_vals(2) := objectclass2;
      emp_vals(3) := objectclass3;
      emp_vals(4) := objectclass4;
      emp_vals(5) := objectclass5;
    
      DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD, 'objectClass',emp_vals);
    
      DBMS_OUTPUT.PUT_LINE(' mod array : ' || TO_CHAR(emp_array));
    
      emp_dn := dn;
    
      DBMS_OUTPUT.PUT_LINE(RPAD('Adding Entry for DN ',25,' ') ||': [' || emp_dn || ']');
    
      retval := DBMS_LDAP.add_s(my_session,emp_dn,emp_array);
      DBMS_OUTPUT.PUT_LINE(RPAD('add_s Returns ',25,' ') || ': '|| TO_CHAR(retval));
    
      DBMS_LDAP.free_mod_array(emp_array);
    
      -- Add the user to the portal group --
      retval := add_in_group (my_session, ldapgroup, emp_dn) ;
    
      retval := DBMS_LDAP.unbind_s(my_session);
    
      DBMS_OUTPUT.PUT_LINE(RPAD('unbind_res Returns ',25,' ') || ': ' ||
      TO_CHAR(retval));
    
      DBMS_OUTPUT.PUT_LINE('Result -> OK');
    
      RETURN 'OK' ;
    
     -- Handle Exceptions
     EXCEPTION
    
       WHEN OTHERS THEN
    
       GN$ErrCode := SQLCODE ;
       GC$ErrLib  := SQLERRM ;
       DBMS_OUTPUT.PUT_LINE(' Error code : ' || TO_CHAR(GN$ErrCode));
       DBMS_OUTPUT.PUT_LINE(' Error Message : ' || GC$ErrLib);
       DBMS_OUTPUT.PUT_LINE(' Exception encountered .. exiting');
       RETURN ( GC$ErrLib ) ;
    
     END Insert_User;
    
       /*
       *****************************************************************
       -- Function : add_in_group
       -- Parameters : group name / user name (DN) / session
       -- Return     : 0 = Ok / others KO
       *****************************************************************
       */
       FUNCTION add_in_group (p_session dbms_ldap.SESSION,
         p_group VARCHAR2,
         p_user VARCHAR2)
         RETURN PLS_INTEGER IS
         my_vals  dbms_ldap.string_collection;
         v_array  dbms_ldap.mod_array;
         retval      PLS_INTEGER;
    
         BEGIN
           -- Initialise the pl/sql table for the new entry
           my_vals(1) := p_user;
    
           -- Initialise the varray for the modify command
           v_array := dbms_ldap.create_mod_array(num => 1);
    
           IF v_array = NULL THEN
        dbms_output.put_line('Error add_in_group: v_array not initialised.');
        NULL;
           END IF;
           dbms_output.put_line ('v_array initialise success.');
    
           -- Populate the varray
           dbms_ldap.populate_mod_array(v_array,
                            dbms_ldap.mod_add,
                            'uniquemember',
                            my_vals);
    
           dbms_output.put_line(p_user);
           -- Group Modification
           retval := dbms_ldap.modify_s(p_session, p_group, v_array);
    
           -- Free the varray
           dbms_ldap.free_mod_array(v_array);
    
           RETURN retval;
    
       EXCEPTION
         WHEN OTHERS THEN
           dbms_output.put_line('add_in_group : '|| SQLCODE||' '||SQLERRM);
        RETURN -1 ;
       END add_in_group;
    
       -----------------------------
       --  User Authentication  --
       -----------------------------
     FUNCTION XXX_authenticate_user( p_username IN VARCHAR2, p_password IN VARCHAR2 )
       RETURN BOOLEAN
     IS
      ldap_host            VARCHAR2(256);
      ldap_port            PLS_INTEGER;
      ldap_user            VARCHAR2(256);
      ldap_passwd          VARCHAR2(256);
      ldap_base            VARCHAR2(256);
      retval               PLS_INTEGER;
      my_session           DBMS_LDAP.SESSION;
      subscriber_handle    DBMS_LDAP_UTL.HANDLE;
      sub_type             PLS_INTEGER;
      subscriber_id        VARCHAR2(2000);
      my_pset_coll         DBMS_LDAP_UTL.PROPERTY_SET_COLLECTION;
      my_property_names    DBMS_LDAP.STRING_COLLECTION;
      my_property_values   DBMS_LDAP.STRING_COLLECTION;
      user_handle          DBMS_LDAP_UTL.HANDLE;
      user_id              VARCHAR2(2000);
      user_type            PLS_INTEGER;
      user_password        VARCHAR2(2000);
      my_mod_pset          DBMS_LDAP_UTL.MOD_PROPERTY_SET;
      my_attrs             DBMS_LDAP.STRING_COLLECTION;
      user_dn              VARCHAR2(256);
     BEGIN
      -- Please customise the following variables as needed
      ldap_user     := GC$ldap_user;
      ldap_passwd   := GC$ldap_passwd;
      sub_type      := DBMS_LDAP_UTL.TYPE_DEFAULT;
      subscriber_id := NULL;
      user_type     := DBMS_LDAP_UTL.TYPE_DN;
      user_id       := p_username;
      user_password := p_password;
      -- Choosing exceptions to be raised by DBMS_LDAP library.
      DBMS_LDAP.USE_EXCEPTION := TRUE;
    
      DBMS_OUTPUT.PUT_LINE('Input Parameters: ');
      DBMS_OUTPUT.PUT_LINE('LDAP HOST: '      || GC$ldap_host );
      DBMS_OUTPUT.PUT_LINE('LDAP PORT: '      || GC$ldap_port);
      DBMS_OUTPUT.PUT_LINE('LDAP BIND USER: ' || ldap_user);
      DBMS_OUTPUT.PUT_LINE('USER ID : '       || user_id);
      DBMS_OUTPUT.PUT_LINE('----------------------------------');
      -----------------------------------------------
      -- Connect to the LDAP server
      -- and obtain and ld session.
      -----------------------------------------------
      DBMS_OUTPUT.PUT('Connecting to ' || GC$ldap_host || ' ...');
    
      my_session := DBMS_LDAP.init(GC$ldap_host, GC$ldap_port);
    
      DBMS_OUTPUT.PUT_LINE(': Connected.');
      -----------------------------------------------
      -- Bind to the directory
       -----------------------------------------------
      DBMS_OUTPUT.PUT('Binding to directory as ' || ldap_user || ' ... ');
      retval := DBMS_LDAP.simple_bind_s(my_session, ldap_user, ldap_passwd);
      DBMS_OUTPUT.PUT_LINE(': Successful.');
      ---------------------------------------------------------------------
      -- Create Subscriber Handle
       ---------------------------------------------------------------------
      DBMS_OUTPUT.PUT('Creating Realm Handle ... ');
      retval := DBMS_LDAP_UTL.create_subscriber_handle(subscriber_handle,
                                                       sub_type,
                                                       subscriber_id);
      IF retval != DBMS_LDAP_UTL.SUCCESS THEN
         -- Handle Errors
         DBMS_OUTPUT.PUT_LINE('Error: create_subscriber_handle returns : ' || TO_CHAR(retval));
         --RETURN('Error: create_subscriber_handle returns : ' || TO_CHAR(retval));
         RETURN FALSE;
      END IF;
      DBMS_OUTPUT.PUT_LINE(': Successful.');
      ---------------------------------------------------------------------
       -- Get the DN in order to authenticate
      ---------------------------------------------------------------------
      user_dn := XXX_get_user_dn( user_id, my_session);
      ---------------------------------------------------------------------
      -- Create User Handle
       ---------------------------------------------------------------------
      DBMS_OUTPUT.PUT('Creating user handle for ' || user_dn || ' ... ');
      retval := DBMS_LDAP_UTL.create_user_handle(user_handle,user_type,user_dn);
      IF retval != DBMS_LDAP_UTL.SUCCESS THEN
         -- Handle Errors
         DBMS_OUTPUT.PUT_LINE('Error: create_user_handle returns : ' || TO_CHAR(retval));
         --RETURN('Error: create_user_handle returns : ' || TO_CHAR(retval));
         RETURN FALSE;
      END IF;
      DBMS_OUTPUT.PUT_LINE(': Successful.');
      ---------------------------------------------------------------------
      -- Set user handle properties
      -- (link subscriber to user )
      ---------------------------------------------------------------------
      retval := DBMS_LDAP_UTL.set_user_handle_properties(user_handle,
                                                         DBMS_LDAP_UTL.SUBSCRIBER_HANDLE,
                                                         subscriber_handle);
      IF retval != DBMS_LDAP_UTL.SUCCESS THEN
         -- Handle Errors
         DBMS_OUTPUT.PUT_LINE('Error: set_user_handle_properties returns : ' || TO_CHAR(retval));
      --RETURN('Error: set_user_handle_properties returns : ' || TO_CHAR(retval));
      RETURN FALSE;
      END IF;
    
      ---------------------------------------------------------------------
      -- Authenticate User
      ---------------------------------------------------------------------
      DBMS_OUTPUT.PUT('Authenticating user ' || user_id || ' with dn ' || user_dn);
      retval := DBMS_LDAP_UTL.authenticate_user(my_session,
                                                user_handle,
                                                DBMS_LDAP_UTL.AUTH_SIMPLE,
                                                user_password,
                                                NULL);
      IF retval != DBMS_LDAP_UTL.SUCCESS THEN
         -- Handle Errors
         DBMS_OUTPUT.PUT_LINE('Authentification error :  ' || TO_CHAR(retval));
         RETURN FALSE;
      IF retval = -5 THEN
        DBMS_OUTPUT.PUT_LINE('User unknown');
      ELSIF retval = -16 THEN
        DBMS_OUTPUT.PUT_LINE ('Incorrect password');
    
      ELSIF retval = DBMS_LDAP_UTL.PARAM_ERROR THEN
        DBMS_OUTPUT.PUT_LINE (' Invalid input parameters.');
    
      ELSIF retval = DBMS_LDAP_UTL.GENERAL_ERROR THEN
        DBMS_OUTPUT.PUT_LINE (' Authentication failed.');
    
      ELSIF retval = DBMS_LDAP_UTL.NO_SUCH_USER THEN
        DBMS_OUTPUT.PUT_LINE (' USER doesn''t exist.');
    
      ELSIF retval = DBMS_LDAP_UTL.MULTIPLE_USER_ENTRIES THEN
        DBMS_OUTPUT.PUT_LINE (' Multiple NUMBER OF USER DN entries exist IN the DIRECTORY FOR the given USER.');
    
      ELSIF retval = DBMS_LDAP_UTL.INVALID_SUBSCRIBER_ORCL_CTX THEN
        DBMS_OUTPUT.PUT_LINE (' Invalid Subscriber Oracle Context.');
    
      ELSIF retval = DBMS_LDAP_UTL.NO_SUCH_SUBSCRIBER THEN
        DBMS_OUTPUT.PUT_LINE (' Subscriber doesn''t exist.');
    
      ELSIF retval = DBMS_LDAP_UTL.MULTIPLE_SUBSCRIBER_ENTRIES THEN
        DBMS_OUTPUT.PUT_LINE (' Multiple NUMBER OF subscriber DN entries exist IN the DIRECTORY FOR the given subscriber.');
    
      ELSIF retval = DBMS_LDAP_UTL.INVALID_ROOT_ORCL_CTX THEN
        DBMS_OUTPUT.PUT_LINE (' Invalid Root Oracle Context.');
    
      ELSIF retval = DBMS_LDAP_UTL.AUTH_PASSWD_CHANGE_WARN THEN
        DBMS_OUTPUT.PUT_LINE (' PASSWORD should be changed.');
    
      ELSIF retval = DBMS_LDAP_UTL.ACCT_TOTALLY_LOCKED_EXCEPTION THEN
        DBMS_OUTPUT.PUT_LINE (' USER account IS locked.');
    
      ELSIF retval = DBMS_LDAP_UTL.PWD_EXPIRED_EXCEPTION THEN
        DBMS_OUTPUT.PUT_LINE (' USER PASSWORD has expired.');
    
      ELSIF retval = DBMS_LDAP_UTL.PWD_GRACELOGIN_WARN THEN
        DBMS_OUTPUT.PUT_LINE (' Grace login FOR USER.');
    
      ELSE
        DBMS_OUTPUT.PUT_LINE('Authentification error : ' || TO_CHAR(retval));
      END IF ;
      ELSE
         DBMS_OUTPUT.PUT_LINE(': Successful.');
         RETURN TRUE;
      END IF;
    
      ------------------------------------------
      -- Free Mod Propertyset
      ------------------------------------------
      DBMS_LDAP_UTL.free_mod_propertyset(my_mod_pset);
      ---------------------------------------------------------------------
      -- Free handles
      ---------------------------------------------------------------------
      DBMS_LDAP_UTL.free_handle(subscriber_handle);
      DBMS_LDAP_UTL.free_handle(user_handle);
    
      -- unbind from the directory
      DBMS_OUTPUT.PUT('Unbinding from directory ... ');
      retval := DBMS_LDAP.unbind_s(my_session);
      IF retval != DBMS_LDAP_UTL.SUCCESS THEN
         -- Handle Errors
         DBMS_OUTPUT.PUT_LINE('unbind_s returns : ' || TO_CHAR(retval));
      --RETURN('unbind_s returns : ' || TO_CHAR(retval));
      RETURN FALSE;
      ELSE
         DBMS_OUTPUT.PUT_LINE(': Successful.');
      END IF;
    
      RETURN TRUE ;
    
      -- Handle Exceptions
      EXCEPTION
         WHEN OTHERS THEN
         DBMS_OUTPUT.PUT_LINE(' Error code : ' || TO_CHAR(SQLCODE));
         DBMS_OUTPUT.PUT_LINE(' Error Message : ' || SQLERRM);
         DBMS_OUTPUT.PUT_LINE(' Exception encountered .. exiting');
         --RETURN SQLERRM ;
     END;
    
       -----------------------------
       --  Get User DN using current session  --
       -----------------------------
     FUNCTION XXX_get_user_dn( p_uid IN VARCHAR2, p_session dbms_ldap.SESSION)
       RETURN VARCHAR2
     IS
      ldap_base            VARCHAR2(256);
      retval               PLS_INTEGER;
      user_dn              VARCHAR2(256);
      filter               VARCHAR2(256);
      l_attrs        DBMS_LDAP.string_collection;
      l_message      DBMS_LDAP.message;
      l_entry        DBMS_LDAP.message;
    
     BEGIN
      ldap_base := 'o=XXXuk';
      ---------------------------------------------------------------------
      -- Search Directory
       ---------------------------------------------------------------------
    
      filter  := '(&(objectclass=person)(uid=' || p_uid || '))';
    
      l_attrs(1) := '*'; -- retrieve all attributes
      retval := DBMS_LDAP.search_s(ld       => p_session,
                                     base     => ldap_base,
                                     scope    => DBMS_LDAP.SCOPE_SUBTREE,
                                     filter   => filter,
                                     attrs    => l_attrs,
                                     attronly => 1,
                                    res      => l_message);
    
       IF DBMS_LDAP.count_entries(ld => p_session, msg => l_message) > 0 THEN
         -- Get the entry returned by our search.
         l_entry := DBMS_LDAP.first_entry(ld  => p_session,
                                          msg => l_message);
    
         IF l_entry IS NOT NULL THEN
         user_dn := DBMS_LDAP.get_dn(p_session, l_entry);
         DBMS_OUTPUT.PUT_LINE(': user_dn := ');
         ELSE
         user_dn := 'Error - LDAP Entry Not Found';
         END IF;
       ELSE
       user_dn := 'Error - Filter returned no results';
       END IF;
    
      DBMS_OUTPUT.PUT_LINE(': user_dn := '|| user_dn);
    
      ---------------------------------------------------------------------
      -- Finishing Off
      ---------------------------------------------------------------------
    
      RETURN( user_dn ) ;
    
      -- Handle Exceptions
      EXCEPTION
         WHEN OTHERS THEN
         DBMS_OUTPUT.PUT_LINE(' Error code : ' || TO_CHAR(SQLCODE));
         DBMS_OUTPUT.PUT_LINE(' Error Message : ' || SQLERRM);
         DBMS_OUTPUT.PUT_LINE(' Exception encountered .. exiting');
         RETURN SQLERRM ;
     END;
    
     -------------------------
     --  Change User Password  --
     -------------------------
     FUNCTION XXX_change_password
       (
         uid    IN VARCHAR2,
         userpassword      IN VARCHAR2
         )
     RETURN VARCHAR2
     IS
       retval PLS_INTEGER;
       my_session DBMS_LDAP.SESSION;
       emp_dn     VARCHAR2(256);
       emp_array  DBMS_LDAP.MOD_ARRAY;
       emp_vals   DBMS_LDAP.STRING_COLLECTION;
    
     BEGIN
      retval := -1;
    
     -- Insert into LDAP --
    
      DBMS_OUTPUT.PUT_LINE(RPAD('LDAP Host ',25,' ') || ': ' || GC$ldap_host);
      DBMS_OUTPUT.PUT_LINE(RPAD('LDAP Port ',25,' ') || ': ' || GC$ldap_port);
    
      DBMS_LDAP.USE_EXCEPTION := TRUE;
    
      my_session := DBMS_LDAP.init(GC$ldap_host,GC$ldap_port);
    
      DBMS_OUTPUT.PUT_LINE (RPAD('Ldap session ',25,' ') || ': ' ||
      RAWTOHEX(SUBSTR(my_session,1,8)) || '(returned from init)');
    
      retval := DBMS_LDAP.simple_bind_s(my_session, GC$ldap_user,GC$ldap_passwd);
    
      DBMS_OUTPUT.PUT_LINE(RPAD('simple_bind_s Returns ',25,' ') || ': ' || TO_CHAR(retval));
    
      emp_array := DBMS_LDAP.create_mod_array(1);
    
     -- Get the DN
      emp_dn := XXX_get_user_dn( uid, my_session);
    
     -- Populate the varray --
      IF userpassword IS NOT NULL THEN
         emp_vals(1) := userpassword;
         DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_REPLACE,'userpassword',emp_vals);
      END IF ;
    
     -- Update LDAP --
      retval := DBMS_LDAP.modify_s(my_session,emp_dn,emp_array);
      DBMS_OUTPUT.PUT_LINE(RPAD('modify_s Returns ',25,' ')  || ': ' || TO_CHAR(retval));
    
      DBMS_LDAP.free_mod_array(emp_array);
    
      retval := DBMS_LDAP.unbind_s(my_session);
    
      DBMS_OUTPUT.PUT_LINE(RPAD('unbind_res Returns ',25,' ') || ': ' ||
      TO_CHAR(retval));
    
      DBMS_OUTPUT.PUT_LINE('Result -> OK');
    
      RETURN 'OK' ;
    
     -- Handle Exceptions
     EXCEPTION
    
       WHEN OTHERS THEN
    
       GN$ErrCode := SQLCODE ;
       GC$ErrLib  := SQLERRM ;
       DBMS_OUTPUT.PUT_LINE(' Error code : ' || TO_CHAR(GN$ErrCode));
       DBMS_OUTPUT.PUT_LINE(' Error Message : ' || GC$ErrLib);
       DBMS_OUTPUT.PUT_LINE(' Exception encountered .. exiting');
       RETURN ( GC$ErrLib ) ;
    
     END XXX_change_password;
    
     END Pkg_XXX_Ldap;
    

    I replaced the name of our company with XXX - alter as required for yourself. You must also replace "NomdeVotreServeur" and "adminpassword" as the case may be. Otherwise, it's the complete package - if you need only to focus on the XXX_authenticate_user function.

    Andy

  • Cisco ISE 1.1.2.145 Admin authentication via the LDAP protocol

    I have configured the LDAP protocol and able to retrieve our LDAP directory structure. Now, I'm trying to point authentication "Admin Access" Source 'External identity', which is the new LDAP IS I created. But I couldn't find an option to authenticate locally if for some reason the LDAP configuration does not work. I learned that the ISE can automatically return to local auth as external sources Idenitity are inaccessible. How can I test the LDAP authentication with breaking them our Admin Access? I thought to open two parallel sessions, one with Super Admin account Local and one with the domain account. But I noticed that ISE communication is smart enough for the closing session/connection no matter what other sessions in different browsers so, basically, I can't open two parallel sessions the same machine to test. Suggestions? or am I missing something here?

    Thanks in advance.

    Hi Srinivas,

    Even if you configure LDAP as a source of external identity of admin access, you can always internal relief without having locked. According to the ISE user guide:

    During the operation, Cisco ISE is designed to "fall back" and try to perform the internal identity database authentication, if the communication with the external identity store has not been established, or if it fails. In addition, whenever an administrator for which you have configured external authentication launches a browser and initiates a logon session, the administrator must still the option authentication of demand through the local Cisco ISE database by choosing 'Internal' to the Selector drop-down storage of identity in the Connect dialog box.

    http://www.Cisco.com/en/us/docs/security/ISE/1.1/user_guide/ise_man_identities.html#wp1351543

    Please see the attached screenshot by my lab ISE:

    I configured the admin authentication against AD, but I still see both 'Internal' and 'AD' at the time of the connection.

    I hope this helps.

    Thank you

    Aastha

  • Oracle Business Intelligence developer Client installation tools (11.1.1.6.0)

    Dear Sir/Madam,

    Can I know how to get the software:

    Oracle Business Intelligence developer Client installation tools (11.1.1.6.0)

    as I can not install the latest version of the software due to problem of upgrade (Server own not by me) and the link provided (11.1.1.7.0) instead:

    Oracle Business Intelligence 11g downloads

    I meet the same problem, as shown in the link below

    OBIEE - Oracle Business Intelligence 911: Catalog Manager - point release upgrade

    Much appreciated if someone could guide me to get the software, the rescue of the situation.

    Kind regards

    Tony

    Your ID of Customer Support (ISC) is the unique ID to your company (or indeed yourself as an individual if you are so lucky) when you purchase oracle licenses (i.e. become a paying customer) who should have a company that uses Oracle in the trade.  Someone within the company (your company) will be the 'customer user administrator' and they have the possibility to connect to My Oracle Support and associate other people in society against the CSI for the company, allowing them to use My Oracle Support and increase the requests of Support (SR) with Oracle directly.  For example, in our Organization, one of our DBA is the AUC, so when I joined I had to go to his house to ask him to add me, so that I could raise calls for technical support with Oracle and the community of MOS and the knowledge base of research.

    Once you have access to My Oracle Support (MOS) you can search this is the knowledge base, download patches and other versions of the software is not available publicly, or lift SRs to get help from Oracle.

  • Need help to install Oracle Business Intelligence 11.1.1 Applications. 7.1

    Hello

    I intend to install some Applications Oracle Business Intelligence 11.1.1.7.1 in my machine. I need some clarification before you install it.

    (1) can I install and run unity of repository on the local computer (that is not a server)?

    (2) don't need an application server for the installation of the Oracle Applications Business Intelligence 11.1.1.7.1?  If so where should I install the server applications or server or in my local computer?

    Thanks in advance

    Here you go...

    (1) can I install and run unity of repository on the local computer (that is not a server)?

    Yes, you can, if you have a database and ongoing running and accessible from your machine.

    (2) don't need an application server for the installation of the Oracle Applications Business Intelligence 11.1.1.7.1?  If so where should I install the server applications or server or in my local computer?

    Yes you need, and it will be good to have it on your machine.

    Before installing, make sure that you have min 4 GB of ram to work actively on OBIEE.

    So useful mark...

    Let me know if you need help with the installation.

  • Patch for Oracle Business Intelligence Add-in Spreadsheet

    Hello
    Oracle says that:
    If you install Spreadsheet Add - In as one of the components of your tools of Oracle Business Intelligence, only the specific versions and the Oracle database patchsets are supported.
    supported databases are:
    Oracle Database 10g Enterprise Edition Release 1 (10.1.0.4 and higher)
    Oracle Database 10g Enterprise Edition Release 2 (10.2.0.1 and higher);

    patch that need me?

    concerning
    Judite

    Just check [OLAP certification matrix | http://www.oracle.com/technology/products/bi/olap/collateral/olap_certification.html] know the patches recommended for OLAP.

    I think you can not apply a patch to access cube through addin another BI spreadsheet that just to install the add-in of the worksheet. This addin works very well with 10.2.0.2 until 10.2.0.4 versions DB. 10.2.0.1 DB version not recommended is therefore never checked against that.

    Thank you
    Brijesh

  • 12 c to Oracle business intelligence: is it really effective?

    Hi experts,

    I am Manager of the Business Intelligence service in a society. We use SAP BI4.1 SP3 and an Oracle 11 g server.

    We have big questions about our various requests.

    We are interesting in the migration to Oracle 12 c data and functionality "in memory".

    But the one is commercial viewpoint, as "it's magic, you will have a x 100 improvement, you'll have to create tables to agregate.

    I'm not sure it's that the real (but if it is, that would be great).

    My data warehouse volume is 7.

    The biggest volume of tables are 600 GB (+ key or index volume).

    (1) if I use Oracle 12 c with all the features of 'magic', can I expect a big improvement in queries?

    (2) if so, is there a lot of "tuning" on the database? is easy for a DBA?

    (3) to use the "in memory" function, can put ALL my data warehouse in memory? (as with the HANA database)

    (4) If Yes, thanks to compression, the amount of memory do I need on my server database?

    (5) is there with oracle 12 c 'column 'store technology (as in SYSBASE)?

    Thanks in advance for your advice and answers

    A. Drieux wrote:

    (1) if I use Oracle 12 c with all the features of 'magic', can I expect a big improvement in queries?

    (2) if so, is there a lot of "tuning" on the database? is easy for a DBA?

    (3) to use the "in memory" function, can put ALL my data warehouse in memory? (as with the HANA database)

    (4) If Yes, thanks to compression, the amount of memory do I need on my server database?

    (5) is there with oracle 12 c 'column 'store technology (as in SYSBASE)?

    (1) overall characteristics of the 'magic' allow you to identify the data that you need very quickly. If you do a lot of processing of this optimal subset, then you'll be running to the 'normal' intensive speed from there.

    (2) not a lot of development, provided the database is pretty well designed in the first place and you did something that works directly ON the privileged Oracle infrastructure - for example the use of the digital yyyymmdd is an obstacle to Oracle which has a very good knowledge of optimization through its date types.

    (3) technically, you could - although according to your paritioning and requirements of how you use the data you can be choosy if you can't get your hands on enough memory.

    (4) very hard to say - patterns in the data distribution make such a difference in the degree of compressibility, and there's always trade in the meantime CPU compression and decompression and compression level.  Store column in Oracle memory running at one of the lowest degrees of compression allows for example of filtered data without decompression that can allow selection of data extremely fast at the cost of increased memory use.

    Yes 5)- and it works in pieces of 1 MB, so that (for example) 30 000 lines could be compressed into a piece of 1 MB with a few pieces of metadata of 64 k which record critical summary information about the piece of 1 MB, enabling a request completely ignore a piece of 1 MB, as the metadata shows that there will all the relevant data in the block.

    Concerning

    Jonathan Lewis

  • Oracle Business Intelligence (BI) Forum

    Hi all

    I want to learn Oracle Business Intelligence.

    I'm looking on the forum and I found:

    1. soft people Business Intelligence

    2. EBS Business Intelligence.

    Which of the above is the Hyperion?

    Thank you very much

    MK

    I want to be as much help to you but I think you should post this topic, either the forum, I sent you earlier or to Business Intelligence-> forum Performance Management Applications because they seems more related to performance management (remember, I don't have any experience with Oracle Hyperion).

  • The 'Analysis' link on the computing business intelligence Oracle does not work

    Hello

    I am new to Oracle Business Intelligence EE. I downloaded the OBIEE and installed. But when I open it and try to click on the link of the analysis, nothing happens (see attached). Did I miss something during the installation that's why I'm having this problem. Please notify.

    Thank you

    Rabie

    (1) try different browser (I hope that it will work), I had faced same problem many times in the chrome browser.

    (2) check the authorization of level object in RPD - presentation Layer

  • Download Business Intelligence view ADF regions?

    Hi all

    I need to download the extensions of Business Intelligence ADF view regions 11.1.1.7 but I can't do it, when I click on "check for updates" option does not figure in the list BI.

    I tried to download directly from here http://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/131167.xml#oracle.biadf with no luck

    I'd appreciate your help,

    Jhon

    JDEV 11.1.1.7

    The link comes to temper at the end.
    Use http://download.oracle.com/otn-pub/jdeveloper/11.1.1.7.0/extensions/bi-adf_bundle.zip
    And you get the right file.

    Timo

  • Oracle Business Intelligence / EBS

    What is the relationship between following oracle e-business and oracle business intelligence? Just a module of Oracle EBS, is BI? What business intelligence is used usually for? Corresponds to the BI data usually placed in the same database as the States financial, accounting, etc. purchase.

    If Yes, where is/security permissions for the Business Intelligence set up, are they just configured as of responsibilities within the responsibility of sysadmin? Or is it a completely different login process to access EBS and BI?

    Hello

    You can also view

    http://in.answers.Yahoo.com/question/index?QID=20100402004655AAYWrbw

    http://it.Toolbox.com/blogs/BI-applications/difference-between-bi-and-ERP-11825

    Thank you

  • Implementation of Oracle Business Intelligence Applications

    As a consulting company, how many type of resources, we must implement the Oracle Business Intelligence Applications.

    For example, we are going to implement Business Intelligence for Oracle Financials R12.1.3 and Oracle HRMS R12.1.3 then what type of resources, we need?

    According to my believe according to the types of resources should be involved.

    1 database administrators (in order to exploit the security things facility)
    2 BI Technical Consultant (Oracle Financials, HRMS with OBIA map)
    3 BI Consultant (to explain the dashboard in front of the customer knowing the field)
    4 project Manager (to administer the process of implementation)

    Please delete my agreement with some suggestions.

    Thank you
    Naeem Akhtar

    Hi Naeem,

    You must have technical / functional Oracle Financials R12.1.3 and Oracle HRMS R12.1.3 Consultant if you want to customize finance OBIA or OBIA HR. These consultants will help you:
    -analysis of the DIFFERENCES between the content of OLIVE & operational requirements
    -understanding customization in EBS module to adapt OBIA
    -understand the source tables and between the source tables to customize OBIA.

    Kind regards

    Benoit

  • Lack of Business Intelligence Oracle Installation to create ASInstance

    Hi all
    I try to install Oracle Business Intelligence Enterprise Edition 11.5 on Centos 6.3 x 64 and it is unable to create the ASInstance.

    Here is a part of the file journal, which I think is the cause of the failure. Help, please.

    oracle.as.provisioning.util.ConfigException:
    Error creating ASInstance instance1.
    Cause:
    An internal operation failed: error from Server opmn
    Operation abandoned due to a system call failed or an error internal
    Action:
    Check the logs for more details.
    at oracle.as.provisioning.util.ConfigException.createConfigException(ConfigException.java:123)
    at oracle.as.provisioning.fmwadmin.ASInstanceProv._createInstance(ASInstanceProv.java:317)
    at oracle.as.provisioning.fmwadmin.ASInstanceProv.createInstance(ASInstanceProv.java:166)
    ... 18 more
    Caused by: oracle.as.management.opmn.optic.OpticException: error from Server opmn
    Operation abandoned due to a system call failed or an error internal
    at oracle.as.management.opmn.optic.OpmnAdmin.executeCommand(OpmnAdmin.java:310)
    at oracle.as.management.opmn.optic.OpmnAdmin.startOpmnServer(OpmnAdmin.java:87)
    at oracle.as.provisioning.fmwadmin.ASInstanceProv._createInstance(ASInstanceProv.java:254)
    ... 19 more

    ]]
    [2012 10-27 T 01: 33:23.682 + 03:00] [as] [NOTIFICATION] [] [oracle.as.install.bi] [tid: 37] [ecid: 0000JeVB84zFw000jzwkno1GYk7X00000S, 0] Port Assignment: 9503 to: OPMN_LOCAL_PORT
    [2012 10-27 T 01: 33:23.682 + 03:00] [as] [NOTIFICATION] [] [oracle.as.install.bi] [tid: 37] [ecid: 0000JeVB84zFw000jzwkno1GYk7X00000S, 0] Port Assignment: 9504 to: OPMN_REMOTE_PORT
    [2012 10-27 T 01: 33:23.682 + 03:00] [as] [NOTIFICATION] [] [oracle.as.install.bi] [tid: 37] [ecid: 0000JeVB84zFw000jzwkno1GYk7X00000S, 0] Port Assignment: 9505 to: OPMN_REQUEST_PORT
    [2012 10-27 T 01: 33:23.682 + 03:00] [as] [NOTIFICATION] [] [oracle.as.install.engine] [tid: 37] [ecid: 0000JeVB84zFw000jzwkno1GYk7X00000S, 0] affecting valueOf (OPMN_LOCAL_PORT): < SECURE >. Value: USER
    [2012 10-27 T 01: 33:23.682 + 03:00] [as] [NOTIFICATION] [] [oracle.as.install.engine] [tid: 37] [ecid: 0000JeVB84zFw000jzwkno1GYk7X00000S, 0] affecting valueOf (OPMN_REMOTE_PORT): < SECURE >. Value: USER
    [2012 10-27 T 01: 33:23.682 + 03:00] [as] [NOTIFICATION] [] [oracle.as.install.engine] [tid: 37] [ecid: 0000JeVB84zFw000jzwkno1GYk7X00000S, 0] affecting valueOf (OPMN_REQUEST_PORT): < SECURE >. Value: USER
    [2012 10-27 T 01: 33:23.704 + 03:00] [as] [NOTIFICATION] [] [oracle.as.provisioning] [tid: 37] [ecid: 0000JeVB84zFw000jzwkno1GYk7X00000S, 0] the execution of a workflow of Jaxb...
    [2012 10-27 T 01: 33:23.705 + 03:00] [as] [NOTIFICATION] [] [oracle.as.provisioning] [tid: 37] [ecid: 0000JeVB84zFw000jzwkno1GYk7X00000S, 0] beginning Oracle Fusion Middleware

    Kind regards
    Denis Ojok

    Hi Denis,.

    Check these docs

    Installation of OBIEE 11 g on Linux 64-bit fails running the Configuration Wizard with "Step Asinstance creation failed" [ID 1304640.1]
    Error: "Oracle.as.provisioning.util.ConfigException: error starting of the field.» While installing OBIEE 11 G [1272906.1 ID]
    --> Try with adapter IP or static looping.

    OBIEE 11 g installation fails when the Config - Java error memory in newspapers, PermGen [1278708.1 ID] and [1211573.1 ID]

    If brand pls help

Maybe you are looking for

  • Look at the Os 3

    Why doesn't show os 3 available for download?

  • Weird question "empty trash".

    Thus, all that recently, I went to empty my trash, now there are only 43 items in the trash can which must be cleared out, but when I go to empty a dialog box appears telling me is 'configuration' items and a counter starts adding all the items from

  • How can I remove the logo of Apple of a printed book?

    I just got a copy of my big hardcover book and to my surprise the Apple, the logo is printed in the middle of the back cover. I did not see an option to have it removed, as was the case with books ordered through Aperture and iPhoto, and the pictures

  • Computer laptop 17-p100na: partion recovery and backup content

    Hello I would like to backup the content of my recovery partition on another drive and possibly 7zip it down and burn it to a DVD or 2. What is there that can be ignored, as US English, etc. TO reduce the size.

  • HP Extended Service Plan pop for Windows Vista

    I can't stop this pop up on a user account. I can stop it on the administrator account. Task Scheduler does not run on the user account, it says I don't have permission, even if I act as an Administrator.There is a program to fix this problem, .mcupd