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

CentOS 7安装Oracle 19c数据库全流程指南

1. Linux系统安装Oracle数据库完整指南

作为企业级数据库的标杆产品,Oracle数据库在金融、电信等行业的核心系统中占据重要地位。虽然云数据库服务日益普及,但掌握本地化部署能力仍是DBA的必备技能。本文将基于Oracle 19c版本,在CentOS 7系统上演示完整的安装流程,包含图形化安装和静默安装两种方式,并针对国内网络环境提供实用的解决方案。

实测环境:CentOS 7.9 + Oracle 19.3.0,物理服务器配置为32核CPU/128GB内存/2TB SSD阵列。建议生产环境至少保留50GB空闲空间用于数据库文件存储。

1.1 准备工作与系统配置

安装前的系统优化直接影响后续数据库性能表现。以下是经过生产验证的配置方案:

内核参数调整(/etc/sysctl.conf):

# 共享内存段最大尺寸(建议物理内存的70%) kernel.shmmax = 90194313216 # 系统范围内共享内存段总数 kernel.shmall = 22020096 # 信号量相关参数 kernel.sem = 250 32000 100 128 # 文件句柄数 fs.file-max = 6815744 # 端口范围 net.ipv4.ip_local_port_range = 9000 65500

用户资源限制(/etc/security/limits.conf):

oracle soft nofile 10240 oracle hard nofile 65536 oracle soft nproc 16384 oracle hard nproc 65536 oracle soft stack 10240 oracle hard stack 32768

依赖包安装(使用阿里云镜像源加速):

yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc-c++ glibc glibc-devel ksh \ libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC \ unixODBC-devel elfutils-libelf-devel

常见坑点:国内服务器访问Oracle官方yum源速度极慢,建议配置本地镜像源或使用阿里云/清华镜像站。曾遇到因缺少compat-libstdc++-33导致安装程序崩溃的案例,务必完整安装所有依赖。

1.2 图形化安装全流程解析

  1. 下载安装包

    • 官网下载需要注册账号,国内用户可通过百度云获取19c安装包(约3GB)
    • 关键文件:LINUX.X64_193000_db_home.zip
  2. 解压与准备

mkdir -p /opt/oracle/product/19c/dbhome_1 unzip LINUX.X64_193000_db_home.zip -d /opt/oracle/product/19c/dbhome_1 chown -R oracle:oinstall /opt/oracle
  1. 配置响应文件(可选): 修改db_install.rsp模板文件实现半自动化安装,重点参数:

    oracle.install.option=INSTALL_DB_SWONLY UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/opt/oracle/oraInventory ORACLE_HOME=/opt/oracle/product/19c/dbhome_1 ORACLE_BASE=/opt/oracle oracle.install.db.InstallEdition=EE oracle.install.db.OSDBA_GROUP=dba oracle.install.db.OSOPER_GROUP=oper oracle.install.db.OSBACKUPDBA_GROUP=backupdba oracle.install.db.OSDGDBA_GROUP=dgdba oracle.install.db.OSKMDBA_GROUP=kmdba oracle.install.db.OSRACDBA_GROUP=racdba
  2. 启动安装向导

su - oracle cd $ORACLE_HOME ./runInstaller

安装界面关键步骤:

  • 选择"仅安装数据库软件"
  • 配置Oracle基目录和软件位置
  • 忽略先决条件检查警告(需提前手动处理)
  • 最后执行root.sh脚本

图形化安装常见问题:如果服务器没有GUI环境,可通过X11转发或VNC远程连接。曾遇到DISPLAY变量设置错误导致安装界面无法弹出的情况,建议先用xclock测试X11转发是否正常。

1.3 静默安装实战技巧

对于生产环境批量部署,推荐使用静默安装模式:

./runInstaller -silent -responseFile /path/to/db_install.rsp \ -ignorePrereqFailure -waitforcompletion

监控安装日志:

tail -f /opt/oracle/oraInventory/logs/installActions*.log

安装完成后必须执行:

/opt/oracle/product/19c/dbhome_1/root.sh

性能调优:安装后建议调整SGA_TARGET和PGA_AGGREGATE_TARGET参数,通常设置为物理内存的60%和20%。例如128GB内存服务器可配置:

ALTER SYSTEM SET sga_target=76G SCOPE=spfile; ALTER SYSTEM SET pga_aggregate_target=24G SCOPE=spfile;

2. 数据库创建与配置

2.1 DBCA创建数据库

使用Database Configuration Assistant创建数据库:

dbca -silent -createDatabase \ -templateName General_Purpose.dbc \ -gdbname ORCL -sid ORCL \ -responseFile NO_VALUE \ -characterSet AL32UTF8 \ -memoryPercentage 40 \ -emConfiguration DBEXPRESS \ -emExpressPort 5500 \ -sysPassword Oracle123 \ -systemPassword Oracle123 \ -datafileDestination /oradata \ -recoveryAreaDestination /flash_recovery_area \ -storageType FS \ -databaseType MULTIPURPOSE

关键参数说明:

  • -memoryPercentage:分配给Oracle的总内存占比
  • -emConfiguration:配置Enterprise Manager Express
  • 字符集必须选择AL32UTF8以支持多语言

2.2 网络服务配置

修改listener.ora和tnsnames.ora实现网络连接:

listener.ora

LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = db-server)(PORT = 1521)) ) )

tnsnames.ora

ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = db-server)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL) ) )

重启监听服务:

lsnrctl stop lsnrctl start

3. 安装后优化与问题排查

3.1 性能优化建议

  1. ASM磁盘组配置(生产环境推荐):
CREATE DISKGROUP DATA NORMAL REDUNDANCY FAILGROUP fg1 DISK '/dev/sdb1' NAME d1 FAILGROUP fg2 DISK '/dev/sdc1' NAME d2;
  1. 内存自动管理
ALTER SYSTEM SET memory_target=80G SCOPE=spfile; ALTER SYSTEM SET sga_target=0 SCOPE=spfile; ALTER SYSTEM SET pga_aggregate_target=0 SCOPE=spfile;
  1. 表空间优化
CREATE TABLESPACE apps_dat DATAFILE '+DATA' SIZE 100G AUTOEXTEND ON NEXT 1G MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

3.2 常见问题解决方案

问题1:OUI-25031错误(空间不足)

  • 检查/tmp目录空间:df -h /tmp
  • 设置环境变量:export TMPDIR=/oracle/tmp

问题2:ORA-01078: failure in processing system parameters

  • 检查spfile路径:show parameter spfile
  • 重建pfile:create pfile from spfile;

问题3:监听程序无法启动

  • 检查端口冲突:netstat -tulnp | grep 1521
  • 重新配置监听:netca -silent -responseFile /path/to/netca.rsp

问题4:EM Express无法访问

  • 确认端口:SELECT dbms_xdb_config.gethttpsport FROM dual;
  • 重新配置端口:EXEC DBMS_XDB_CONFIG.SETHTTPSPORT(5500);

4. 日常管理命令速查

4.1 基础运维命令

功能命令
启动数据库sqlplus / as sysdbaSTARTUP
关闭数据库SHUTDOWN IMMEDIATE
查看实例状态SELECT status FROM v$instance;
检查表空间SELECT tablespace_name, used_percent FROM dba_tablespace_usage_metrics;
添加数据文件ALTER TABLESPACE users ADD DATAFILE '/path/to/file.dbf' SIZE 1G;

4.2 备份恢复示例

RMAN全备

rman target / RUN { ALLOCATE CHANNEL ch1 DEVICE TYPE DISK; BACKUP DATABASE PLUS ARCHIVELOG; RELEASE CHANNEL ch1; }

表空间时间点恢复

RMAN> RECOVER TABLESPACE users UNTIL TIME "TO_DATE('2023-07-20 14:00:00', 'YYYY-MM-DD HH24:MI:SS')" AUXILIARY DESTINATION '/recovery_area';

5. 国产化替代方案考量

随着信息技术应用创新产业的发展,部分场景可能需要考虑国产数据库替代方案。以下是技术选型时的对比维度:

  1. 兼容性层

    • 达梦数据库:提供Oracle兼容模式,可解析大部分PL/SQL
    • 人大金仓:支持OCI接口,迁移成本较低
  2. 迁移工具

    • 使用Oracle GoldenGate实现异构数据库同步
    • 利用SQL Developer的迁移工作台转换存储过程
  3. 性能对比

    • TPCC测试中,Oracle 19c单节点可达50万TPMC
    • 达梦8在相同硬件下约达到35万TPMC

迁移建议:对于核心交易系统,建议先在非关键业务进行试点验证。曾参与某银行系统迁移项目,通过建立双跑环境逐步切换,最终实现平滑过渡。

http://www.cnnetsun.cn/news/3941100.html

相关文章:

  • LMS自适应滤波在外辐射源雷达多径干扰抑制中的应用
  • Oracle EBS财务闭环管理:解决制造业会计分录准确性难题
  • Docker镜像导入导出实战指南与最佳实践
  • 石景山网站建设公司怎么做才能让客户满意及价格透明的深度解析与避坑指南
  • AI桌面助手:基于CV+LLM的自动化操作实践指南
  • MySQL数据库服务架构与性能优化实战
  • Java集合框架详解:List与Set核心实现与性能优化
  • 强化学习入门:从斯金纳箱到大模型推理的实践指南
  • MySQL 主从复制与读写分离实战
  • 荆门市网站建设怎么做才能既省钱又高效?本地老板必须知道的避坑指南
  • 从Claude Code到Agent Harness:构建可控AI智能体的动态工作流框架
  • Unity Shader实现动态呼吸灯:正弦波原理与GPU高效渲染
  • 穿线管选型与施工全指南:从材质到工艺详解
  • Spring Boot与MinIO整合实践:构建高效对象存储服务
  • AI安全脆弱性解析与防御实践指南
  • 达梦数据库服务器版安装与配置实战指南
  • RK3576芯片与G8701网关在工业边缘计算中的应用解析
  • HarmonyOS React组件化开发实践指南
  • 拒绝千篇一律模板化!深度解析成都外贸网站建设如何助力制造企业出海突围
  • Comsol周期性超表面多极子分解仿真指南
  • C++17结构化绑定:性能陷阱与优化策略详解
  • Meta外售AI算力:从硬件账本看AI基础设施商业化与工程实践
  • Unity游戏开发中MasterMemory内存数据库的实战应用与性能优化
  • 终极PUBG罗技鼠标宏压枪脚本:5分钟快速配置完整指南
  • 技术文档编写实战:从架构设计到自动化验证
  • 【Bug已解决】Modular pipeline: Krea 2 解决方案
  • 沂水网站建设:本地企业数字化转型的破局之路与实战指南
  • PTA装箱问题:用队列实现最先适配策略的算法详解
  • Unity游戏通用去马赛克插件UUD:原理、部署与代码解析
  • 断裂力学与多物理场耦合模型解析与应用