Friday, 18 April 2014

Oracle DB - Broken, now Fixed

So I managed to break my Oracle 11g database, and have now fixed it.

The symptom was that, although Oracle was started, it wasn't really started.

I kept getting "Connected to an idle instance" and "ORA-01034: ORACLE not available" as per the following: -
 
sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Fri Apr 18 19:53:56 2014

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> SELECT owner, table_name FROM dba_tables where owner like 'IBMBUSSP';

SELECT owner, table_name FROM dba_tables where owner like 'IBMBUSSP'

*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0


A quick Google search later, I found this: -


which said, in part: -

ORA-01034 is thrown during the attempt to upgrade because there is an invalid entry in one of the following files:

• /etc/oratab
• /var/opt/oracle/oratab
...

As root, I checked for oratab: -

locate oratab

/etc/oratab
/home/oracle/app/oracle/product/11.2.0/dbhome_1/install/oratab


so I did a quick compare/contrast: -

diff /etc/oratab /home/oracle/app/oracle/product/11.2.0/dbhome_1/install/oratab

1c1
< orcl:/home/oracle/app/oracle/product/11.2.0/dbhome_1/:Y
---
> orcl:/home/oracle/app/oracle/product/11.2.0/dbhome_1:Y


Can you spot the difference ?

Yes, the trailing slash character …

A quick edit ( using vi of course ) of /etc/oratab later, plus a reboot to ensure that Oracle started cleanly and …. c'est voila

sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Fri Apr 18 19:59:41 2014

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL> SELECT owner, table_name FROM dba_tables where owner like 'IBMBUSSP';

OWNER        TABLE_NAME
------------------------------ ------------------------------
IBMBUSSP        NAVNODE_LOD
IBMBUSSP        NAVNODE_DD
IBMBUSSP        NAV_TREE
IBMBUSSP        COMMUNITY_DEF
IBMBUSSP        ACL
IBMBUSSP        SPACENODE
IBMBUSSP        SPACENODE_LOD


Do you want to know the worst bit ??

Yes, I hit the same problem back in March 2013: -


Tuesday, 15 April 2014

CWMCB0046E seen during the bootstrap of an IBM BPM Advanced 8.5.0.1 environment

Whilst bootstrapping a new IBM BPM 8.5 environment: -

cd /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin
./bootstrapProcessServerData.sh -clusterName BPM85Advanced.AppCluster

I kept seeing: -

com.ibm.bpm.config.util.ConfigException: CWMCB0046E: The command failed.

Caused by: com.lombardisoftware.expimp.ExportImportException: PreparedStatementCallback; SQL [insert into LSW_RESOURCE_BUNDLE_KEY (RESOURCE_BUNDLE_KEY_ID,VERSION_ID,AKEY,VALUE,GUID,LAST_MODIFIED,RESOURCE_BUNDLE_ID,LAST_MODIFIED_BY_USER_ID) values (?,?,?,?,?,?,?,?)]; Error for batch element #1: DB2 SQL Error: SQLCODE=-1476, SQLSTATE=40506, SQLERRMC=-964, DRIVER=4.11.69; nested exception is com.ibm.db2.jcc.am.SqlTransactionRollbackException: Error for batch element #1: DB2 SQL Error: SQLCODE=-1476, SQLSTATE=40506, SQLERRMC=-964, DRIVER=4.11.69

Caused by: org.springframework.dao.ConcurrencyFailureException: PreparedStatementCallback; SQL [insert into LSW_RESOURCE_BUNDLE_KEY (RESOURCE_BUNDLE_KEY_ID,VERSION_ID,AKEY,VALUE,GUID,LAST_MODIFIED,RESOURCE_BUNDLE_ID,LAST_MODIFIED_BY_USER_ID) values (?,?,?,?,?,?,?,?)]; Error for batch element #1: DB2 SQL Error: SQLCODE=-1476, SQLSTATE=40506, SQLERRMC=-964, DRIVER=4.11.69; nested exception is com.ibm.db2.jcc.am.SqlTransactionRollbackException: Error for batch element #1: DB2 SQL Error: SQLCODE=-1476, SQLSTATE=40506, SQLERRMC=-964, DRIVER=4.11.69

Caused by: com.ibm.db2.jcc.am.SqlTransactionRollbackException: Error for batch element #1: DB2 SQL Error: SQLCODE=-1476, SQLSTATE=40506, SQLERRMC=-964, DRIVER=4.11.69

com.ibm.bpm.config.util.ConfigException: com.ibm.bpm.config.util.ConfigException: CWMCB0046E: The command failed.

Thankfully, Google came to my rescue, with this blog post: -


which had me update two DB2 logging parameters: -

db2 update db cfg for BPMDB using LOGSECOND 40
DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.

db2 update db cfg for BPMDB using LOGFILSIZ 2048
DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.

Once done, the bootstrap went through smooth as silk: -

./bootstrapProcessServerData.sh -clusterName BPM85Advanced.AppCluster

Bootstraping data into cluster BPM85Advanced.AppCluster

WASX7357I: By request, this scripting client is not connected to any server process. Certain configuration and application operations will be available in local mode.
0
importFile: /opt/IBM/WebSphere/AppServer/BPM/Lombardi/imports/system-toolkit.twx
deploy: false
latestSystemToolkit: true
activateSnapshot: false
importFile: /opt/IBM/WebSphere/AppServer/BPM/Lombardi/imports/system-coaches.twx
deploy: false
latestSystemToolkit: false
activateSnapshot: false
importFile: /opt/IBM/WebSphere/AppServer/BPM/Lombardi/imports/system-dashboards.twx
deploy: false
latestSystemToolkit: false
activateSnapshot: false
importFile: /opt/IBM/WebSphere/AppServer/BPM/Lombardi/imports/governance-toolkit.twx
deploy: false
latestSystemToolkit: false
activateSnapshot: false
importFile: /opt/IBM/WebSphere/AppServer/BPM/Lombardi/imports/content-integration-toolkit.twx
deploy: false
latestSystemToolkit: false
activateSnapshot: false
importFile: /opt/IBM/WebSphere/AppServer/BPM/Lombardi/imports/ssi4bpm-guided-workflow.twx
deploy: false
latestSystemToolkit: false
activateSnapshot: false
importFile: /opt/IBM/WebSphere/AppServer/BPM/Lombardi/imports/process-portal.twx
deploy: true
latestSystemToolkit: false
activateSnapshot: false
importFile: /opt/IBM/WebSphere/AppServer/BPM/Lombardi/imports/saved-search-admin.twx
deploy: true
latestSystemToolkit: false
activateSnapshot: false
importFile: /opt/IBM/WebSphere/AppServer/BPM/Lombardi/imports/standard-hiring-sample.twx
deploy: true
latestSystemToolkit: false
activateSnapshot: false
importFile: /opt/IBM/WebSphere/AppServer/BPM/Lombardi/imports/advanced-hiring-sample.twx
deploy: false
latestSystemToolkit: false
activateSnapshot: false
importFile: /opt/IBM/WebSphere/AppServer/BPM/Lombardi/imports/procurement-sample.twx
deploy: false
latestSystemToolkit: false
activateSnapshot: false
'BootstrapProcessServerData admin command completed successfully.....'

I will be thanking the blog post's author :-)

Interesting exception seen whilst starting IBM Business Process Manager 8.5.0.1

So I saw this exception: -

[15/04/14 19:25:40:071 BST] 00000001 WsServerImpl  E   WSVR0009E: Error occurred during startup
com.ibm.ws.exception.RuntimeError: Exception while verifying the datasource version: failed to get stardard DB version by jndi jdbc/PerformanceDB

( Yes, that's correct - it did say stardard DB version !! )

This occurred whilst I was starting the Support cluster of an IBM BPM 8.5.0.1 Advanced environment.

From a bit of digging about, it looks like I failed to completely create the required databases schemata, tables etc.

It looks like I had at least one missing table - LSW_SYSTEM_SCHEMA.

Once I ran the appropriate scripts to create the Performance Data Warehouse (PDW) DB schemas: -

db2 -tvf createSchema_Advanced.sql 

I was able to validate the existence and contents of the missing table: -

DB2 "SELECT PROPVALUE FROM LSW_SYSTEM_SCHEMA WHERE PROPNAME = 'DatabaseSchemaVersion' "

which now returns: -

PROPVALUE                                                                                                                                                                                              
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
8.5.0                                                                                                                                                                                                  

  1 record(s) selected.


Now the cluster starts nicely, which is nice.

Memo to self - remember to create all the database objects, not just the containers themselves :-)

Monday, 14 April 2014

Issues with BPMDeleteSnapshot and BPMSnapshotCleanup commands in IBM Business Process Manager (BPM)

This Flash from IBM Support was released today: -


Because issues have been discovered with the BPMDeleteSnapshot and BPMSnapshotCleanup commands, these commands require the interim fixes that are listed in the Content section. Do not use these commands without applying all of the interim fixes for your release. 

The snapshot deletion commands do not delete all of the related artifacts, which potentially leads to issues when you subsequently install or import snapshots. The fixes address the completeness of the deletion and repair previous deletions as needed.


Please review the article, and apply the relevant iFixes for BPM 7.5.1.2, 8.0.1.2 and 8.5.0.1.

Did you know Mac OS X helps you optimize your home Wi-Fi network? Here’s how it works

This is a useful little article from @TheNextWeb 

Screen Shot 2014 03 13 at 09.48.54 730x523 Did you know Mac OS X helps you optimize your home Wi Fi network? Heres how it works
( Image from the article, not from my own home WiFi )

Wednesday, 9 April 2014

IBM Redbooks: using Open Source with Liberty profile

The IBM Redbooks publication, Configuring and Deploying Open Source with WebSphere Application Server Liberty Profile was published last month and recently updated.

For anyone new to the Liberty profile, the book provides an introduction to its capabilities. It then explains how you can install, customise, and configure several open source technologies to deploy to a Liberty profile server. It uses a simple "Todo" sample application to demonstrate the use of multiple open source frameworks or toolkits with the Liberty profile server.

The book covers:

• Chapter 1. WebSphere Application Server Liberty Profile
• Chapter 2. Open source frameworks and toolkits selection
• Chapter 3. Implementing and testing backend services on Liberty profile server
• Chapter 4. Continuous integration with Jenkins on Liberty
• Chapter 5. Front-end development on the Liberty profile server
• Chapter 6. Deploying Liberty profile server with Chef
• Chapter 7. Working with third-party tools on Liberty profile server

IBM Flash - IBM WebSphere Application Server and IBM HTTP Server CVE-2014-0160

From the article: -

Abstract

IBM WebSphere Application Server and IBM HTTP Server are not vulnerable to CVE-2014-0160 Heartbleed vulnerability

Content

CVE-2014-0160 - Heartbleed Vulnerability

This vulnerability does NOT affect the SSL that is used by IBM WebSphere Application Server in all editions and all platforms. The IBM Java JSSE does not use OpenSSL.

This vulnerability does NOT affect the IBM HTTP Server component in all editions and all platforms. The GSKit component of IBM HTTP Server does not use OpenSSL SSL code.

Remediation: No action required.

Change History: 09 April 2014: original document published

However, please do NOT take my blog's word for this, as this is vitally important information. Please see the original article here: -


I would also strongly encourage you to actively monitor these pages: -




and, if needed, talk with your local IBM Support contacts, Accelerated Value Programme specialist, or IBM Software Services for WebSphere etc.