告别CentOS?在openEuler上为遗留系统搭建Oracle 11.2.0.4数据库环境指南

张开发
2026/4/13 16:55:16 15 分钟阅读

分享文章

告别CentOS?在openEuler上为遗留系统搭建Oracle 11.2.0.4数据库环境指南
在openEuler上构建Oracle 11g兼容环境的全流程指南当企业技术栈面临操作系统升级换代时如何确保关键业务数据库的平稳过渡成为架构师们的核心挑战。本文将带您深入探索在openEuler系统上部署Oracle 11.2.0.4数据库的完整解决方案从环境准备到最终验证提供一套经过实战检验的迁移路径。1. 环境准备与系统配置在开始安装前我们需要为Oracle数据库创建一个稳定的运行环境。openEuler作为新一代操作系统其软件包管理和依赖关系与传统的CentOS/RHEL存在显著差异这要求我们采取针对性的配置措施。1.1 基础环境要求操作系统版本openEuler 22.03 LTS SP2 x86_64Oracle版本11.2.0.4强烈建议使用此特定版本硬件资源最小内存4GB建议8GB以上磁盘空间/tmp目录至少1GB安装目录建议50GB以上网络工具Xshell/Xmanager用于远程管理Xftp用于文件传输注意Oracle 11g对glibc版本有严格要求openEuler默认提供的版本可能需要特殊处理才能兼容。1.2 系统安全配置调整为确保安装顺利进行需要临时调整部分安全设置# 关闭SELinux sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config # 停止并禁用防火墙 systemctl stop firewalld systemctl disable firewalld1.3 用户与权限设置Oracle数据库需要专用用户和组来运行# 创建数据库管理组和用户 groupadd database useradd -g database oracle passwd oracle # 设置密码 # 创建必要的目录结构 mkdir -p /opt/package chown oracle:database /opt/package2. 依赖管理与兼容层构建openEuler的软件包生态与Oracle 11g原始要求的CentOS环境存在差异这需要我们精心处理依赖关系。2.1 关键依赖包安装通过yum安装大部分可用依赖yum -y install libnsl libnsl2-devel libaio-devel libcap-devel \ xorg-x11-utils xauth gcc make libstdc-devel \ sysstat smartmontools glibc-compat-2.17 dde2.2 特殊依赖的手动处理对于无法通过包管理器直接获取的依赖需要手动处理# 下载特定版本的libaio wget -P /opt/package http://mirrors.ustc.edu.cn/centos/7.9.2009/os/x86_64/Packages/libaio-0.3.109-13.el7.x86_64.rpm # 提取并部署兼容库 rpm2cpio /opt/package/libaio-0.3.109-13.el7.x86_64.rpm | cpio -idmv cp ./lib64/libaio.so.1.0.1 /opt/libaio.so.12.3 链接器配置调整为处理库版本冲突需要自定义ld脚本cat /usr/bin/ld EOF #!/bin/sh /usr/bin/ld.bfd -L/opt -laio $* EOF chmod arx /usr/bin/ld3. Oracle软件安装与配置完成环境准备后我们可以开始Oracle数据库软件的安装过程。3.1 安装包准备将Oracle安装文件上传至服务器# 以oracle用户操作 su - oracle cd ~ unzip p13390677_112040_Linux-x86-64_1of7.zip unzip p13390677_112040_Linux-x86-64_2of7.zip3.2 图形化安装准备对于远程安装需要配置X11转发# 在服务器端启用X11转发 sed -i s/#X11Forwarding no/X11Forwarding yes/g /etc/ssh/sshd_config systemctl restart sshd # 客户端设置DISPLAY变量 export DISPLAY本地IP:0.0 xhost 3.3 执行安装程序启动Oracle安装向导cd ~/database LANGen_US ./runInstaller安装过程中需要注意几个关键步骤安全更新配置选择Skip software updates安装选项选择Create and configure a database系统类别选择Server class安装类型选择Typical install3.4 解决安装过程中的问题在Prerequisite Checks阶段可能会报告缺少的依赖包。对于无法安装的包可以选择忽略但必须处理关键依赖# 以root用户执行修复脚本 cd /tmp/CVU_11.2.0.4.0_oracle ./runfixup.sh当安装进度达到70%左右时可能会遇到以下错误Error in invoking target agent nmhs of makefile解决方法vi /home/oracle/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk # 在176行添加 -lnnz114. 数据库初始化与验证安装完成后需要进行必要的配置才能使数据库正常运行。4.1 执行配置脚本以root身份运行以下脚本/home/oracle/app/oraInventory/orainstRoot.sh /home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh4.2 环境变量配置为oracle用户设置必要的环境变量cat ~/.bash_profile EOF export ORACLE_HOME/home/oracle/app/oracle/product/11.2.0/dbhome_1/ export ORACLE_SIDorcl export PATH$PATH:$ORACLE_HOME/bin EOF source ~/.bash_profile4.3 数据库连接测试验证数据库是否正常运行sqlplus /nolog SQL connect /as sysdba SQL select status from v$instance;5. 性能优化与日常维护数据库安装完成后还需要进行适当的优化配置以确保最佳性能。5.1 内存参数调整根据服务器实际内存情况调整SGA和PGA大小ALTER SYSTEM SET sga_max_size2G SCOPEspfile; ALTER SYSTEM SET sga_target2G SCOPEspfile; ALTER SYSTEM SET pga_aggregate_target1G SCOPEspfile;5.2 自动任务配置设置定期统计信息收集和自动维护任务BEGIN DBMS_AUTO_TASK_ADMIN.ENABLE( client_name auto optimizer stats collection, operation NULL, window_name NULL); END; /5.3 备份策略实施配置基本的RMAN备份策略rman target / RMAN CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; RMAN CONFIGURE CONTROLFILE AUTOBACKUP ON;6. 常见问题解决方案在实际部署过程中可能会遇到各种特定问题这里总结几个典型场景的解决方法。6.1 监听程序启动失败如果监听程序无法启动检查监听配置文件lsnrctl start # 如果失败检查日志 cat $ORACLE_HOME/network/log/listener.log6.2 ORA-12514错误处理当遇到TNS监听程序错误时# 检查监听配置 vi $ORACLE_HOME/network/admin/listener.ora # 确保包含正确的SID描述6.3 字符集问题安装后若发现字符集不匹配SELECT parameter, value FROM nls_database_parameters; # 如需修改字符集谨慎操作 ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;7. 系统集成与监控将Oracle数据库集成到现有的监控体系中确保运维人员能够及时掌握系统状态。7.1 监控指标配置设置关键性能指标监控-- 创建监控用户 CREATE USER monitor IDENTIFIED BY password; GRANT SELECT_CATALOG_ROLE TO monitor; GRANT CREATE SESSION TO monitor; -- 常用监控查询 SELECT * FROM v$sysmetric WHERE metric_name IN (Database CPU Time Ratio, Database Wait Time Ratio);7.2 日志轮转配置避免日志文件无限增长# 设置日志文件大小限制 vi $ORACLE_HOME/network/admin/listener.ora # 添加 LOGGING_LISTENERON LOG_DIRECTORY/path/to/logdir LOG_FILElistener.log LOG_FILE_MAX_SIZE50M LOG_FILE_MAX_COUNT107.3 定期健康检查建立定期检查机制# 创建检查脚本 cat /home/oracle/health_check.sql EOF ?/rdbms/admin/utlrp.sql ?/rdbms/admin/utlstat.sql EOF # 设置cron任务 crontab -e # 添加 0 3 * * * /home/oracle/health_check.sql在实际迁移项目中我们发现openEuler的稳定性与Oracle 11g的兼容性表现超出预期但需要特别注意glibc版本和特定库文件的处理。通过本文提供的系统化方法企业可以在保持原有数据库应用不变的情况下顺利完成操作系统平台的升级过渡。

更多文章