跳到主要內容

在 Mac 上利用 VirtualBox 安裝 CentOS 7 + Oracle Database 12c Express


前言

因為上課的需要,所以花了一點時間在研究怎麼安裝,前前後後花了幾天的時間再研究,原本要用 Ubuntu 來安裝,但是失敗好幾次再加上有些缺少的必備元件沒辦法裝上去,最後才發現原來有官方文件可以看,照著步驟做之後就順利安裝了。


系統環境

作業系統:Mac OS El Capitan

虛擬機器:VirtualBox

Linux 版本:CentOS 7 (minimal ISO)

資料庫:Oracle Database 12c

輔助工具:

FileZilla, XQuartz

1. 安裝虛擬機器

在 Mac 上安裝 VirtualBox,基本上就是按下一步一下就裝好了,之後先把 CentOS 7 下載下來,後來就可以按下建立新的虛擬機器,在名稱的地方輸入 CentOS ,他就會幫你選好是要用 RedHat 。

在這邊記得要將記憶體設定調高一點 (大概 1G Ram ),不然在安裝 Oracle Database 的時候會有問題。


另外一個很重要的地方,就是 Rom 要設定大一點,最好要 25 GB 以上。因為 Oracle Database 的檔案兩個加上去就超過 2G ,更不要說解壓縮或是安裝過程中的一些步驟。

容量太小會造成安裝失敗。


基本上安裝 CentOS 沒什麼太大的問題,就設定一下管理員密碼,並且開一組自己的帳號和密碼,安裝好就可以進行下個步驟了。


2. 設定遠端連線 SSH

之前花很多時間在設定,原先都是用 Ubuntu ,但是發現 CentOS 有些地方都不太一樣,所以又花一些時間在找資料。

登入後,請利用 root 權限來操作


[root@localhost]# su - root 


登入後,請先做 dhclient,向 DHCP 手動取得 IP



[root@localhost]# dhclient 


之後取得 IP 後,就可以查看自己的虛擬機器的 IP


[root@localhost]# ip addr



找出紅框中的 IP 位置,我這邊是 10.0.2.15 ,記起來後就要準備設定 VirtualBox 和 Mac 上的通道


在 VirtualBox 上,找到自己的虛擬機器,點擊右鍵來設定

之後選擇網路設定 選擇底下的 Port Forwarding,如果是中文版的話就選擇最底下的東西就對了。




進入到設定頁面後,基本上設定的跟我一樣,應該不會出什麼問題

Host IP:設定自己的 IP ,我這邊是設定 127.0.0.1 ,Port 是 2222

Gust IP :填入剛剛查到的 IP ,然後 Port 填上 22 (預設)



這邊步驟都正確的話,基本上應該就可以連線了。

如果沒辦法連線的話,查看一下自己的 CentOS 防火牆是否有打開,如果是開啟狀態,可以設定一下或是直接關閉也行。




[root@localhost]# service iptables stop



之後還要開啟 sftp 來傳檔案,所以要開啟 SSH 設定檔



[root@localhost]# vi /etc/ssh/sshd_config


找到下列這行,並把 # 移除,就可以了

Subsystem sftp /usr/local/libexec/sftp-server



最後,記得重新啟動 sshd 服務


[root@localhost]# service sshd restart


然後就可以試試看是否能用你的帳號來登入 ssh 和 sftp 囉





3. 下載 Oracle Database 與安裝

因為 Oracle Database 檔案實在是太大,而且也不能用 wget 來下載,因為還要自己的身份確認,實在是很擾人。

所以就要先在自己的電腦端下載好,然後透過剛剛設定好的 sftp 來傳檔,傳到自己的家目錄即可。

當檔案傳好之後,就可以開始進行正式安裝步驟囉!


請參照下列網址來進行安裝:

https://wiki.centos.org/HowTos/Oracle12onCentos7

如果你用遠端 ssh 連線,這些指令其實很好用複製的方式貼上,避免出錯。

如果要客製化的話,當然就是要用手動輸入的方式了。



其中的 firewall 設定的部分,如果自己要測試,其實可以略過。

另外一個比較重要的地方,就是下列指令後的步驟


[root@localhost]# yum groupinstall -y "X Window System"


因為安裝 Oracle Database 需要以圖形化介面來安裝,所以必須要用遠端連線的方式來進行安裝。

文章內提供兩種:

用 ssh -X 的方式來登入,在 Mac 上會需要用到 XQuartz


[root@localhost]# ssh -X oracle@127.0.0.1 -p 2222


或是用 Windows 桌面來使用 Putty 等進行連線,記得要以 oracle 的帳號來進行登入的動作


[root@localhost]# /stage/database/runInstaller


執行後他會進行一些基本的檢查,通過之後就會跳出圖形化視窗,然後就繼續按照剛剛的文件來進行安裝。

安裝到一半會需要你使用 root 權限登入,執行它指定的兩個 script 。完成後就能夠繼續安裝。


安裝過程中,如果有遇到錯誤,其實可以 ignore ,但是還是要檢查自己的硬碟空間、記憶體
夠不夠,這可是會影響最終安裝結果。


安裝成功後,可以在 Linux 上瀏覽下列網址:

https://localhost:5500/em

或是可以按照上面設定 port 的步驟,在自己的本機上設定一組

像是

Host IP: 127.0.0.1 
Host Port: 5500

Guest IP: 10.0.2.15
Guest IP: 5500

這樣我們也能夠在自己的電腦上瀏覽管理囉。


4. 最後設定

根據安裝文件的說明,按照 5.2 以及 5.3 的步驟來執行一些環境設定

如果設定都跟文件上的一樣,基本上就能夠登入 Oracle Database 了。

執行 sqlplus 前,記得先執行 .bash_profile ,這樣才會讓設定生效


[root@localhost]# . .bash_profile

[root@localhost]# sqlplus system@orcl


如果看到登入畫面,恭喜你,成功了!

試試看建立 table ,如果都沒問題,你就成功畢業囉!



問題提示

1. 如果出現無法正確登入 Oracle Database,請輸入


[root@localhost]# lsnrctl stop


之後再輸入


[root@localhost]# lsnrctl start


2. 進入 Oracle ,可以用下列步驟登入


[root@localhost]# sqlplus /nolog


SQLPLUS> connect / as sysdba 








留言

這個網誌中的熱門文章

C.P.Sub 公告系統 v5.0

還在尋找好用又免費的公告系統嗎? 不想要找外包自己架設一個公告系統,正在煩惱沒有程式能夠用嗎? 這套「C.P.Sub 公告系統 v5.0」,以 PHP + 文字資料檔組合而成,不用額外設定 MySql 資料庫,只要上傳檔案,修改權限,設定自己的帳號密碼,就可以安心使用囉! 距離前一個版本 v4.5  也過了大概六年的時間,可以說歲月不饒人阿! 也因為時間過太久了,再加上舊有的寫法也因為 PHP 本身的版本更新,所以越來越不敷使用。 所以特別從去年年底開始執行改版的計畫,雖然一開始只執行了大概一個禮拜就被別的 case 給搶先,但是今年五月底開始又再度將這個計畫給重新搬回來執行,希望就是大家能夠使用這個新的版本囉! 「C.P.Sub 公告系統 v5.0」有以下功能: 1. 簡單的文章發佈系統 2. 多筆檔案上傳 3. 搜尋系統 4. 排序系統 (目前是以修改程式碼來更改預設排序) 5. 簡易後端設定 而且程式本身是使用 Bootstrap  這套 CSS Framework,所以能夠自由更換樣式。 像是 Bootswatch  就是個非常好的免費資源,只要替換 css 資料夾中的 bootstrap.min.css 就可以更換樣式囉! 如果要更進階的修改樣式,就可以透過修改 custom.css 來替換自己的樣式囉! 如果有任何問題,歡迎來信、留言告知! 線上 Demo: http://www.cooltey.org/cpsub GitHub: https://github.com/cooltey/C.P.Sub Zip 檔案下載: http://www.cooltey.tw/download/cpsub_v5.0.zip

阿拉斯加四月行

還記得前陣子 Facebook 跳出來一個「今年一定要去的旅遊景點」之類的小程式,選擇完一些問題之後就出現了「阿拉斯加看極光」,想當然,我看了看覺得不太可能,所以就把那篇測驗給刪掉了。 沒想到過了幾個月之後,還真的是跑去阿拉斯加看極光,真的是想也沒想到會付諸行動。

台科大資管甲組面試心得

因為還是沒上,想說之前就要PO了,想說等「上榜了」再說,就算沒上榜還是得PO一下造福人群。 希望搜尋到此一BLOG的人,不管你是不是要去面試,面試之前總是該準備就緒的。 這次的臺科大資管甲組面試,第一階段當然就是繳交備審資料,通過之後就會被學校通知到學校面試。 建議要去面試之前的人要先去臺科大資管看看 師資陣容 臺科面試感覺都是依照個別問題然後給分的,因為我的是甲組,比較偏向資訊工程的,所以要很注意「資料結構」、C++、Java 等的程式概念,尤其是 物件導向中的三種 「封裝、繼承、多型」,尤其是 多型 中的 Class(類別)特別要注意一下,以免中箭落馬,大意失臺科。 臺科資管面試官給人的感覺就很親切,不會咄咄逼人,所以準備完備才是面試唯一要點。 第一關進去之後,當然就是先來個一分半鐘自我介紹,但是我好像自我介紹稿弄的太長了,所以沒有抓好時間介紹完整....就被迫中斷。 之後就開始問問題了,一開始先問說關於出國留學的事情,這個階段大概就比較偏向個人問答方面。 再來就是問到了: 1. 會不會 Java,會不會 C++ ,問個問題有關 Virtual 什麼的(真的忘了) 2. 果然讓我猜到會問多型中的類別,尤其是「抽象類別」的定義,還有抽象類別到底是做什麼的,請解釋。 3. 如果現在有一筆資料,要做「Search」不是做Sort,你會用哪種方式搜尋。還有該搜尋方式的時間複雜度。 4. 請問資料結構中的 Hashing 是什麼? 5. 你在班上的排名是? 第二關就緊接著來了.... 一進去當然也是自我介紹一番,然後就開始問問題囉。 1. 因為我資料庫成績蠻高分的,所以就被問資料庫相關問題,不過老師問了一個如果有一筆資料要分割成不同資料庫,這時候應該要做些什麼事情。 還有分割資料庫之後,會遇到什麼問題。 2. 也是問到 Class 的相關問題,不過我緊張到都忘記怎麼辦了,跟老師說我有準備可是忘記了,老師還笑笑的回應我。 3. 之後還問了有個空間長寬高都是 1,求天花板到地面的距離 => 根號三 好像還有一些問題,不過我也大概忘了差不多了。 臺科沒上就是因為自己準備不周全,還有對於程式設計中的物件導向中概念不清楚才會這樣,畢竟我比較熟悉的語言是 PHP,但是PHP似乎不是研究所的研究重點,當然就這樣悶悶的沒上榜。 最後給搜尋到此篇網誌的考生們,面試不要緊張,考前資料提