公司动态
CentOS 7安装Oracle 19c数据库完整教程
1. Linux系统安装Oracle数据库完整指南作为企业级数据库的标杆产品Oracle数据库在金融、电信等行业的核心系统中占据重要地位。虽然云数据库服务日益普及但掌握本地化部署能力仍是DBA的必备技能。本文将基于Oracle 19c版本详细演示在CentOS 7系统上的完整安装流程包含图形化安装和静默安装两种方式并针对国内网络环境提供实用的解决方案。实测环境CentOS 7.9 Oracle 19.3.0物理服务器配置为16核CPU/64GB内存/2TB SSD阵列。建议生产环境至少保留50GB的/u01挂载点空间。2. 环境准备与系统配置2.1 硬件与操作系统要求Oracle 19c对Linux系统的具体要求如下内存最小4GB建议8GB以上交换空间参考官方公式当内存4-16GB时交换空间内存大小内存超过16GB时交换空间16GB磁盘空间企业版需要至少6.4GB安装空间实际建议预留50GB操作系统支持RHEL 7.3-7.9、OL 7.3-7.9、SLES 12 SP3等对于国内用户常见问题中文环境乱码建议安装时使用英文环境后期再配置NLS_LANG时间同步问题务必配置chronyd或ntpd服务防火墙策略开放1521默认监听端口、5500EM Express等端口2.2 依赖包安装与内核参数调整执行以下命令安装必要依赖CentOS/RHEL系yum install -y oracle-database-preinstall-19c \ binutils \ compat-libcap1 \ compat-libstdc-33 \ gcc-c \ glibc-devel \ libaio-devel内核参数修改示例/etc/sysctl.conffs.aio-max-nr 1048576 fs.file-max 6815744 kernel.shmall 2097152 kernel.shmmax 4294967295 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关键点shmmax值建议设置为物理内存的50-75%安装完成后需执行sysctl -p生效。3. Oracle软件安装实战3.1 安装包获取与解压从Oracle官网下载以下文件需注册账号LINUX.X64_193000_db_home.zip主安装包p35940989_190000_Linux-x86-64.zip最新补丁解压注意事项unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME # 补丁需使用OPatch工具安装3.2 图形化安装步骤详解配置DISPLAY变量本地无需配置export DISPLAY本地IP:0.0 xhost 启动安装向导cd $ORACLE_HOME ./runInstaller安装界面关键选项配置选项选择仅安装数据库软件数据库版本企业版Enterprise Edition安装位置默认/u01/app/oracle/product/19.0.0/dbhome_1操作系统组oinstall、dba常见报错处理若出现INS-20802错误检查/tmp空间是否充足INS-30131错误需配置正确的inventory目录权限。3.3 静默安装配置对于无图形界面环境可使用响应文件安装。示例response文件配置oracle.install.responseFileVersion/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0 oracle.install.optionINSTALL_DB_SWONLY UNIX_GROUP_NAMEoinstall INVENTORY_LOCATION/u01/app/oraInventory ORACLE_HOME/u01/app/oracle/product/19.0.0/dbhome_1 ORACLE_BASE/u01/app/oracle oracle.install.db.InstallEditionEE oracle.install.db.OSDBA_GROUPdba oracle.install.db.OSOPER_GROUPoper oracle.install.db.OSBACKUPDBA_GROUPbackupdba oracle.install.db.OSDGDBA_GROUPdgdba oracle.install.db.OSKMDBA_GROUPkmdba oracle.install.db.OSRACDBA_GROUPracdba执行命令./runInstaller -silent -responseFile /path/to/response.rsp4. 数据库创建与配置4.1 DBCA创建数据库通过Database Configuration Assistant创建数据库dbca -silent \ -createDatabase \ -templateName General_Purpose.dbc \ -gdbname ORCL \ -sid ORCL \ -characterSet AL32UTF8 \ -memoryPercentage 40 \ -emConfiguration DBEXPRESS \ -datafileDestination /u01/app/oracle/oradata \ -redoLogFileSize 200 \ -storageType FS \ -sampleSchema true重要参数说明memoryPercentage分配给Oracle的内存百分比characterSet中文字符集建议使用AL32UTF8或ZHS16GBKemConfiguration启用轻量级管理控制台4.2 网络服务配置修改监听配置文件$ORACLE_HOME/network/admin/listener.oraLISTENER (DESCRIPTION_LIST (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST localhost)(PORT 1521)) ) )启动监听服务lsnrctl start5. 安装后优化与验证5.1 基础环境配置编辑oracle用户环境变量~/.bash_profileexport ORACLE_HOME/u01/app/oracle/product/19.0.0/dbhome_1 export PATH$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH$ORACLE_HOME/lib:/usr/lib export NLS_LANGAMERICAN_AMERICA.AL32UTF85.2 数据库连接测试使用SQL*Plus验证安装sqlplus sys/your_passwordORCL as sysdba SELECT * FROM v$version;5.3 常见问题解决方案ORA-12514: TNS监听程序错误lsnrctl status # 检查监听状态 tnsping ORCL # 测试连接中文乱码问题-- 查看当前字符集 SELECT * FROM nls_database_parameters WHERE parameter LIKE %CHARACTERSET%; -- 临时修改会话字符集 ALTER SESSION SET NLS_LANGUAGEAMERICAN NLS_TERRITORYAMERICA;EM Express访问问题# 查看端口 exec DBMS_XDB_CONFIG.getHttpsPort; # 修改端口如改为5501 exec DBMS_XDB_CONFIG.setHttpsPort(5501); commit;6. 生产环境建议安全加固措施修改默认用户密码SYS、SYSTEM等启用审计功能配置TDE透明数据加密性能优化方向-- 自动内存管理 ALTER SYSTEM SET memory_target8G SCOPESPFILE; -- 共享池大小 ALTER SYSTEM SET shared_pool_size2G SCOPESPFILE;备份策略示例RMANrman target / configure retention policy to recovery window of 7 days; configure controlfile autobackup on;对于需要频繁安装测试的场景建议使用Docker容器化方案。Oracle官方提供了19c的Docker镜像可大幅简化部署流程docker pull container-registry.oracle.com/database/enterprise:19.3.0.0实际安装过程中不同Linux发行版可能会遇到特有的依赖问题。例如在麒麟OS等国产系统上需要特别注意glibc版本的兼容性。建议先通过ldd $ORACLE_HOME/bin/oracle检查缺失的库文件。