JDK7 以上
安装步骤:
1. 安装依赖包
sudo apt-get install alien libaio1 unixodbc
2. 下载oracle-xe-11.2.0-1.0.x86_64.rpm.zip
http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html
3.a 解压缩并将得到文件转为rpm
cd ~/Downloads
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
该过程会比较耗时,你可以同时做其他的配置工作.
3.b
3.b.1 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
3.b.2 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
3.b.3 加载内核参数:
sudo service procps start
sudo sysctl -q fs.file-max
会返回如下信息
fs.file-max = 6815744
3.b.4 其他一些需要手动做的
sudo ln -s /usr/bin/awk /bin/awk
mkdir /var/lock/subsys
touch /var/lock/subsys/listener
4. 安装oracle
sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb
安装好后,为了避免后面出现ORA-00845错误,需要做如下设置:
sudo rm -rf /dev/shm
sudo mkdir /dev/shm
sudo mount -t tmpfs shmfs -o size=4096m /dev/shm
增加S01shm_load
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
5. oracle配置
sudo /etc/init.d/oracle-xe configure
6. 环境变量设置
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
重启机器
7. 启动oracle服务
sudo service oracle-xe start
8. 要使数据库能远程访问,也很简单。如下操作:
sqlplus system/yourpasswd@yourdb
SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);