之前一直覺在Ubuntu上安裝Oracle 10G複雜,不如mysql簡單好用(雖然mysql也沒有學好)。工作需要在機器上裝Oracle 10G伺服器,學習使用。oracle設計思路和mysql差別巨大,其間參考了眾多文章,終於搞好了。
安裝Oracle 10G
1. 增加swap分區
安裝需要1G的swap分區,如果不夠的話
$dd if=/dev/zero of=/tmp/tmp.swap bs=1M count=100
$chmod 600 /tmp/tmp.swap
$mkswap /tmp/tmp.swap
$sudo swapon /tmp/tmp.swap
查看 swap分區: swapon -s
安裝完畢,恢複swap
$swapoff /tmp/tmp.swap
$rm /tmp/tmp.swap
2. 建立使用者
要用oracle使用者安裝,安裝好後,同樣用oracle使用者啟動。
$addgroup oinstall
$addgroup dba
$addgroup nobody
$useradd -g oinstall -G dba -d /home/oracle -m -s /bin/bash oracle
$usermod -g nobody nobody
$sudo passwd oracle
3. 建立目錄
oracle安裝在此。
$mkdir -p /opt/ora10
$chown -R oracle:oinstall /opt/ora10
$chmod -R 775 /opt/ora10
4. 修改核心參數
$sudo vim /etc/sysctl.conf
添加:
kernel.shmmax = 3147483648
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
$sudo vim /etc/security/limits.conf
添加:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
讓修改生效:
$sudo sysctl -p
建立連結:
$ln -s /usr/bin/awk /bin/awk
$ln -s /usr/bin/rpm /bin/rpm
$ln -s /usr/bin/basename /bin/basename
5. 設定使用者環境
$su - oracle
$vim ~/.bash_profile
增加:
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
$vim ~/.bashrc
增加:
export ORACLE_BASE=/opt/ora10
export ORACLE_HOME=/opt/ora10
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=tmp
export ORACLE_TERM=xterm
設定資料庫的sid為tmp
6. 安裝準備
$sudo vim /etc/RedHat-release
添加:
Red Hat Linux release 3.1 (drupal)
確定java環境可以顯示中文,如果不行:
/usr/lib/jvm/java-6-sun/jre/lib/fonts 下面建立個 fallback的檔案夾 拉一個中文字型進去就可以了。
7. 安裝
用oracle使用者登入X
進入安裝檔案目錄,
./runInstaller -jreLoc /usr/lib/jvm/java-6-sun/jre/
採用預設設定,
選擇建立一個資料庫,全域資料庫名:tmp,SID:tmp
設定一些系統管理使用者的密碼:
使用者:sys, system,sysman, dbsnmp
密碼:aaron
最後:sudo /opt/ora10/root.sh
一切預設即可。
安裝完成後,oracle自動啟動。
登出oracle使用者,用系統主使用者(我是aaron)登入,可以訪問
Enterprise Manager 10g Database Control URL:
http://localhost:1158/em
使用者名稱:sys
密碼:aaron
連結身份:sysdba
啟動資料庫
安裝好oracle之後,不會每次自動啟動。啟動過程是:
1. 切換到oracle使用者:su - oracle
2. 啟動lisener: $ORACLE_HOME/bin/lsnrctl start
3. 啟動db: $ORACLE_HOME/bin/dbstart
啟動問題:
Failed to auto-start Oracle Net Listene using /ade/vikrkuma_new/oracle/bin/tnslsnr
解決方案:
修改$ORACLE_HOME/bin/dbstart的78行為
ORACLE_HOME_LISTNER=$ORACLE_HOME