恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
Oracle 11g 11.2.0.4 最终版安装全流程:从依赖检查到建库验证的详细步骤
首页
资讯中心
/
Oracle 11g 11.2.0.4 最终版安装全流程:从依赖检查到建库验证的详细步骤
Oracle 11g 11.2.0.4 最终版安装全流程:从依赖检查到建库验证的详细步骤
发布时间:2026/9/26 0:26:26
1. Oracle 11g 11.2.0.4 安装前必须搞清楚的几件事Oracle 11g 11.2.0.4 是 11g 系列最后一个补丁集版本很多老业务系统、ERP、报表平台至今仍跑在这个版本上。它是什么一句话Oracle 11gR2 的终极稳定版官方补丁支持周期最长兼容性最好。能做什么支撑单实例、DataGuard、RAC 等部署形态。适合谁需要在 Linux 上部署遗留系统、做数据迁移验证、或者维护老项目的 DBA 和运维同学。我试过在 CentOS 7 和 RHEL 6 上反复装这个版本踩过的坑集中在三块内核参数没配对导致安装器直接退出、依赖包缺失让 link 阶段报错、以及图形界面转发失败卡在第一步。这篇把从依赖检查到建库验证的完整链路拆开每一步都给可复制的命令和响应文件骨架你照着走一遍基本能一次过。需要说明的是11.2.0.4 的安装介质官方已不再公开下载你需要提前准备好p13390677_112040_Linux-x86-64_1of7.zip和2of7.zip两个包解压后合并成database目录。下面所有操作默认你用 root 做系统层配置用 oracle 用户做安装层操作。2. 环境预检与依赖包检查2.1 确认系统版本与内存交换分区先看系统底子内存建议不低于 2GB交换分区按内存 1.5 倍给cat /etc/redhat-release free -m df -h /tmp/tmp至少要有 1GB 空间否则安装器解压临时文件会失败。如果/tmp偏小可以临时挂一块mount -t tmpfs -o size2G tmpfs /tmp2.2 安装依赖包11.2.0.4 对 32 位兼容库有硬依赖缺一个就会在 link 阶段报undefined reference。用 yum 批量装最省事yum install -y binutils compat-libstdc-33 elfutils-libelf elfutils-libelf-devel \ gcc gcc-c glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel \ libgcc libstdc libstdc-devel make sysstat unixODBC unixODBC-devel libXp装完做一次核对下面这条命令会把已装和缺失的包一起列出来rpm -q --queryformat %{NAME}-%{VERSION}-%{RELEASE}(%{ARCH})\n \ binutils compat-libstdc-33 elfutils-libelf gcc gcc-c glibc glibc-common \ glibc-devel ksh libaio libaio-devel libgcc libstdc libstdc-devel make \ sysstat unixODBC unixODBC-devel输出里出现not installed的单独补装。注意compat-libstdc-33在部分新源里已下架需要手动找 rpm 包rpm -ivh --nodeps装上。2.3 内核参数配置编辑/etc/sysctl.conf追加以下内容。kernel.shmmax建议设为物理内存的一半单位字节下面示例按 16GB 内存给cat /etc/sysctl.conf EOF # Oracle 11g 11.2.0.4 fs.aio-max-nr 1048576 fs.file-max 6815744 kernel.shmall 4294967296 kernel.shmmax 8589934592 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 EOF sysctl -pkernel.shmall是共享内存总页数shmmax是单段最大值两者配合不好会出现ORA-27102: out of memory。改完用ipcs -l确认生效。2.4 用户、组与资源限制创建三个标准组和 oracle 用户groupadd oinstall groupadd dba groupadd oper useradd -g oinstall -G dba,oper oracle passwd oracle编辑/etc/security/limits.conf追加oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240再确认/etc/pam.d/login里有这一行没有就加上session required pam_limits.so2.5 目录规划按 OFA 规范建目录ORACLE_BASE和ORACLE_HOME分开mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1 mkdir -p /u01/app/oraInventory chown -R oracle:oinstall /u01 chmod -R 775 /u013. 静默安装响应文件与配置骨架3.1 配置 oracle 用户环境变量切换到 oracle 用户编辑~/.bash_profileexport ORACLE_BASE/u01/app/oracle export ORACLE_HOME$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_SIDorcl export PATH$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH$ORACLE_HOME/lib export NLS_LANGAMERICAN_AMERICA.AL32UTF8 export EDITORvi umask 022source ~/.bash_profile生效后用echo $ORACLE_HOME确认路径无误。3.2 数据库软件静默安装响应文件在database/response目录下复制模板改名为db_install.rsp关键项如下oracle.install.optionINSTALL_DB_SWONLY ORACLE_HOSTNAMEorcltest UNIX_GROUP_NAMEoinstall INVENTORY_LOCATION/u01/app/oraInventory SELECTED_LANGUAGESen,zh_CN ORACLE_HOME/u01/app/oracle/product/11.2.0/dbhome_1 ORACLE_BASE/u01/app/oracle oracle.install.db.InstallEditionEE oracle.install.db.DBA_GROUPdba oracle.install.db.OPER_GROUPoper oracle.install.db.config.starterdb.typeGENERAL_PURPOSE SECURITY_UPDATES_VIA_MYORACLESUPPORTfalse DECLINE_SECURITY_UPDATEStrueDECLINE_SECURITY_UPDATEStrue必须显式写否则静默安装会卡在更新检查。3.3 建库响应文件骨架复制dbca.rsp模板改名为dbca_create.rsp核心参数GDBNAMEorcl SIDorcl SYSPASSWORDOracle123 SYSTEMPASSWORDOracle123 CHARACTERSETAL32UTF8 NATIONALCHARACTERSETAL16UTF16 TOTALMEMORY4096 SAMPLESCHEMAtrue密码要满足复杂度否则 dbca 会静默失败。TOTALMEMORY按实际内存的 60% 到 70% 给。4. 执行安装与连通性验证4.1 静默安装数据库软件用 oracle 用户进入解压后的 database 目录cd /soft/database ./runInstaller -silent -ignorePrereq -responseFile /soft/database/response/db_install.rsp安装过程中会提示你以 root 执行两个脚本按提示操作sh /u01/app/oraInventory/orainstRoot.sh sh /u01/app/oracle/product/11.2.0/dbhome_1/root.shroot.sh执行时会问local bin directory直接回车用默认/usr/local/bin。4.2 静默建库dbca -silent -createDatabase -responseFile /soft/database/response/dbca_create.rsp建库耗时取决于磁盘SSD 上通常 5 到 10 分钟。完成后检查实例状态sqlplus / as sysdba SQL select instance_name,status from v$instance; SQL select name,open_mode from v$database;正常应返回OPEN和READ WRITE。4.3 监听配置与连通性验证用 netca 静默配置监听netca -silent -responseFile /soft/database/response/netca.rsp lsnrctl status看到LISTENER状态为READY即可。然后从客户端或本机用服务名连一次sqlplus system/Oracle123orcl SQL select sysdate from dual;能返回当前日期说明实例、监听、服务名解析全链路通了。5. 本篇常见报错排查5.1 安装器报 64 位系统检测失败报错You are attempting to install 64-bit Oracle on a 32-bit operating system实际系统是 64 位。这是runInstaller脚本里LONG_BIT检测逻辑误判编辑脚本注释掉exit 126那行即可vim /soft/database/runInstaller # 找到 exit 126; 前面加 #5.2 xhost: unable to display图形转发失败时先确认 DISPLAY 变量和 xhost 权限export DISPLAY:1.0 xdpyinfo | head xhost 如果xdpyinfo能输出一堆信息说明 X 服务正常问题在 DISPLAY 地址写错。用:1.0而不是IP:1.0往往能绕过。5.3 ORA-27102 out of memory共享内存参数不匹配。检查kernel.shmmax是否小于SGA_MAX_SIZE以及kernel.shmall是否够大。临时调大后sysctl -p再重启实例。5.4 监听起不来或端口占用lsnrctl start报TNS-12547时先看 1521 是否被占netstat -tlnp | grep 1521被占就改listener.ora里的端口或者杀掉占用进程。6. 安装完成后的收尾与后续接入实例跑起来后建议立刻做两件事一是把归档和闪回打开二是配置开机自启。归档参数这样设SQL alter system set log_archive_dest_1location/u01/app/oracle/arch scopespfile; SQL alter system set db_recovery_file_dest_size20G scopespfile; SQL alter system set db_recovery_file_dest/u01/app/oracle/fast_recovery_area scopespfile; SQL shutdown immediate SQL startup mount SQL alter database archivelog; SQL alter database flashback on; SQL alter database open;如果你后续要把这套库接到应用侧做联调或者需要统一管理多个实例的连接凭据可以走 API 网关的方式做一层转发和鉴权。TaoToken 的 API Keys 管理页在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里面有完整的鉴权和调用示例。需要先验证模型或接口连通性的话模型对话入口在 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentchatutm_campaignrewrite 。长期跑编码任务或 Agent 场景Coding Plan 的说明在 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 控制台在 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 。最后提醒一句11.2.0.4 的root.sh执行完会写/etc/oratab把里面的N改成Y配合dbstart和dbshut就能做开机自启。改完记得用crontab -e加一条reboot任务验证一次别等到下次重启才发现没生效。