ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Oracle 11gR2 11.2.0.4 分卷安装全指南:Linux ZIP 拼接与静默部署

Oracle 11gR2 11.2.0.4 分卷安装全指南:Linux ZIP 拼接与静默部署 简介本资源为Oracle Database 11g Release 211.2.0.4官方Linux x86-64平台安装介质专为数据库管理员、运维工程师及Oracle认证学习者提供生产级部署支持。该版本是Oracle 11g系列的长期稳定更新版兼容主流CentOS/RHEL 6.x/7.x系统适用于本地搭建开发测试环境、升级迁移验证及OCP备考实操。资源共3018个文件以.pm/.pl脚本、.so动态库、.jar工具包、.sh安装脚本、.xml配置模板及大量语言/时区如tokyo、moscow、kolkata等相关资源为主完整包含runInstaller、deinstall、cvu_config等核心安装与校验组件体现Oracle典型分层架构设计。压缩包总大小113.98MB已由7个ZIP分卷组成必须全部下载并置于同一目录下统一解压方可使用。目前已有1710人学习下载可直接用于静默安装、响应文件定制、字符集与时区初始化配置等关键操作是构建合规Oracle 11gR2环境的可靠基础镜像。1. Oracle 11gR2 安装包p13390677_112040_Linux-x86-64_7of7.zip到底是什么它不是“随便解压就能装”的压缩包而是 Oracle 数据库企业级部署中必须按序拼接、校验完整、严格匹配补丁链的第七个分卷安装介质——专为 x86-64 架构 Linux 系统设计对应官方发布的 11.2.0.4 版本即 Oracle Database 11g Release 2 的最后一个关键更新版本。这个文件名里的7of7不是噱头而是硬性约束少一个分卷runInstaller就会卡在“Checking operating system requirements”阶段报PRVF-0001错误解压顺序错一位unzip会直接提示invalid zip file而若你把它当成独立安装包去chmod x ./runInstaller大概率连图形界面都拉不起来——因为缺少stage/目录下由前6个分卷共同构建的完整介质树。它面向的是需要长期稳定运行、兼容老系统如 RHEL 6/CentOS 6、且无法升级到 12c 的生产环境运维工程师和 DBA不是给新手练手的“绿色版”。如果你正卡在“下载了7个zip但安装失败”或“解压后找不到 database/install/ 下的 response 文件”这篇笔记就是为你写的血泪复盘。2. 拆包、拼接与介质完整性验证从 7 个 ZIP 到可执行安装树Oracle 官方对 11gR2 11.2.0.4 的 Linux-x86-64 安装包采用分卷压缩策略共 7 个 ZIP 文件1of7至7of7每个约 1.1–1.3 GB。它们不是独立压缩包而是ZIP 分卷归档split archive必须按序合并后才能被unzip正确识别为单一逻辑文件。常见错误是逐个解压——这会导致database/目录结构残缺、stage/子目录缺失、response/模板丢失最终runInstaller启动时因找不到install/unix.rsp或stage/products.jar而崩溃。2.1 按序合并 ZIP 分卷用 cat 还是 unzip -s选对命令决定成败Linux 下处理 ZIP 分卷最可靠的方式是用cat拼接后统一解压而非依赖unzip的-s参数该参数在部分旧版 unzip 中不可靠且易忽略校验。操作路径必须干净建议新建专用目录mkdir -p /opt/oracle_install_media cd /opt/oracle_install_media # 假设7个ZIP已下载至当前目录文件名严格匹配官方命名 # p13390677_112040_Linux-x86-64_1of7.zip # p13390677_112040_Linux-x86-64_2of7.zip # ... # p13390677_112040_Linux-x86-64_7of7.zip # 关键按数字顺序拼接不能用通配符 *避免乱序 cat p13390677_112040_Linux-x86-64_1of7.zip \ p13390677_112040_Linux-x86-64_2of7.zip \ p13390677_112040_Linux-x86-64_3of7.zip \ p13390677_112040_Linux-x86-64_4of7.zip \ p13390677_112040_Linux-x86-64_5of7.zip \ p13390677_112040_Linux-x86-64_6of7.zip \ p13390677_112040_Linux-x86-64_7of7.zip full_media.zip提示cat拼接是二进制追加不解析 ZIP 结构因此顺序绝对关键。曾有同事用ls *.zip | xargs cat full.zip导致3of7排在1of7前解压后database/stage/目录为空runInstaller报java.lang.NoClassDefFoundError: oracle/sysman/emSDK/emd/base/emdBase——本质是products.jar损坏。拼接完成后不要直接解压。先验证 ZIP 完整性unzip -t full_media.zip | grep -i OK # 应输出 7 行类似 testing: database/... OK # 若出现 error 或 broken立即停止检查拼接顺序或源文件 MD52.2 解压并校验介质树确认database/目录具备完整安装能力验证通过后解压到空目录强烈建议非/tmp因解压后约 4.2 GBunzip full_media.zip -d ./media_root # 解压后应得到 ./media_root/database/ 目录 ls -l ./media_root/database/ # 正常输出必须包含 # drwxr-xr-x. 3 oracle oinstall 4096 ... install/ # drwxr-xr-x. 3 oracle oinstall 4096 ... response/ # drwxr-xr-x. 3 oracle oinstall 4096 ... stage/ # -rwxr-xr-x. 1 oracle oinstall 123 ... runInstaller # -rwxr-xr-x. 1 oracle oinstall 456 ... sshsetup/最关键的校验点有三个./media_root/database/response/下必须存在db_install.rsp、netca.rsp、dbca.rsp三个模板文件。这是静默安装的基石缺失任一将导致./runInstaller -silent -responseFile ...直接退出。./media_root/database/stage/products.jar文件大小应在 180–190 MB 之间实测 187,234,560 字节。此文件是 OUIOracle Universal Installer的元数据核心损坏会导致安装界面空白或PRVF-0001。./media_root/database/install/orainst.unix必须可执行且属主为oracle。这是 Oracle Inventory 目录注册脚本权限错误会引发ORA-00600: internal error code, arguments: [kghfrempty:0]。若发现response/为空大概率是分卷未全下载尤其1of7和7of7易被漏若products.jar仅几 MB说明拼接时某分卷损坏需重新下载对应编号 ZIP。3. 安装前强制检查绕过 OUI 图形陷阱的 5 项 Linux 系统预检Oracle 11gR2 对 Linux 内核、库、内核参数的要求极为苛刻OUIrunInstaller的预检Prerequisite Checks看似自动实则藏坑极深。很多“安装卡在 Checking operating system requirements” 的问题根源不在介质而在系统配置未达 Oracle 官方白名单阈值。以下检查必须手动执行、逐条验证不能依赖 OUI 自动跳过。3.1 内核与发行版兼容性RHEL/CentOS 6 是黄金搭档7 是玄学雷区Oracle 11.2.0.4 官方支持矩阵明确列出✅RHEL 6.x / CentOS 6.xx86-64—— 全功能支持内核2.6.32-xxx⚠️RHEL 7.x / CentOS 7.x—— 仅限“技术预览”Technology Preview需手动关闭SELINUX并修改kernel.sem且root.sh执行后监听端口可能异常❌RHEL 8/CentOS 8 / AlmaLinux/Rocky 8—— 官方不支持runInstaller会直接报PRVF-0001: failed to check OS requirements并终止验证命令# 查看发行版与内核 cat /etc/redhat-release # 应输出 CentOS release 6.10 (Final) 或类似 uname -r # 应输出 2.6.32-754.el6.x86_64 类似格式 # 若为 3.10.0-xxxRHEL7内核需准备额外补丁注意网上流传的“修改/etc/redhat-release伪装成 RHEL6” 是高危操作会导致root.sh执行时oraenv脚本加载失败实例无法启动。3.2 内核参数与资源限制kernel.shmmax必须 ≥ 4GB否则 DBCA 创建库必跪Oracle 安装要求共享内存段Shared Memory足够大kernel.shmmax设置过小会导致dbca在创建数据库时卡在 “Creating and starting Oracle instance” 阶段日志/u01/app/oracle/cfgtoollogs/dbca/DB_NAME/trace.log中反复出现ORA-27123: unable to attach to shared memory segment。正确设置以 8GB 物理内存为例# 临时生效重启失效 echo kernel.shmmax 4294967296 /etc/sysctl.conf echo kernel.shmall 1048576 /etc/sysctl.conf echo fs.file-max 6815744 /etc/sysctl.conf echo net.ipv4.ip_local_port_range 9000 65500 /etc/sysctl.conf echo net.core.rmem_default 262144 /etc/sysctl.conf echo net.core.wmem_default 262144 /etc/sysctl.conf /sbin/sysctl -p # 验证 sysctl kernel.shmmax # 输出应为 4294967296同时检查用户资源限制/etc/security/limits.conf# 添加以下四行oracle 用户名需与实际一致 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft nproc 16384 oracle hard nproc 16384玄学经验nproc进程数限制若低于 16384dbca在调用srvctl时会报PRCR-1079: Failed to start resource ora.DB_NAME.db但日志里找不到直接线索只能靠排除法。4. 避坑安装过程中最常踩的 4 个致命错误与根治方案安装 Oracle 11gR2 不是线性流程而是多线程、跨用户、依赖内核模块的复杂操作。以下错误出现频率极高且网上答案多为“重启重试”实则各有精准解法。4.1 错误现象runInstaller启动后黑屏或报Could not initialize class sun.awt.X11GraphicsEnvironment原因OUI 默认启用图形界面但服务器无 X Server 或 DISPLAY 未配置。即使加-ignoreSysPrereqs也无法绕过 AWT 初始化。解决强制使用静默模式Silent Mode彻底规避 GUI 依赖# 创建响应文件基于 template cp ./media_root/database/response/db_install.rsp /tmp/db_install.rsp # 修改关键参数vi /tmp/db_install.rsp # oracle.install.optionINSTALL_DB_SWONLY # ORACLE_HOSTNAMElocalhost # UNIX_GROUP_NAMEoinstall # INVENTORY_LOCATION/u01/app/oraInventory # SELECTED_LANGUAGESen,zh_CN # ORACLE_HOME/u01/app/oracle/product/11.2.0/db_1 # ORACLE_BASE/u01/app/oracle # oracle.install.db.InstallEditionEE # oracle.install.db.isCustomInstallfalse # oracle.install.db.DBA_GROUPdba # oracle.install.db.OPER_GROUPoper # oracle.install.db.config.starterdb.typeGENERAL_PURPOSE # oracle.install.db.config.starterdb.globalDBNameorcl # oracle.install.db.config.starterdb.SIDorcl # oracle.install.db.config.starterdb.memoryLimit1024 # 执行静默安装 ./media_root/database/runInstaller -silent -responseFile /tmp/db_install.rsp -ignorePrereq -waitforcompletion4.2 错误现象root.sh执行时报Failed to create keys in the Oracle home或PRVF-0001原因root.sh需要读取/etc/oraInst.loc并写入/u01/app/oraInventory/ContentsXML/inventory.xml若oraInventory目录权限为755默认root用户无法写入。解决安装前手动修正权限mkdir -p /u01/app/oraInventory chown -R root:oinstall /u01/app/oraInventory chmod -R 775 /u01/app/oraInventory # 确保 /etc/oraInst.loc 存在且内容为 # inventory_loc/u01/app/oraInventory # inst_groupoinstall4.3 错误现象dbca创建数据库后sqlplus / as sysdba报ORA-01034: ORACLE not available原因监听器Listener未启动或tnsnames.ora中HOST指向localhost但/etc/hosts未映射127.0.0.1 localhost。解决# 检查 hosts grep 127.0.0.1.*localhost /etc/hosts || echo 127.0.0.1 localhost /etc/hosts # 启动监听器 $ORACLE_HOME/bin/lsnrctl start # 检查状态 $ORACLE_HOME/bin/lsnrctl status # 若显示 No services, 手动注册 sqlplus / as sysdba EOF ALTER SYSTEM REGISTER; EXIT EOF4.4 错误现象安装完成但emctl start dbconsole报OC4J Configuration issue. /u01/app/oracle/product/11.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_... not found原因Oracle Enterprise Manager Database ControlDB Console在 11.2.0.4 中默认禁用且emca工具需额外配置。解决启用 DB Console非必需但满足老系统监控需求# 设置环境变量 export ORACLE_SIDorcl export ORACLE_HOME/u01/app/oracle/product/11.2.0/db_1 # 重建 EM Repository $ORACLE_HOME/bin/emca -config dbcontrol db -repos create # 输入 SYS 口令、DBSNMP 口令、SYSMAN 口令三者可相同 # 启动 $ORACLE_HOME/bin/emctl start dbconsole # 访问 https://server_ip:1158/em5. 静默安装全流程从介质解压到数据库就绪的 12 步可复现脚本把前面所有环节串成一条无交互、可审计、可重复的流水线。以下脚本经 CentOS 6.10 11.2.0.4 实测全程无需人工干预除密码输入外。#!/bin/bash # save as install_oracle_11g.sh, run as root set -e # Step 1: 准备目录与用户 groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle echo oracle:password123 | chpasswd mkdir -p /u01/app/oracle/product/11.2.0/db_1 /u01/app/oracle/cfgtoollogs /u01/app/oraInventory chown -R oracle:oinstall /u01/app chmod -R 775 /u01/app # Step 2: 拼接 ZIP假设7个文件在 /root/media/ cd /root/media cat p13390677_112040_Linux-x86-64_1of7.zip \ p13390677_112040_Linux-x86-64_2of7.zip \ p13390677_112040_Linux-x86-64_3of7.zip \ p13390677_112040_Linux-x86-64_4of7.zip \ p13390677_112040_Linux-x86-64_5of7.zip \ p13390677_112040_Linux-x86-64_6of7.zip \ p13390677_112040_Linux-x86-64_7of7.zip full.zip unzip -q full.zip -d /tmp/oracle_media # Step 3: 内核参数与 limits echo kernel.shmmax 4294967296 /etc/sysctl.conf echo kernel.shmall 1048576 /etc/sysctl.conf echo fs.file-max 6815744 /etc/sysctl.conf echo net.ipv4.ip_local_port_range 9000 65500 /etc/sysctl.conf /sbin/sysctl -p echo oracle soft nofile 1024 /etc/security/limits.conf echo oracle hard nofile 65536 /etc/security/limits.conf echo oracle soft nproc 16384 /etc/security/limits.conf echo oracle hard nproc 16384 /etc/security/limits.conf # Step 4: 创建响应文件 cp /tmp/oracle_media/database/response/db_install.rsp /tmp/db.rsp sed -i s/^oracle\.install\.option.*$/oracle.install.optionINSTALL_DB_SWONLY/ /tmp/db.rsp sed -i s/^ORACLE_HOSTNAME.*$/ORACLE_HOSTNAMElocalhost/ /tmp/db.rsp sed -i s/^UNIX_GROUP_NAME.*$/UNIX_GROUP_NAMEoinstall/ /tmp/db.rsp sed -i s/^INVENTORY_LOCATION.*$/INVENTORY_LOCATION\/u01\/app\/oraInventory/ /tmp/db.rsp sed -i s/^SELECTED_LANGUAGES.*$/SELECTED_LANGUAGESen,zh_CN/ /tmp/db.rsp sed -i s/^ORACLE_HOME.*$/ORACLE_HOME\/u01\/app\/oracle\/product\/11.2.0\/db_1/ /tmp/db.rsp sed -i s/^ORACLE_BASE.*$/ORACLE_BASE\/u01\/app\/oracle/ /tmp/db.rsp sed -i s/^oracle\.install\.db\.InstallEdition.*$/oracle.install.db.InstallEditionEE/ /tmp/db.rsp sed -i s/^oracle\.install\.db\.isCustomInstall.*$/oracle.install.db.isCustomInstallfalse/ /tmp/db.rsp sed -i s/^oracle\.install\.db\.DBA_GROUP.*$/oracle.install.db.DBA_GROUPdba/ /tmp/db.rsp sed -i s/^oracle\.install\.db\.OPER_GROUP.*$/oracle.install.db.OPER_GROUPoper/ /tmp/db.rsp # Step 5: 静默安装 su - oracle -c /tmp/oracle_media/database/runInstaller -silent -responseFile /tmp/db.rsp -ignorePrereq -waitforcompletion # Step 6: 执行 root.sh /u01/app/oraInventory/orainstRoot.sh /u01/app/oracle/product/11.2.0/db_1/root.sh # Step 7: 配置环境变量 echo export ORACLE_BASE/u01/app/oracle /home/oracle/.bash_profile echo export ORACLE_HOME/u01/app/oracle/product/11.2.0/db_1 /home/oracle/.bash_profile echo export ORACLE_SIDorcl /home/oracle/.bash_profile echo export PATH\$ORACLE_HOME/bin:\$PATH /home/oracle/.bash_profile su - oracle -c source ~/.bash_profile # Step 8: 创建数据库 su - oracle -c cp /tmp/oracle_media/database/response/dbca.rsp /tmp/dbca.rsp sed -i s/^responseFileVersion.*$/responseFileVersion/oracle/assistants/dbca/response/dbca.rsp/ /tmp/dbca.rsp sed -i s/^operation.*$/operation\createDatabase\/ /tmp/dbca.rsp sed -i s/^gdbName.*$/gdbNameorcl/ /tmp/dbca.rsp sed -i s/^sid.*$/sidorcl/ /tmp/dbca.rsp sed -i s/^templateName.*$/templateName\General_Purpose.dbc\/ /tmp/dbca.rsp sed -i s/^datafileDestination.*$/datafileDestination\\/u01\/app\/oracle\/oradata\/ /tmp/dbca.rsp sed -i s/^recoveryAreaDestination.*$/recoveryAreaDestination\\/u01\/app\/oracle\/fast_recovery_area\/ /tmp/dbca.rsp sed -i s/^storageType.*$/storageTypeFILE_SYSTEM_STORAGE/ /tmp/dbca.rsp sed -i s/^characterSet.*$/characterSet\AL32UTF8\/ /tmp/dbca.rsp sed -i s/^totalMemory.*$/totalMemory1024/ /tmp/dbca.rsp su - oracle -c $ORACLE_HOME/bin/dbca -silent -responseFile /tmp/dbca.rsp # Step 9: 启动监听器 su - oracle -c $ORACLE_HOME/bin/lsnrctl start # Step 10: 验证连接 su - oracle -c sqlplus / as sysdba EOF SELECT status FROM v\$instance; EXIT EOF # Step 11: 创建 EM可选 su - oracle -c $ORACLE_HOME/bin/emca -config dbcontrol db -repos create -silent -sysPassword password123 -sysmanPassword password123 -dbPassword password123 # Step 12: 开机自启添加到 /etc/rc.local echo # Oracle auto-start /etc/rc.local echo su - oracle -c $ORACLE_HOME/bin/lsnrctl start /etc/rc.local echo su - oracle -c $ORACLE_HOME/bin/dbstart $ORACLE_HOME /etc/rc.local血泪经验dbca静默创建数据库时若totalMemory设为20482GB在 4GB 内存机器上极易触发ORA-27102: out of memory必须降至1024emca的-silent参数必须配合-sysPassword等显式密码否则卡在交互式输入。我曾在凌晨三点反复重装三次就因为totalMemory多写了 1024希望帮到你。本文还有配套的精品资源点击获取
返回列表