1.背景需求:
由于我们公司的业务偏向于sass服务,可能需要给一些定制化的客户提供部署应用,而对于不用的用户可能使用的版本也不一致.而我这边的业务偏向于数据库层次,比如建表,初始数据填充,sql升级等等.
而且我们这个是属于刚开始的项目,需要花费最小的时间代价去做这些事情.所以采用shell脚本去完成,业务保证三点即可:
1.第一次sql部署,怎么全量执行
2.老客户从version1版本升级到version2版本,怎么做到只升级version2的版本包的sql
3.新客户想用最新的version2版本,怎么做到全量更新,再顺序执行执行version1,version2的版本包
2.前置和脚本详情
脚本截图:
1.必须有/sql目录 (按自己需求定义目录)
2.必须有/sql/log目录 (按自己需求定义目录) 赋予权限:chmod 777 /sql
3.进入sqlplus执行用户 输入sqlplus能有控制台输出
4.执行sh 脚本.sh(可以选择增量执行还是全量执行),输入用户名,密码,服务名,版本(如果是增量发布)
5.执行完毕之后:进入/sql/log
(按自己需求定义目录)
目录查看输出日志
3.脚本目录
1.choose_install.sh 这是一个选择执行脚本 直接输入enter执行初始全量升级,1是增量升级 2是全量-指定版本迭代升级(会把低于这个版本的sql全部执行)
eg:
对于全量升级来说:需要输入三个指定参数:数据库用户名,密码,服务名
对于其他的升级来说:需要输入四个指定参数:数据库用户名,密码,服务名.版本
说明:版本sql文件都统一用时间命名:比如:2021092401,所以只要输入2021092401即可
2.full_incr_upgradeSql1.sh 全量-指定版本迭代升级
3.full_upgradeSql.sh 全量升级:输入参数形式 eg:sh full_upgradeSql.sh C##trade trade orcl(数据库用户名,密码,服务名)
4.full_upgradeSql1.sh 全量升级:弹框输入参数
5.incr_upgradeSql.sh 增量升级:输入参数形式 eg:sh incr_upgradeSql.sh C##trade trade orcl 2011092401(数据库用户名,密码,服务名.版本)
6.incr_upgradeSql1.sh 增量升级:弹框输入参数
5.脚本下载链接
链接:https://pan.baidu.com/s/11sgdksO7SUOSiTncO4B_Bw
提取码:hgu3