I am trying to automate some things on DB2 and would like to use a batch file to do this. I create the following batch file test.bat
:
db2cmd - -w "db2 -tvf test.db2"
I then try to do two commands in the test.db2
script, which work together in the CLP interactive mode:
!set db2instance=INST1;
!db2pd -db MYDB -hadr;
I then get the following output:
Database MYDB not activated on database partition 0. Option -hadr requires -db or -alldbs option and active database.
I'm using DB2 9.7 LUW on Windows 2008 R2.
test.db
are Windows commands, you don't need the CLP to run them. Trydb2cmd -w "set db2instance=INST1 & db2pd -db MYDB -hadr"
– mustaccio Aug 19 '15 at 19:08DB2INSTANCE
variable in it, then quit, which destroyed that environment. The second command created yet another environment, in whichDB2INSTANCE
was not set (or set to a wrong value), sodb2pd
could not see the database. – mustaccio Aug 19 '15 at 19:37command1 & command2
means "run command2 after command1 finishes, even if command1 fails". If you have lots of commands to chain together you can place them on separate lines; use^
at the end of each line to escape the newline character and don't forget to eventually close the"
(^
is the escape character in NT's batch files ... at least that's what I vaguely recall from my days administering Windows boxen!) – Dave Jones Aug 20 '15 at 11:33