Ubuntu 12.04下安装Oracle Express 11gR2
我新安装的Linux Mint 13 “Maya” Xfce RC,但因为是基于Xubuntu 12.04,所以对于XUbuntu与Ubuntu的12.04都应该可以适用
1、下载oracle express的安装介质
http://www.oracle.com/technetwork/products/express-edition/downloads/index.html
Oracle Database Express Edition 11g Release 2 for Linux x64
2、转换为deb包
由于下载的是rpm包ubuntu无法直接使用所以需要alien来转换
sudo apt-get install alien
sudo alien -d --scripts oracle-xe-11.2.0.x86_64.rpm
成功转换后得到oracle-xe_11.2.0-2_amd64.deb安装文件
3、安装deb
双击deb安装这个包,这时包安装成功但是我们会得到一个错误说/sbin/chkconfig不存在。
我们要修改/var/lib/dpkg/info/oracle-xe.postinst脚本
if [ -f /etc/SuSE-release ] | ||||||||
then | ||||||||
cp -f /u01/app/oracle/product/11.2.0/xe/config/scripts/oracle-xe.sles /etc/init.d/oracle-xe | ||||||||
/usr/lib/lsb/install_initd /etc/init.d/oracle-xe > /dev/null 2>&1 | ||||||||
/sbin/insserv /etc/init.d/oracle-xe > /dev/null 2>&1 | ||||||||
/sbin/SuSEconfig > /dev/null 2>&1 | ||||||||
#else | ||||||||
# /sbin/chkconfig --add oracle-xe | ||||||||
fi |
把else与/sbin/chkconfig --add oracle-xe注释掉,然后再执行
1 | sudo /var/lib/dpkg/info/oracle-xe.postinst |
会提示你运行/etc/init.d/oracle-xe configure进行配置。但别急,我们还需要一些步骤再执行。
4、安装依赖包
sudo apt-get install libaio1
5、解决ORA-00845: MEMORY_TARGET问题
由于oracle查找的是/dev/shm,而Ubuntu已经换为/run/shm(虽然有链接还是有问题),在初始化时会出现ORA-00845问题,解决方法如下:
用root登录
sudo su -
粘贴下载的代码到命令行,来创建oracle-shm
cat > /etc/init.d/oracle-shm <<-EOF | ||||||||||||||||||||||||||||||||
#! /bin/sh | ||||||||||||||||||||||||||||||||
# /etc/init.d/oracle-shm | ||||||||||||||||||||||||||||||||
# | ||||||||||||||||||||||||||||||||
# | ||||||||||||||||||||||||||||||||
case "\$1" in | ||||||||||||||||||||||||||||||||
start) | ||||||||||||||||||||||||||||||||
echo "Starting script /etc/init.d/oracle-shm" | ||||||||||||||||||||||||||||||||
# Run only once at system startup | ||||||||||||||||||||||||||||||||
if [ -e /dev/shm/.oracle-shm ]; then | ||||||||||||||||||||||||||||||||
echo "/dev/shm is already mounted, nothing to do" | ||||||||||||||||||||||||||||||||
else | ||||||||||||||||||||||||||||||||
rm -f /dev/shm | ||||||||||||||||||||||||||||||||
mkdir /dev/shm | ||||||||||||||||||||||||||||||||
#mount -B /run/shm /dev/shm | ||||||||||||||||||||||||||||||||
mount -t tmpfs shmfs -o size=2048m /dev/shm | ||||||||||||||||||||||||||||||||
touch /dev/shm/.oracle-shm | ||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||
stop) | ||||||||||||||||||||||||||||||||
echo "Stopping script /etc/init.d/oracle-shm" | ||||||||||||||||||||||||||||||||
echo "Nothing to do" | ||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||
*) | ||||||||||||||||||||||||||||||||
echo "Usage: /etc/init.d/oracle-shm {start|stop}" | ||||||||||||||||||||||||||||||||
exit 1 | ||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||
esac | ||||||||||||||||||||||||||||||||
# | ||||||||||||||||||||||||||||||||
### BEGIN INIT INFO | ||||||||||||||||||||||||||||||||
# Provides: oracle-shm | ||||||||||||||||||||||||||||||||
# Required-Start: $remote_fs $syslog | ||||||||||||||||||||||||||||||||
# Required-Stop: $remote_fs $syslog | ||||||||||||||||||||||||||||||||
# Default-Start: 2 3 4 5 | ||||||||||||||||||||||||||||||||
# Default-Stop: 0 1 6 | ||||||||||||||||||||||||||||||||
# Short-Description: Bind /run/shm to /dev/shm at system startup. | ||||||||||||||||||||||||||||||||
# Description: Fix to allow Oracle 11g use AMM. | ||||||||||||||||||||||||||||||||
### END INIT INFO | ||||||||||||||||||||||||||||||||
EOF |
安装oracle-shm
chmod 755 /etc/init.d/oracle-shm | |
update-rc.d oracle-shm defaults 01 99 |
重启
reboot
6、配置oracle xe
sudo /etc/init.d/oracle-xe configure
选择web管理端口默认8080
选择监听端口默认1521
输入管理员密码与确认密码(sys密码)
最后询问你是否自动启动默认y
7、进行web管理台
从菜单中选择Other->Get Started with Oracle Database 11g Express Edition