Linux下Oracle 11G XE 安装笔记


折腾了几天,终于把Oracle 11G安装在服务器上并且能正常运行了。于是今天把简要的安装步骤和安装时候遇到的问题记录下,以后备用。

在oracle网站上注册下载linux 64bit的安装包(好像只有64bit的),注意系统一定要是64bit的 不然你就是在浪费时间。

首先说一下,本人的系统是CentOS5 我曾经实验过在Ubuntu 12.04 以及amazon EC2(8G 硬盘免费版)上安装,都因为各种原因没有成功,大家有兴趣的可以实验一下。网上有很多指导帖子。

在安装之前要注意,oracle对于系统的空间是有要求的,安装前可以查看下:

使用free -m查看交换空间大小,oracle XE 要求至少有1.2G 的交换空间,扩充的方法在我另外一篇博文上已经说明。传送门

使用df -h查看tmpfs的大小,oracle XE 在init.ora文件中给出了最低要求,默认是1G 。

这里我们要把tmpfs扩充为2G:

1.修改/etc/fstab文件:

找到此行:tmpfs                   /dev/shm                tmpfs   defaults      0 0

修改为:    tmpfs                   /dev/shm                tmpfs   defaults,size=2048M      0 0

2.重新加载tmpfs:

使用命令:

#umount /dev/shm; mount /dev/shm;

然后输入

df -h /dev/shm查看输出:

Filesystem            Size   Used    Avail Use% Mounted on
tmpfs                      2.0G  492M  1.6G  25%    /dev/shm

说明重新加载成功。 【帮客之家 http://www.bkjia.com 】

做完这些,我们还要做一些安装一些依赖包:

sudo yum install libaio*

来安装libaio包

之后解压安装包,

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

 进入Disk1文件夹

安装解压后的rpm包

rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm

安装成功后会提示成功,然后以super user身份运行以下脚本进行配置:

# /etc/init.d/oracle-xe configure

包括http的端口,如果你的服务器上运行了tomcat 而且没有改过端口配置 要把默认的8080端口换掉以免冲突。

另外,程序还会要求你为默认管理员账户 sys 设置密码。随后会等待一段时间,请耐心。

安装结束后,系统会自动建立一个名为oracle的用户,home dir位置在 /u01/app/oracle 也就是数据库安装的位置。

为了使用方便,我们可以把个人用户home目录下的.bashrc 和.bash_profile拷贝到该目录下,再用chown改变文件所属:

# chown oracle .bash_profile


# chown oracle .bashrc

# chmod 755 .bash_profile

# chmod 755 .bashrc

之后, 我们要设置一下环境变量:

修改/etc/profile文件,添加如下内容:

# Oracle Settings

TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/xe; export ORACLE_HOME
ORACLE_SID=XE; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
TNS_ADMIN=$ORACLE_HOME/network/admin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi


注意:以下几点:

XE版本里只能有一个instance, 我将SID修改了以后貌似会报错,所以SID就不用修改了。

BASE和HOME两个变量后尽量不要加斜线 '/' ,有可能会报错,虽然不知到为什么... 同时,TNS_ADMIN这个变量一定要有。

修改完后使用命令 # source /etc/profile 重新加载改文件。

输入 echo $ORACLE_BASE修改是否成功。

  • 1
  • 2
  • 下一页

相关内容