Wednesday, October 30, 2013

missing expression error while running ODI Interface.


Scenario:
Sometimes when ODI interface is run, we may encounter an error like below

Caused By: java.sql.SQLSyntaxErrorException: ORA-00936: missing expression

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:462)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:405)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:931)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:481)


If we check the code, it generates a code like below

 select 1 from APPS.MTH_ORGANIZATIONS_L T
where  
and ((T.ORGANIZATION_NAME = S.ORGANIZATION_NAME) )

here after WHERE there should have been (1=1) followed by AND condition.

Reason:
This occurs if none of the target columns have been defined as a key.

Solution:
Make one of the columns in the target table as Key by check the box. Now run the interface again. It should solve the issue.



Tuesday, October 29, 2013

Change Password of BISystemUser

Changing a password of BISystem user involves two steps.

1. Change password in /console
2. Change password in /em.

Change password in /console

1. Stop the system components in Enterprise Manager.
Click on Business Intelligence >Core application> Availability
 
 
2. Log into Weblogic Console and change the BISystemUser password.
Click on security realms > myreams > user and group
 
BISystemUser > Passwords
 
 
 
Change password in /em
3. Change password in EM:
Weblogic Domain > right click on bifoundation_domain > Security > Credentials > oracle.bi.system > system.user > Edit > change the password
 

 
4. Start BI System components from Enterprise Manager.
Click on Business Intelligence >Core application> Availability

5. Wait for 10 mins
6. Try the new password in the OBIEE URL.

Monday, October 28, 2013

Weblogic Domain Creation Fails due to PermGen Space Error OBIEE 11.1.1.6.0


During installation of OBIEE 11.1.1.6.0 on Windows Server 2008 - 64bit, it failed at the Domain Creation Step(Step 13 of 14) with the below error code

Creating a new AdminServer Object ...

 AdminServer port is 7001 Starting the domain ...

 java.lang.OutOfMemoryError: PermGen space
 java.lang.OutOfMemoryError: PermGen space
 java.lang.OutOfMemoryError: PermGen space

Reason:
This occurs due to insufficient runtime memory to JAVA during installation.

Solution:
This can be avoided by modifying the ORAPARAM.ini file in installer location like below.
D:\bishiphome\Disk1\install\win64\ORAPARAM.ini

Add the below line
JRE_MEMORY_OPTIONS=" -mx1024m -XX:MaxPermSize=1024m"

First make a clean uninstall of the entire OBIEE including the files from the directories.
Then restart the installation

Now during the installtion, at the stage when OneOff Patches are being installed(Step 12 of 14), make a modification to the ORAPARAM.ini parameter in the installed location like below.
D:\OBIEEMIDDLEWARE\Oracle_BI1\oui\ORAPARAM.ini

Add the same line specified above.

This would be helping in allocating sufficient memory to JAVA when
D:\OBIEEMIDDLEWARE\Oracle_BI1\bin\config.bat file is run during next step(Step 13 of 14)




Default Users Setup in OBIEE 11.1.1.6.0



Default Users Setup that comes with OBIEE 11.1.1.6.0

User
Groups
BISystemUser
Administrators
Weblogic
Administrators

BIAdministrators
OracleSystemUser
OracleSystemGroup

Default Application Role Setup OBIEE 11.1.1.6.0


The below table represents the default setup of Application Roles. This is just to revert your settings just in case we end up corrupting the Setup.

Default Application Role Setup.

Role Name
Display Name
Principal
Type
BISystem
BI System Role
BISystemUser
User
BIAdministrator
BI Administrator Role
BIAdministrators
Group
BIAuthor
BI Author Role
BIAuthors
Group


BIAdministrator
Application Role
BIConsumer
BI Consumer Role
BIConsumers
Group


BIAuthor
Application Role


Authenticated-user
Authenticated Role

Wednesday, August 7, 2013

Informatica Installation Error: Unable to connect to Database

Sometimes during installation of Informatica 9.0.1, at the Database connecting page, we might encounter an error like below

"The connection failed.Correct the database connection information and test the connection again"

One of the reasons can be due to the insufficient privileges to the User supplied in Database User Id.
To avoid such problems, while creation of a Database user for installation of Repository grant all privileges and Grant CONNECT and RESOURCE using below SQL.

>CREATE USER INFA IDIENTIFIED BY PASSWORD;
>GRANT CONNECT,RESOURCE TO INFA IDENTIFIED BY PASSWORD;
>GRANT ALL PRIVILEGES TO INFA;



Restart RCU installation after failure


Sometimes, RCU installation might fail due to whatever reasons, in that case if you are planning to re-install RCU schema, it complains that "

The specified prefix already exists".


Resolution:
This can be resolved by following below steps.
1. Login to SQLPLUS* using SYS user.
2. Check if there are any entries in the below table.
Select * from System.SCHEMA_VERSION_REGISTRY$; 
3. You might see two entries one for DEV_BIPLATFORM and DEV_MDS.
4. Delete these entries with below SQL.
     Delete from System.SCHEMA_VERSION_REGISTRY$;
5. Then drop the users, DEV_BIPLATFORM and DEV_MDS using the below SQL.
     drop user DEV_BIPLATFORM cascade;
  drop user DEV_MDS cascade;

Tuesday, August 6, 2013

Configuring Oracle Business Intelligence Scheduler

Creating Oracle BI Scheduler Databases and Tables

Creating a Scheduler Database and Tables for Oracle Database Server

Databases: Oracle only.
Use the following procedure to create a Scheduler database and tables for Oracle.
NOTE:  For usage statistics, create the table in SAACCT.Oracle.sql.
To create a database and tables for Oracle
  1. Proceed in one of the two following ways:
    • Create a new database named S_NQ_SCHED, and create a user named S_NQ_SCHED.
    • In one of your existing databases, create a user named S_NQ_SCHED.
  2. Provide your own password to the user S_NQ_SCHED.
  3. Using the Oracle Net configuration tool, create an Oracle Service to the current S_NQ_SCHED database with this user ID and password.
  4. Using the SQL*Plus Worksheet or the SQL*Plus tool, open the file SAJOBS.Oracle.sql and execute it to create Oracle Business Intelligence Scheduler tables.

Configuring Oracle Server Databases for the Oracle BI Scheduler

The Data Source Name used in the Job Manager Scheduler configuration must match the Oracle database service alias created in Step 3 of Creating a Scheduler Database and Tables for Oracle Database Server.
To configure the Oracle database using Job Manager
  1. From the Windows Start menu, select Programs > Oracle Business Intelligence > Job Manager.
  2. In Job Manager, select File > Configuration Options.
  3. In the Connection Pool section, enter the Oracle database service alias for the Data Source Name.
  4. Select the appropriate Database Type from the drop down list (for example, Oracle 10g R1).
  5. Enter the username and password for the user S_NQ_SCHED created in Creating a Scheduler Database and Tables for Oracle Database Server.
  6. The Call Interface is updated automatically according to the Database Type chosen.
  7. Exit the Job Manager.
  8. Start the Oracle BI Scheduler Service from Windows Start Menu.

Changing Oracle BI Scheduler Table Names(OPTIONAL)



You can change the names of the tables that Oracle BI Scheduler uses by adding settings to the Oracle BI Scheduler configuration file, instanceconfig.xml, located in the directory OracleBIData_HOME\scheduler\config.
NOTE:  For organizations that use Oracle Application Server, Oracle recommends that you use Oracle Application Server Control to modify configuration files. For organizations that use other application servers, Oracle recommends that you use JConsole. For more information, see the topic Updating Configuration Settings Using Oracle Application Server Control or JConsole.
The following procedure shows how to change Oracle BI Scheduler table names. For this procedure, a new tag, DB Column Names, has been created as an example.
To change Oracle Business Intelligence Scheduler table names
  1. Using an XML editor, open the instanceconfig.xml file.
  2. Create a new tag named DB Column Names.
  3. For each of the entries under the tag DB Column Names, add the parameter and string values shown in the following table. The values created in the data string become the values used for Oracle BI Scheduler table names.
  4. Parameter Name
  5. Type
  6. String Value
  7. TABLE_JOBS
  8. REG_SA
  9. S_NQ_JOB
  10. TABLE_INSTANCES
  11. REG_SA
  12. S_NQ_INSTANCE
  13. TABLE_PARAMS
  14. REG_SA
  15. S_NQ_JOB_PARAM
  16. TABLE_ERRMSGS
  17. REG_SA
  18. S_NQ_ERR_MSG
  19. NOTE:  The data types for each column should remain true to the intent of the schema. For example, if the job ID is defined as an integer type, do not change it to a varchar type. However, increasing the number of characters in a varchar column is an acceptable change.
  20. Restart the Oracle BI Scheduler server.

Setting Oracle BI Scheduler Configuration Options

About the Oracle BI Scheduler Administrator



As part of the process of setting Oracle BI Scheduler configuration options, you will need to specify a username and password for the Scheduler Administrator. The Scheduler administrator must be a user in the Oracle BI repository (.rpd file) and have the Administrator group membership assigned.
If you do not want to create a new administrator for Scheduler, you can set the Scheduler administrator credentials to those of the Oracle BI user, Administrator, that exists in the repository.
NOTE:  The Scheduler Administrator is referred to in the following topics as the SchedulerAdmin.
For more information on the Administrator user in the repository, and on creating users and granting Group membership, see the Oracle Business Intelligence Server Administration Guide.



Section or Tab
Field
Input
Connection Pool
Database Type
From the drop down list, select the appropriate Database Type for the S_NQ_SCHED database.
The Call Interface is automatically updated according to the Database Type chosen.

Data Source Name
DSN created for the S_NQ_SCHED database.

Username
User name for the S_NQ_SCHED database.

Password
Password for the S_NQ_SCHED database, where the S_NQ_SCHED database is the Scheduler database created in Creating Oracle BI Scheduler Database and Tables for Specific Databases.
General
Administrator Name
User name for the Scheduler administrator.
For more information on the Scheduler administrator, see topic About the Oracle BI Scheduler Administrator.

Administrator Password
User password for the Scheduler administrator. Confirm the password entry.

(Other parameters)
The other parameters are set to defaults. The default port for the Scheduler service is 9705.
To change the Scheduler port, select and set Port Number.


The Scheduler host name and port are specified in the instanceconfig.xml file for Oracle BI Presentation Services. The Presentation Services instanceconfig.xml file is located in the directory OracleBIData_HOME\web\config on Windows, and in OracleBIData_HOME/web/config on Linux.
  • When Oracle BI Scheduler and Oracle BI Presentation Services components are installed together on the same machine, the installer sets the instanceconfig.xml setting to the local host and default Scheduler port of 9705.
  • If Oracle BI Scheduler and Oracle BI Presentation Services are installed on the same machine and Scheduler uses the default port 9705, proceed to topic Adding Scheduler Administrator Credentials to Oracle BI Presentation Services Credential Store.
  • When Oracle BI Scheduler and Oracle BI Presentation Services are not installed on the same machine, or if you have changed the Scheduler port from the default port of 9705, you must modify the instanceconfig.xml file for Presentation Services.
  • NOTE:  Make a back-up copy of this file before editing it.
  • Use the following procedure to modify the instanceconfig.xml configuration file with an entry that points the Oracle BI Presentation Services to the Oracle BI Scheduler machine and port number.
NOTE:  For organizations that use Oracle Application Server, Oracle recommends that you use Oracle Application Server Control to modify configuration files. For organizations that use other application servers, Oracle recommends that you use JConsole. For more information, see the topic Updating Configuration Settings Using Oracle Application Server Control or JConsole.
To change the ScheduleServer configuration setting
  1. On the BI Presentation Services machine, navigate to the Oracle BI data directory at the location shown in the following table:
  2. Operating System
  3. Data Directory Location
  4. Windows
  5. OracleBIData_HOME\Web\config
  6. Linux
  7. OracleBIData_HOME/web/config
  8. Locate the file instanceconfig.xml and make a backup copy.
  9. Open the instanceconfig.xml file for editing.
  10. Between the <ServerInstance></ServerInstance> tags, locate the tag pair <Alerts> and </Alerts>. (If they do not exist, create them.)
  11. Between the Alerts tags, create the tag pair <ScheduleServer> and </ScheduleServer>.
  12. Between the ScheduleServer tags, insert the machine name of the Scheduler machine.
  13. For example:
  14. <ServerInstance>
  15. . . .
  16. <Alerts>
  17.   <ScheduleServer>Schedulermachine</ScheduleServer>
  18. </Alerts>
  19. If the Scheduler port has been changed from the default of 9705, specify the Scheduler port number.
  20. For example:
  21. <ServerInstance>
  22. . . .
  23. <Alerts>
  24.   <ScheduleServer>Schedulermachine:Port</ScheduleServer>
  25. </Alerts>
  26. Save the file when you are done.
  27. Your changes take effect when the Oracle BI Presentation Services service is restarted.

Adding Scheduler Administrator Credentials to Oracle BI Presentation Services Credential Store



Oracle BI Presentation Services must be able to identify the Scheduler administrator and obtain the credentials to establish a connection with the Scheduler. Presentation Services stores the credentials that it uses in a Presentation Services Credential Store. The Scheduler administrator credentials must be added to the credential store, under the alias admin. To obtain the Scheduler Administrator credentials, Oracle BI Presentation Services searches the credential store for a username-password credential with the alias admin. For more information on the Presentation Services Credential Store, refer to the Oracle Business Intelligence Enterprise Edition Deployment Guide.
Use the following procedure to add the Scheduler administrator credentials to the Presentation Services Credential Store with the admin alias. This procedure adds the Scheduler administrator credentials to a proprietary XML file credential store called credentialstore.xml. The default location of this file is OracleBIData_HOME\web\config on Windows and OracleBIData_HOME/web/config on Linux.
To add Scheduler administrator credentials to the credential store
  1. Open a command prompt window or command shell on the machine where Oracle BI Presentation Services has been installed.
  2. Navigate to the directory OracleBI_HOME\web\bin on Windows. On Linux, navigate to OracleBI_HOME/web/bin.
  3. Execute the CryptoTools utility to add the Scheduler Administrator credentials to the Presentation Services Credential Store:
  4. cryptotools credstore -add -infile OracleBIData_HOME/web/config/credentialstore.xml
  5. For more information on the CryptoTools utility, its syntax and supported sub-commands, refer to the Oracle Business Intelligence Enterprise Edition Deployment Guide.
  6. Supply values for the prompted parameters, as shown in the following table.
  7. CryptoTools Prompt
  8. Value or Input
  9. Description
  10. Credential Alias
  11. admin
  12. Specify the value admin. Presentation Services uses this alias to identify the username-password credential for the Scheduler administrator.
  13. Username
  14. (Username of Scheduler administrator)
  15. Username of the Scheduler administrator.
  16. For example, SchedulerAdmin. For information on the Scheduler administrator, see the topic About the Oracle BI Scheduler Administrator.
  17. Password
  18. (Password for the Scheduler administrator)
  19. Password of the Scheduler administrator.
  20. For example, SchedulerAdmin.
  21. Do you want to encrypt the password?
  22. y or n
  23. Choosing Y encrypts the above password.
  24. Passphrase for encryption
  25. (passphrase)
  26. Provide a passphrase that is used to encrypt the password. For example, secret.
  27. Do you want to write the passphrase to the xml?
  28. y or n
  29. Choosing Y writes the passphrase that is needed to decode the password in the xml file.
  30. For enhanced security, choose N. The passphrase is not written to the xml file. Instead, you must specify the passphrase in the instanceconfig.xml file.
The following is an example of the procedure to add the Scheduler administrator credentials to the Presentation Services Credential Store.
cryptotools credstore -add -infile OracleBIData_HOME/web/config/credentialstore.xml
>Credential Alias: admin
>Username: SchedulerAdmin
>Password: SchedulerAdmin
>Do you want to encrypt the password? y/n (y):
>Passphrase for encryption: secret
>Do you want to write the passphrase to the xml? y/n (n):
>File "OracleBIData_HOME/web/config/credentialstore.xml" exists. Do you want to overwrite it? y/n (y):
The CryptoTools utility updates the credentialstore.xml file, located in the directory OracleBIData_HOME\web\config. (The directory structure is the same on Linux systems.)
After executing the CryptoTools utility with the example inputs, the credentialstore.xml file contains entries similar to the following example:
<sawcs:credential type="usernamePassword" alias="admin">
<sawcs:username>SchedulerAdmin</sawcs:username>
<sawcs:password passphrase="secret">
<xenc:EncryptedData>
<xenc:EncryptionMethod Algorithm="http://www.rsasecurity.com/rsalabs/pkcs/schemas/pkcs-5#pbes2">
<pkcs-5:PBES2-params Algorithm="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="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>
</pkcs-5:PBES2-params>
</xenc:EncryptionMethod>
<xenc:CipherData>
<xenc:CipherValue>jeThdk8ZklnTlyKIat8Dkw</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
</sawcs:password>
</sawcs:credential>

Configuring Oracle BI Presentation Services to Identify the Credential Store



Oracle BI Presentation Services must be directed to the credential store that contains the Scheduler administrator credentials. This is done by setting parameters in the Oracle BI Presentation Services configuration file, instanceconfig.xml. In addition, if you have not stored the passphrase in the credential store, then the passphrase to decrypt the password credential must also be specified. In the above example, the passphrase was not stored in the credential store and needs to be specified in the instanceconfig.xml file.
To identify the credential store to be used by Oracle BI Presentation Services
  1. Open the instanceconfig.xml file for editing. This file is located in the OracleBI_Data\web\config directory. This directory structure is the same on Linux platform.
  2. Locate the <CredentialStore> node within this file.
  3. Specify attribute values as shown in the following example. If the <CredentialStore> node does not exist, create this element with sub-elements and attributes.
  4. <WebConfig>
  5.   <ServerInstance>
  6.      <!-- other settings ... -->
  7.   <CredentialStore>
  8.      <CredentialStorage type="file" path="<path to credentialstore.xml>" passphrase="<passphrase>"/>
  9.      <!-- other settings ... -->
  10.   </CredentialStore>
  11.      <!-- other settings ... -->
  12.   </ServerInstance>
  13. </WebConfig>
  14. Restart Presentation Services to reflect the configuration changes.
After modification, the instanceconfig.xml contains entries as shown in the following example:
<?xml version="1.0"?>
<WebConfig>
  <ServerInstance>
     <!-- other settings ... -->
  <CredentialStore>
     <CredentialStorage type="file" path=""OracleBIData_HOME/web/config/credentialstore.xml" passphrase="secret"/>
     <!-- other settings ... -->
  </CredentialStore>
     <!-- other settings ... -->
  </ServerInstance>
</WebConfig>
CAUTION:  Both the credentialstore.xml and instanceconfig.xml file must be protected. Their combination can reveal a privileged user password. (Neither file by itself has enough information to expose the password.)