Quantcast
Channel: A Portal to a Portal
Viewing all 1851 articles
Browse latest View live

Using -Xgc:preferredHeapBase with -Xcompressedrefs

$
0
0
Saw this IBM Technote via Twitter: -


...
"Why does the JVM report a native out-of-memory (NOOM) when using compressed references? I am using a 64bit JVM and I clearly have plenty of memory left. How can I resolve this problem?"

The IBM JVM will automatically use compressed references when using a maximum heap size less than 25GB. This automated behavior was introduced in Java 626 SR5 and Java 7 SR4*. Compressed references (CR) decreases the size of Java objects making better use of available memory space. This better use of space results in improved JVM performance. *(Java 7 SR1 and later uses compressed references by default on z/OS)
...

Worth a read

IBM HTTP Server and the WebSphere Plugin - ws_config_parser: handleLogEnd: Failed to open log file: ' /opt/IBM/Websphere/plugins/logs/webserver2/http_plugin.log', OS Err: 2

$
0
0
I saw this issue this evening: -

[Thu Nov 12 20:07:47 2015] [error] ws_config_parser: handleLogEnd: Failed to open log file: ' /opt/IBM/Websphere/plugins/logs/webserver2/http_plugin.log', OS Err: 2

when starting IBM HTTP Server 8.5.5.0.

I checked my IHS configuration file - httpd.conf - which contained: -

WebSpherePluginConfig /opt/IBM/Websphere/plugins/config/webserver2/plugin-cfg.xml

and checked the Plugin configuration file itself: -

/opt/IBM/Websphere/plugins/config/webserver2/plugin-cfg.xml

which contained: -

   <Log LogLevel="Error" Name=" /opt/IBM/Websphere/plugins/logs/webserver2/http_plugin.log"/>

Note the obvious ?

Yes, there's a space between the quote and the leading /: -

   <Log LogLevel="Error" Name=" /opt/IBM/Websphere/plugins/logs/webserver2/http_plugin.log"/>

Once I removed it: -

   <Log LogLevel="Error" Name="/opt/IBM/Websphere/plugins/logs/webserver2/http_plugin.log"/>

IHS started without problems.

IBM HTTP Server and the Strange Story of Line Numbers

$
0
0
One of my colleagues saw an interesting issue with IBM HTTP Server today.

She's using IHS 8.5.5.0 on Linux.

In essence, whilst she could connect to IHS on port 8080 ( non-SSL port ), she couldn't connect on port 8443 ( SSL port ).

There were no obvious exceptions in the IHS error log, so I asked her to enable SSL tracing ( via the SSLTrace directive in httpd.conf ).

This she did, and this is what we saw in the logs: -

[Thu Nov 12 20:17:34 2015] [debug] ssl_getpwd() entry
[Thu Nov 12 20:17:34 2015] [debug] ssl_getpwd processing :0, ssl flag [0] prompt flag [0]
[Thu Nov 12 20:17:34 2015] [info] mod_unique_id: using ip addr 192.168.1.80
[Thu Nov 12 20:17:35 2015] [debug] SSL initialization for server: webserver.uk.ibm.com, port: 8080
[Thu Nov 12 20:17:35 2015] [notice] Using GSKit version 8.0.14.9
[Thu Nov 12 20:17:35 2015] [debug] SSL initialization for server: webserver.uk.ibm.com, port: 8080
[Thu Nov 12 20:17:35 2015] [info] mod_unique_id: using ip addr 192.168.1.80
[Thu Nov 12 20:17:36 2015] [error] ws_config_parser: handleConfigStart: Unknown property StrictSecurity
[Thu Nov 12 20:17:36 2015] [error] ws_config_parser: handleConfigStart: Unknown property MarkBusyDown
[Thu Nov 12 20:17:36 2015] [error] ws_config_parser: handleConfigStart: Unknown property KillWebServerStartUpOnParseErr
[Thu Nov 12 20:17:36 2015] [error] ws_config_parser: handleConfigStart: Unknown property IISDisableFlushFlag
[Thu Nov 12 20:17:36 2015] [notice] PLUGIN: mod_was_ap22_http: apache_log_header: WebSphere Plugins loaded.
[Thu Nov 12 20:17:36 2015] [notice] PLUGIN: mod_was_ap22_http: apache_log_header: --------------------Plugin Information-----------------------
[Thu Nov 12 20:17:36 2015] [notice] PLUGIN: mod_was_ap22_http: apache_log_header: Bld version: 8.5.0
[Thu Nov 12 20:17:36 2015] [notice] PLUGIN: mod_was_ap22_http: apache_log_header: Bld date: Apr 24 2012, 15:17:46
[Thu Nov 12 20:17:36 2015] [notice] PLUGIN: mod_was_ap22_http: apache_log_header: Webserver: IBM_HTTP_Server
[Thu Nov 12 20:17:36 2015] [notice] PLUGIN: mod_was_ap22_http: apache_log_header: --------------------------------------------------------------
[Thu Nov 12 20:17:36 2015] [notice] Using config file /opt/ibm/HTTPServer/conf/httpd.conf 
[Thu Nov 12 20:17:36 2015] [notice] IBM_HTTP_Server/8.5.0.0 (Unix) configured -- resuming normal operations
[Thu Nov 12 20:17:36 2015] [info] Server built: Mar  7 2012 18:25:14
[Thu Nov 12 20:17:36 2015] [debug] worker.c(1859): AcceptMutex: sysvsem (default: sysvsem)
[Thu Nov 12 20:17:36 2015] [notice] Core file limit is 0; core dumps will be not be written for server crashes
[Thu Nov 12 20:17:36 2015] [debug] mod_mpmstats.c(211): mpmstats daemon started (pid 6494)


which was somewhat strange.

This suggested that IHS was trying to bring up SSL on port 8080 rather than 8443.

Also, I noticed that there was almost no SSL debug appearing in the log, implying that SSL was NOT coming up properly / at all.

This is what she had in httpd.conf: -

Listen 8080
ServerName webserver.uk.ibm.com:8080
LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
Listen 8443
<VirtualHost *:8443>
SSLProtocolDisable SSLv2 SSLv3
SSLEnable
</VirtualHost>
KeyFile /opt/IBM/HttpServer/ssl/keystore.kdb
SSLDisable
SSLTrace


which looks OK although I wouldn't normally expect to see the Listen and ServerName directives immediately next to the SSL configuration block.

Note the inclusion of SSLTrace at my request.

I asked her to enable line number in vi in order to see where precisely the SSL configuration block occurs: -

106 #
107 # Listen: Allows you to bind the web server to specific IP addresses
108 # and/or ports, in addition to the default. See also the <VirtualHost>
109 # directive.
110 #
111 # Change this to Listen on specific IP addresses as shown below to
112 # prevent the web server from accepting connections on all interfaces
113 # (0.0.0.0)
114 #
115 # Change this to "Listen 0.0.0.0:port" to restrict the server to
116 # IPv4.
117 #
118 #Listen 12.34.56.78:80
119 Listen 8080
120 ServerName webserver.uk.ibm.com:8080
121 LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
122 Listen 8443
123 <VirtualHost *:8443>
124 SSLProtocolDisable SSLv2 SSLv3
125 SSLEnable
126 </VirtualHost>
127 KeyFile /opt/IBM/HttpServer/ssl/keystore.kdb
128 SSLDisable
129 SSLTrace


I then compared this to a vanilla IHS configuration: -

106 #
107 # Listen: Allows you to bind the web server to specific IP addresses 
108 # and/or ports, in addition to the default. See also the <VirtualHost>
109 # directive.
110 #
111 # Change this to Listen on specific IP addresses as shown below to 
112 # prevent the web server from accepting connections on all interfaces
113 # (0.0.0.0)
114 #
115 # Change this to "Listen 0.0.0.0:port" to restrict the server to
116 # IPv4.
117 #
118 #Listen 12.34.56.78:80
119 Listen 8080


This made me think "Aha, I wonder if the various blocks need to be on specific lines?".

Again, I looked at the vanilla configuration, in order to locate the SSL block: -

848 # Example SSL configuration which supports SSLv3 and TLSv1
849 # To enable this support:
850 #   1) Create a key database with ikeyman
851 #   2) Update the KeyFile directive below to point to that key database
852 #   3) Uncomment the directives up through the end of the example
853 #
854 #LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
855 #Listen 443
856 #<VirtualHost *:443>
857 #SSLEnable
858 #</VirtualHost>
859 #KeyFile /opt/ibm/HTTPServer/ihsserverkey.kdb
860 #SSLDisable
861 # End of example SSL configuration

I don't know for sure, but I'm guessing that's the root cause.

I had her move the Listen and ServerName directives further up the file, and restart ....

As expected, this did the trick, and IHS came up properly on both port 8080 ( HTTP ) and 8443 ( HTTPS ).

Equally importantly, the debug appeared as expected: -

...
[Thu Nov 12 20:26:19 2015] [info] mod_unique_id: using ip addr 192.168.1.80
[Thu Nov 12 20:26:20 2015] [debug] SSL initialization for server: webserver.uk.ibm.com, port: 8080
[Thu Nov 12 20:26:20 2015] [debug] SSL initialization for server: webserver.uk.ibm.com, port: 8443
[Thu Nov 12 20:26:20 2015] [debug] mod_ibm_ssl.c(1604): Accelerator device has not been enabled (0)
[Thu Nov 12 20:26:20 2015] [debug] SSL support provided for SSLV2 cipher: SSL_RC4_128_WITH_MD5(21)
[Thu Nov 12 20:26:20 2015] [debug] SSL support provided for SSLV2 cipher: SSL_RC4_128_EXPORT40_WITH_MD5(22)
[Thu Nov 12 20:26:20 2015] [debug] SSL support provided for SSLV2 cipher: SSL_RC2_CBC_128_CBC_WITH_MD5(23)
[Thu Nov 12 20:26:20 2015] [debug] SSL support provided for SSLV2 cipher: SSL_RC2_CBC_128_CBC_EXPORT40_WITH_MD5(24)
[Thu Nov 12 20:26:20 2015] [debug] SSL support provided for SSLV2 cipher: SSL_DES_64_CBC_WITH_MD5(26)
[Thu Nov 12 20:26:20 2015] [debug] SSL support provided for SSLV2 cipher: SSL_DES_192_EDE3_CBC_WITH_MD5(27)
[Thu Nov 12 20:26:20 2015] [debug] SSL support NOT provided for SSLV2 cipher: TLS_RSA_WITH_AES_128_CBC_SHA(2F)
[Thu Nov 12 20:26:20 2015] [debug] SSL support NOT provided for SSLV2 cipher: TLS_RSA_WITH_NULL_NULL(30)
[Thu Nov 12 20:26:20 2015] [debug] SSL support NOT provided for SSLV2 cipher: TLS_RSA_WITH_NULL_MD5(31)
[Thu Nov 12 20:26:20 2015] [debug] SSL support NOT provided for SSLV2 cipher: TLS_RSA_WITH_NULL_SHA(32)
[Thu Nov 12 20:26:20 2015] [debug] SSL support NOT provided for SSLV2 cipher: TLS_RSA_EXPORT_WITH_RC4_40_MD5(33)
[Thu Nov 12 20:26:20 2015] [debug] SSL support NOT provided for SSLV2 cipher: TLS_RSA_WITH_RC4_128_MD5(34)
[Thu Nov 12 20:26:20 2015] [debug] SSL support NOT provided for SSLV2 cipher: TLS_RSA_WITH_RC4_128_SHA(35)
[Thu Nov 12 20:26:20 2015] [debug] SSL support NOT provided for SSLV2 cipher: TLS_RSA_WITH_AES_256_CBC_SHA(35b)
[Thu Nov 12 20:26:20 2015] [debug] SSL support NOT provided for SSLV2 cipher: TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5(36)
[Thu Nov 12 20:26:20 2015] [debug] SSL support NOT provided for SSLV2 cipher: TLS_RSA_WITH_DES_CBC_SHA(39)

...

Having recreated the problem on my own VM, I confirmed that the problem is definitely related to positioning.

Once I moved the SSL block down to line ~848, it just worked.

I need to think about WHY, but the moral of the story is the positioning of Listen, ServerName and the SSL block is obviously more important than I had realised ...


Tab Previews in Firefox - Who Knew ?

IBM BPM Advanced 8.5.6 - Sorting out the JDBC Data Sources

$
0
0
Following on from a much earlier post: -


I had a requirement to sort out the JDBC data sources / variables that lead to this: -


with an IBM BPM Advanced 8.5.6 installation on Linux on IBM Z ( aka LinuxONE )

Here's the Jython script I used: -

cellID = AdminControl.getCell()

AdminConfig.create('VariableSubstitutionEntry', '(cells/'+cellID+'|variables.xml#VariableMap_1)', '[[symbolicName "DB2_JCC_DRIVER_PATH"] [description ""] [value "${WAS_INSTALL_ROOT}/jdbcdrivers/DB2"]]')

AdminConfig.create('VariableSubstitutionEntry', '(cells/'+cellID+'|variables.xml#VariableMap_1)', '[[symbolicName "WAS_INSTALL_ROOT"] [description ""] [value "/opt/IBM/WebSphere/AppServer"]]')

AdminConfig.create('VariableSubstitutionEntry', '(cells/'+cellID+'|variables.xml#VariableMap_1)', '[[symbolicName "UNIVERSAL_JDBC_DRIVER_PATH"] [description ""] [value "${WAS_INSTALL_ROOT}/jdbcdrivers/DB2"]]')

AdminConfig.create('VariableSubstitutionEntry', '(cells/'+cellID+'|variables.xml#VariableMap_1)', '[[symbolicName "PUREQUERY_PATH"] [description ""] [value ""]]')

AdminConfig.save()
AdminNodeManagement.syncActiveNodes()


and here's the result: -


Windows Server 2008 and Data Execution Prevention

$
0
0
I was trying to install a SQL Server component onto a Windows Server 2008 R2 VM, for self-enablement, but kept hitting blockers, most of which were due to missing dependencies, including the Microsoft .NET Framework.

I finally obtained an up-do-date version of the latter here: -


specifically NDP452-KB2901907-x86-x64-AllOS-ENU.exe.

Having downloaded this, when I attempted to install, Windows kept throwing up exceptions similar to: -

dotNetFx40_Full_x86_x64 setup has encountered a problem and needs to close. We are sorry for the inconvenience.

with detailed traces such as: -

Problem signature:
  Problem Event Name:APPCRASH
  Application Name:NDP452-KB2901907-x86-x64-AllOS-ENU.exe
  Application Version:4.5.51209.34209
  Application Timestamp:52bb74a6
  Fault Module Name:StackHash_0a9e
  Fault Module Version:0.0.0.0
  Fault Module Timestamp:00000000
  Exception Code:c0000008
  Exception Offset:7695c0ea
  OS Version:6.1.7600.2.0.0.274.10
  Locale ID:2057
  Additional Information 1:0a9e
  Additional Information 2:0a9e372d3b4ad19135b953a78882e789
  Additional Information 3:0a9e
  Additional Information 4:0a9e372d3b4ad19135b953a78882e789

Read our privacy statement online:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

If the online privacy statement is not available, please read our privacy statement offline:
  C:\Windows\system32\en-US\erofflps.txt


Problem signature:
  Problem Event Name:VSSetup
  Problem Signature 01:Microsoft .NET Framework 4 Setup
  Problem Signature 02:4.0.30319
  Problem Signature 03:10.0.30319.1
  Problem Signature 04:1
  Problem Signature 05:unknown
  Problem Signature 06:None_UI_Interactive_Crash
  Problem Signature 07:0xc0000005
  Problem Signature 08:0
  Problem Signature 09:unknown
  OS Version:6.1.7600.2.0.0.274.10
  Locale ID:2057

Read our privacy statement online:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

If the online privacy statement is not available, please read our privacy statement offline:
  C:\Windows\system32\en-US\erofflps.txt

From reading, it appeared that Data Execution Prevention (DEP) was getting in the way.

I read various posts online, and finally found this: -


which described how to disable DEP at boot-time: -


Once I did this, and rebooted, the .NET Framework installed without problems, which is nice.

IBM ODM Rules 8.7 - Can you say "Doh" ?

$
0
0
I saw this exception today: -

The initialization of the model failed.
A resource provider error occurred during the loading.
Failed to load the repository.
null

ilog.rules.res.console.IlrConsoleException: The initialization of the model failed.
at ilog.rules.res.console.util.IlrModelManager.createRepository(IlrModelManager.java:546)
at ilog.rules.res.console.util.IlrModelManager.init(IlrModelManager.java:181)
at ilog.rules.res.console.util.IlrConsoleInitializer.consoleInitialized(IlrConsoleInitializer.java:86)
at ilog.rules.res.console.jsf.IlrRequestFilter.updateState(IlrRequestFilter.java:413)
at ilog.rules.res.console.jsf.IlrRequestFilter.doFilter(IlrRequestFilter.java:234)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:967)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1107)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:919)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:316)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88)
at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1818)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1881)
Caused by: ilog.rules.res.model.IlrResourceRuntimeException: A resource provider error occurred during the loading.
at ilog.rules.res.model.internal.IlrRepositoryFactoryImpl.loadRepository(IlrRepositoryFactoryImpl.java:179)
at ilog.rules.res.model.mbean.IlrJMXRepositoryFactoryImpl.createRepository(IlrJMXRepositoryFactoryImpl.java:58)
at ilog.rules.res.console.util.IlrModelManager.createRepository(IlrModelManager.java:544)
... 25 more
Caused by: ilog.rules.res.persistence.IlrDAOException: Failed to load the repository.
at ilog.rules.res.persistence.impl.IlrDAOLocalization.newIlrDAOException(IlrDAOLocalization.java:35)
at ilog.rules.res.persistence.impl.jdbc.IlrGenericRepositoryDAO.load(IlrGenericRepositoryDAO.java:127)
at ilog.rules.res.model.internal.IlrRepositoryFactoryImpl.loadRepository(IlrRepositoryFactoryImpl.java:177)
... 27 more
Caused by: java.lang.NullPointerException
at ilog.rules.res.persistence.impl.jdbc.helper.IlrRulesetsTable.load(IlrRulesetsTable.java:50)
at ilog.rules.res.persistence.impl.jdbc.IlrGenericRepositoryDAO.load(IlrGenericRepositoryDAO.java:115)
... 28 more


...
[18/11/15 15:26:45:078 GMT] 000000a7 sql           W   An error occurred when executing the SQL query.
                                 com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=DB2INST1.RULEAPPS, DRIVER=3.68.61
...
com.ibm.db2.jcc.am.SqlException: DB2 SQL Error: SQLCODE=-727, SQLSTATE=56098, SQLERRMC=2;-204;42704;DB2INST1.RULEAPPS, DRIVER=3.68.61
...
com.ibm.db2.jcc.am.SqlException: DB2 SQL Error: SQLCODE=-727, SQLSTATE=56098, SQLERRMC=2;-204;42704;DB2INST1.RULEAPPS, DRIVER=3.68.61
...
[18/11/15 15:26:45:094 GMT] 000000a7 sql           W   An error occurred when executing the SQL query.
                                 com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=DB2INST1.RULESETS, DRIVER=3.68.61

...
com.ibm.db2.jcc.am.SqlException: DB2 SQL Error: SQLCODE=-727, SQLSTATE=56098, SQLERRMC=2;-204;42704;DB2INST1.RULESETS, DRIVER=3.68.61
...

I realised that I was missing a table or two ( RULEAPPS and RULESETS to name but two ), but I was 100% sure I'd created everything.

I checked my notes: -

db2 connect to RESDB
db2 create bufferpool BP32K size 8000 automatic pagesize 32K
db2 -tvf C:\IBM\ODM87\executionserver\databases\trace_db2.sql
db2 -tvf C:\IBM\ODM87\executionserver\databases\repository_db2.sql
db2 -tvf C:\IBM\ODM87\executionserver\databases\xomrepository_db2.sql
db2 -tvf C:\IBM\ODM87\executionserver\databases\decisionrunner_db2.sql


( For the record, I'm installing ODM Rules 8.7.0.0 on Windows Server 2008 R2 )

Can you see what I did wrong ?

Yes, when I connected to DB2, I did not specify a user - on the Windows platform, the command will use the ID that's currently logged in - Administrator in my case - which means that all objects are created with the schema of ADMINISTRATOR rather than, as required, DB2INST1.

Once I realised what I'd done wrong, I dropped the DB: -

db2 drop db RESDB

and recreated everything BUT with the correct schema: -

db2 connect to RESDB user DB2INST1
db2 create bufferpool BP32K size 8000 automatic pagesize 32K
db2 -tvf C:\IBM\ODM87\executionserver\databases\trace_db2.sql
db2 -tvf C:\IBM\ODM87\executionserver\databases\repository_db2.sql
db2 -tvf C:\IBM\ODM87\executionserver\databases\xomrepository_db2.sql
db2 -tvf C:\IBM\ODM87\executionserver\databases\decisionrunner_db2.sql

I'm sure I could have also used this: -

db2 set current schema DB2INST1

but that's not important right now.


How To Create Multiple Deployment Environments Within One Cell


Bash - Using Variables in Sed

$
0
0
Set a variable

export NAME=DAVE

Validate the variable

echo $NAME

DAVID

Initialise a file

echo "DAVE"> foobar.txt

Validate the file contents

cat foobar.txt

DAVE

Replace the contents of the file with the contents of the variable

sed -i''"s/DAVE/$NAME/g" foobar.txt

Validate the file contents

cat foobar.txt

DAVID

This works with Bash 4.1.2(1)-release on RHEL 6.6.

Ask the Experts Replay: Understanding HA Manager, WLM, and ORB in WebSphere Application Server

IBM AIX Support Center Tools

$
0
0
I saw this earlier: -

AIX Support Center Tools provides information about widely used data gathering tools and recommendation tools that are used by AIX system administrators in conjunction with the IBM support center team. The gathering tools help reduce the amount of time spent during initial problem determination. The recommendation tools help provide health check reports or cross-product compatibility information.

Data gathering tools

zsnap

The zsnap utility delivers all the benefits of the standard snap command and captures additional debugging data in an easily understood format. IBM's world-class AIX support centers have teamed up to deliver a more fully integrated tool for data gathering, one that has already been proven to reduce the time needed to resolve customer problems. IBM recommends that you install zsnap before you call IBM technical support.

devscan

The devscan tool facilitates the debugging of storage problems by rapidly gathering a great deal of information about the SAN. It then displays the information in an easy-to-understand manner. You can run devscan from any AIX host, including VIO clients, or from a VIOS.

perfpmr

The perfpmr tool is used extensively by the AIX technical support centers. This package contains a set of tools and instructions for collecting the data needed to analyze performance problems. IBM may ask you to download and use this tool.

pdump

The pdump script extracts information from the running process using kdb command and other AIX tools.

snap

The snap command is included with the operating system. Snap captures system configuration information for AIX and PowerHA. Product technical support centers regularly request snap output to identify and resolve problems. Snap output can be delivered to IBM in portable archive exchange format (pax).

Hmmm, USB and  Mac Mini - Not BFFs

$
0
0
I had a wee problem connecting a StarTech USB enclosure ( containing a 512 GB SSD drive ) to my Mac Mini this evening.


The drive never showed up in Finder, in Terminal ( under /Volumes ) or in Disk Utility.

Eventually, the enclosed would throw up a connection error.

In the logs ( sudo dmesg ) I saw: -

...
1642046.822691 EzLockDown@14900000: AppleUSBDevice::waitForInterfacesGated: timeout waiting for _interfacesMatched
1642046.822777 EzLockDown@14900000: AppleUSBDevice::waitForInterfacesGated: timeout waiting for _interfacesMatched
vmioplug: Warning: com_vmware_kext_UsbPortArbiter_14_1_4[fffffffffc5c018f]::updateDeviceByPort(14900000) resetDevice() failed: e00002bc
USBMSC Identifier (non-unique): 0000000000014905 0x4c5 0x2028 0x1, 3
1642116.059756 EzLockDown@14900000: AppleUSBDevice::waitForInterfacesGated: timeout waiting for _interfacesMatched
1642116.060507 EzLockDown@14900000: AppleUSBDevice::waitForInterfacesGated: timeout waiting for _interfacesMatched
vmioplug: Warning: com_vmware_kext_UsbPortArbiter_14_1_4[fffffffffc5c018f]::updateDeviceByPort(14900000) resetDevice() failed: e00002bc

I tried various things, including suspending a running VM and shutting down VMware Fusion 8, but to no avail.

In the end, I moved the drive from one USB port to another.


( the arrow indicates the from, the connected USB cable indicates the to )

Strange but true ;-)

Ask the Experts Replay: Understanding IBM HTTP Server (IHS) Administration using the WebSphere Admin console

$
0
0
Abstract

This Ask the Experts will discuss Information about Web Server Adminisrtion thru WebSphere Administraiton Console.

On October 13, 2015, IBM is hosting a panel discussion on understanding IHS Administration using the WebSphere Admin console.

The Panel of Experts have 5 questions that will answer at this session.

• What is 'Web Server Administration'?

• How does the WCT affect the configuration of the web server admin?

• What are the components of the web server admin?

• What is the difference between DMGR console and standalone WAS console?

• What are the common problems?





Back the past, again that's why I blog ...

$
0
0
I had cause to refer back to an old post: -


this afternoon, when I saw this exception, when using IBM Installation Manager : -

/opt/ibm/InstallationManager/eclipse/IBMIM 

java: cairo-misc.c:380: _cairo_operator_bounded_by_source: Assertion `NOT_REACHED' failed.
JVMDUMP039I Processing dump event "abort", detail "" at 2015/11/28 12:56:58 - please wait.
JVMDUMP032I JVM requested System dump using '/home/wasadmin/core.20151128.125658.17779.0001.dmp' in response to an event
JVMPORT030W /proc/sys/kernel/core_pattern setting "|/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e" specifies that the core dump is to be piped to an external program.  Attempting to rename either core or core.18146.

JVMDUMP010I System dump written to /home/wasadmin/core.20151128.125658.17779.0001.dmp
JVMDUMP032I JVM requested Java dump using '/home/wasadmin/javacore.20151128.125658.17779.0002.txt' in response to an event
JVMDUMP010I Java dump written to /home/wasadmin/javacore.20151128.125658.17779.0002.txt
JVMDUMP032I JVM requested Snap dump using '/home/wasadmin/Snap.20151128.125658.17779.0003.trc' in response to an event
JVMDUMP010I Snap dump written to /home/wasadmin/Snap.20151128.125658.17779.0003.trc
JVMDUMP013I Processed dump event "abort", detail "".

I'm using IBM Installation Manager 1.8.1 : -

/opt/ibm/InstallationManager/eclipse/tools/imcl -version

Installation Manager (installed)
Version: 1.8.1
Internal Version: 1.8.1000.20141126_2002
Architecture: 64-bit

As before, the answer was to add: -

-Dorg.eclipse.swt.internal.gtk.cairoGraphics=false
-Dorg.eclipse.swt.internal.gtk.useCairo=false


to /opt/ibm/InstallationManager/eclipse/IBMIM.ini and retry.

For the record, I also saw the same problem earlier this year: -



Sharing - WebSphere Application Server Liberty Profile and Docker

$
0
0
I was tinkering with Docker this evening, and found this from an IBM colleague, David Currie


and, thanks to this, I'm now installing WebSphere Application Server Liberty Profile ( aka WAS Liberty Profile ) on Docker: -

docker run -e LICENSE=accept websphere-liberty

Unable to find image 'websphere-liberty:latest' locally
latest: Pulling from websphere-liberty
2332d8973c93: Downloading [===============>                                   ]    20 MB/65.67 MB
ea358092da77: Download complete 
a467a7c6794f: Download complete 
ca4d7b1b9a51: Download complete 
3e14d1c2650c: Download complete 
e3bc32d50851: Download complete 
745d07bf2ad2: Download complete 
495673ce32e6: Downloading [=========>                                         ] 20.53 MB/108.6 MB
050c02b24496: Download complete 
ee8038061e05: Download complete 
64f4a9295383: Download complete 
76917cbdc083: Download complete 
a9eaaa439e4f: Download complete 
a07b053d7434: Download complete 
d023c7386610: Download complete 
180d4e84d457: Download complete 
d14c17ab414e: Download complete 
6db629706d49: Download complete 
ff829fb7e487: Download complete 
35d2d9594700: Download complete 
cd570f0ee8f5: Download complete 
db13fa4f809e: Downloading [===============================>                   ] 19.99 MB/31.62 MB
6696612e0538: Download complete 
8c33ed5c2443: Downloading [==========================>                        ] 20.47 MB/39.36 MB
37a6052584a4: Download complete 
3f56975cb181: Downloading [=======================>                           ] 20.02 MB/42.28 MB


using Boot2Docker on the Mac, as per a previous post here: -


IBM Business Process Manager Advanced - Developer Enablement

More textile manipulation with sed and bash

$
0
0
One of my colleagues was looking for a way to manipulate an XML file, using sed on Linux.

In essence, he wanted to remove an XML tag at the current end of the file, and insert a new line BELOW the current end of the file, making the new line the new end of the file :-)

Here's a mockup of my solution.

I used a file called foobar.bak as my input file, mainly so that I could quickly see/compare the changes between input and output.

Input file - foobar.bak

The quick brown fox
Jumped over the lazy dog
In the pouring rainfall


( Note the tab characters; they're there because my friends' XML file had tabs for pagination )

Script - replace.sh

#!/bin/bash
cp foobar.bak foobar.txt

file="foobar.txt"
replace="fall"
insert="That is all"
sed -i''"$ s/$replace//g" $file
sed -i''"$ a\ \t \t$insert" $file


In essence, I'm copying the foobar.bak file to foobar.txt each time I run the script, meaning that I preserve the original file :-)

I'm then setting some variables, one for the filename, one for the character to be replaced, and one for the new line.

I then use sed to replace ( remove ) the to-be-replaced string.

Finally, I again use sed to insert a new line - note that I'm using sed twice, mainly because I couldn't work out how to replace and then insert a blank line in sed I even messed about with ^M characters, but to no avail.

Output file - foobar.txt

The quick brown fox
Jumped over the lazy dog
In the pouring rain
  That is all


Again, note the tabs for pagination ( they're handled with \t above ).

*UPDATE*

I then thought about the two occurrences of sed again, and came up with this improvement: -

#!/bin/bash
cp foobar.bak foobar.txt

file="foobar.txt"
replace="fall"
insert="That is all"
sed -i''"$ s/$replace/\n\t\t$insert/g" $file


which has the same effect, but does everything in a single sed statement :-)



How to tune a guitar and a Business Process Manager (BPM) topology at the same time

$
0
0
I found this whilst searching for something pertaining to Java2 Security: -


<snip>

As such, here's a quick checklist of tuning tips that cover all areas of your IBM Business Process Manager (BPM) environment:

  • Use a 64-bit JVM for all servers.
  • Disable tracing, logging, and monitoring when possible.
  • Ensure all of your databases are well-tuned.
  • If security is required, use Application security, not Java2 security.
  • Use an appropriate hardware configuration for performance measurement (not notebooks or desktops).
  • If hardware virtualization is used, ensure that adequate processor, memory, and I/O resources are allocated to each virtual machine.
  • Minimize network latency and ensure sufficient network bandwidth between all systems in the configuration.
  • Do not run production servers in development mode or with a development profile.
  • Tune external service providers and external interfaces to ensure that they do not cause a system bottleneck.
  • Configure:
    • Message-driven bean (MDB) activation specifications.
    • Thread pool sizes.
    • Settings of data sources for connection pool size and prepared statement cache size.
  • Increase the maximum number of connections in the data pool to greater than or equal to the sum of all maximum thread pool sizes.


This list represents just the fundamental requirements for optimal performance. See IBM Business Process Manager V8.0 Performance Tuning and Best Practices, REDP-4935-00 for a complete list of tuning recommendations for all areas of your IBM Business Process Manager topology. 

</snip>

Reminder - DB2 HADR and SQL1768N rc7

$
0
0
Reminder to self: -

If I see SQL1768N rc7 when attempting to use DB2 HADR, there's a good chance that I've forgotten to update /etc/hosts meaning that one/both hosts is returning the loopback / localhost address of 127.0.0.1 when attempting to connect to itself via hostname.

For the record, /etc/hosts should look similar to this: -

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.153.100bpm856.uk.ibm.combpm856
192.168.153.110db2one.uk.ibm.comdb2one
192.168.153.120db2two.uk.ibm.comdb2two

In other words, there must be no other hostname alongside the localhost entries.

Using watch to loop in Bash

$
0
0
I wanted to monitor a particular set of TCP/IP listeners, on an ongoing basis, and thought "I wonder how I do this?".

A quick Google led me here: -


specifically to the /usr/bin/watch command: -

       watch - execute a program periodically, showing output fullscreen

Here's my command: -

watch -n5 'netstat -a | grep db2'

which watches the output from the netstat command, and updates the display every 5 seconds, resulting in this: -

Every 5.0s: netstat -a | grep db2                                                                                                                                                   Thu Dec 17 13:29:07 2015

tcp        0  0 *:ibm-db2                   *:*                         LISTEN
tcp        0  0 bpm856.uk.ibm.com:39889     db2two.uk.ibm.com:60007     ESTABLISHED
tcp        0  0 bpm856.uk.ibm.com:39888     db2two.uk.ibm.com:60007     ESTABLISHED
tcp        0  0 bpm856.uk.ibm.com:39890     db2two.uk.ibm.com:60007     ESTABLISHED
udp        0  0 *:ibm-db2                   *:*


which is nice :-)
Viewing all 1851 articles
Browse latest View live