BIND db2look Utility an ein DB2 z/OS Subsystem (Unix)
In diesem Beispiel wird von einem Unix/AIX das DB2LOOK Utility über Secondary AuthID an ein DB2 for z/OS Subsystem gebunden.
#!/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. '{print $1}'` 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"
Bei einem BIND an DB2 for z/OS sind die anderen .bnd-Files unerheblich – sie werden nur für DB2 Unix oder DB2 Windows Umgebungen benötigt. Lediglich die db2lk390.bnd-Datei wird benötigt.
Comments
Comments are closed.