安裝 Oracle 在 Azure 上面的 Centos VM 內
原本在前一篇文章文章 ( Oracle 12c on Centos 7 安裝紀錄 ) 時,就是要預備一個測試環境來寫有關於 Window Function 的測試,但寫完之後剛好遇到過年,公司內的測試環境全部都停機休息了,因此就把腦袋打到 Azure 上了,基本上 Azure 上可以直接申請 Oracle 的環境來使用,但是對我來說一來那個費用不能算在使用 MSDN 的反費額度上,二來費用也相對的高。對我來說只是要一個測試的環境,並非真正產品使用,因此決定自己弄個 VM 執行 Centos 7,按照前一篇的文章上的步驟來重新安裝一次。
基本上在 Azure 上使用一個 Linux 的 VM,跟在使用地端上的其實差異不大,主要要注意幾點地方,因為我自己對 Linux 不熟,因此先把這些指令給記錄下來:
1. 由於預設使用的帳號基於安全的緣故不是使用 root,因此如果需要具有 root 權限的處理,都必須使用 sudo 來執行,因為我個人比較懶一點,就直接使用 「sudo passwd root」來重新設定 root 的密碼,那後續就可以使用 root 來做事情了。
sudo passwd root
2. 預設 Azure 上的 VM 是沒有 swap 的,因此可能安裝的時候會有一些警告錯誤,因此就可以按照你的 VM 規模,去新增一個合適的 Swap 空間
dd if=/dev/zero of=/swap01 bs=1024 count=1048576
chown root.root /swap01
chmod 600 /swap01
mkswap /swap01
swapon /swap01
但上述設定好之後,還是需要去把這個新建立的 swap file 給指定到 /etc/fstab 內,所以開啟該檔案後加入一行,這樣下次重開機的時候才會生效
/swap01 none swap sw 0 0
3. 由於 Centos 的 VM 是已經預先安裝好了,因此安裝上可能還需要增加幾個必要的條件,像要透過網路抓檔案,那就需要安裝 wget 的套件;如果要解開 oracle 的壓縮檔案,則需要增加安裝 unzip 的套件。這兩個都可以透過 yum 來進行加掛。而另外因為 VM 預設是啟動 ipv6 ,因此可能會造成 Enterprise Manager Express 會預設監聽在 ipv6 上,導致雖然有啟動但就是無法連接的問題,目前我是採用比較鴕鳥的方式,直接關閉 ipv6 的功能,用這樣的方式來避開,因此我直接修改 /etc/sysctl.conf 的設定檔案,經加一組的設定來關閉 ipv6 的功能,這樣啟動就可以連接 EM 了。
net.ipv6.conf.all.disable_ipv6 = 1
4. 雖然 Azure 上面的 Centos 7.1 沒有開啟預設的 firewall,但不要忘記還是要記得開啟 Azure VM 上的網路安全性規則的部分,否則會連接不上去的。
5. 預設的 Oracle Listen 監聽在 localhost 的名稱,因此這裡我去將 /u01/app/oracle/product/12.1.0/db_1/network/admin/listener.ora 目錄下的設定檔案做個修改,將 localhost 改成我的電腦名稱。
6. Centos 執行的時候可能會因為無法連接到正確的更新主機,因此最好修改 /etc/yum.conf 的設定檔案,加入
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os