shell中执行db2数据库命令_DB2命令 (shell脚本自动执行)

本文介绍了一套针对DB2数据库的操作流程,包括插入数据、修改表结构、数据验证及回滚操作,并提供了完整的SQL语句及Shell脚本示例。

//deploy

INSERT INTO GDAPP.USER(ID,NAME,AGE) VALUES('001','JMY','13');//执行插入数据操作

ALTER TABLE GDAPP.USER ADD COLUMN DELETE_DATE TIMESTAMP;

ALTER TABLE GDAPP.USER ADD COLUMN ACTIVE VARCHAR(1024);

ALTER TABLE GDAPP.USER ADD COLUMN ATTACHMENT BLOB(10485760);//新增列,附件10M

//rollback

DELETE FROM GDAPP.USER WHERE ID='001';//删除

ALTER TABLE GDAPP.USER DROP COLUMN DELETE_DATE ;

ALTER TABLE GDAPP.USER DROP COLUMN ACTIVE;

ALTER TABLE GDAPP.USER DROP COLUMN ATTACHMENT;//删除列

//validate

SELECT '1.OK.NEW DATA HAS BEEN ADDED INTO GDAPP.USER TABLE.'

FROM sysibm.sysdummy1

WHERE EXISTS(SELECT * FROM GDAPP.USER WHERE ID='001')

UNION

SELECT '1.ERROR.NEW DATA HAS NOT BEEN ADDED INTO GDAPP.USER TABLE.'

FROM sysibm.sysdummy1

WHERE NOT EXISTS(SELECT * FROM GDAPP.USER WHERE ID='001');//插入操作验证

SELECT '1.OK.ATTACHMENT COLUMN HAS BEEN ADDED INTO GDAPP.USER TABLE.'

FROM sysibm.sysdummy1

WHERE EXISTS(select 1 from syscat.columns where colname='ATTACHMENT' and tabname='USER' and tabschema='GDAPP')

UNION

SELECT '1.ERROR.ATTACHMENT COLUMN HAS NOT BEEN ADDED INTO GDAPP.USER TABLE.'

FROM sysibm.sysdummy1

WHERE NOT EXISTS(select 1 from syscat.columns where colname='ATTACHMENT' and tabname='USER' and tabschema='GDAPP')

//插入列操作验证

//rollback_validate

SELECT '1.OK.NEW DATA HAS BEEN DELETED FROM GDAPP.USER TABLE.'

FROM sysibm.sysdummy1

WHERE NOT EXISTS(SELECT * FROM GDAPP.USER WHERE ID='001')

UNION

SELECT '2.ERROR.NEW DATA HAS NOT BEEN DELETED FROM GDAPP.USER TABLE.'

FROM sysibm.sysdummy1

WHERE EXISTS(SELECT * FROM GDAPP.USER WHERE ID='001');//插入操作回滚验证

SELECT '1.OK.ATTACHMENT COLUMN HAS BEEN DELETED FROM GDAPP.USER TABLE.'

FROM sysibm.sysdummy1

WHERE NOT EXISTS(select 1 from syscat.columns where colname='ATTACHMENT' and tabname='USER' and tabschema='GDAPP')

UNION

SELECT '1.ERROR.ATTACHMENT COLUMN HAS NOT BEEN DELETED FROM GDAPP.USER TABLE.'

FROM sysibm.sysdummy1

WHERE EXISTS(select 1 from syscat.columns where colname='ATTACHMENT' and tabname='USER' and tabschema='GDAPP')

//插入列回滚操作验证

shell脚本自动执行(发布)sql pref下

#!/bin/bash

#install_01

db2 'connect to gddb user "jmy" using "123456"'

curDir=$(cd $(dirname $0)/..; pwd)

echo "current dir >>>>" ${curDir}

cd ${curDir}/sql/

db2 -tvf sql_deploy.sql

db2 reorg table GDAPP.USER

#init_02

echo "init finished"

#checking_03

db2 'connect to gddb user "jmy" using "123456"'

curDir=$(cd $(dirname $0)/..; pwd)

echo "current dir >>>>" ${curDir}

cd ${curDir}/sql/

db2 -tvf sql_validate.sql

shell脚本自动执行(回滚)sql pref下

#!/bin/bash

#install_11

db2 'connect to gddb user "jmy" using "123456"'

curDir=$(cd $(dirname $0)/..; pwd)

echo "current dir >>>>" ${curDir}

cd ${curDir}/sql/

db2 -tvf sql_rollback.sql

db2 reorg table GDAPP.USER

#init_12

echo "init finished"

#checking_13

db2 'connect to gddb user "jmy" using "123456"'

curDir=$(cd $(dirname $0)/..; pwd)

echo "current dir >>>>" ${curDir}

cd ${curDir}/sql/

db2 -tvf sql_rollback_validate.sql

自动执行sh脚本(发布)

#!/bin/sh

#install

ROOT_HOME=$(cd $(dirname $0)/..; pwd)

outlog=$ROOT_HOME/log/install.log

echo "sh $ROOT_HOME/normal/install.sh" >> ${outlog}

sh $ROOT_HOME/GDDB01/perf/01_install.sh |tee -a ${outlog}

#init

ROOT_HOME=$(cd $(dirname $0)/..; pwd)

outlog=$ROOT_HOME/log/init.log

echo "sh $ROOT_HOME/normal/init.sh" >> ${outlog}

sh $ROOT_HOME/GDDB01/perf/02_init.sh |tee -a ${outlog}

#check

ROOT_HOME=$(cd $(dirname $0)/..; pwd)

outlog=$ROOT_HOME/log/checking.log

echo "sh $ROOT_HOME/normal/checking.sh" >> ${outlog}

sh $ROOT_HOME/GDDB01/perf/03_check.sh |tee -a ${outlog}

自动执行sh脚本(回滚)

#!/bin/sh

#install

ROOT_HOME=$(cd $(dirname $0)/..; pwd)

outlog=$ROOT_HOME/log/rollback_install.log

echo "sh $ROOT_HOME/normal/rollback_install.sh" >> ${outlog}

sh $ROOT_HOME/GDDB01/perf/11_install.sh |tee -a ${outlog}

#init

ROOT_HOME=$(cd $(dirname $0)/..; pwd)

outlog=$ROOT_HOME/log/rollback_init.log

echo "sh $ROOT_HOME/normal/rollback_init.sh" >> ${outlog}

sh $ROOT_HOME/GDDB01/perf/12_init.sh |tee -a ${outlog}

#check

ROOT_HOME=$(cd $(dirname $0)/..; pwd)

outlog=$ROOT_HOME/log/rollback_checking.log

echo "sh $ROOT_HOME/normal/rollback_checking.sh" >> ${outlog}

sh $ROOT_HOME/GDDB01/perf/13_check.sh |tee -a ${outlog}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值