CentOS环境下安装Oracle数据库详细图文教程

前言

一、准备工作

1. 系统要求
  • CPU: 至少2核
  • 内存: 至少4GB
  • 硬盘空间: 至少10GB
  • 操作系统: CentOS 7
2. 更换yum源

由于CentOS 7官方yum源已停止维护,建议更换为阿里云镜像源。

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
3. 安装必要的依赖包
yum install -y binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat
4. 配置主机名和网络

编辑/etc/hostname文件,设置主机名:

vi /etc/hostname

例如:

oracle-server

重启系统使主机名生效:

reboot
5. 关闭NetworkManager和Firewalld
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl stop firewalld
systemctl disable firewalld
6. 禁用SELinux

编辑/etc/selinux/config文件:

vi /etc/selinux/config

SELINUX=enforcing改为SELINUX=disabled,然后重启系统:

reboot
7. 配置本地解析

编辑/etc/hosts文件,添加以下内容:

vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.100 oracle-server
8. 关闭transparent hugepages

编辑/etc/rc.d/rc.local文件,添加以下内容:

vi /etc/rc.d/rc.local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
   echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
   echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

赋予执行权限:

chmod +x /etc/rc.d/rc.local
9. 修改profile文件和内核参数

编辑/etc/profile文件,添加以下内容:

vi /etc/profile
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH

编辑/etc/sysctl.conf文件,添加以下内容:

vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586

使配置生效:

sysctl -p
10. 创建Oracle用户和用户组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba -m oracle
passwd oracle
11. 创建安装目录
mkdir -p /data/oracle
mkdir -p /data/oraInventory
mkdir -p /data/database
chown -R oracle:oinstall /data/oracle
chown -R oracle:oinstall /data/oraInventory

二、安装Oracle数据库

1. 下载并解压Oracle安装包

从Oracle官方网站下载Oracle 11g安装包,上传到服务器并解压:

tar -xvf oracle-xe-11.2.0-1.0.x86_.rpm.zip -C /data/database
2. 以Oracle用户身份执行安装

切换到Oracle用户:

su - oracle

执行安装脚本:

cd /data/database
./runInstaller
3. 图形化安装界面

由于CentOS服务器通常没有图形界面,可以使用VNC远程连接进行图形化安装。

安装VNC服务器:

yum install -y tigervnc-server

启动VNC服务:

vncserver :1

连接VNC客户端,输入以下命令启动Oracle安装向导:

cd /data/database
./runInstaller
4. 安装过程中的配置
  • 指定安装目录:选择之前创建的/data/oracle目录。
  • 配置Oracle Inventory:选择/data/oraInventory目录。
  • 创建数据库:选择创建数据库实例,填写全局数据库名和SID。
  • 配置:选择默认配置。
  • 配置网络:选择默认配置。
5. 完成安装

安装完成后,执行以下脚本:

root.sh

三、常见问题解决

1. ORA-01102: cannot mount database in EXCLUSIVE mode

执行以下命令:

sqlplus / as sysdba
shutdown immediate;
startup;
2. 数据库启动失败

检查/data/oracle/diag/rdbms目录下的日志文件,根据错误信息进行排查。

3. 中文乱码问题

编辑/data/oracle/product/11.2.0/db_1/nls/data/ld.so.conf文件,添加以下内容:

vi /data/oracle/product/11.2.0/db_1/nls/data/ld.so.conf
/usr/lib

重启数据库实例。

四、总结

通过以上步骤,相信大家已经成功在CentOS环境下安装了Oracle 11g数据库。虽然过程较为复杂,但只要耐心按照步骤操作,一定能顺利完成。希望本文能为大家提供帮助,祝大家安装顺利!