Oracle 19c在CentOS上的搭建步骤(详细指南)
一、安装前准备
1. 系统要求检查
- 系统版本:确保使用CentOS 7(64位),可通过
cat /etc/redhat-release和uname -r验证。 - 硬件要求:
- 内存:单实例最小1GB(推荐2GB以上),集群环境最小8GB。
- 磁盘空间:Oracle Database需7.2G以上,Grid Infrastructure需6.5G以上(可通过
df -h检查)。
- Swap空间:建议等于或大于物理内存大小(可通过
free -h查看,不足时用dd if=/dev/zero of=/swapfile bs=1M count=2048创建并mkswap /swapfile && swapon /swapfile启用)。
2. 安装依赖包
Oracle 19c需要多个系统依赖包支持,推荐通过oracle-database-preinstall-19c预安装包自动配置(简化流程):
yum install -y oracle-database-preinstall-19c
该包会自动安装以下关键依赖:binutils、compat-libcap1、compat-libstdc++-33、elfutils-libelf-devel、gcc、gcc-c++、glibc、glibc-devel、ksh、libaio、libaio-devel、libX11、libXau、libXi、libXtst、make、sysstat、unixODBC、unixODBC-devel等。
二、创建Oracle用户与目录
1. 创建用户组与用户
Oracle需要oinstall(安装组)、dba(数据库管理员组)和oper(数据库操作员组),并创建oracle用户归属这些组:
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle
passwd oracle # 设置oracle用户密码(如Oracle123)
2. 创建安装与数据目录
- 安装目录:用于存放Oracle软件(如
/home/oracle19c/app/oracle/product/19.0.0/db_1)。 - 数据目录:用于存放数据库文件(如
/home/oracle19c/oradata)。 - 库存目录:用于记录Oracle安装信息(如
/home/oracle19c/oraInventory)。
mkdir -p /home/oracle19c/app/oracle/product/19.0.0/db_1
mkdir -p /home/oracle19c/oradata
mkdir -p /home/oracle19c/oraInventory
chown -R oracle:oinstall /home/oracle19c # 递归设置目录所有者
chmod -R 775 /home/oracle19c/app/oracle # 设置目录权限
三、配置系统环境
1. 配置内核参数
编辑/etc/sysctl.conf,添加Oracle所需的内核参数(优化系统性能):
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 8589934591 # 建议设置为物理内存的80%(如8GB内存则为8*1024*1024*1024=8589934592)
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 = 1048576
使配置生效:
sysctl -p
2. 配置用户环境变量
编辑oracle用户的~/.bash_profile文件,添加Oracle相关环境变量:
export ORACLE_BASE=/home/oracle19c/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/db_1
export ORACLE_SID=orcl # 数据库实例名(可自定义,如orcl、testdb)
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 # 字符集(推荐UTF-8)
使配置生效:
source ~/.bash_profile
四、安装Oracle 19c软件
1. 上传并解压安装包
从Oracle官网下载LINUX.X64_193000_db_home.zip(Oracle 19c Linux x64安装包),上传到/home/oracle19c目录,解压到Oracle主目录:
unzip LINUX.X64_193000_db_home.zip -d /home/oracle19c/app/oracle/product/19.0.0/db_1
2. 执行静默安装
切换到oracle用户,进入安装目录,使用响应文件进行静默安装(避免图形界面):
su - oracle
cd /home/oracle19c/app/oracle/product/19.0.0/db_1
./runInstaller -silent -responseFile /home/oracle19c/app/oracle/product/19.0.0/db_1/response/db_install.rsp
响应文件参数说明(需提前创建/home/oracle19c/app/oracle/product/19.0.0/db_1/response/db_install.rsp):
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle19c/oraInventory
ORACLE_HOME=/home/oracle19c/app/oracle/product/19.0.0/db_1
ORACLE_BASE=/home/oracle19c/app/oracle
oracle.install.db.InstallEdition=EE # 企业版(可选择SE、SEONE等)
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=dba
oracle.install.db.rootconfig.executeRootScript=false # 静默安装无需root执行
安装完成后,会提示执行两个root脚本(需切换到root用户执行):
exit # 退出oracle用户
su - # 切换到root
/home/oracle19c/oraInventory/orainstRoot.sh
/home/oracle19c/app/oracle/product/19.0.0/db_1/root.sh
五、创建Oracle数据库
1. 配置监听器(可选,若需远程连接)
使用netca工具配置监听器(默认端口1521):
netca -silent -responseFile /home/oracle19c/app/oracle/product/19.0.0/db_1/assistants/netca/netca.rsp
2. 创建数据库实例
使用dbca工具创建数据库(静默模式):
dbca -silent -createDatabase -responseFile /home/oracle19c/app/oracle/product/19.0.0/db_1/assistants/dbca/dbca.rsp
响应文件参数说明(需提前创建/home/oracle19c/app/oracle/product/19.0.0/db_1/assistants/dbca/dbca.rsp):
gdbName=orcl # 全局数据库名(与ORACLE_SID一致)
sid=orcl
createAsContainerDatabase=false # 是否创建容器数据库(false为单实例)
templateName=General_Purpose.dbc # 数据库模板(General_Purpose、Data_Warehouse等)
sysPassword=Oracle123 # SYS用户密码
systemPassword=Oracle123 # SYSTEM用户密码
emConfiguration=NONE # 不配置EM Express
datafileDestination=/home/oracle19c/oradata # 数据文件目录
characterSet=AL32UTF8 # 字符集(推荐UTF-8)
totalMemory=2048 # 分配给数据库的内存(MB,根据系统内存调整,如2GB内存分配2048MB)
执行完成后,数据库实例会自动启动。
六、验证安装
1. 登录数据库
使用sqlplus工具登录数据库(SYSDBA权限):
sqlplus / as sysdba
输入命令查看数据库状态:
SELECT status FROM v$instance; -- 应返回“OPEN”
EXIT;
2. 检查监听状态
lsnrctl status
应显示监听器正在运行,且包含orcl服务的监听信息。
七、配置开机自启动(可选)
创建systemd服务文件,实现Oracle数据库开机自启动:
cat > /etc/systemd/system/oracle-database.service <<EOF
[Unit]
Description=Oracle Database Service
After=network.target
[Service]
Type=forking
User=oracle
Group=oinstall
ExecStart=/home/oracle19c/app/oracle/product/19.0.0/db_1/bin/dbstart /home/oracle19c/app/oracle/product/19.0.0/db_1
ExecStop=/home/oracle19c/app/oracle/product/19.0.0/db_1/bin/dbshut /home/oracle19c/app/oracle/product/19.0.0/db_1
Restart=no
[Install]
WantedBy=multi-user.target
EOF
启用并启动服务:
systemctl daemon-reload
systemctl enable oracle-database
systemctl start oracle-database
常见问题解决
- 权限问题:确保
oracle用户对/home/oracle19c及其子目录有读写权限(chown -R oracle:oinstall /home/oracle19c)。 - 端口冲突:若1521端口被占用,可修改
listener.ora($ORACLE_HOME/network/admin)中的端口,或停止占用进程(lsof -i:1521)。 - 内存不足:若系统内存不足,可增加Swap空间(如上述步骤),或调整
dbca.rsp中的totalMemory参数(减少内存分配)。
以上就是关于“oracle在centos上如何搭建”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm