BIND db2look Utility to an DB2 z/OS Subsystem (Unix)

Published On: 4. April 2026Last Updated: 4. April 2026Categories: Db2 LUW, Db2 z/OSTags: , , 2,8 min readViews: 7

In this example, the DB2LOOK utility is bound to a DB2 for z/OS subsystem via Secondary AuthID on a Unix/AIX system.

When using BIND with DB2 for z/OS, the other .bnd files are irrelevant—they are only required for DB2 Unix or DB2 Windows environments. Only the db2lk390.bnd file is required.


#!/bin/ksh
################################################################################
# 21.05.2013/GR - Adapted from BindDB2ConnectSecondary to bind DB2LOOK to DB2 z/OS
# 16.09.2015/GR - db2look.bnd, db2lkfun.bnd, db2lksp.bnd not needed for DB2 z/OS
################################################################################
clear
ID=`id`
USER=`whoami`
DATE=`date +%Y-%m-%d-%H.%M.%S`
YD=`date +%j`
SYSTEM=`uname -n`

cd /u/db2dba/ddl

tty=`tty`
logpath=$PWD
logfname=`basename $0 | awk -F. ‚'`
logfname="$logpath/$logfname-$DATE.LOG"

echo „$0 – Binden der DB2LOOK Utility Packages an DB2 for z/OS Subsystem via 2nd AuthID"
echo „================================================================================="
echo „Current User ID ………….: $ID"
echo „Current Date/Time ………..: $DATE"
echo „System ………………….: $SYSTEM"
echo „Log File Name ……………: $logfname"
echo „Path ……………………: $PWD"
echo „Bitte folgende Paramter eingeben:"
echo „———————————"
echo „1) Name der Instance, mit der gearbeitet werden soll"
echo „2) Name der registrierten DB2 z/OS Datenbank"
echo „3) Name der z/OS User ID, mit der man sich connecten kann"
echo „4) Owner der Packages (RACF-Gruppe, Qualifier, Schema)"
echo „5) Grantee für die Ausführung der Packages"
#
echo „Los geht's …"
echo „1) Name der Instance (z.B. db2inst1, db2test, db2prod, …):"
read db2inst
echo „2) DB2 z/OS Datenbank (DB2T, DB2P, …):"
read db2zosdb
echo „3) z/OS User ID (ADMINTST, ADMINPRD, …):"
read db2zosusr
echo „4) Package Owner (TEST, PROD, …):"
read db2zosown
echo „5) Grantee für die Ausführung der Packages (PUBLIC):"
read db2zostee
echo „… Binden beginnt mit Aufbau der Connection …"
#
typeset -u db2zosdb
typeset -u db2zosusr
typeset -u db2zosown
typeset -u db2zostee
#
rm $logfname".BAK" 2>/dev/null
mv $logfname $logfname".BAK" 2>/dev/null
exec 1>>$logfname 2>&1
#
echo „$0 – Bind DB2 Connect Packages an DB2 for z/OS Subsystem via 2nd AuthID"
echo „================================================================================"
echo „Current User ID ………….: $ID"
echo „Current Date/Time ………..: $DATE"
echo „System ………………….: $SYSTEM"
echo „Log File Name ……………: $logfname"
echo „Path ……………………: $PWD"
echo „1) Name der Instance ……..: $db2inst"
. xmpSetInstance.sh $db2inst
echo „2) DB2 z/OS Datenbank …….: $db2zosdb"
echo „3) z/OS User ID ………….: $db2zosusr"
echo „4) Package Owner …………: $db2zosown"
echo „5) Grantee für Packages …..: $db2zostee"
#
echo „Connection zur DB2 z/OS DB $db2zosdb mit User $db2zosusr wird hergestellt …"
db2 connect to $db2zosdb user $db2zosusr
#
echo „Binden der DB2 Connect Packages an $db2zosdb für Owner $db2zosown …"
#db2 „BIND $INSTHOME/sqllib/bnd/db2look.bnd ACTION REPLACE BLOCKING ALL SQLERROR CONTINUE OWNER $db2zosown"
#db2 „BIND $INSTHOME/sqllib/bnd/db2lkfun.bnd ACTION REPLACE BLOCKING ALL SQLERROR CONTINUE OWNER $db2zosown"
#db2 „BIND $INSTHOME/sqllib/bnd/db2lksp.bnd ACTION REPLACE BLOCKING ALL SQLERROR CONTINUE OWNER $db2zosown"
db2 „BIND $INSTHOME/sqllib/bnd/db2lk390.bnd ACTION REPLACE BLOCKING ALL SQLERROR CONTINUE OWNER $db2zosown"
#
echo „Wechsel zur Secondary AUTHID $db2zosown …"
db2 „SET CURRENT SQLID = ‚$db2zosown'"
echo „Erteilung EXECUTE Autorisierung für Grantee $db2zostee …"
db2 „GRANT EXECUTE ON PACKAGE NULLID.* TO $db2zostee"
echo „Abbauf der Connection …"
db2 CONNECT RESET
echo „Terminate Line Command Back-End-Prozess …"
db2 TERMINATE
#
test $tty && exec 1>$tty 2>&1
#
date
echo „$0 beendet, Log unter $logfname"