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系统作为广泛使用的操作系统,其上网功能依赖于网络配置的正确性,无论是日常办公、服务器管理还是开发环境,稳定的网络连接都是基础,本文将从基础原理到实际操作,详细讲解Linux系统如何实现上网,涵盖有线连接、无线连接、移动网络共享、代理设置及故障排查等内容,帮助用户全面掌握Linux上网配置方法,Linu……

    2025年8月25日
    10400
  • 如何轻松快速提升网站流量?

    使用 basename 命令(推荐)功能:从完整路径中提取文件名(含扩展名)或移除扩展名,语法:basename [路径] [后缀] # 后缀用于移除扩展名示例:提取文件名(含扩展名)basename /home/user/docs/report.txt # 输出:report.txt移除扩展名basename……

    2025年7月19日
    10300
  • 如何正确使用 sudo 命令?

    在Linux系统中,root用户拥有最高权限,可执行所有操作(包括修改系统文件、安装软件等),但滥用root权限可能导致系统崩溃或安全风险,因此需谨慎操作,以下是几种以root身份执行命令的方法,每种方法均附使用场景和注意事项:sudo(Super User Do)允许授权用户临时以root权限执行命令,无需切……

    2025年6月13日
    11100
  • linux中如何清除屏幕

    Linux中,可使用快捷键Ctrl + L或执行命令clear来清除屏幕

    2025年8月17日
    11200
  • Linux下C语言如何高效编程?

    环境准备安装编译器Linux默认不安装C编译器,需手动安装GCC(GNU Compiler Collection):sudo apt update && sudo apt install gcc # Debian/Ubuntusudo dnf install gcc # Fedora/CentO……

    2025年7月7日
    14000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信