在CentOS 7虚拟机上安装Oracle XE数据库

  1. 自行使用虚拟机安装CentOS-7-x86_64-DVD-1804.iso

  2. 下载适用于 Linux x64 的 Oracle Database 快捷版 11g 第 2 版
    https://www.oracle.com/technetwork/cn/database/database-technologies/express-edition/downloads/index.html

  3. oracle-xe-11.2.0-1.0.x86_64.rpm.zip解压后,得到Disk1文件夹, 使用SFTP传到CentOS 7中的/root根目录下。

  1. SSH连接到CentOS,安装依赖。
1
yum install libaio libaio-devel bc -y

  1. 分配SWAP空间,依次执行以下命令
1
2
3
4
5
6
7
8
9
10
su - root
dd if=/dev/zero of=/swapfile bs=1024 count=1048576
mkswap /swapfile
swapon /swapfile
cp /etc/fstab /etc/fstab.backup_$(date +%N)
echo '/swapfile swap swap defaults 0 0' /etc/fstab
chown root:root /swapfile
chmod 0600 /swapfile
swapon -a
swapon -s
  1. 可以用free -m查看Swap大小, 确保大于2048M就可以了。

  2. 安装oracle-xe-11.2.0-1.0.x86_64.rpm

1
2
cd Disk1/
rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm

  1. 配置数据库,分别配置HTTP端口8080,数据库监听端口1521,数据库SYS和SYSTEM密码,设置Oracle开启自启。
1
/etc/init.d/oracle-xe configure

  1. 配置环境变量
1
vi /etc/profile

加入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 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

更新环境变量

1
source /etc/profile

查看是否修改成功

1
echo $ORACLE_BASE

得到/u01/app/oracle就是oracle的安装目录

  1. 添加权限
1
2
cd /u01/app/oracle/product/11.2.0/xe/bin
chmod +s oracle
  1. 关闭CentOS防火墙
1
2
3
4
5
6
# 查看防火墙状态
firewall-cmd --state 
# 停止防火墙状态
systemctl stop firewalld.service  
# 禁止防火墙状态开机启动  
systemctl disable firewalld.service  
  1. 测试是否连得上Oracle数据库
1
2
3
4
su - oracle 
sqlplus /nolog
connect as sysdba
# 用户名sys,密码是刚才设置的密码

出现Connected.表示连接成功。

参考文章

  1. Linux下安装Oracle Database 11g Express Edition
  2. Centos7安装Oracle-xe
  3. CentOS7 安装 oracleXE(快捷版)教程