創建oracle用戶組:sudo addgroup oracle
創建oracle用戶:sudo adduser -ingroup oracle oracle
為oracle用戶分配root權限:sudo gedit /etc/sudoers
按回車鍵就可以打開sudoers文件
在root ALL=(ALL:ALL) ALL下面添加
oracle ALL=(ALL:ALL) ALL
2.安裝jdk
這個我不詳細介紹了,一般人應該都有安裝過了
3.安裝Oracle 11g
執行:
sudo apt-get install alien libaio1 unixodbc
這個一定要裝成功,看清楚裡,一次沒裝成沒關系,根據提示,比如讓你update–fix之類的
4下載好Oracle 11g R2 Express Edition,一般得到的文件名應該是:oracle-xe-11.2.0-1.0.x86_64.rpm.zip
所以,照著下面做吧,一模一樣:
su oracle
將安裝包復制到一個指定的路徑,方便管理,我放在裡/usr/local裡面,想省事的話就和我一樣把
cd /usr/local
unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
cd Disk1
sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
上面的最後一步會花掉稍微長的時間大概5到10分鐘,完成之後,執行下面的:
sudo gedit /sbin/chkconfig
把下面這段復制進去:
#!/bin/bash
# Oracle 11gR2 XE installer chkconfig hack for Ubuntu
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
#EOF
保存,退出,並執行:
sudo chmod 755 /sbin/chkconfig
sudo gedit /etc/sysctl.d/60-oracle.conf
把下面這段復制進去:
# Oracle 11g XE kernel parameters
fs.file-max=6815744
net.ipv4.ip_local_port_range=9000 65000
kernel.sem=250 32000 100 128
kernel.shmmax=536870912
保存,退出。執行:
sudo service procps start
sudo sysctl -q fs.file-max
如果你看到返回的結果是:
fs.file-max = 6815744
那麼說明你上面的步驟均正確,繼續進行:
sudo ln -s /usr/bin/awk /bin/awk
mkdir /var/lock/subsys
touch /var/lock/subsys/listener
接下來我們開始安裝Oracle:
sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb
sudo rm -rf /dev/shm
sudo mkdir /dev/shm
sudo mount -t tmpfs shmfs -o size=4096m /dev/shm
sudo gedit /etc/rc2.d/S01shm_load
然後把下面這段復制進去:
#!/bin/sh
case "$1" in
start) mkdir /var/lock/subsys 2>/dev/null
touch /var/lock/subsys/listener
rm /dev/shm 2>/dev/null
mkdir /dev/shm 2>/dev/null
mount -t tmpfs shmfs -o size=4096m /dev/shm ;;
*) echo error
exit 1 ;;
esac
保存,退出,執行:
sudo chmod 755 /etc/rc2.d/S01shm_load
沒有錯誤的話,說明我們安裝已經完成了。
3.配置Oracle
執行
sudo /etc/init.d/oracle-xe configure
一路回車(設置成默認值),記得設置密碼,看下面的說明吧:
A valid HTTP port for the Oracle Application Express (the default is 8080)
A valid port for the Oracle database listener (the default is 1521)
A password for the SYS and SYSTEM administrative user accounts
Confirm password for SYS and SYSTEM administrative user accounts
Whether you want the database to start automatically when the computer starts (next reboot).
完成之後不要慌張,執行:
sudo gedit /etc/bash.bashrc
拖到最下面,添加
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export ORACLE_BASE=/u01/app/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
保存,退出,執行:
source /etc/bash.bashrc
echo $ORACLE_HOME
如果你看到輸出是:
/u01/app/oracle/product/11.2.0/xe
那麼恭喜,你就要完成了,執行:
sudo service oracle-xe start
sqlplus /nolog
conn / as sysdba
這裡我給第二台電腦裝的時候出現了一個問題,所以提出來一下,如果你遇見
nsufficient privileges這樣的問題的話
那麼可以在終端中用groups oracle查看 oracle用戶真實對應的組名稱,然後再將當前系統用戶添加到oracle用戶所在的組中去即可。如 sudo gpasswd -a username dba
和我配置的一樣的話就用sudo gpasswd -a oracle dba
最後的驗證
select * from user_tables;
你應該能深刻的感覺到你已經成功了,給個贊吧伙計