Linux系统详细安装Oracle 11g的具体操作步骤是怎样的?

在Linux系统上安装Oracle 11g数据库需要经过详细的环境准备、依赖安装、参数配置及安装执行等步骤,以下以CentOS 7.x为例,详细说明安装过程。

linux如何安装oracle11g

环境准备

操作系统要求

Oracle 11g官方支持Red Hat Enterprise Linux 5/6/7、CentOS 5/6/7等64位系统,确保系统为最小化安装+开发工具包,关闭防火墙和SELinux(避免权限冲突):

systemctl stop firewalld
systemctl disable firewalld
setenforce 0  # 临时关闭,永久修改需编辑/etc/selinux/config将SELINUX=disabled

硬件要求

  • 内存:至少1GB(推荐2GB以上),可通过free -m检查
  • 磁盘空间:至少5GB可用空间(数据库软件安装约3.5GB,数据文件需额外空间)
  • Swap空间:内存≤2GB时,Swap=2×内存;内存>2GB时,Swap=内存+2GB(可通过free -m查看,不足时使用dd if=/dev/zero of=/swapfile bs=1M count=2048 && mkswap /swapfile && swapon /swapfile临时增加)

主机名配置

确保主机名解析正确,编辑/etc/hosts添加:

168.1.100  localhost.localdomain  localhost  # 192.168.1.100为实际IP

安装依赖包

Oracle 11g安装需要大量基础依赖包,使用yum安装:

yum install -y binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

以下为关键依赖包作用说明(表格形式):

包名 作用
binutils 二进制工具集,用于链接和编译
compat-libstdc++-33 兼容旧版C++库
elfutils-libelf ELF文件处理库
gcc-c++ C++编译器
glibc-devel GNU C库开发文件
libaio-devel 异步I/O开发库
make 构建工具
unixODBC ODBC驱动管理器

配置内核参数

编辑/etc/sysctl.conf,添加以下参数(优化系统资源限制):

fs.aio-max-nr = 1048576
fs.file-max = 68719476736
kernel.shmall = 4294967296
kernel.shmmax = 68719476736
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

执行sysctl -p使参数生效,检查参数是否生效:sysctl -a | grep "fs.aio-max-nr"

创建Oracle用户和目录

创建用户和组

groupadd oinstall  # 安装组
groupadd dba      # 管理组
useradd -g oinstall -G dba oracle  # 创建oracle用户,加入oinstall和dba组
passwd oracle     # 设置oracle用户密码

创建安装目录

mkdir -p /oracle/app/oracle/product/11.2.0/dbhome_1  # 软件安装目录
mkdir -p /oracle/oradata  # 数据文件目录
mkdir -p /oracle/inventory  # 安装日志目录
chown -R oracle:oinstall /oracle  # 递归修改目录所有者
chmod -R 775 /oracle  # 设置权限

配置Oracle用户环境变量

切换至oracle用户:su - oracle,编辑.bash_profile文件:

linux如何安装oracle11g

export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl  # 实例名,可根据需求修改
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8  # 字符集,建议使用AL32UTF8

执行source .bash_profile使环境变量生效,验证:echo $ORACLE_HOME

上传并解压安装介质

将Oracle 11g安装介质(linux_11gR2_database_1of2.ziplinux_11gR2_database_2of2.zip)上传至Linux系统,建议上传至/opt目录:

cd /opt
unzip linux_11gR2_database_1of2.zip
unzip linux_11gR2_database_2of2.zip
chown -R oracle:oinstall database  # 修改安装目录所有者

执行安装

进入安装目录并运行安装程序

cd /opt/database
./runInstaller  # 需在图形界面执行,若为无图形系统,需配置X11转发(ssh -X oracle@localhost)

图形界面安装步骤

  • “选择安装选项”:选择“创建和配置数据库”,点击“下一步”

  • “系统类型”:选择“服务器类”,点击“下一步”

  • “网格安装选项”:选择“单实例数据库安装”,点击“下一步”

  • “安装类型”:选择“典型安装”,点击“下一步”

  • “典型安装配置”

    linux如何安装oracle11g

    • “Oracle基目录”:自动识别/oracle/app/oracle
    • “Oracle主目录位置”:自动识别/oracle/app/oracle/product/11.2.0/dbhome_1
    • “全局数据库名”:输入orcl(与ORACLE_SID一致)
    • “管理员密码”:设置sys、system用户密码(需包含字母、数字、特殊字符)
    • “创建数据库示例”:勾选
      点击“下一步”
  • “安装先决条件检查”:系统自动检查依赖和环境,若报错根据提示安装缺失包(如缺少libXext则执行yum install libXext.x86_64),检查通过后点击“下一步”
    **:确认安装信息,点击“完成”开始安装

执行root脚本

安装过程中会弹出终端提示,要求以root身份执行两个脚本:

# 第一个脚本(root.sh)
/oracle/app/oraInventory/orainstRoot.sh
# 第二个脚本(netca.sh)
/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh

执行完成后,点击“返回”继续安装,直至安装完成。

验证安装

启动数据库

sqlplus / as sysdba  # 以sysdba身份登录
SQL> startup  # 启动数据库
SQL> exit  # 退出

检查数据库状态

lsnrctl status  # 检查监听器状态(默认端口1521)
ps -ef | grep ora_  # 检查Oracle进程

若看到LISTENERPMONSMON等进程,且监听器状态为“READY”,则安装成功。

相关问答FAQs

问题1:安装过程中报错“PRVF-4608”无法检查系统要求怎么办?
解答:此错误通常因系统依赖包缺失或内核参数未生效导致,可按以下步骤解决:

  1. 检查依赖包是否完整:rpm -q binutils compat-libstdc++-33 gcc-c++ glibc-devel ksh libaio-devel libstdc++-devel make,缺失则通过yum安装;
  2. 确认内核参数是否生效:sysctl -a | grep "fs.aio-max-nr",若未生效,检查/etc/sysctl.conf文件格式是否正确,执行sysctl -p重新加载;
  3. 若仍报错,可临时禁用依赖检查:在安装界面点击“下一步”时,按“Ctrl+Shift”跳过检查(不推荐,仅用于测试环境)。

问题2:安装完成后如何启动和停止Oracle数据库?
解答:Oracle数据库可通过命令行或服务管理工具启动/停止,以下是常用命令:

  • 启动数据库
    sqlplus / as sysdba  # 登录
    SQL> startup  # 启动实例
    SQL> exit  # 退出
    lsnrctl start  # 启动监听器(若未自动启动)
  • 停止数据库
    sqlplus / as sysdba
    SQL> shutdown immediate  # 立即停止(推荐)
    SQL> exit
    lsnrctl stop  # 停止监听器
  • 开机自启配置:编辑/etc/oratab文件,将orcl:/oracle/app/oracle/product/11.2.0/dbhome_1:N改为orcl:/oracle/app/oracle/product/11.2.0/dbhome_1:Y,然后执行systemctl enable oracle(需提前创建oracle.service服务文件)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/31681.html

(0)
酷番叔酷番叔
上一篇 2025年9月28日 08:16
下一篇 2025年9月28日 08:41

相关推荐

  • 如何检查QLogic HBA驱动状态?

    Linux环境下光纤存储的配置与应用指南在Linux系统中配置光纤(Fibre Channel)存储是企业级应用的核心技能,涉及硬件连接、驱动管理、多路径配置等关键技术,本指南基于Linux内核原生工具和行业最佳实践,提供可落地的操作方案,硬件准备与基础概念硬件组件HBA卡(Host Bus Adapter……

    2025年6月14日
    11300
  • ARM设备运行Linux时如何安全退出?

    退出当前终端会话当需要结束命令行操作时:临时退出当前Shellexit或按快捷键 Ctrl + D效果:关闭当前终端窗口或返回上一级登录状态(不影响系统运行),终止正在运行的前台程序Ctrl + C # 强制终止当前进程退出图形界面(GUI)若设备运行桌面环境(如GNOME、KDE):通过系统菜单退出点击屏幕右……

    2025年7月26日
    10000
  • 死锁由哪四个条件引发?

    在Linux系统中,死锁(Deadlock)是多进程或多线程并发编程中的一种严重问题,指两个或多个执行单元因相互等待对方释放资源而永久阻塞的状态,它不仅会导致程序卡死,还可能引发系统资源耗尽,本文将详细讲解Linux下检测死锁的多种实用方法,帮助开发者和运维人员快速定位问题,在深入检测前,需理解死锁发生的条件……

    2025年6月15日
    11700
  • 如何在Win7系统下详细安装Linux系统的操作步骤呢?

    在Windows 7系统下安装Linux是一个常见的系统配置需求,无论是为了体验开源系统、开发环境搭建还是数据安全,都需要经过充分的准备和细致的操作,以下将详细介绍整个过程,涵盖前期准备、分区规划、安装步骤及后续问题排查,帮助用户顺利完成Linux系统的部署,安装前的准备工作在开始安装前,充分的准备工作能有效避……

    2025年9月29日
    10700
  • Linux中kill命令执行后无法退出,如何处理?

    在Linux系统中,kill命令是用于向进程发送信号的核心工具,其名称中的“kill”常被误解为仅用于“终止进程”,但实际上它本质上是“向进程发送信号”,而“终止”只是信号的一种结果(如默认的SIGTERM信号),用户提到的“linux如何退出kill”,可能涉及多种场景:误输入kill命令后如何取消执行、ki……

    2025年10月3日
    7400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信