当前位置:首页 > 系统教程 > 正文

CentOS安装Oracle数据库超详细教程(从零开始教你成功安装Oracle 19c)

在Linux环境下部署企业级数据库是很多运维工程师和开发人员必须掌握的技能。本文将提供一份在CentOS安装Oracle的保姆级教程,哪怕你是小白,只要按照步骤一步一步操作,也能成功安装。本次安装以Oracle 19c为例,因为它是目前稳定性较长的长期支持版本,功能强大且应用广泛-6。

在开始安装之前,我们需要明确,在Linux安装Oracle并非简单的双击运行,而是需要对操作系统进行一系列的预配置,包括关闭防火墙、创建用户、修改内核参数等。请务必确保你的CentOS系统是7.x或8.x的64位版本,并且至少拥有2GB内存和10GB以上的磁盘空间-3。

CentOS安装Oracle数据库超详细教程(从零开始教你成功安装Oracle 19c) CentOS安装Oracle  Oracle数据库安装教程 Linux安装Oracle Oracle 19c安装步骤 第1张

第一步:系统环境初始化与必要软件包安装

这是最关键的一步,目的是为Oracle数据库安装扫清障碍。

1. 关闭防火墙与SELinux

Oracle的运行需要特定的网络端口,为避免干扰,我们先将防火墙关闭,并永久禁用SELinux-4-8。

# 关闭防火墙sudo systemctl stop firewalldsudo systemctl disable firewalld# 临时关闭SELinuxsudo setenforce 0# 永久关闭SELinux(修改配置文件)sudo sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

2. 安装Oracle依赖包

Oracle软件依赖于大量的系统库。CentOS提供了一个预安装包oracle-database-preinstall-19c,它可以自动帮我们配置好yum源、安装所有依赖并设置部分内核参数,非常方便-6-8。

# 安装wget工具(如果未安装)sudo yum install -y wget# 下载Oracle预安装RPM包wget https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-2.el7.x86_64.rpm# 安装预安装包sudo yum localinstall -y oracle-database-preinstall-19c-*.rpm

如果不想用预安装包,也可以手动安装依赖包列表,例如binutils, gcc, libaio等-4。

第二步:创建Oracle用户与目录

Oracle出于安全考虑,不允许用root用户直接运行,必须创建专用的系统用户和组-1-4。

1. 创建用户和组

我们需要创建oinstalldba两个组,以及一个名为oracle的用户-3。

# 创建组sudo groupadd oinstallsudo groupadd dba# 创建用户,并设置为primary group为oinstall,secondary group为dbasudo useradd -g oinstall -G dba oracle# 为oracle用户设置密码(例如:oracle)sudo passwd oracle

2. 创建软件安装目录

遵循Oracle的Optimal Flexible Architecture (OFA) 规范,我们创建如下目录结构-2-4。

# 创建Oracle基目录(Base)和主目录(Home)sudo mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1# 将目录所有者修改为oracle用户sudo chown -R oracle:oinstall /u01sudo chmod -R 775 /u01

第三步:配置系统内核参数与用户限制

尽管预安装包已经做了很多配置,但为了确保万无一失,建议再手动检查和配置一下,这是Oracle数据库安装过程中的关键优化点。

1. 修改内核参数(/etc/sysctl.conf)

编辑内核参数文件,调整共享内存和网络设置,以适应Oracle的运行需求-1-4。

sudo vi /etc/sysctl.conf

在文件末尾添加以下内容:

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

保存后执行以下命令使其生效:

sudo sysctl -p

2. 配置用户资源限制(/etc/security/limits.conf)

编辑limits.conf文件,设置oracle用户可以打开的进程数和文件数-4-5。

sudo vi /etc/security/limits.conf

在文件末尾添加:

oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536oracle soft stack 10240

第四步:配置Oracle用户环境变量

切换到oracle用户,配置其家目录下的.bash_profile文件,这样可以让我们在命令行中方便地使用sqlplus等命令-4。

# 切换到oracle用户su - oracle# 编辑环境变量配置文件vi .bash_profile

在文件末尾添加以下内容(注意路径要与你的安装目录一致):

export ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1export ORACLE_SID=orclexport PATH=$PATH:$ORACLE_HOME/binexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

保存后使配置立即生效:

source .bash_profile

第五步:下载并安装Oracle软件

接下来是最核心的安装环节。这里我们使用RPM包方式安装,比图形化界面更简单,适合服务器环境-6-7。

1. 下载Oracle Database 19c RPM包

你需要从Oracle官网下载两个文件:预安装包(之前已装)和数据库软件包。这里假设你已经下载了oracle-database-ee-19c-1.0-1.x86_64.rpm并上传到了服务器。

2. 安装Oracle数据库软件

# 切换到root用户或使用sudosudo rpm -ivh oracle-database-ee-19c-1.0-1.x86_64.rpm

3. 配置并创建数据库

安装完RPM后,需要执行配置脚本,它会根据默认模板创建一个初始数据库-6。

sudo /etc/init.d/oracledb_ORCLCDB-19c configure

这个过程会持续几分钟,期间会创建监听和实例。如果不想用默认的ORCLCDB实例名,可以在执行配置前修改/etc/sysconfig/oracledb_ORCLCDB-19c.conf文件-7。

第六步:验证安装并设置开机自启

安装完成后,我们需要验证一下数据库是否正常运行,并设置为开机自启动。

1. 验证数据库状态

# 切换到oracle用户su - oracle# 登录到数据库sqlplus / as sysdba# 在SQL*Plus中执行查看实例状态SQL> select status from v$instance;STATUS------------OPEN# 如果显示OPEN,则表示数据库启动成功-4-6。SQL> exit

2. 设置开机自启动

编辑/etc/oratab文件,将你的实例条目最后的“N”改为“Y”-4-5。

sudo vi /etc/oratab# 找到类似下面的行# orcl:/u01/app/oracle/product/19.0.0/dbhome_1:N# 修改为orcl:/u01/app/oracle/product/19.0.0/dbhome_1:Y

之后,将数据库启动命令添加到/etc/rc.d/rc.local文件中-4。

echo "su oracle -lc "$ORACLE_HOME/bin/dbstart"" | sudo tee -a /etc/rc.d/rc.localsudo chmod +x /etc/rc.d/rc.local

至此,你已经成功地在CentOS上完成了Oracle 19c的安装和基本配置。如果在安装过程中遇到任何问题,可以检查$ORACLE_HOME/cfgtoollogs目录下的日志文件,通常都能找到详细的错误原因。