Friday, April 11, 2008

Setup OBIEE Scheduler on Linux

Several of my friends ask me how to setup the OBIEE scheduler on Linux. Here are the detailed steps of setting up the OBIEE scheduler on Linux in 10.1.3.3.2. Please note that this steps may be different in earlier version of Analytics (7.8.4) as introduction of cryptotools.

These are the steps to setup the Scheduler



  1. Setup the DB schema for Scheduler that is used to store the runtime data


  2. Configure the scheduler on Linux


  3. Configure the presentation service in order for it to connect to Scheduler



  4. Start the Scheduler Service



1. Setup the DB schema for Scheduler that is used to store the runtime data


The very first step in setting up the scheduler is to setup the DB schema for scheduler. The DB tables are in the SQL script
$INSTALLDIR/OracleBI/server/Schema/SAJOBS.Oracle.sql. Please select the DB platform specific .sql file. This blog post assume Oracle Database as your DB platform.



SQL>create user S_NQ_SCHED identified by S_NQ_SCHED;
SQL>grant connect,resource to S_NQ_SCHED;
SQL>alter user S_NQ_SCHED default tablespace OLAP;
SQL>alter user S_NQ_SCHED temporary tablespace TEMP;
SQL>alter user S_NQ_SCHED quota unlimited on OLAP;
SQL>connect S_NQ_SCHED/S_NQ_SCHED;
SQL>@$INSTALLDIR/OracleBI/server/Schema/SAJOBS.Oracle.sql;


This will setup scheduler tables S_NQ_JOB, S_NQ_JOB_PARAM, S_NQ_INSTANCE and S_NQ_ERR_MSG under schema S_NQ_SCHED.



2. Configure the Scheduler on Linux


-bash-3.00$ pwd
/oraclebi/product/OracleBI/setup
-bash-3.00$ . ./user.sh
-bash-3.00$ . ./sa-init.sh
-bash-3.00$ schconfig





Select Option 1 and then Enter



Select Option 1 and then Enter



Select Option 3, Enter Data Source Name. This should match the data source in tnsnames.ora file on the Scheduler Server. Select Option 4, Enter S_NQ_SCHED and Select Option 5, Enter S_NQ_SCHED. Select 0 to Quit and Save the changes.



Select Option 2 - General. Specify the Scheduler Administrator user and password. It can be same as BI Server Administrator user or you can setup a new user in RPD with the Administrator group assigned to it. Select the option 4 if you want to use a different port for scheduler rather then default port of 9705. Select 0 to quit and save the changes. Again select 0 to Quit and come back to the main menu.



Select option 2 to configure the email. Select 1- General to specify the email SMTP Server details. Select option 3 and 4 to specify the SMTP host name and port. On Linux, If the SendMail application running, you can use same host name as SMTP Server and port as 25. If the SendMail or the SMTP Server you are using is configured with Authentication, select Option 8 - Authenticate against the SMTP Server and set it to TRUE and specify the Username and Password that Scheduler will use to authenticate against the SMTP Server. Select 0-Quit to come back to the main menu, and save the changes.



Select Option 3 to configure the scheduler to talk to Presentation server. Select Option 1 - SAW Machine Name if the SAW Server not running on the same host as Scheduler and using a non-default port.

Select 0-Quit to exit from the Scheduler Configuration and Save the changes.



3. Configure the presentation service in order for it to connect to Scheduler


Now you need to configure the Presentation Server to talk to Scheduler Server.



  • Open the instanceconfig.xml file from oraclebi/product/OracleBIData/web/config.

  • Check the Alerts tag and make sure it is pointing to the correct host and port for the Scheduler Server.

<alerts><scheduleserver>myhost.company.com:xxxx</scheduleserver></alerts>



  • Make sure that CrentialStore tag point to the credentialstore.xml file.

<credentialstore><credentialstorage type="file" path="/oraclebi/product/OracleBIData/web/config/credentialstore.xml" passphrase="xxxxx"></credentialstore>



  • Run the cryptotools utility to update the credentialstore.xml file


Bash$ . /oraclebi/product/OracleBI/setup/sysenvinit.sh
Bash$ cd /oraclebi/product/OracleBI/web/bin
Bash$ cryptotools credstore -add –infile /oraclebi/product/OracleBIData/web/config/credentialstore.xml



Credential Alias: admin
Username: Administrator
Password: xxxxxxx
Do you want to encrypt the password? y/n (y): y
Passphrase for encryption: xxxxxx
Do you want to write the passphrase to the xml? y/n (n): y


Please make sure that credentialstore.xml file is updated with the following section at the end of the file.


<sawcs:credential type="usernamePassword" alias="admin"> <sawcs:username>Administrator</sawcs:username> <sawcs:password passphrase="xxxxxx"> <xenc:encrypteddata> <xenc:encryptionmethod algorithm=" href=">http://www.rsasecurity.com/rsalabs/pkcs/schemas/pkcs-5#pbes2"> <pkcs-5:pbes2-params algorithm=" href="http://www.rsasecurity.com/rsalabs/pkcs/schemas/pkcs-5#pbkdf2"> <pkcs-5:keyderivationfunc> <pkcs-5:parameters> <pkcs-5:iterationcount>1024</pkcs-5:IterationCount> </pkcs-5:Parameters> </pkcs-5:KeyDerivationFunc> <pkcs-5:encryptionscheme algorithm=" href=">http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/> </pkcs-5:PBES2-params> </xenc:EncryptionMethod> <xenc:cipherdata> <xenc:ciphervalue>3xUah7l969vR8NepkxxN4Q</xenc:CipherValue> </xenc:CipherData> </xenc:EncryptedData> </sawcs:password> </sawcs:credential>


passpharase should match with what you have specified while running the cryptotools utility. Please note that Credential Alias should be "admin" in order for Presentation Server talk to Scheduler. If you specify any other alias, presentation server will not be able to authenticate.


4. Start the Scheduler Service


Start the OBIEE Scheduler Component and also re-start the SAW Server if it is already running. If you change instanceconfig.xml file, always re-start the SAW server.



bash$ cd /oraclebi/product/OracleBI/setup
bash$ . ./user.sh
bash$ . ./sa-init.sh
bash$ ./run-sch.sh start


Please make sure Scheduler process started up.


bash-3.00$ ps -fe|grep sch
13140 1 0 Mar24 ? 00:00:22 /oraclebi/product/OracleBI/server/Bin/nqscheduler
bash-3.00$


You can also check the port of the scheduler to make sure it is running.


bash-3.00$ netstat -an|grep 9705
tcp 0 0 0.0.0.0:9705 0.0.0.0:* LISTEN
bash-3.00$

5 comments:

Anonymous said...

I am trying to get an iBot to run an Answers request but keep getting an "unresolved table" error in the log.
Wondering if you might have an idea.
I've tried under several different userids to create an ibot to do this but always get the error. Yet I can run the Answers request successfully in Answers as these users.
I suspect that somehow the scheduler, which runs the request on behalf of the ibot user, doesn't have the proper privileges. The scheduleradmin user exists and has administrator privileges, according to the Admin tool Security. I've even granted the scheduleradmin user group privilege for the business area that the request runs against.

craig pattinson said...

nice post very well written. i appreciate quality of writing u havefrases

frankleo said...

Nice stuff you got, very interesting to read.
Well, I do have also in my sleeves, if you have time don't forget to visit
Agen bola

hoston said...

Nice stuff you got, very interesting to read.
Well, I do have also in my sleeves, if you have time don't forget to visit
windows virtual private server

Unknown said...

Hi, The typical structures taken are usually one of four which include sole proprietorship, partnership, privately owned corporations with Registered Agents in Qatar, or limited liability companies.thanks.....