安装oracle-xe前,确保已安装一些必要软件包,如alien、bc、libaio1、net-tools等。如果没有安装它们,可以通过dpkg或apt等命令安装。
由于Oracle并未提供oracle-xe的deb包,故需要通过alien命令将oracle-xe的rpm格式的安装包导出新的deb格式的安装包:

alien --  -d oracle-xe-11.2.0-1.0.x86_64.rpm

如果你在之前已经得到oracle-xe的deb格式的安装包,则无需安装alien及执行以上命令。
尔后,使用dpkg命令安装oracle-xe:

dpkg -i oracle-xe_11.2.0-2_amd64.deb

在安装过程中,如果遇到问题“/var/lib/dpkg/info/oracle-xe.postinst: line 114: /sbin/chkconfig: No such file or directory”,请使用vi或gedit等命令打开/var/lib/dpkg/info/oracle-xe.postinst文件(以gedit命令为例):

gedit /var/lib/dpkg/info/oracle-xe.postinst

注释掉oracle-xe.postinst文件中的第113、114行并保存:

if [ -f /etc/SuSE-release ]then    cp -f /u01/app/oracle/product/11.2.0/xe/config/ s/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-xefi

执行oracle-xe.postinst:

/var/lib/dpkg/info/oracle-xe.postinst

注:oracle-shm这一配置文件及其启动项的设置不是必须的。即使跳过这一步骤,也可以完成oracle-xe的安装过程。
从Oracle Data 11g开始,自动内存管理功能需要更多共享内存(/dev/shm)和文件描述符。对于计算机上的每个Oracle实例,共享内存的大小应至少为MEMORY_MAX_TARGET和MEMORY_TARGET中的较大者。如果MEMORY_MAX_TARGET或MEMORY_TARGET设置为非零值,并且为共享内存分配了不正确的大小,则在启动时将导致ORA-00845错误。
为了避免出现这一错误,可以选择添加配置文件oracle-shm:

cat > /etc/init.d/oracle-shm << EOF#! /bin/sh# /etc/init.d/oracle-shm#case "$1" instart)    echo "Starting   /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   /etc/init.d/oracle-shm"    echo "Nothing to do"    ;;*)    echo "Usage: /etc/init.d/oracle-shm {start|stop}"    exit 1    ;;esacEOF

设置文件oracle-shm的访问权限:

chmod 755 /etc/init.d/oracle-shm

使用update-rc.d命令配置该文件的启动设置:

update-rc.d oracle-shm defaults 01 99

完成oracle-shm的配置后,重新启动系统。
之后,以root身份配置oracle-xe:

/etc/init.d/oracle-xe configure

如果提示“Oracle Data 11g Express Edition is already configured”,只需删除/etc/default/oracle-xe:

rm /etc/default/oracle-xe

配置oracle-xe完成后,提示如下:
Starting Oracle Net Listener...Done
Configuring data ...Done
Starting Oracle Data 11g Express Edition instance...Done
Installation completed successfully.
在手动启动oracle监听器及数据库前,应配置全局环境变量以精简启动命令:

gedit /etc/profile

在打开的/etc/profile文件底部添加新的环境变量:

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xeexport ORACLE_ =/u01/app/oracleexport ORACLE_SID=XEexport NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATHexport PATH=$ORACLE_HOME/bin:$PATH

全局环境变量配置完成后,切换至oracle用户身份执行启动oracle监听器及数据库命令:

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

卸载oracle-xe前,如果已启动oracle监听器及数据库,应手动将其停止,再执行卸载命令:

lsnrctl stop/etc/init.d/oracle-xe stopupdate-rc.d -f oracle-xe removedpkg -P oracle-xerm /etc/default/oracle-xerm /etc/init.d/oracle-shmrm –rf /u01rm /root/.rpmdb

如果手动为swap文件划分有额外的空间,也应删除相应位置的swap文件。
至此,oracle-xe的卸载操作已基本完成。后续可通过执行gedit命令移除与oracle-xe相关的环境变量:

gedit /etc/profile
收藏 打印