Tuesday, November 4, 2014

How to do the (in)famous "Refresh GUIDs" process

  • Modify Presentation Server "instanceconfig.xml", under ServerInstance - Catalog, ensure the the setting "UpdateAccountGUIDs" is set to UpdateAndExit:

         <ServerInstance>
           <Catalog>
             <UpgradeAndExit>false</UpgradeAndExit>             <UpdateAccountGUIDs>UpdateAndExit</UpdateAccountGUIDs>           </Catalog>
         </ServerInstance>

  • Modify BI Server "NQSConfig.INI", in the section "SERVER", change the FMW_UPDATE_ROLE_AND_USER_REF_GUIDS setting to YES:
         [SERVER]
         FMW_UPDATE_ROLE_AND_USER_REF_GUIDS = YES;
  • Go to $ORACLE_INSTANCE\bin (usually <install_dir>\instances\instance1\bin) and stop the BI Server and Presentation server:
         opmnctl stopproc ias-component=coreapplication_obis1
         opmnctl stopproc ias-component=coreapplication_obips1

  • Start the two processes again in the right order (BI Server, then Presentation Server) - might take a bit longer that usual:
          opmnctl startproc ias-component=coreapplication_obis1
          opmnctl startproc ias-component=coreapplication_obips1
        
  • The Presentation Server will shut down when the process is completed. To see that it completed succesfully, the following should be present in the newest sawlog file ($ORACLE_INSTANCE/diagnostics/logs/OracleBIPresentationServicesComponent/coreapplication_obips1/sawlog3.log)

[2014-11-04T12:23:31.000+01:00] [OBIPS] [NOTIFICATION:1] [] [saw.subsystem.catalog.initialize.upgrade] [ecid: ] [tid: ] Succeeded in updating account GUIDs from back end user population store[[

  • Modify BI Server "NQSConfig.INI", in the "SERVER" section, set FMW_UPDATE_ROLE_AND_USER_REF_GUIDS back to NO

         [SERVER]
         FMW_UPDATE_ROLE_AND_USER_REF_GUIDS = NO;
  • Modify Presentation Server "instanceconfig.xml"Modify Presentation Server "instanceconfig.xml", under ServerInstance - Catalog, ensure the the setting "UpdateAccountGUIDs" is deleted or commented out:
         <ServerInstance>
           <Catalog>
             <UpgradeAndExit>false</UpgradeAndExit>
             <!--UpdateAccountGUIDs>UpdateAndExit</UpdateAccountGUIDs-->           </Catalog>
         </ServerInstance>
  • Start Presentation Server again:
           opmnctl startproc ias-component=coreapplication_obips1

Once the Presentation Server is running again, you should be ready to continue.

Wednesday, September 17, 2014

Note to self 003: BISystemUser Password Change

These days we faced an issue at a customer, and we were getting an error

[2014-09-17T05:55:58.000+02:00] [OracleBIServerComponent] [ERROR:1] [] [] [ecid: 00iOQuuYzVhB_6kLSyO5yc0001Ro000000,0:36357:6] [tid: 16d0] oracle.bi.security.service.SecurityServiceException: SecurityService::validateSystemUserCredentialsThe system user could not be authenticated.
[2014-09-17T05:55:58.000+02:00] [OracleBIServerComponent] [ERROR:1] [] [] [ecid: 00iOQuuYzVhB_6kLSyO5yc0001Ro000000,0:36357:6] [tid: 16d0] [nQSError: 43126] Authentication failed: invalid user/password.

And the users were not able to log into the OBIEE front end. All this points to an issue with the BISystemUser (default setup) not being correctly setup.
   
At first the customer tried (unsuccesfully):
  1. Go to WLS Console (<http://<servername>:7001/console), Security Realms, myrealm, Users and Groups, Users. Locate the user BISystemUser, and change the password for this user
  2. Log on to Enterprise Manager (http://<servername>:7001/em), expand Weblogic Domain, right- click bifoundation_domain, select Security, Credentials.
  3. Under the "oracle.bi.system" folder, you will find the system.user credential. Edit this key, and type in the new password you set for the BISystemUser in step 1.
  4. After making this change, things still did not work, even after restarting AdminServer, bi_server1 and the OPMN components.
The key to solving this issue was to carry out the steps above, with an important difference. We were seeing entries in the bi_server1.log file (in <MW_HOME>/user_projects/domains/bifoundation_domain/servers/bi_server1/logs) that the BISystemUser was being locked, so when changing the password for the user in the WLS Console, the BI components were still trying to log in with the "old" password, and therefore locking out the user. This is the error message:

####<Sep 17, 2014 9:49:08 AM CEST> <Notice> <Security> <CMA1CS0327> <bi_server1> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <75b304a5bd3e33a3:-7a4ce57c:1486b42f781:-8000-000000000004ada2> <1410940148242> <BEA-090078> <User bisystemuser in security realm myrealm has had 5 invalid login attempts, locking account for 30 minutes.>
   
These are the correct steps
  1. Shut down all OPMN components (<MW_HOME>/instances/instancen/bin/opmnctl stopall)
  2. Go to WLS Console (<http://<servername>:7001/console), Security Realms, myrealm, Users and Groups, Users. Locate the user BISystemUser, and change the password for this user
  3. Log on to Enterprise Manager (http://<servername>:7001/em), expand Weblogic Domain, right- click bifoundation_domain, select Security, Credentials.
  4. Under the "oracle.bi.system" folder, you will find the system.user credential. Edit this key, and type in the new password you set for the BISystemUser in step 2.
  5. Stop the bi_server1 managed server and the WLS AdminServer
  6. Restart the whole stack as usual.
Now the next question that pops up is why did it all go wrong in the first place - why did we need to change the password at all? This remains to be seen.....
 

Friday, August 8, 2014

Web Services / Action Framework Configuration Issue

Configuring Web Services overview, to give the end user a list of web services to choose from, I ran into an error  when trying to create a new action:

Soap invocation failure. HTTP error code: '
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
 <env:Header/>
 <env:Body>
  <env:Fault>
   <env:Code xmlns:env="http://www.w3.org/2003/05/soap-envelope">
    <env:Value>env:Receiver</env:Value>
   </env:Code>
   <env:Reason>
    <env:Text xml:lang="en-US">Trying to read a config value before initializing the reader.</env:Text>
   </env:Reason>
   <env:Detail>
    <ns4:ServiceFault xmlns:ns2="http://oracle.bi.action.registry.ws/" xmlns:ns3="com.siebel.analytics.web/report/v1.1" xmlns:ns4="http://oracle.bi.action.ws/types/fault/">
     <ns4:message>Trying to read a config value before initializing the reader.</ns4:message>
     <ns4:location xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
    </ns4:ServiceFault>
   </env:Detail>
  </env:Fault>
 </env:Body>
</env:Envelope>'.





ActionFrameworkConfig.xml file



This error shows in bi_server1-diagnostic.log, located in

%MW_HOME%\user_projects\domains\bifoundation_domain\servers\bi_server1\logs

"Error reading config file null"

[2014-08-08T09:54:34.146+02:00] [bi_server1] [ERROR] [] [oracle.bi.action.registry.actionregistry] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: BISystemUser] [ecid: 135ac36048dd4c54:-2a4ce35d:147b4973be8:-8000-0000000000000084,0:1:1] [APP: bimiddleware#11.1.1] [J2EE_APP.name: bimiddleware_11.1.1] [J2EE_MODULE.name: analytics/actions] [WEBSERVICE.name: ActionRegistryService] [WEBSERVICE_PORT.name: ActionRegistrySvcPort] Error reading config file null[[

Further down, found this:

[org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'registry'. One of '{registries}' is expected.]


So a tag <registries> was missing in ActionFrameworkConfig.xml