Day: January 20, 2020

ODBC Access with Client Solutions

I’ve been asked several times in the last few weeks about ODBC drivers for IBM i and how to obtain them for a PC running Client Solutions. There are actually a number of pieces to the IBM i Access puzzle that are nowhere to be found in the base ACS “installation,” so I thought I’d take a minute to revisit how ACS is structured by IBM for those who might be looking for something specific.

The Client Solutions base package, which includes the 5250 emulator and even the SQL scripting tools, is a platform-independent Java application. It doesn’t use a traditional installation method for setup, so it cannot account for anything that might need to be installed on the PC in an OS-dependent way. The ODBC drivers and a few other things fall under this category, and needed to be separated out from the Java applications so they could be given special handling.…

How often should I IPL my IBM i?

I recently answered a Facebook group thread about the frequency of doing an IPL. A couple of people said it’s a best practice to do one every week. One even said it was an “IBM best practice.” Of course, there’s no supporting documentation to support that claim. I’m sure it was an offhand remark by an IBM CE in 1997 while he or she was replacing a 4 GB disk drive. But a weekly IPL as a best practice? I completely disagree.

Why?

Performance. Database performance specifically.

The SQL Plan Cache is cleared during each IPL. It contains access plans for database accesses that were optimized by SQE. After an IPL, let’s say when a database query is run its access plan is rebuilt and then put into the Plan Cache for future use, making those eventual operations much faster. The IPL effectively takes those plans and throws them out the window, making database performance less efficient.

Running Non-Restricted and Restricted State Functions in BRMS

When using BRMS control groups (WRKCTLGBRM), it is possible to add user commands using the *EXIT option for the backup item. These commands can run many different backup items or end/start applications.

First and Last *EXIT
If used, these are processed outside of the control group. The first *EXIT is the pre-control group exit that runs before any of the control group attributes are run (signing off users, ending subsystems, holding job queues, and so on). The last *EXIT is the post-control group and is run after all entries in the control group have been run.…