Category Archives: Technology

Seven commands developers can run to resolve issues in DB2 AIX development

Now here’s a super geeky one for you, but also super helpful when doing DB2 dev on AIX. Thanks to one of our App DBAs for providing this!

Please note that you will need DBADM rights to do some of these things so your mileage may vary.

First you need to determine what command(s) to run…

  • REORG(#1), RUNSTAT(#5), REBIND (#6) as a first step when performance is suffering
  • REORG(#1) when you recieve a SQL0668N reason code 7 or any other SQL message indicating a REORG is required
  • REORG(#1) after table alters or deleting lots of rows when you want to reclaim space.
  • REORG(#2) when you recieve a ADM6044E or a SQL2216N SQL error “-289” on a REORG (#1)
  • CLEAR LOAD PENDING (#3) when you recieve a SQL0668N reason code 3
  • RUNSTAT(#5) after REORGs(#1 or #2), data volume changes(+10%), and/or adding indexes
  • EMPTY A TABLE WITH A LOAD REPLACE(#4) when you want to empty a medium or larger sized table
  • REBIND(#6) after every RUNSTAT(#5) if you are using stored procedures
  • SET INTEGRITY(#7) to fix SQL0668N reason code 1

Then change the command syntax to match the required objects. All parameters starting with a dollar sign($) e.g. $TABSCHEMA, $TABNAME, $ROUTINESCHEMA, $ROUTINENAME, and/or $STEMP_TBSPACE must be replaced with valid table schema/name, stored procedure schema/name, system temporary tablespace.

Note: RAPID SQL 7.7.5 Issue: Add cast syntax (CAST(‘command-syntax’ AS CLOB)) if your version of Rapid SQL returns an error
Example: CALL SYSPROC.ADMIN_CMD (CAST(‘REORG TABLE $TABSCHEMA.$TABNAME ALLOW READ ACCESS’ AS CLOB));

Finally, run the commands via any interface that can call stored procedures including RAPID SQL

Other resources for troubleshoot messages or research other options for the commands supplied below by searching these

1. REORG A TABLE

CALL SYSPROC.ADMIN_CMD ('REORG TABLE $TABSCHEMA.$TABNAME ALLOW READ ACCESS');

2. REORG A LARGE TABLE

CALL SYSPROC.ADMIN_CMD('REORG TABLE $TABSCHEMA.$TABNAME ALLOW READ ACCESS USE $STEMP_TBSPACE');

Note: To find $STEMP_TBSPACE:

SELECT TBSPACE AS $STEMP_TBSPACE, PAGESIZE FROM SYSCAT.TABLESPACES WHERE DATATYPE = 'T' WITH UR;

3. CLEAR A LOAD PENDING **This leaves the table empty**

CALL SYSPROC.ADMIN_CMD('LOAD FROM /dev/null OF DEL TERMINATE INTO $TABSCHEMA.$TABNAME NONRECOVERABLE');

4. EMPTY A TABLE WITH LOAD REPLACE

CALL SYSPROC.ADMIN_CMD ('LOAD FROM /dev/null OF DEL REPLACE INTO $TABSCHEMA.$TABNAME NONRECOVERABLE');

5. RUNSTAT A TABLE

CALL SYSPROC.ADMIN_CMD('RUNSTATS ON TABLE $TABSCHEMA.$TABNAME ON ALL COLUMNS AND SAMPLED DETAILED INDEX ALL ALLOW WRITE ACCESS');

6. REBIND A STORED PROCEDURE

CALL SYSPROC.REBIND_ROUTINE_PACKAGE('P','$ROUTINESCHEMA.$ROUTINENAME','ANY');

7. SET INTEGRITY

SET INTEGRITY FOR $TABSCHEMA.$TABNAME IMMEDIATE CHECKED;
Please remember to subscribe to the newsletter or feed to stay up to date!

Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.

Execute a SQL file via the MySQL command line in one line

Have a large script (like a DB dump) you want to execute from the command line in one line so you can just drop it in a batch/shell script and run with it?  Assuming MySql is on your system path, here’s the command…

mysql -u user -ppass < C:\temp\myscript.sql

Where "user" is the username, and "pass" is the password (note, there's no space or other delimiter between the "-p" and the password)

Please remember to subscribe to the newsletter or feed to stay up to date!

Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.

Add a SSL Cert to Your Java Keystore

If you’ve ever had to add a SSL certificate to a java keystore, you know that the command is a little convoluted.  Here for your and my reference is the command…

 "D:\Program Files\Java\jre1.5.0_22\bin\keytool" -import -trustcacerts -alias MyCA2 -file C:\MyCA2.crt -keystore "D:\Program Files\Java\jre1.5.0_22\lib\security\cacerts" 

When promoted for the password, the default is “changeit”, and make sure to choose/type “yes” when asked if you want to trust the cert.

Please remember to subscribe to the newsletter or feed to stay up to date!

Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.

Exclude Categories from WordPress Feed

Want to keep posts from a given WordPress category or categories out of your public feed?  If so, just edit the template’s functions.php file and append this code…

function myFeedExcluder($query) {
 if ($query->is_feed) {
   $query->set('cat','-12');
 }
return $query;
}

add_filter('pre_get_posts','myFeedExcluder');

This code will keep the category ID=”12″ out of the feed. If you want to exclude more than one category, put them in separated by commas ‘-12,-25,-33′.

Thanks to this page for this tip!

Please remember to subscribe to the newsletter or feed to stay up to date!

Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.