news 2026/5/16 0:46:05

【Oracle数据库指南】第47篇:Oracle 11g在Linux下的安装详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Oracle数据库指南】第47篇:Oracle 11g在Linux下的安装详解

上一篇【第46篇】Oracle内存与参数调优
下一篇【第48篇】Oracle 11g在Windows下的安装与配置


摘要

Linux是Oracle数据库最主要的生产部署平台,稳定性和性能均优于Windows。本文详细讲解Oracle 11g Release 2在Red Hat Enterprise Linux(RHEL)/CentOS 6/7系统上的完整安装过程:从系统需求检查、内核参数配置、用户组创建、环境变量设置,到OUI图形化安装、数据库实例创建,再到安装后的验证与基础配置。每个步骤均提供完整的命令和注意事项,可作为生产环境安装的操作手册。


一、安装前准备

1.1 系统要求

最低硬件要求(生产环境建议翻倍):

资源最低要求生产建议
内存(RAM)1 GB8 GB以上
交换分区1.5 × RAM(<=8G时)至少4 GB
/tmp空间1 GB5 GB
Oracle软件6.5 GBSSD优先
数据文件1.5 GB(初始)按业务规划

支持的Linux发行版(Oracle 11g R2):

  • Red Hat Enterprise Linux 4/5/6
  • Oracle Linux 4/5/6
  • SUSE Linux Enterprise Server 10/11
  • CentOS 5/6(社区支持)

1.2 检查系统信息

# 检查操作系统版本cat/etc/redhat-releaseuname-a# 检查内存和交换分区grepMemTotal /proc/meminfogrepSwapTotal /proc/meminfofree-h# 检查磁盘空间df-h# 检查/tmp空间df-h/tmp# 检查CPU信息grep"model name"/proc/cpuinfo|head-1nproc# CPU核数

1.3 安装依赖包

# 方式一:使用Oracle提供的预配置包(推荐RHEL/OEL)# Oracle Linux使用预配置包(自动处理所有依赖)yuminstalloracle-rdbms-server-11gR2-preinstall# 方式二:手动安装依赖包(CentOS/RHEL手动安装)yuminstall-y\binutils compat-libcap1 compat-libstdc++-33\gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel\libgcc libstdc++ libstdc++-devel libXi libXtst\makesysstat unixODBC unixODBC-devel# 验证安装(以libaio为例)rpm-qlibaio libaio-devel

二、内核参数配置

2.1 修改内核参数

# 编辑/etc/sysctl.conf,追加以下内容cat>>/etc/sysctl.conf<<'EOF' # Oracle 11g Required Settings fs.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 = 1048586 EOF# 立即生效sysctl-p# 验证参数sysctl-a|grepshmsysctl-a|grepsem

参数说明:

参数说明
kernel.shmmax最大共享内存段大小(字节),设为物理内存的50%
kernel.shmall系统共享内存总页数
kernel.sem信号量参数(semmsl semmns semopm semmni)
fs.file-max系统最大文件描述符数
fs.aio-max-nr最大异步I/O请求数

2.2 设置用户资源限制

# 编辑/etc/security/limits.confcat>>/etc/security/limits.conf<<'EOF' # Oracle User Limits oracle soft nofile 1024 oracle hard nofile 65536 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft stack 10240 oracle hard stack 32768 EOF# 验证limits是否生效(切换oracle用户后)ulimit-n# 文件描述符ulimit-u# 进程数

三、创建Oracle用户和目录

3.1 创建用户组和用户

# 创建用户组groupaddoinstall# Oracle主组(软件安装组)groupadddba# DBA组groupaddoper# 操作员组(可选)# 创建oracle用户useradd-goinstall-Gdba,oper-d/home/oracle-s/bin/bash oracle# 设置密码passwdoracle# 验证idoracle# 输出示例:uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba)

3.2 创建安装目录

Oracle推荐的OFA(Optimal Flexible Architecture)目录结构:

# 创建Oracle基目录(Optimal Flexible Architecture)mkdir-p/u01/app/oracle/product/11.2.0/dbhome_1mkdir-p/u01/app/oracle/oradatamkdir-p/u01/app/oracle/fast_recovery_areamkdir-p/u01/app/oracle/admin# 设置所有者和权限chown-Roracle:oinstall /u01chmod-R755/u01# 验证ls-la/u01/app/oracle/

目录说明:

目录说明
/u01/app/oracleORACLE_BASE:Oracle应用基目录
/u01/app/oracle/product/11.2.0/dbhome_1ORACLE_HOME:Oracle软件安装目录
/u01/app/oracle/oradata数据文件存储目录
/u01/app/oracle/fast_recovery_area快速恢复区(FRA)
/u01/app/oraInventoryOracle Inventory目录(全局)

四、配置Oracle用户环境变量

# 切换到oracle用户su- oracle# 编辑~/.bash_profile,添加Oracle环境变量cat>>~/.bash_profile<<'EOF' # Oracle Environment Variables export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_SID=orcl export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS' export LANG=en_US.UTF-8 EOF# 生效source~/.bash_profile# 验证echo$ORACLE_HOMEecho$ORACLE_SID

五、安装Oracle软件

5.1 解压安装文件

# Oracle 11g R2安装文件(两个zip包)# linux.x64_11gR2_database_1of2.zip# linux.x64_11gR2_database_2of2.zip# 解压(以oracle用户执行)unziplinux.x64_11gR2_database_1of2.zip-d/home/oracle/unziplinux.x64_11gR2_database_2of2.zip-d/home/oracle/# 解压后目录结构ls/home/oracle/database/# install/ response/ rpm/ runInstaller stage/

5.2 图形化安装(OUI)

前提:需要X11图形环境或VNC

# 方式一:本地图形界面安装exportDISPLAY=:0.0 xhost +local:oracle# 方式二:远程X11转发(SSH -X)ssh-Xoracle@server_ip# 启动安装程序cd/home/oracle/database ./runInstaller

OUI图形安装步骤:

  1. 安全更新配置:可取消勾选"接收安全更新"
  2. 安装选项:选择"仅安装数据库软件"(软件和数据库分步安装)
    • 或"创建并配置数据库"(一次性完成)
  3. Grid安装选项:选择"单实例数据库安装"
  4. 产品语言:添加"Simplified Chinese"(简体中文)
  5. 数据库版本:选择"企业版"
  6. 安装位置
    • Oracle Base:/u01/app/oracle
    • Software Location:/u01/app/oracle/product/11.2.0/dbhome_1
  7. 必要条件检查:修复所有FAILED项,WARNING项可忽略
  8. 执行Root脚本:安装接近完成时,以root用户执行提示的脚本

5.3 执行Root脚本

# 以root用户执行(OUI提示时)/u01/app/oraInventory/orainstRoot.sh /u01/app/oracle/product/11.2.0/dbhome_1/root.sh

5.4 静默安装(无图形界面)

# 编辑响应文件cp/home/oracle/database/response/db_install.rsp /home/oracle/db_install.rspvi/home/oracle/db_install.rsp# 关键配置项(修改这些项):# oracle.install.option=INSTALL_DB_SWONLY# ORACLE_HOSTNAME=your_hostname# UNIX_GROUP_NAME=oinstall# INVENTORY_LOCATION=/u01/app/oraInventory# ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1# ORACLE_BASE=/u01/app/oracle# oracle.install.db.InstallEdition=EE# oracle.install.db.DBA_GROUP=dba# oracle.install.db.OPER_GROUP=oper# DECLINE_SECURITY_UPDATES=true# 执行静默安装./runInstaller-silent-responseFile/home/oracle/db_install.rsp# 安装完成后执行root脚本/u01/app/oraInventory/orainstRoot.sh /u01/app/oracle/product/11.2.0/dbhome_1/root.sh

六、创建数据库

6.1 使用DBCA创建数据库

# 以oracle用户执行dbca

DBCA主要配置项:

  1. 数据库模板:选择"一般用途或事务处理"
  2. 数据库标识符
    • 全局数据库名(Global DB Name):orcl.example.com
    • SID:orcl
  3. 管理选项:配置Enterprise Manager(可选)
  4. 数据库身份证明:设置SYS、SYSTEM密码
  5. 存储选项:选择"文件系统"或"ASM"
  6. 数据库文件位置/u01/app/oracle/oradata/
  7. 快速恢复选项:启用归档,FRA路径/u01/app/oracle/fast_recovery_area/,大小20GB
  8. 数据库内容:可选择示例Schema(scott等)
  9. 初始化参数
    • 内存:选择自动内存管理,分配适当大小
    • 字符集:AL32UTF8(推荐,支持全语种)
    • 连接模式:专用服务器

6.2 静默创建数据库

dbca-silent\-createDatabase\-templateNameGeneral_Purpose.dbc\-gdbNameorcl\-sidorcl\-SysPasswordOracle123\-SystemPasswordOracle123\-characterSetAL32UTF8\-nationalCharacterSetAL16UTF16\-memoryPercentage30\-emConfigurationNONE\-datafileDestination/u01/app/oracle/oradata\-recoveryAreaDestination/u01/app/oracle/fast_recovery_area\-recoveryAreaSize20480\-sampleSchematrue

七、安装后配置

7.1 配置监听器(Listener)

# 使用netca创建监听器netca# 或者手动配置listener.oracat>$ORACLE_HOME/network/admin/listener.ora<<'EOF' LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = your_hostname)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) ADR_BASE_LISTENER = /u01/app/oracle EOF# 启动监听器lsnrctl start# 查看监听器状态lsnrctl status

7.2 配置tnsnames.ora(客户端连接)

cat>$ORACLE_HOME/network/admin/tnsnames.ora<<'EOF' ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = your_hostname)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) EOF# 测试连接tnsping orcl sqlplus system/Oracle123@orcl

7.3 设置开机自启动

# 编辑/etc/oratab(DBCA通常已自动更新)vi/etc/oratab# 将orcl条目的最后一个字段改为Y:# orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y# 创建dbstart/dbshut脚本的systemd服务(RHEL 7+)cat>/etc/systemd/system/oracle.service<<'EOF' [Unit] Description=Oracle Database Service After=network.target [Service] Type=forking User=oracle Group=oinstall ExecStart=/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart /u01/app/oracle/product/11.2.0/dbhome_1 ExecStop=/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbshut /u01/app/oracle/product/11.2.0/dbhome_1 RemainAfterExit=yes [Install] WantedBy=multi-user.target EOFsystemctlenableoracle systemctl start oracle

八、安装验证

# 验证数据库实例sqlplus / as sysdba SQL>SELECT status FROMv$instance;SQL>SELECT name, open_mode FROMv$database;SQL>SELECT tablespace_name, status FROM dba_tablespaces;# 验证监听器lsnrctl status# 检查数据库告警日志(最后50行)tail-50/u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log

九、常见安装问题

问题原因解决方案
依赖包缺失未安装prerequisite使用preinstall包或手动安装
/tmp空间不足OUI需要临时空间增大/tmp或设置TEMP变量
shmmax过小SGA无法分配计算正确值:kernel.shmmax>=SGA大小
ORA-00845AMM需要/dev/shmmount -t tmpfs smpfs /dev/shm -o size=4G
图形界面无法显示DISPLAY未设置设置DISPLAY变量或使用VNC
root.sh执行失败权限或路径问题以root用户在ORACLE_HOME下执行

十、总结

Linux下Oracle 11g安装的核心步骤:

  1. 系统检查:内存、磁盘、OS版本满足要求
  2. 内核调参:sysctl.conf和limits.conf是关键,不能跳过
  3. 用户规划:oracle用户、oinstall/dba组、目录权限要正确
  4. 环境变量:ORACLE_BASE、ORACLE_HOME、ORACLE_SID必须设置正确
  5. 软件安装:推荐图形化OUI,静默安装用于自动化部署
  6. 数据库创建:DBCA最简便,推荐AL32UTF8字符集
  7. 安装后:配置监听器、测试连接、设置自启动、检查告警日志

上一篇【第46篇】Oracle内存与参数调优
下一篇【第48篇】Oracle 11g在Windows下的安装与配置


参考资料

  • Oracle Database Installation Guide 11g Release 2 for Linux
  • Oracle Database Quick Installation Guide 11g Release 2 for Linux x86-64
  • Oracle MOS Note: Requirements for Installing Oracle 11gR2 on RHEL/CentOS
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/16 0:42:24

大模型低显存优化实战:量化、KV Cache与动态加载技术解析

1. 项目概述&#xff1a;低显存环境下的OpenClaw模型优化实战最近在GitHub上看到一个挺有意思的项目&#xff0c;标题是“openclaw-lowmem-optimization”。光看名字&#xff0c;就能猜到这大概是在做一件什么事&#xff1a;针对OpenClaw这个模型&#xff0c;进行低显存&#x…

作者头像 李华
网站建设 2026/5/16 0:42:21

Python 并发编程:多线程与多进程

Python 并发编程&#xff1a;多线程与多进程 1. 技术分析 1.1 并发编程概述 并发编程可以提升程序性能&#xff1a; 并发类型多线程: 共享内存&#xff0c;适合IO密集型多进程: 独立内存&#xff0c;适合CPU密集型异步IO: 事件驱动&#xff0c;适合高IO场景1.2 并发模型对比 模…

作者头像 李华
网站建设 2026/5/16 0:42:18

分布式内存技术:原理、应用与性能优化

1. 分布式内存技术概述在传统数据中心架构中&#xff0c;计算节点与内存资源采用紧耦合设计&#xff0c;每个计算节点配备固定容量的本地内存。这种架构存在明显的资源利用率问题——某些节点可能因内存不足而性能受限&#xff0c;而其他节点的内存却处于闲置状态。分布式内存技…

作者头像 李华
网站建设 2026/5/16 0:41:22

领域驱动设计(DDD)实战:构建清晰边界的企业级应用

领域驱动设计&#xff08;DDD&#xff09;实战&#xff1a;构建清晰边界的企业级应用 一、DDD概述 1.1 什么是DDD 领域驱动设计&#xff08;Domain-Driven Design&#xff0c;DDD&#xff09;是一种软件开发方法论&#xff0c;强调&#xff1a; 以业务领域为核心&#xff1a;将…

作者头像 李华
网站建设 2026/5/16 0:39:11

Python数据分析实战:线性回归与关联规则挖掘的完整工作流

1. 项目概述&#xff1a;当线性回归遇上关联规则挖掘最近在整理数据分析项目时&#xff0c;我经常遇到一个场景&#xff1a;既要预测未来的趋势&#xff0c;又要理解当下数据中隐藏的“共生”关系。比如&#xff0c;分析电商销售数据&#xff0c;我们既想知道下个季度的销售额&…

作者头像 李华