應用系統的更新發布在企業平常運維中是一件比較常見工做,有文件的備份替換,也會有數據庫方面的更新操做。本文介紹如何經過一臺裝有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更新,須要有如下幾個前提:
做者:徐晗
文章到此結束了~
想到中秋即未來臨啦!有沒有很期待呀~
在此先預祝你們中秋節快樂!