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

相关推荐

  • Linux系统编译内核的完整流程、工具准备、步骤及注意事项有哪些?

    在Linux系统中编译内核是一项高级操作,通常用于定制系统功能、优化性能或修复内核漏洞,虽然过程相对复杂,但遵循详细步骤可以顺利完成,以下是完整的内核编译流程,从准备工作到最终测试,涵盖关键环节和注意事项,准备工作编译内核前需确保系统环境满足要求,避免中途因依赖或资源不足失败,备份数据内核编译涉及系统核心组件……

    2025年10月6日
    7000
  • 如何获取linux的ip

    Linux中,可通过ifconfig或ip addr

    2025年8月16日
    8200
  • Linux下USB设备如何正确连接与使用?

    Linux系统对USB设备的支持非常完善,从内核驱动到用户空间工具,提供了便捷的使用方式,无论是U盘、鼠标、键盘,还是USB网卡、打印机等设备,Linux都能自动或手动识别并管理,下面详细介绍Linux下USB设备的使用方法,USB设备在Linux中的表示方式在Linux中,USB设备通过多个层次进行表示,主要……

    2025年8月24日
    7000
  • 怎样正确重启电脑避免伤害关机流程?

    如何安全重启虚拟机中的 Linux 系统重启虚拟机中的 Linux 是运维中的常见操作,但不当操作可能导致数据丢失或服务中断,以下是详细步骤和最佳实践:重启前的关键准备保存工作关闭所有运行中的程序(如编辑器、数据库连接),使用 Ctrl+S 保存文件,避免未保存数据丢失,检查用户活动执行 w 或 who 命令查……

    2025年7月31日
    8700
  • linux如何执行c文件路径

    Linux中,使用gcc编译C文件后,通过./执行可执行文件,`.

    2025年8月17日
    8000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信