Loading initialization block

I Have 6 initialization block s. my question when ever user is login is all 6 initialization blocks run either sequentially or par alley?
We are facing some performance problem. (Login user is taking 2 minutes time) . is there any way we can increase performance ?

Hello User -
By default, all initialization blocks run in parallel. However, you can set an order if you would like.
1) In RPD, click "Manage > Variables..."
2) Click on "Initialization Blocks" to the left
3) Double click on the block that you would like to run second in your sequence
4) Click on "Edit Execution Preference"
5) Click "Add" and choose the initialization block you would like to run BEFORE the current init. block.
6) Click OK and save
As far as your performance issues with logging in, do you have any more details? Are you using LDAP? Do you have a lot of users? How powerful are the host machines that house the BI Services?
I hope this helps, and please award points if you found this useful!
Regards,
Jason

Similar Messages

  • Instance initializer and static initializer blocks

    Hi guys,
    I read about the above mentioned in the JLS and also in a book before, but I still don't quite understand, what is the use of these. I sort of have a rough idea, but not exactly. I mean, what is the purpose of the instance initializer and static initializer blocks, how can it be useful? I understand I can execute pieces of code that will initialize instance and static variables accordingly, but how is it different then to using a constructor to initialize these fields? Are these pieces of code executed before any constructor is executed, or when otherwise?
    Sorry for my noob, I'm learning.
    PR.

    Static initializers are useful for initializing a class when the initialization is more complex than simply setting a single variable, or when that initialization can throw a checked exception.
    public class Foo {
      private static final Bar bar;
      static {
        try {
          bar = new Bar();
          bar.doSomeInitializationStuff();
        catch (SomeCheckedExceptionThatBarThrows e) {
          throw new ExceptionInInitializerError(e);
    }Here we could not do the two-step new Bar() + doSomeInit() stuff in the line where we declare the bar variable. Additionally, assuming that one or both of those can throw a checked exception, we could not do that on the declaration line; we need the static initializer to wrap that in the appropriate unchecked exception.
    This allows us to do more complex class initialization when the class is loaded than we could do with a simple variable initialization.
    Instance initializers are useful if you want to perform the same steps in every constructor and don't want to have to repeat the code in each constructor. Instance initializers are executed as the first step of each constructor (or maybe it's after any super() calls, I forget).

  • Initialization block vs constructor

    Dear,
    Inside a class in Java, it is possible to declare a block (between '{ }') and declaring it 'static'. This is a 'initialization block' executed once when the class is loaded = before an object of this class is created.
    But this seems to me very close to the functionality of a class constructor function, except this is runned each time the class is instanciated.
    Can somebody give me good examples illustrating when each of them are needed (separately or together) ?
    Is class loading not occuring at the instanciation time of a class (as constructor execution) ?
    Thanks in advance.

    dcminter wrote:
    The USER_ROLES field can be accessed before the containing class has been instantiated (note that class loading and class instantiation are quite different things). If you put that logic into the constructor, you would get an empty set in those circumstances.Iinstead of using the static initializer block in the containing class
    you can put the initialization into the Set using literals
        public static final Set<String> USER_ROLES = Collections.unmodifiableSet(
            new HashSet<String>(Arrays.asList(new String[]{"USER","OWNER","ADMINISTRATOR"}))
        );or using the instance initializer block of the Set
        public static final Set<String> USER_ROLES = Collections.unmodifiableSet(
            new HashSet<String>(){{
                add("USER");
                add("OWNER");
                add("ADMINISTRATOR");
        );

  • Static initializer block

    use of static initializer block

    Going directly to the point aren't you?
    A ststic initializer block is used, well, to initializes static variable! It is called when the class is loaded.
    It is use like this.
    public MyClass {
       static {
          private int foo = 38;
       public static int getFoo() {
          return foo;
    }

  • Session variable and initialization block issues

    We are using OBIEE 10.1.3.3 and utilizes built in security features. (No LDAP or other single sign on). The user or group names are not stored in any external table. I have a need to supplement Group info of the user to the usage tracking we implemented recently as the NQ_LOGIN_GROUP.RESP column contains username instead of group name. So I created a session variable and associated with a new initialization block and also had a junk default value set to the variable. In the initialization block, I wrote the following query and as a result it inserted correct values into the table when the TEST button was clicked from the initialization block form.
    insert into stra_login_data (username, groupname, login_time) values ('VALUEOF(NQ_SESSION.USER)', 'VALUEOF(NQ_SESSION.GROUP)', SYSDATE)
    My intention is to make this execute whenever any user logs on. The nqserver.log reports the following error and it doesn?t insert values into the table.
    [nQSError: 13011] Query for Initialization Block 'SET_USER_LOGIN_BLOCK' has failed.
    [nQSError: 23006] The session variable, NQ_SESSION.USER, has no value definition.
    [nQSError: 13011] Query for Initialization Block 'SET_USER_LOGIN_BLOCK' has failed.
    [nQSError: 23006] The session variable, NQ_SESSION.GROUP, has no value definition.
    When I changed the insert statement as below, this does get populated whenever someone logs in. But I need the values of GROUP associated with the user as defined in the repository.
    insert into stra_login_data (username, groupname, login_time) values ('TEST_USER', TEST_GROUP', SYSDATE)
    Could someone help me out! As I mentioned above, I need the GROUP info into the usage tracking. So, if there is another successful approach, could you please share?
    Thank you
    Amin

    Hi Amin,
    See [this thread|http://forums.oracle.com/forums/thread.jspa?messageID=3376946&#3376946]. You can't use the GROUP session variable in an Init Block unless it has been seeded from an Init Block first. There isn't an easy solution for what you want, but here are some options:
    1) Create a copy of your User => Groups assignments in your RPD in an table so you can use it in your Usage Tracking Subject Area. But this means you will have to replicate the changes in two places so it's not a good solution.
    2) As the GROUP session variable is populated when you login you could theoretically use it a Dashboard and pass it a parameter to write the value to the database. But as I am not sure how can you make fire only once when the user logins it sounds like a bad idea.
    3) Move your User => Groups assignments from your RPD to a DB table. Use OBIEE Write Back or something like Oracle APEX to maintain them.
    I think 3) is the best solution to be honest.

  • Override the GROUP system session variable within an initialization block

    Hi,
    We're trying to override the GROUP system session variable and having no luck. We've created an initialization block to return the semicolon-separated list we're looking for but when a user logs in, it seems like it is overridden with the default. When we change the name of the variable to something other than GROUP, it works great and we get the expected value. Is there something we're missing with overriding the particular value?
    Here is the query we're attempting to use for the variable:
    Select 'GROUP',
       ListAgg(OBI_ROLE, ';') Within Group (Order By USER_EMAIL)
    From CSS_OBI_USER_ROLE
    Where USER_EMAIL In (':USER')
    We also tried:
    Select
       ListAgg(OBI_ROLE, ';') Within Group (Order By USER_EMAIL)
    From CSS_OBI_USER_ROLE
    Where USER_EMAIL In (':USER')
    We made sure that the variable name was 'GROUP' as well.
    Not sure if it's important to note or not, but the returned values do correspond to existing applications groups already defined within OBI.
    Any help is greatly appreciated!
    Thanks,
    Jas

    since you have value as OpsReviewViewer;OpsReviewAuthor:BIAdministrator
    my not help row wise setting
    try to handle ; part using sql query so that you get those number of records to use row-wise
    so this
    Select 'GROUP',
       ListAgg(OBI_ROLE, ';') Within Group (Order By USER_EMAIL)
    From CSS_OBI_USER_ROLE
    Where USER_EMAIL In (':USER')
    with row-wise show work

  • Calling of function in initialization block

    Hi,
    Could anyone please tell whether calling of function in initialization block occurs in what manner?
    Please answer by selecting from below options:
    Option 1. SEQUENTIAL (e.g USER 1 & USER 2 concurrently logged in, Now USER 1 calls the function through initialization block first and after completion releases it for USER 2)
    Option 2 THREADING (e.g USER 1 & USER 2 concurrently logged in, Now USER 1 and USER 2 calls the function through initialization block simultaneously)
    Regards,
    Varun
    Edited by: Varun Malhotra on 17-Dec-2009 01:07
    Edited by: Varun Malhotra on 17-Dec-2009 01:57

    Hi Varun,
    Based upon my previous Dashboard Prompt Execution Order, most things in OBIEE happen asynchronously.
    That being said, I would think that your second scenario is the most likely. If both users login at the same time, the function gets called simultaneously (or close to it).
    Hope that helps.
    -Joe

  • SQL*Loader-951: Error calling once/load initialization

    Dear all,
    11g on solaris 10.
    Dear all,
    When loading data using the below :
    sqlldr username/password@db control=data.ctl direct=true errors=10000 readsize=1048576 log=databill.log
    data loading successful.
    but when am speeding up the same and trying to load as below :
    sqlldr username/password@db1 control=databill.ctl direct=true errors=10000 Parallel=true bindsize= 5048576 multithreading=true log=databill.log
    SQL*Loader-951: Error calling once/load initialization
    ORA-26002: Table username.table has index defined upon it.
    If I drop index, and run the same it works fine.. is there way I can speed up the insert (append) using the above
    sqlldr username/password@db1 control=databill.ctl direct=true errors=10000 Parallel=true bindsize= 5048576 multithreading=true log=databill.log
    control file :
    UNRECOVERABLE
    LOAD DATA
    INFILE "databill.dat" "str X'0c'"
    BADFILE "databill.bad"
    DISCARDFILE "databill.dis"
    APPEND
    PRESERVE BLANKS
    INTO TABLE username.databill_TEST
    FIELDS TERMINATED BY X'07' TRAILING NULLCOLS
    Thanks
    Kai

    Thanks ,
    when using ,
    sqlldr username/password@db1 control=databill.ctl direct=true errors=10000 Parallel=true readsize=1048576 bindsize= 5048576 multithreading=true log=databill.log
      12048217 Rows successfully loaded.
      0 Rows not loaded due to data errors.
      0 Rows not loaded because all WHEN clauses were failed.
      0 Rows not loaded because all fields were null.
      Date cache:
       Max Size:      1000
       Entries :       424
       Hits    :  81540372
       Misses  :         0
    Bind array size not used in direct path.
    Column array  rows :    5000
    Stream buffer bytes:  256000
    Read   buffer bytes: 1048576
    Total logical records skipped:          0
    Total logical records read:      12048217
    Total logical records rejected:         0
    Total logical records discarded:        0
    Total stream buffers loaded by SQL*Loader main thread:     3767
    Total stream buffers loaded by SQL*Loader load thread:    11300
    Run began on Thu Dec 17 19:36:01 2009
    Run ended on Thu Dec 17 19:42:16 2009
    Elapsed time was:     00:06:14.25
    CPU time was:         00:02:29.55when using
    sqlldr username/password@db control=data.ctl direct=true errors=10000 readsize=1048576 log=databill.log
      12048217 Rows successfully loaded.
      0 Rows not loaded due to data errors.
      0 Rows not loaded because all WHEN clauses were failed.
      0 Rows not loaded because all fields were null.
      Date cache:
       Max Size:      1000
       Entries :       424
       Hits    :  81540372
       Misses  :         0
    Bind array size not used in direct path.
    Column array  rows :    5000
    Stream buffer bytes:  256000
    Read   buffer bytes: 1048576
    Total logical records skipped:          0
    Total logical records read:      12048217
    Total logical records rejected:         0
    Total logical records discarded:        0
    Total stream buffers loaded by SQL*Loader main thread:     3767
    Total stream buffers loaded by SQL*Loader load thread:    11300
    Run began on Thu Dec 17 04:29:05 2009
    Run ended on Thu Dec 17 04:37:04 2009
    Elapsed time was:     00:07:58.95
    CPU time was:         00:03:04.94How can I acheive maxium loading performance, what do I have to add to this :
    sqlldr username/password@db1 control=databill.ctl direct=true errors=10000 Parallel=true readsize=1048576 bindsize= 5048576 multithreading=true log=databill.log
    Please guide
    Kai

  • HOW TO FIND UNUSED initialization blocks  IN OBIEE RPD

    Hi Gurus,
    I have a task to remove unused initialization blocks and subject areas from RPD.
    how to find them ?how to check whether any reports are using these initialization blocks?
    Please reply me. I need to complete this task.Pls help me
    Regards,
    siva

    Unused Subject Areas -
    Use Catalog Manger - Tools - Create a report to with report name and subject area. You will get what are being used.
    Use RPD - Tools - Utilities export your RPD to CSV and check the Subject area.
    Compare both and remove unwanted subject areas.
    Initialization Blocks - We do not use these blocks directy but use Variables that are associated with it. Go to RPD - online - Mangesession - You will see the Variables tab in the window which give list of all variables thats get initialised with the session. --- Session Blocks
    Use Report Tools - Query Repository for searching.
    Try like this.

  • OBIEE 11g  Initialization Block problem with WLS User

    Hello,
    a brief description of my environment:
    - I have one machine with all OBIEE 11.1.1.6.2 components (build 120604.0813 BP1 64bit) and Oracle Database 11gR2;
    - In a separate machine I have the OID - Oracle Internet Directory where I have all business users with access to OBI Presentation Services;
    - In Weblogic Console I created a user named "weblogic" and this one is the administrator of all BI environment, this user is member of BIAdministrator and Administrators group, also this user is used to perform the communication between Fusion Middleware and Weblogic;
    - In weblogic Console I created a second user named "init_test" and he have the BIAuthor Role like the users that come from OID;
    - I have no problem logging in with all users OID and weblogic.
    Problem:
    - I created a simple Initalization Block and a variable to contain the result of the follow sql: SELECT region FROM adm_test_region WHERE city='Lisboa'
    - Initialization Blocks for Session variables are not working for "weblogic" user. For all other users everything is working as expected (users from OID and "init_test").
    Question:
    - There is any restriction in terms of Initialization Blocks for Session variables regarding the user that is linking Oracle Fusion Middleware with Oracle Weblogic?
    Thank you in advance,

    950780 wrote:
    Hello,
    a brief description of my environment:
    - I have one machine with all OBIEE 11.1.1.6.2 components (build 120604.0813 BP1 64bit) and Oracle Database 11gR2;
    - In a separate machine I have the OID - Oracle Internet Directory where I have all business users with access to OBI Presentation Services;
    - In Weblogic Console I created a user named "weblogic" and this one is the administrator of all BI environment, this user is member of BIAdministrator and Administrators group, also this user is used to perform the communication between Fusion Middleware and Weblogic;
    - In weblogic Console I created a second user named "init_test" and he have the BIAuthor Role like the users that come from OID;
    - I have no problem logging in with all users OID and weblogic.
    Problem:
    - I created a simple Initalization Block and a variable to contain the result of the follow sql: SELECT region FROM adm_test_region WHERE city='Lisboa'
    - Initialization Blocks for Session variables are not working for "weblogic" user. For all other users everything is working as expected (users from OID and "init_test").
    Question:
    - There is any restriction in terms of Initialization Blocks for Session variables regarding the user that is linking Oracle Fusion Middleware with Oracle Weblogic?
    Thank you in advance,When you say they are not working:
    1) You are using the session variables in a data filter in the RPD and for weblogic, the filter does not get applied?
    2) When trying to display the value of the sessoin variable in an analysis query, it errors out saying no value?
    As a BI Administrator, no data filters gets applied to the reports from the RPD unless you explicitly add them in the front end to the reports.
    You can also open the RPD in online mode, and go to sessions and kill everything, login using weblogic and monitor the sessions to see if a session is being created and the list of variables getting intilialized upon weblogic's entry into analytics.
    Thanks,
    -Amith.

  • RPD: How to use multiple-value variables in initialization blocks ?

    Hi all,
    I have a set of initialization blocks required for authentication, two of which are running row-wise. The first one sets a multi-valued variable, and the second one uses this variable.
    Or at least, should use, because it actually fails. The NQServer log says
    [nQSError: 13011] Query for Initialization Block 'My_Init_Block_2' has failed.
    [nQSError: 23006] The session variable, NQ_SESSION.MY_VAR_1, has no value definition.
    My first variable is initialized in a basic row-wise initialization block. What's more, if I say my 2nd block isn't required for authentication, and I read in a narrative the contents of my first variable, it contains the set of value I expect it to have.
    can anybody please advise?
    thanks in advance!
    Cedric..

    There is an example in the OBIEE Server Administration manual that looks very similar to your code except that the whole of the valueof string is quoted:
    select
    NAME, VALUE from RW_SESSION_VARS
    where USERID='VALUEOF(NQ_SESSION.USERID)' {code}<br /><br /><br /><br />Pete                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • How to use session variables in initialization blocks

    Hello,
    I want to use a session variable in a initialization block. Here is what I was doing to see this working
    I created a init block called name_parameter and associated with a variable target named name_parameter_v. The init string for this block is "select 'Hello' from dual".
    i created another init block name_parameter2 and associated with a variable target named name_parameter2_v. The init string is "select :name_parameter_v from dual".
    I have selected name_parameter in the edit execution precedence for name_parameter2.
    The result set is empty. Could you please explain why I am not able to see Hello when i test name_parameter2.
    Thanks.

    to obtain the value contained in a session variable this is the syntax.
    select 'VALUEOF(NQ_SESSION.VARIABLE_NAME)' from dual
    mind the single quotes, they are necessary

  • Row wise initialized variable in WHERE clause of other initialization block

    Hi,
    i've following problem.
    I've created a initialization block (called A) that initializes a row wise session variable.
    Ex: SELECT X,Y from Z
    Select statement returns 3 rows (it's a row wise initialization block!!!)
    Then i want to create another initialization block that uses in its WHERE cluase the previous row wise variable
    Ex: SELECT W,T from R where F = VALUEOF(NQ_SESSION.A)
    I have following error: DB2-UDB: SQL10104 Token ; was not valid, valid tokens: ....
    I believe that this error is caused by the fact that VALUEOF(NQ_SESSION.A) is translated by OBIEE in IN (a list of values separated by ; and not by ,).
    Can you suggest me a solution?
    Thanks
    Giancarlo
    P.S. I'm using OBIEE 10G

    You could avoid this by rewriting it as
    select w, t
    from r
    where f in (select y from z where x = 'A')
    Regards,
    Robert

  • Row-Wise Session Variable Initialization Block (Max Rows)

    Hi, we have a problem with Row-Wise Session Variable.
    We'll try to implemented the security with a External Query and a Row-Wise Initialization Block. But when we'll try to open the Web Obiee and the rows of result of the query is more than 3000 rows, the browser is broken. The access is very slowly.
    When the result of Query to Row-Wise Variable is more than 3000 rows and we'll try to open the Web Obiee, we have to close NQServer.EXE process of Obiee Server.
    Is there a best practise or a limit rows in the Row-Wise Initialization Block?.
    Thanks.

    You're Right, the people can't be in 3000 groups.
    Is possible I don't explain my problem correctly.
    We use this Row-Wise Variable for implement Data Level Security. .
    For Example :
    I have a fact table with Offices and Office's Sales.
    And each Obiee User can see many Offices according to their level of security.
    I want filter the fact table using a external SQL table implemented in a Session Row-Wise Variable and a User can have X Offices (In the worst case, 3000 Offices).

  • Error in repository variables use in initialization blocks on Solaris 64

    Hello,
    I noticed a strange problem on OBIEE 10.1.3.4.1 installed on Solaris 64: it seems that it cannot convert the string 'VALUEOF(+repository variable+)' into the actual value of the parameter.
    For example, this is an initialization block to populate current fiscal project date variables (from NQQuery.log):
    +++Administrator:fffe0000:fffe0c3e:----2010/04/12 12:29:29
    -------------------- An initialization block named 'Current Project Variables', on behalf of a Session Variable, issued the following SQL query:
    select C.MCAL_PERIOD_NAME as MCAL_PERIOD_NAME
    ,C.MCAL_PERIOD as MCAL_PERIOD
    ,C.MCAL_PER_NAME_QTR as MCAL_QTR_NAME
    ,C.MCAL_PER_NAME_YEAR as MCAL_YEAR_NAME
    ,PAGO.MCAL_PERIOD_NAME as MCAL_PERIOD_AGO
    ,QAGO.MCAL_PER_NAME_QTR as MCAL_QTR_AGO
    from
    VALUEOF(OLAPTBO).W_MCAL_PERIOD_D C
    ,VALUEOF(OLAPTBO).W_MCAL_PERIOD_D PAGO
    ,VALUEOF(OLAPTBO).W_MCAL_QTR_D QAGO
    where C.adjustment_period_flg = 'N'
    and C.W_CURRENT_MCAL_PERIOD_CODE = 'Current'
    and C.MCAL_CAL_WID=valueof(NQ_SESSION.MCAL_CAL_WID_PROJ)
    and C.mcal_period_ago_wid= pago.row_wid
    and C.mcal_qtr_ago_wid=qago.row_wid
    and c.mcal_cal_wid= pago.mcal_cal_wid
    and c.mcal_cal_wid=qago.mcal_cal_wid
    Returned 0 rows. Query status: Failure
    As you can see, VALUEOF(OLAPTBO) should be substituted by the repository session variable, but instead it seems that the BI Server simply issues to the database the initialization block statement as-is!
    Any idea?
    Thanks in advance for the help,
    Vincenzo Maggio

    As a test, I tried to add the filter to the individual user first. In the Repository I went under Manage-Identity. Clicked on my User and hit permissions button.
    I created the filter of:
    "Testing and Assessments"."Student SOL Testing"."Teacher Employee Number" = VALUEOF(NQ_SESSION."VAR_EMPLOYEE_NUMBER")
    That didn't work. I still see all data when I log in as that user. If I hard-code it to the users Employee Number (see below), it does work. What now?
    "Testing and Assessments"."Student SOL Testing"."Teacher Employee Number" = '19983758'

Maybe you are looking for

  • Photoshop Elements 8 Error Not Responding

    I am trying to get assistance in getting my photoshop back up and running.  I have called Adobe and there is no sympathy all they want is money to fix it.  They have sent me here to speak to an Adobe Tech.  I am finding that this is a very common iss

  • OBIEE and Essbase security pass through

    Hi All, I'm using Essbase as a data source for OBIEE. Right now I'm trying to use Hyperion security to pass through OBIEE. I've setup OBIEE to use Hyperion Shared Services as custom authenticator and Hyperion users can log in. However, I'm having pro

  • Disjointed Rollovers in FireFox

    I was practicing disjointed rollovers and driving myself crazy. They just wouldn't work in the browser preview (I use FF as my browser) Finally I tried to preview in IE 6 and it worked fine as it did in Opera 8 and Netscape 8. Is there something stan

  • Tuesday Updates March 12, 2013

    Microsoft's monthly cycle of Windows critical/security updates is scheduled to be released later  today. Included is Windows Malicious Software Removal Tool (MSRT, MRT) for March version 4.18 32-bit version for win 8/7/Vista/XP/Server2003 http://www.

  • Myfaces SortableTable stops working after integrated with ADF EA14

    Does anyone have a solution on this? Thanks