Linux安装Oracle详细步骤?
- Linux
- 2025-06-09
- 4785
在Linux上安装Oracle需先准备环境:创建用户/组,配置内核参数,下载安装包,运行Oracle Universal Installer按提示安装,最后执行root脚本验证数据库。
在Linux系统上安装Oracle数据库的完整指南
Oracle数据库作为企业级关系型数据库的标杆,在Linux环境下的安装需要严谨的步骤,本文以Oracle 19c(长期支持版本)和CentOS/RHEL 7为例,提供经官方文档验证的安装流程。
安装前的关键准备工作
系统要求检查
- 硬件:至少4GB RAM(推荐8GB+),/u01目录50GB+磁盘空间,2核CPU
- 操作系统:CentOS/RHEL 7.x(64位)
- 依赖包:
yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libxcb libXtst libX11 libXau libXi make sysstat
创建Oracle用户与组
groupadd oinstall # 软件安装组 groupadd dba # 数据库管理员组 useradd -g oinstall -G dba oracle passwd oracle # 设置密码(需包含大小写字母+数字)
内核参数优化
编辑/etc/sysctl.conf
,添加:
fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 net.core.rmem_default = 262144 net.core.wmem_default = 262144 net.ipv4.ip_local_port_range = 9000 65500
生效配置:sysctl -p
资源限制配置
编辑/etc/security/limits.conf
:
oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 32768
创建安装目录并授权
mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1 chown -R oracle:oinstall /u01 chmod -R 775 /u01
安装Oracle 19c数据库软件
下载安装包
从Oracle官网下载:
LINUX.X64_193000_db_home.zip
解压至/u01/app/oracle/product/19.3.0/dbhome_1
配置Oracle用户环境变量
编辑~oracle/.bash_profile
,添加:
export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1 export PATH=$ORACLE_HOME/bin:$PATH export ORACLE_SID=orcl
启动图形化安装(需桌面环境)
su - oracle cd $ORACLE_HOME ./runInstaller
注意:若无图形界面,可添加
-ignorePrereq -silent
参数进行静默安装。
安装过程关键选择
- 配置选项:仅安装数据库软件
- 数据库版本:Enterprise Edition
- 路径保持默认(/u01/app/oracle)
- 忽略root脚本执行提示(后续手动操作)
执行root脚本
安装完成后按提示运行:
/u01/app/oraInventory/orainstRoot.sh /u01/app/oracle/product/19.3.0/dbhome_1/root.sh
创建数据库实例
使用DBCA创建数据库
oracle用户执行: dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname orcl -sid orcl -createAsContainerDatabase true -numberOfPDBs 1 -pdbName pdb1 -responseFile NO_VALUE -characterSet AL32UTF8 -memoryPercentage 40 -emConfiguration NONE -ignorePreReqs
验证数据库状态
sqlplus / as sysdba SQL> SELECT name, open_mode FROM v$database; -- 输出示例:ORCL READ WRITE
基础配置与测试
设置开机自启
创建服务文件/etc/systemd/system/oracle.service
:
[Unit] Description=Oracle Database Service After=network.target [Service] User=oracle Group=oinstall Type=forking Environment="ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1" ExecStart=$ORACLE_HOME/bin/dbstart $ORACLE_HOME ExecStop=$ORACLE_HOME/bin/dbshut $ORACLE_HOME [Install] WantedBy=multi-user.target
启用服务:
systemctl daemon-reload systemctl enable oracle
防火墙放行端口
firewall-cmd --permanent --add-port=1521/tcp # 监听端口 firewall-cmd --reload
常见问题解决
-
图形安装闪退:
确保以oracle
用户执行xhost +
,并检查DISPLAY变量(如export DISPLAY=:0
) -
ORA-01078: 无法加载参数文件:
检查$ORACLE_HOME/dbs/initorcl.ora
是否存在,或从$ORACLE_BASE/admin/orcl/pfile
复制 -
内存不足错误:
调整/etc/sysctl.conf
中的kernel.shmmax
值,或减少DBCA中的memoryPercentage
安全加固建议
- 修改默认密码:
ALTER USER sys IDENTIFIED BY "新密码"; ALTER USER system IDENTIFIED BY "新密码";
- 启用审计:
ALTER SYSTEM SET audit_trail=db SCOPE=spfile;
- 限制IP访问:
编辑$ORACLE_HOME/network/admin/sqlnet.ora
,添加:tcp.validnode_checking = yes tcp.invited_nodes = (192.168.1.0/24, localhost)
引用说明:
- 本文步骤基于Oracle 19c官方安装指南
- 内核参数配置参考Oracle Linux优化白皮书
- 安全建议遵循CIS Oracle Benchmark
通过遵循此指南,您将获得一个生产可用的Oracle数据库环境,建议定期备份$ORACLE_BASE
目录并使用rman
工具进行数据库备份。