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

相关推荐

  • 如何快速提升网站流量?

    cp命令用于复制文件或目录,支持递归复制目录内容(-r选项)及保留文件属性(-p选项),是Linux/Unix系统管理文件的基础工具。

    2025年7月9日
    4900
  • 熬夜真的会导致猝死吗?

    在Linux系统中,子进程的管理是进程控制的核心任务之一,正确关闭子进程不仅能释放系统资源,还能避免僵尸进程(Zombie Process)积累导致的内存泄漏和系统性能下降,本文将详细解释关闭子进程的四种方法、常见问题及最佳实践,为什么需要主动关闭子进程?资源释放:子进程退出后,内核会保留其退出状态(PID、退……

    2025年7月31日
    4300
  • Linux如何查看NAT映射规则?常用命令及操作方法有哪些?

    在Linux系统中,NAT(网络地址转换)是一种广泛使用的技术,主要用于实现内网主机通过单一公网IP访问互联网,或隐藏内网结构,查看NAT映射关系是网络管理和故障排查中的常见需求,本文将详细介绍Linux系统中查看NAT映射的多种方法,包括通过iptables、conntrack、ss、netstat等工具实现……

    2025年8月29日
    2900
  • linux vi如何新建

    Linux 中使用 vi 新建文件,可通过命令 vi 文件名,若文件不存在

    2025年8月14日
    3500
  • linux下如何正确退出mysql数据库?

    在Linux系统中操作MySQL数据库时,正确退出MySQL客户端是日常管理的基础操作,无论是通过命令行还是图形化工具,掌握多种退出方法能帮助用户在不同场景下高效完成操作,本文将详细介绍Linux环境下退出MySQL的常用方法、注意事项及异常处理技巧,并通过表格对比不同方式的特点,最后附上常见问题解答,MySQ……

    2025年9月9日
    2200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信