应用系统的更新发布在企业平常运维中是一件比较常见工做,有文件的备份替换,也会有数据库方面的更新操做。本文介绍如何经过一台装有sqlplus工具的中起色对不一样应用的Oracle数据库进行自动化发布。sql
常常遇到使用PL/SQL图形化工具对Oracle数据库进行相关的更新操做,例如程序包、触发器、存储过程、视图以及表中的数据。若是是单用户对单台数据库更新少许的内容,这个操做还能够接受,若是数据库服务器比较多,而且要切换不一样的用户去更新大量的内容,这种方式就会比较低效繁琐,面对这种场景,实现后台自动化更新就颇有必要。shell
如何经过一台sqlplus中起色对不一样的Oracle数据库在后台完成更新示意以下:数据库
按照上图示意在后台完成数据库的发布更新须要必定的规范支持,简单来说就是要让sqlplus工具能很明确的获取到如下几点信息:安全
经过sqlplus命令去链接Oracle数据库完成一次更新须要帐号、密码、Oracle服务器的IP地址、侦听的端口、实例名、更新文件所在的路径,用法以下:服务器
其中帐号、IP地址、端口、实例名属于可公开的信息,这一部份内容能够连同更新次序和更新类型一块儿组织到文件名称中运维
例如【次序_帐号_IP_实例名_XXX.类型】,示例:分布式
01_admin_1.1.1.1_insA_package.pck工具
经过sqlplus进行数据库更新时用到的相关信息在本例中是储存在sqlplus中起色上,只有root帐号能够获取到,而且密码是以密文的形式储存,密码的密文储存在如下路径的文件中(文件名是帐号的密文):.XXX/.IP地址/.帐号的密文,数据库实例名和端口号储存在如下路径中的文件中:.YYY/.IP地址/.实例名,整个路径只有root帐号能够访问。示例以下:编码
更新文件相关规范已经肯定好,发布过程可使用编写好的脚本(shell或bat等)轮询执行要更新的文件,从sqlplus中起色依次将内容更新到对应的Oracle服务器。spa
本例结合嘉为蓝鲸应用发布这款基于蓝鲸平台的SaaS将数据库发布过程流程化,调用发布脚本实现定时或实时更新,具体状况见下图:
无需逐个登陆Oracle服务器,来回切换不一样帐号,更新过程当中的日志以下图所示:
本例经过sqlplus发布Oracle更新,须要有如下几个前提:
做者:徐晗
文章到此结束了~
想到中秋即未来临啦!有没有很期待呀~
在此先预祝你们中秋节快乐!