Ubuntu14.04 下安装 Oracle 11g XE 64位

1. 到官网下载xe rpm包

2. 解压

unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip

3. 将rmp包转换成deb包,如果没有alien请apt-get install alien。安装或更新libaio1,必须。

1 cd Disk1
2 alien --scripts oracle-xe-11.2.0-1.0.x86_64.rpm
3 apt-get remove --purge oracle-xe-universal #remove 10g if needed
4 apt-get install libaio1 #oracle needs this
5 dpkg -i oracle-xe_11.2.0-2_amd64.deb

4. 在ubuntu14.04中由 /run/shm替换了之前的/dev/shm,很多网上的解决方案都是说/dev/shm,但是经多次试验这个根本没有关系!但是下列命令必须执行,负责可能再startup的时候报memory错误,如果报错执行下面语句重启oracle毅可解决,但是每次开机都要重新执行下面,还需要进一步研究,不过能用就不错了!

1 rm /dev/shm
2 mkdir /dev/shm
3 mount -t tmpfs shmfs -o size=2048m /dev/shm
4 sysctl kernel.shmmax=1073741824 #also edit /etc/sysctl.conf and set the same value to persist the change

5. 修改文件 /etc/init.d/oracle-xe

  - 将 AWK=/bin/awk; 替换为 AWK=/usr/bin/awk ;

    - 将 /var/lock/subsys 替换为 /var/lock

      - 增加 挂载/dev/shm的配置

 

1 if [ -L /dev/shm ]; then
2          rm -rf /dev/shm
3          mkdir /dev/shm
4          mount -t tmpfs shmfs -o size=2048m /dev/shm
5      fi

 

下面是新文件和源文件的区别(黄色的为源文件,需要注释掉):

53c53
< if [ -z "$AWK" ]; then AWK=/usr/bin/awk; fi
---
> if [ -z "$AWK" ]; then AWK=/bin/awk; fi
269c269
< 	touch /var/lock/listener
---
> 	touch /var/lock/subsys/listener
321c321
< 	touch /var/lock/oracle-xe
---
> 	touch /var/lock/subsys/oracle-xe
555,559d554
< 	if [ -L /dev/shm ]; then
< 	    rm -rf /dev/shm
< 	    mkdir /dev/shm
< 	    mount -t tmpfs shmfs -o size=2048m /dev/shm
< 	fi
567c562
< 			touch /var/lock/listener
---
> 			touch /var/lock/subsys/listener
582c577
< 		touch /var/lock/oracle-xe
---
> 		touch /var/lock/subsys/oracle-xe
606c601
<     if [ $RETVAL -eq 0 ] && rm -f /var/lock/listener
---
>     if [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/listener
608c603
< 	rm -f /var/lock/oracle-xe
---
> 	rm -f /var/lock/subsys/oracle-xe

6. 配置oracle-xe

/etc/init.d/oracle-xe configure

 

如果出现错误,说明oracle没有正确的启动,请执行第4步

ORA-27101: shared memory realm does not exist

7. 添加oracle的环境变量

1 export ORACLE_SID=XE
2 export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe/ #you should know already that the last / is very important
3 export PATH=$PATH:$ORACLE_HOME/bin

 8.启动oracle

 

sudo /etc/init.d/oracle-xe start

 

查看oracle listenner的状态

lsnrctl status

理论上需要将自己的 服务和主机名配置在 ../network/listener.ora 和tnsname.ora中,sqlnet.ora可以修改连接为tns,我是这么做的。具体配置回头贴下。

9.登录sqlplus

sylvan@sylvan:sqlplus /nolog
conn sys as sysdba;

 

Ubuntu14.04 下安装 Oracle 11g XE 64位

上一篇:未在本地计算机上注册“Microsoft .ACE. OLEDB .12.0”提供程序


下一篇:Access数据库的连接字符串