vRealize Automation 7.3 發布Oracle單機版
vRealize Automation 7中新增的Software Component功能使您可以非常簡單的發布各種應用,而不用像以前必須去編寫Orchestrator的Workflow來實現。
客戶需求:
通過vRA在Windows Server 2008R2上面發布Oracle 11g單機版。
實現方式:
直接通過vRA7.3中的Software Component來實現。
創建Software Component:
輸入名稱和描述,點擊下一步;
新建四個屬性值(注意屬性類型),其中DBName和Password需要客戶在頁面中輸入,Oracle_Hostname和Memory直接獲取虛擬機的屬性;
編寫安裝腳本、配置腳本和啟動腳本;
安裝腳本內容(Powershell類型,生成Oracle配置文件):
chcp 936
$memory_size = $Memory / 1.6
$file_path ="c:vra_softwareoracle_response.rsp"
Add-content $file_path -Value$liner
$liner ="oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0`n"
$liner = $liner +"ORACLE_HOSTNAME=$ORACLE_HOSTNAME`n"
$liner= $liner + "INVENTORY_LOCATION=C:Program FilesOracleInventory`n"
$liner = $liner +"SELECTED_LANGUAGES=en,zh_CN`n"
$liner= $liner + "ORACLE_HOME=C:appproduct11.2.0dbhome_1`n"
$liner = $liner +"ORACLE_BASE=C:app`n"
$liner = $liner +"oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=C:apporadata`n"
$liner= $liner + "SECURITY_UPDATES_VIA_MYORACLESUPPORT=false`n"
$liner = $liner + "DECLINE_SECURITY_UPDATES=true`n"
Add-content $file_path -Value$liner
配置腳本內容(CMD類型,使用配置文件進行靜默安裝):
chcp 936
c:vra_softwareoracle_11g_r2setup.exe-silent -responseFile c:vra_softwareoracle_response.rsp
啟動腳本內容(Powershell類型,將安裝介質和配置文件刪除):
Remove-Item C:vra_software-recurse
保存Software Component,並將Software Component和Machine關聯,並配置SoftwareComponent的屬性值;
申請測試:
虛擬機頁面就一個網路連接需要選擇;
Software Component頁面需要輸入OracleDB Name和DB Password,然後提交;
過幾分鐘後,發現失敗了,錯誤如下;
錯誤出在這行代碼:$memory_size = $Memory / 1.6這行代碼的作用是分配虛擬機內存的62.5%給Oracle資料庫。
非常奇怪的報錯:方法調用失敗,因為[System.Object[]]不包含名為「op_Division」的方法。
難道Powershell不支持除法…不應該啊。
於是直接去系統中打開Powershell測試乘法、除法等運算…發現一切正常….
$Memory屬性在SoftwareComponent被定義為整數類型,經過測試也確定$Memory的值就是虛擬機內存的大小。
突然有一個想法,難道$Memory的值不值整數類型?
於是在「$memory_size = $Memory / 1.6」這行代碼上面列印$Memory的類型:$Memory.getType()
輸入如下:
FK,$Memory被定義為整數類型,這裡顯示$Memory的類型居然是Array….不知道是BUG,還是就這樣設計的。
解決方案是取Array中的第一個值:$memory_size = $Memory[0] / 1.6
最後測試申請成功;
登錄系統驗證Oracle安裝成功,資料庫和用戶也成功創建。
PS: 今天就到這裡,後面有機會為大家分享vRA發布Oracle RAC。
TAG:雲計算技術開源 |