当前位置:首页 > Linux > 正文

Linux安装Oracle详细步骤?

在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安装Oracle详细步骤?  第1张

  • 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


安全加固建议

  1. 修改默认密码:
    ALTER USER sys IDENTIFIED BY "新密码";
    ALTER USER system IDENTIFIED BY "新密码";
  2. 启用审计:
    ALTER SYSTEM SET audit_trail=db SCOPE=spfile;
  3. 限制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工具进行数据库备份。

0