Ubuntu 14.04(amd64)安装Oracle11g XE(x64)

时间:2024-06-18 15:36:26

下载Oracle安装包

下载地址:Oracle Database Express Edition 11g Release 2 for Linux x64

安装办法

1、建立oracle用户及属主

addgroup oinstall

addgroup dba

adduser oracle

usermod –g oinstall oracle

usermod –G dba oracle

id oracle

id nobody
2、建立软链接
#ln -s /usr/bin/awk /bin/awk
#ln -s /usr/bin/rpm /bin/rpm
#ln -s /usr/bin/basename /bin/basename
注:这里首先得确认是否安装了这三个命令

3、检查包的依赖性(需要连网环境)
#apt-get update
#apt-get install alien
#apt-get install libaio1

4、准备安装文件
一般下载得到的是zip文件,需要先unzip解压
unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
将解压出来的rpm文件转换成deb格式,生成文件为oracle-xe_11.2.0-2_amd64.deb

alien -d --scripts oracle-xe-11.2.0-1.0.x86_64.rpm
这里如果alien没有安装,需要先安装alien。

5、安装oracle软件
oracle xe需要使用root用户进行
#dpkg -i oracle-xe_11.2.0-2_amd64.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
将上面红色两行注释掉(行首加上#),然后再执行
#/var/lib/dpkg/info/oracle-xe.postinst
这时就不再报这个错了。

6,安装oracle-shm
这部分的安装主要是为了避免ORA-00845: MEMORY_TARGET问题,将下面一段拷贝到命令行,回车即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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
EOF

下面接着配置一下oracle-shm
#chmod 755 /etc/init.d/oracle-shm
#update-rc.d oracle-shm defaults 01 99
这时需要重启一下电脑
#reboot

7,配置oracle,建库等操作
先建个目录(由于ubuntu下面无此目录,为防止安装oracle xe时报错):
#mkdir /var/lock/subsys
#/etc/init.d/oracle-xe configure
选择web管理端口默认8080
选择监听端口默认1521
输入管理员密码与确认密码(sys密码)
最后询问你是否自动启动默认y

8,检查安装
切换到oracle用户检查环境变量, 如果没有添加oracle的环境变量则需要手工写入。
su – oracle
/etc/init.d/oracle-xe start
/etc/init.d/oracle-xe stop
ps –ef|grep oracle

查看8080和1521是否成了listener口
#netstat -tnl
若显示结果中有了
tcp     0   0 0.0.0.0:8080         0.0.0.0:*                   LISTEN     
tcp     0   0 0.0.0.0:1521         0.0.0.0:*                   LISTEN

登录管理页面:
http://localhost:8080/apex/f?p=4950

9,卸载oracle-xe
#apt-get remove --purge  oracle-xe
#rm /etc/default/oracle-xe
#rm –rf /u01

手工配置用户环境变量的办法(编辑/etc/profile或者用户目录下的.profile文件)
(/u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh)
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 NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
export ORACLE_BASE=/u01/app/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH

注:这里不使用第三行是因为会引起无法登录的问题,如果无法登录按住ctrl+alt+F1进入命令行界面进行修改后按ctrl+alt+F7登录。

注:SIMPLIFIED CHINESE_CHINA.AL32UTF8是$ORACLE_HOME/bin/nls_lang.sh脚本的执行结果

OK大功告成!

延伸阅读:

Ubuntu环境变量(.profile)加载顺序

让/etc/profile文件修改后立即生效

参考资料:
http://www.it165.net/database/html/201208/2860.html
http://blog.sina.com.cn/s/blog_5007d1b10100912h.html
http://www.jb51.net/LINUXjishu/57943.html