在CentOS 7.6离线环境中部署Oracle 19c单实例数据库全指南对于许多企业级应用场景而言Oracle数据库仍然是关键业务系统的首选。然而在严格的内网隔离环境或安全合规要求下传统的在线安装方式往往无法实施。本文将详细介绍如何在CentOS 7.6系统中完全离线部署Oracle 19c单实例数据库的完整流程包括依赖包获取、系统配置优化和安装后的关键验证步骤。1. 环境准备与系统配置离线环境下的Oracle部署首先需要解决的是依赖包问题。与在线安装不同所有必需的软件包都必须预先下载并准备好。以下是完整的准备工作清单系统资源要求内存至少4GB推荐8GB以上交换空间建议为物理内存的1.5-2倍磁盘空间根目录至少50GB/u01目录建议分配100GB以上操作系统CentOS 7.6最小化安装关键依赖包列表compat-libstdc-33-3.2.3 elfutils-libelf-devel glibc-devel libaio-devel unixODBC-devel ksh libXp注意这些依赖包需要从官方源下载并制作成离线仓库或直接从已配置相同环境的系统中复制。系统内核参数优化 编辑/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.rmem_max 4194304 net.core.wmem_default 262144 net.core.wmem_max 1048576执行sysctl -p使配置生效。2. 离线Yum仓库配置在没有互联网连接的环境中配置本地Yum仓库是解决依赖问题的关键步骤挂载CentOS安装ISO镜像mkdir -p /mnt/cdrom mount -o loop /path/to/CentOS-7-x86_64-Everything-1810.iso /mnt/cdrom创建本地repo文件cat /etc/yum.repos.d/local.repo EOF [local] nameLocal CentOS Repository baseurlfile:///mnt/cdrom gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 enabled1 EOF清理并重建Yum缓存yum clean all yum makecache验证仓库可用性yum repolist enabled3. Oracle用户与环境配置Oracle数据库需要专用的操作系统用户和组以下是配置步骤创建必要的用户和组groupadd -g 54321 oinstall groupadd -g 54322 dba groupadd -g 54323 oper useradd -u 54321 -g oinstall -G dba,oper oracle passwd oracle创建Oracle目录结构并设置权限mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1 chown -R oracle:oinstall /u01 chmod -R 775 /u01配置Oracle用户环境变量 编辑~oracle/.bash_profile文件添加以下内容export ORACLE_BASE/u01/app/oracle export ORACLE_HOME$ORACLE_BASE/product/19.3.0/dbhome_1 export ORACLE_SIDorcl export PATH$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH$ORACLE_HOME/lib:/usr/lib export NLS_LANGAMERICAN_AMERICA.AL32UTF8执行source ~oracle/.bash_profile使配置生效。4. 数据库软件安装准备好Oracle 19c安装包后按照以下步骤进行安装解压安装包到ORACLE_HOME目录cd $ORACLE_HOME unzip LINUX.X64_193000_db_home.zip启动安装程序./runInstaller -ignorePrereq -waitforcompletion -silent \ -responseFile $ORACLE_HOME/install/response/db_install.rsp \ oracle.install.optionINSTALL_DB_SWONLY \ UNIX_GROUP_NAMEoinstall \ INVENTORY_LOCATION/u01/app/oraInventory \ ORACLE_HOME$ORACLE_HOME \ ORACLE_BASE$ORACLE_BASE \ oracle.install.db.InstallEditionEE \ oracle.install.db.OSDBA_GROUPdba \ oracle.install.db.OSOPER_GROUPoper \ oracle.install.db.OSBACKUPDBA_GROUPdba \ oracle.install.db.OSDGDBA_GROUPdba \ oracle.install.db.OSKMDBA_GROUPdba \ oracle.install.db.OSRACDBA_GROUPdba \ SECURITY_UPDATES_VIA_MYORACLESUPPORTfalse \ DECLINE_SECURITY_UPDATEStrue执行root脚本 安装完成后以root用户执行以下脚本/u01/app/oraInventory/orainstRoot.sh /u01/app/oracle/product/19.3.0/dbhome_1/root.sh5. 数据库创建与配置使用DBCA工具创建数据库实例准备响应文件模板cp $ORACLE_HOME/assistants/dbca/dbca.rsp /tmp/dbca.rsp编辑响应文件关键参数responseFileVersion/oracle/assistants/rspfmt_dbca_response_schema_v19.0.0 gdbNameorcl sidorcl databaseConfigTypeSI policyManagedfalse createServerPoolfalse createAsContainerDatabasefalse numberOfPDBs0 useLocalUndoForPDBstrue templateNameGeneral_Purpose.dbc sysPasswordOracle123 systemPasswordOracle123 characterSetAL32UTF8 nationalCharacterSetAL16UTF16 initParamsdb_recovery_file_dest_size10G,processes1000 sampleSchemafalse memoryPercentage40 databaseTypeMULTIPURPOSE automaticMemoryManagementtrue totalMemory4096以静默方式创建数据库dbca -silent -createDatabase -responseFile /tmp/dbca.rsp6. 网络服务配置配置监听器服务以允许客户端连接创建监听器netca -silent -responseFile $ORACLE_HOME/assistants/netca/netca.rsp验证监听状态lsnrctl status配置TNS条目 编辑$ORACLE_HOME/network/admin/tnsnames.ora文件ORCL (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST localhost)(PORT 1521)) (CONNECT_DATA (SERVER DEDICATED) (SERVICE_NAME orcl) ) )7. 数据库验证与基础操作完成安装后执行以下验证步骤连接数据库验证sqlplus sys/Oracle123orcl as sysdba检查数据库状态SELECT instance_name, status, database_status FROM v$instance; SELECT name, open_mode FROM v$database;常用管理命令-- 启动数据库 STARTUP -- 关闭数据库 SHUTDOWN IMMEDIATE -- 查看表空间 SELECT tablespace_name, status, contents FROM dba_tablespaces;8. 常见问题解决在离线环境中安装Oracle可能会遇到以下问题依赖包缺失症状安装前检查失败提示缺少特定包解决方案从其他相同系统环境中获取rpm包手动安装rpm -ivh compat-libstdc-33-3.2.3-72.el7.x86_64.rpm内存不足症状安装过程中出现内存相关错误解决方案调整交换空间大小dd if/dev/zero of/swapfile bs1M count8192 mkswap /swapfile swapon /swapfile空间不足症状安装过程中提示磁盘空间不足解决方案清理临时文件或扩展磁盘空间yum clean all rm -rf /tmp/*在实际部署中根据具体硬件配置和应用需求可能还需要调整更多的数据库参数和系统配置。建议在正式环境部署前在测试环境中充分验证所有配置。
在CentOS 7.6上从零搭建Oracle 19c单实例数据库(附离线依赖包下载)
在CentOS 7.6离线环境中部署Oracle 19c单实例数据库全指南对于许多企业级应用场景而言Oracle数据库仍然是关键业务系统的首选。然而在严格的内网隔离环境或安全合规要求下传统的在线安装方式往往无法实施。本文将详细介绍如何在CentOS 7.6系统中完全离线部署Oracle 19c单实例数据库的完整流程包括依赖包获取、系统配置优化和安装后的关键验证步骤。1. 环境准备与系统配置离线环境下的Oracle部署首先需要解决的是依赖包问题。与在线安装不同所有必需的软件包都必须预先下载并准备好。以下是完整的准备工作清单系统资源要求内存至少4GB推荐8GB以上交换空间建议为物理内存的1.5-2倍磁盘空间根目录至少50GB/u01目录建议分配100GB以上操作系统CentOS 7.6最小化安装关键依赖包列表compat-libstdc-33-3.2.3 elfutils-libelf-devel glibc-devel libaio-devel unixODBC-devel ksh libXp注意这些依赖包需要从官方源下载并制作成离线仓库或直接从已配置相同环境的系统中复制。系统内核参数优化 编辑/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.rmem_max 4194304 net.core.wmem_default 262144 net.core.wmem_max 1048576执行sysctl -p使配置生效。2. 离线Yum仓库配置在没有互联网连接的环境中配置本地Yum仓库是解决依赖问题的关键步骤挂载CentOS安装ISO镜像mkdir -p /mnt/cdrom mount -o loop /path/to/CentOS-7-x86_64-Everything-1810.iso /mnt/cdrom创建本地repo文件cat /etc/yum.repos.d/local.repo EOF [local] nameLocal CentOS Repository baseurlfile:///mnt/cdrom gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 enabled1 EOF清理并重建Yum缓存yum clean all yum makecache验证仓库可用性yum repolist enabled3. Oracle用户与环境配置Oracle数据库需要专用的操作系统用户和组以下是配置步骤创建必要的用户和组groupadd -g 54321 oinstall groupadd -g 54322 dba groupadd -g 54323 oper useradd -u 54321 -g oinstall -G dba,oper oracle passwd oracle创建Oracle目录结构并设置权限mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1 chown -R oracle:oinstall /u01 chmod -R 775 /u01配置Oracle用户环境变量 编辑~oracle/.bash_profile文件添加以下内容export ORACLE_BASE/u01/app/oracle export ORACLE_HOME$ORACLE_BASE/product/19.3.0/dbhome_1 export ORACLE_SIDorcl export PATH$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH$ORACLE_HOME/lib:/usr/lib export NLS_LANGAMERICAN_AMERICA.AL32UTF8执行source ~oracle/.bash_profile使配置生效。4. 数据库软件安装准备好Oracle 19c安装包后按照以下步骤进行安装解压安装包到ORACLE_HOME目录cd $ORACLE_HOME unzip LINUX.X64_193000_db_home.zip启动安装程序./runInstaller -ignorePrereq -waitforcompletion -silent \ -responseFile $ORACLE_HOME/install/response/db_install.rsp \ oracle.install.optionINSTALL_DB_SWONLY \ UNIX_GROUP_NAMEoinstall \ INVENTORY_LOCATION/u01/app/oraInventory \ ORACLE_HOME$ORACLE_HOME \ ORACLE_BASE$ORACLE_BASE \ oracle.install.db.InstallEditionEE \ oracle.install.db.OSDBA_GROUPdba \ oracle.install.db.OSOPER_GROUPoper \ oracle.install.db.OSBACKUPDBA_GROUPdba \ oracle.install.db.OSDGDBA_GROUPdba \ oracle.install.db.OSKMDBA_GROUPdba \ oracle.install.db.OSRACDBA_GROUPdba \ SECURITY_UPDATES_VIA_MYORACLESUPPORTfalse \ DECLINE_SECURITY_UPDATEStrue执行root脚本 安装完成后以root用户执行以下脚本/u01/app/oraInventory/orainstRoot.sh /u01/app/oracle/product/19.3.0/dbhome_1/root.sh5. 数据库创建与配置使用DBCA工具创建数据库实例准备响应文件模板cp $ORACLE_HOME/assistants/dbca/dbca.rsp /tmp/dbca.rsp编辑响应文件关键参数responseFileVersion/oracle/assistants/rspfmt_dbca_response_schema_v19.0.0 gdbNameorcl sidorcl databaseConfigTypeSI policyManagedfalse createServerPoolfalse createAsContainerDatabasefalse numberOfPDBs0 useLocalUndoForPDBstrue templateNameGeneral_Purpose.dbc sysPasswordOracle123 systemPasswordOracle123 characterSetAL32UTF8 nationalCharacterSetAL16UTF16 initParamsdb_recovery_file_dest_size10G,processes1000 sampleSchemafalse memoryPercentage40 databaseTypeMULTIPURPOSE automaticMemoryManagementtrue totalMemory4096以静默方式创建数据库dbca -silent -createDatabase -responseFile /tmp/dbca.rsp6. 网络服务配置配置监听器服务以允许客户端连接创建监听器netca -silent -responseFile $ORACLE_HOME/assistants/netca/netca.rsp验证监听状态lsnrctl status配置TNS条目 编辑$ORACLE_HOME/network/admin/tnsnames.ora文件ORCL (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST localhost)(PORT 1521)) (CONNECT_DATA (SERVER DEDICATED) (SERVICE_NAME orcl) ) )7. 数据库验证与基础操作完成安装后执行以下验证步骤连接数据库验证sqlplus sys/Oracle123orcl as sysdba检查数据库状态SELECT instance_name, status, database_status FROM v$instance; SELECT name, open_mode FROM v$database;常用管理命令-- 启动数据库 STARTUP -- 关闭数据库 SHUTDOWN IMMEDIATE -- 查看表空间 SELECT tablespace_name, status, contents FROM dba_tablespaces;8. 常见问题解决在离线环境中安装Oracle可能会遇到以下问题依赖包缺失症状安装前检查失败提示缺少特定包解决方案从其他相同系统环境中获取rpm包手动安装rpm -ivh compat-libstdc-33-3.2.3-72.el7.x86_64.rpm内存不足症状安装过程中出现内存相关错误解决方案调整交换空间大小dd if/dev/zero of/swapfile bs1M count8192 mkswap /swapfile swapon /swapfile空间不足症状安装过程中提示磁盘空间不足解决方案清理临时文件或扩展磁盘空间yum clean all rm -rf /tmp/*在实际部署中根据具体硬件配置和应用需求可能还需要调整更多的数据库参数和系统配置。建议在正式环境部署前在测试环境中充分验证所有配置。