天天看點

Debian 下 安裝 Oracle 11g XE R2

[img]http://dl2.iteye.com/upload/attachment/0095/3395/1e7a5876-33b2-3969-8155-aff28ae3d7c5.jpg[/img]

最近兩天總是出門跑.在公司時間沒法保證.是以想着在自己機器上面弄個Oracle.友善到客戶那裡去處理一些問題.

當然就我這小破筆記本,直接裝上是在找死...是以虛拟機是很好的選擇.

作業系統方面,雖然oracle提供了windows x32 和 linux x64 版本的.但是虛拟機下面用windows 實在不是那麼回事.而我實在不喜歡Ubuntu 的 unit界面 難用到要死.linux mint 倒是很好看.不過記憶體啊記憶體..是以果斷選擇Debian.

首先第一件事情,當然是下載下傳..

debian 和 oracle 11g xe r2 我用的都是 最新版本的

虛拟機安裝過程還是很簡單...

難得地方是在配置oracle 官方文檔竟然隻支援 oracle linux RedHat SUSE 而CentOS 和 debian 竟然沒測...

我弄了兩天,虛拟機鏡像恢複了不下10次.終于弄好了.不難,難得是方法不對

不得不吐槽某度.答案沒一個對的.要不就是10 g 的轉載帖..一點用沒有.

好了閑話少說.馬上開始.

0.開始這篇教程,你需要基本的linux知識.比如su sudo 都是什麼 swap 分區幹什麼用 指令怎麼打

基本的指令行提示要能看懂.比如apt-get的時候的提示,要有能力處理....

1. 安裝虛拟機

虛拟機正常安裝就可以了.注意兩點.

1.記憶體建議512以上.1g更好了.因為我機器記憶體小.是以沒辦法..

2.cpu 核心數量.如果你的虛拟機隻用來跑oracle的話 單核心就可以了.因為xe版本不支援多核處理...

3.别忘了裝驅動.要不然..........

2. 複制oracle_XXXXX.rpm.zip 到虛拟機,并解壓

我放在了 使用者/文檔/下面了,他生成了一個Disk1的檔案夾

3. swap分區的大小.

Oracle官方文檔上面寫的swap分區最好2g.debian肯定不到這個數字了.是以我們應該擴充一下

ps:其實不擴充也能裝成功.但是甯可信其有不可信其無嘛O(∩_∩)O哈哈~

#在opt下面建立一個存放swap檔案的檔案夾

mkdir swap

# 進去

cd swap

# 建立一個2g的swap檔案

dd if=/dev/zero of=swapfile bs=1024 count=2048000

# 等一會(時間比較長,我用了1分多鐘)...........

# 轉換激活swap

mkswap swapfile

swapon swapfile

# 看一下 swap分為大小

free -m

# 機關是m 這個時候應該大于2G了..

# 最後一步 把他寫入/etc/fstab檔案 開機2G

echo "swapfile swap swap defaults 0 0" >> /etc/fstab

4.安裝必備的庫

apt-get install alien dpkg-dev debhelper build-essential libaio1

PS:我這裡需要下載下傳90m左右的檔案.建議選擇163的源.比搜狐的新一些.也快一些.

5.建立一個連接配接和一個叫chkconfig的指令腳本//具體幹啥用我也不知道.猜測可能是模仿redhat環境

ln -s /usr/bin/awk /bin/awk

cd /sbin

# gedit 是debian自帶的文本編輯器.其他的也無所謂.(我覺得emacs可好用了XD)

gedit chkconfig

把下面的内容儲存到chkconfig檔案内

#!/bin/bash

# Oracle 11gR2 XE installer chkconfig hack for Debian

file=/etc/init.d/oracle-xe

if [[ ! `tail -n1 $file | grep INIT` ]]; then

echo >> $file

echo '### BEGIN INIT INFO' >> $file

echo '# Provides: OracleXE' >> $file

echo '# Required-Start: $remote_fs $syslog' >> $file

echo '# Required-Stop: $remote_fs $syslog' >> $file

echo '# Default-Start: 2 3 4 5' >> $file

echo '# Default-Stop: 0 1 6' >> $file

echo '# Short-Description: Oracle 11g Express Edition' >> $file

echo '### END INIT INFO' >> $file

fi

update-rc.d oracle-xe defaults 80 01

6. 開始安裝oracle

# cd 到 oracle_XXX.rpm檔案的地方

# 使用alien進行安裝

## 注意:因為這個過程需要執行它自帶的腳本.是以我是直接安裝的,并沒有轉換為deb.

## 注意2: 參數i表示直接安裝 參數c表示把自帶的腳本檔案一同轉換到deb.這個腳本檔案很重要.沒有的話後面很難成功.

alien -ic oracle_XXXX.rpm

# 繼續 很久很久 很久

7.這個時候.指令行提示到/etc/oracle-xe 下面進行配置.我們先不去

注意.不要急急忙忙去config.

先執行下面兩個指令.功能我也不清楚(慚愧....)

sed -i 's;/var/lock/subsys/listener;/var/lock/listener;' /etc/init.d/oracle-xe

sed -i 's;/var/lock/subsys/oracle-xe;/var/lock/oracle-xe;' /etc/init.d/oracle-xe

8.這個時候就可以config了.(也比較慢)

注意有的人可能會卡在config設定8080端口的位置.原因是sh指令類型不相容造成的.應該使用bash.有的發行版好像不是bash 比如說mint 好像直接./執行會卡住.

有兩種解決思路.

第一種方法是 直接使用 bash /etc/init.d/oracle-xe config 指定bash執行腳本

第二種方法是 打開oracle-xe檔案.在360行左右的地方 直接修改它代碼.找到那個端口的位置強制設定到8080 和1521 上面 break掉 具體方法.請google oracle-xe 罕見 config

http://www.linuxidc.com/Linux/2014-03/98882.htm

9.這個時候應該成功了..good luck

PS.很多人可能配置的時候配置錯了..結果無論怎麼解除安裝重裝.都無法重制配置.其實重新配置很容易的...

找到 /etc/default 下面

你會發現有一個oracle-xe的檔案

删掉 你就可以重新 configure 了.

這個檔案解除安裝的時候不會自動清理掉.因為是configure的時候生成的嘛...