Oracle Linux 7.8 静默安装 Oracle 11g R2 单机 ASM 详细教程

Oracle Linux 7.8 静默安装 Oracle 11g R2 单机 ASM 笔记


一、系统环境准备
  1. 操作系统要求

    • Oracle Linux 7.8 x86_64(内核:3.10.0-1127.el7.x86_64)
    • 内存:≥ 4GB(推荐 8GB)
    • 交换空间:≥ 8GB
    • 磁盘空间:
      • /tmp ≥ 1GB
      • Grid 安装目录:≥ 10GB
      • Oracle 安装目录:≥ 10GB
      • ASM 磁盘:≥ 20GB(推荐 3 块磁盘)
  2. 配置主机名和解析

    bash 复制代码
    hostnamectl set-hostname ol7-ora11g
    echo "192.168.1.100 ol7-ora11g" >> /etc/hosts
  3. 禁用 SELinux 和防火墙

    bash 复制代码
    setenforce 0
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
    systemctl stop firewalld
    systemctl disable firewalld
  4. 安装依赖包

    bash 复制代码
    yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel \
    ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat \
    unixODBC unixODBC-devel elfutils-libelf-devel

二、创建用户和组
bash 复制代码
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 asmadmin
groupadd -g 54325 asmdba
groupadd -g 54326 asmoper

useradd -u 54321 -g oinstall -G dba,asmdba,oper oracle
useradd -u 54322 -g oinstall -G asmadmin,asmdba,asmoper,dba grid

echo "oracle:oracle" | chpasswd
echo "grid:grid" | chpasswd

三、内核参数优化

编辑 /etc/sysctl.conf

conf 复制代码
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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

应用配置:

bash 复制代码
sysctl -p

四、资源限制配置

编辑 /etc/security/limits.conf

conf 复制代码
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768

grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768

五、禁用透明大页(THP)
  1. 编辑 /etc/default/grub

    conf 复制代码
    GRUB_CMDLINE_LINUX="... transparent_hugepage=never"
  2. 更新 GRUB:

    bash 复制代码
    grub2-mkconfig -o /boot/grub2/grub.cfg
    reboot
  3. 验证:

    bash 复制代码
    cat /sys/kernel/mm/transparent_hugepage/enabled
    # 输出:[never] ...

六、配置 ASM 磁盘
  1. 准备磁盘(示例:/dev/sdb, /dev/sdc)

    bash 复制代码
    fdisk /dev/sdb  # 创建分区(n → p → 1 → 回车 → t → 8e → w)
    fdisk /dev/sdc  # 同上
  2. 配置 UDEV 规则
    创建 /etc/udev/rules.d/99-oracle-asm.rules

    rules 复制代码
    KERNEL=="sdb1", OWNER="grid", GROUP="asmadmin", MODE="0660"
    KERNEL=="sdc1", OWNER="grid", GROUP="asmadmin", MODE="0660"

    生效配置:

    bash 复制代码
    udevadm control --reload-rules
    udevadm trigger

七、目录结构规划
bash 复制代码
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oraInventory
chown -R grid:oinstall /u01/app/grid /u01/app/oraInventory
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app

八、上传并解压安装包
  1. 上传文件到 /opt

    • linux.x64_11gR2_grid.zip
    • linux.x64_11gR2_database_*.zip
  2. 解压文件

    bash 复制代码
    unzip linux.x64_11gR2_grid.zip -d /opt/grid
    unzip linux.x64_11gR2_database_1of2.zip -d /opt/database
    unzip linux.x64_11gR2_database_2of2.zip -d /opt/database
    chown -R grid:oinstall /opt/grid
    chown -R oracle:oinstall /opt/database

九、配置响应文件
  1. Grid 响应文件 (/opt/grid/grid.rsp)

    properties 复制代码
    oracle.install.responseFileVersion=/oracle/install/rspfmt_gridinstall_response_schema_v11_2_0
    INVENTORY_LOCATION=/u01/app/oraInventory
    SELECTED_LANGUAGES=en
    oracle.install.option=HA_CONFIG
    ORACLE_BASE=/u01/app/grid
    ORACLE_HOME=/u01/app/11.2.0/grid
    oracle.install.asm.OSDBA=asmdba
    oracle.install.asm.OSOPER=asmoper
    oracle.install.asm.OSASM=asmadmin
    oracle.install.crs.config.ClusterType=STANDALONE
    oracle.install.asm.SYSASMPassword=Oracle123
    oracle.install.asm.diskGroup.name=DATA
    oracle.install.asm.diskGroup.redundancy=EXTERNAL
    oracle.install.asm.diskGroup.AUSize=1
    oracle.install.asm.diskGroup.disks=/dev/sdb1,/dev/sdc1
    oracle.install.asm.diskGroup.diskDiscoveryString=/dev/sd*
    oracle.install.asm.monitorPassword=Oracle123
  2. DB 响应文件 (/opt/database/db.rsp)

    properties 复制代码
    oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
    oracle.install.option=INSTALL_DB_SWONLY
    UNIX_GROUP_NAME=oinstall
    INVENTORY_LOCATION=/u01/app/oraInventory
    SELECTED_LANGUAGES=en
    ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_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

十、静默安装 Grid Infrastructure
  1. 以 grid 用户运行

    bash 复制代码
    su - grid
    cd /opt/grid
    ./runInstaller -silent -responseFile /opt/grid/grid.rsp -ignorePrereq
  2. 执行 root 脚本

    bash 复制代码
    /u01/app/oraInventory/orainstRoot.sh
    /u01/app/11.2.0/grid/root.sh
  3. 验证 ASM 实例

    bash 复制代码
    export ORACLE_SID=+ASM
    sqlplus / as sysasm
    SQL> SELECT name, state FROM v$asm_diskgroup;

十一、静默安装 Oracle 数据库软件
  1. 以 oracle 用户运行

    bash 复制代码
    su - oracle
    cd /opt/database
    ./runInstaller -silent -responseFile /opt/database/db.rsp -ignorePrereq
  2. 执行 root 脚本

    bash 复制代码
    /u01/app/oracle/product/11.2.0/db_1/root.sh

十二、创建数据库(使用 DBCA)
  1. 准备 DBCA 响应文件 (/opt/database/dbca.rsp)

    properties 复制代码
    responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v11_2_0
    gdbName=orcl
    sid=orcl
    templateName=General_Purpose.dbc
    sysPassword=Oracle123
    systemPassword=Oracle123
    characterSet=AL32UTF8
    memoryPercentage=40
    databaseType=MULTIPURPOSE
    storageType=ASM
    diskGroupName=DATA
    recoveryGroupName=DATA
  2. 静默创建数据库

    bash 复制代码
    dbca -silent -responseFile /opt/database/dbca.rsp
  3. 验证数据库

    bash 复制代码
    sqlplus / as sysdba
    SQL> SELECT name, open_mode FROM v$database;

十三、配置环境变量
  1. grid 用户 (~grid/.bash_profile)

    bash 复制代码
    export ORACLE_HOME=/u01/app/11.2.0/grid
    export ORACLE_SID=+ASM
    export PATH=$PATH:$ORACLE_HOME/bin
  2. oracle 用户 (~oracle/.bash_profile)

    bash 复制代码
    export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
    export ORACLE_SID=orcl
    export PATH=$PATH:$ORACLE_HOME/bin

十四、验证安装
bash 复制代码
# 检查 ASM 实例
crsctl check has
sqlplus / as sysasm
SELECT * FROM v$asm_diskgroup;

# 检查数据库
lsnrctl status
sqlplus / as sysdba
SELECT * FROM v$version;

常见问题解决
  1. 磁盘权限问题

    bash 复制代码
    chown grid:asmadmin /dev/sd[b-c]1
  2. ORA-00845 错误
    确保 /dev/shm 大小 ≥ 内存设置:

    bash 复制代码
    mount -t tmpfs shmfs -o size=4g /dev/shm
  3. 安装日志路径

    • Grid: /u01/app/oraInventory/logs/installActions_*.log
    • DB: /u01/app/oracle/oraInventory/logs/installActions_*.log
相关推荐
嘘神秘用7 小时前
布:AI 驱动的 Redis 客户端,更快、更直观
数据库·人工智能·redis
东北小狐狸-Hellxz9 小时前
Redis 哨兵搭建+ACL权限控制
数据库·redis
研究员子楚10 小时前
GEO行业发展标准体系白皮书V2.0-第09卷 · 适配篇:硅基主权伦理宪章与行业适配宣言
数据库·人工智能·geo
l1340620823511 小时前
鸿蒙实战:RDB 数据库设计与 DatabaseService
数据库·华为·harmonyos·鸿蒙系统
山峰哥11 小时前
数据库工程与索引策略实战指南‌
服务器·数据库·sql·oracle·深度优先
谙忆11 小时前
图片版权保护工程实战:明水印、盲水印(DCT隐写)、Referer防盗链与签名URL怎么落地
数据库
KaMeidebaby12 小时前
卡梅德生物技术快报|抗体合成:多肽抗体合成工程化方案:Nsp2 保守肽多抗制备与多维度验证
前端·网络·数据库·人工智能·算法
xfhuangfu12 小时前
19c CDB架构下的数据库启动和停止
数据库·架构
神道君天下12 小时前
填充与积累:积分与面积的可视化
数据库·oracle
爱折腾的小黑牛12 小时前
小程序云开发数据模型设计:礼账系统的三表结构
数据库·架构