《Redhat Linux 下安装Oracle 11g R2》
在Linux系统中部署Oracle数据库是企业级应用中常见的需求,Redhat Enterprise Linux(RHEL)作为稳定可靠的服务器操作系统,与Oracle 11g R2的结合能够提供高性能的数据库服务。本文将详细介绍在RHEL 6/7环境下安装Oracle 11g R2的完整流程,涵盖系统准备、依赖安装、配置优化及数据库创建等关键步骤。
一、安装前系统准备
1.1 硬件要求验证
Oracle 11g R2对硬件有明确要求:物理内存至少2GB(建议4GB以上),交换空间为内存的1.5-2倍,临时目录空间至少1GB。使用以下命令检查:
free -h # 查看内存
grep MemTotal /proc/meminfo # 精确内存大小
df -h /tmp # 检查临时目录空间
1.2 操作系统版本确认
确保使用RHEL 6或7的64位版本,通过以下命令验证:
cat /etc/redhat-release
uname -m # 应显示x86_64
1.3 创建Oracle用户组和用户
创建dba、oinstall组及oracle用户:
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle # 设置密码
二、系统参数配置
2.1 内核参数调整
编辑/etc/sysctl.conf文件,添加以下参数(示例值):
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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
2.2 用户限制配置
编辑/etc/security/limits.conf,添加:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
2.3 依赖包安装
安装必要软件包(RHEL 7示例):
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
三、Oracle安装文件准备
3.1 文件上传与解压
将Oracle安装包上传至服务器,执行解压:
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
3.2 响应文件配置(可选)
复制响应文件模板并编辑:
cd database/response
cp db_install.rsp db_install.rsp.bak
vi db_install.rsp
关键参数修改示例:
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
DECLINE_SECURITY_UPDATES=true
四、图形界面安装
4.1 启动安装程序
切换至oracle用户,设置显示环境:
export DISPLAY=本地IP:0.0
xhost +
执行安装命令:
cd /path/to/database
./runInstaller -silent -responseFile /path/to/db_install.rsp # 静默安装
# 或
./runInstaller # 图形界面安装
4.2 安装过程监控
图形界面安装会显示进度条,静默安装可通过日志查看:
tail -f /u01/app/oraInventory/logs/installActions*.log
4.3 执行配置脚本
安装完成后,以root用户执行提示的脚本:
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
五、数据库创建
5.1 使用DBCA创建数据库
dbca
在图形界面中选择"创建数据库",配置以下参数:
- 数据库类型:一般用途
- 全局数据库名:ORCL
- SID:ORCL
- 字符集:AL32UTF8
- 存储类型:文件系统
- 启用归档模式(可选)
5.2 静默创建数据库(可选)
创建响应文件dbca.rsp,关键参数:
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "ORCL"
SID = "ORCL"
TEMPLATENAME = "General_Purpose.dbc"
SYSPASSWORD = "密码"
SYSTEMPASSWORD = "密码"
EMCONFIGURATION = "DBEXPRESS"
CHARACTERSET = "AL32UTF8"
NATIONALCHARACTERSET = "AL16UTF16"
DATABASETYPE = "MULTIPURPOSE"
执行命令:
dbca -silent -responseFile /path/to/dbca.rsp
六、安装后验证
6.1 服务状态检查
ps -ef | grep pmon # 应显示ora_pmon_ORCL进程
lsnrctl status # 监听器状态
6.2 连接测试
sqlplus / as sysdba
SQL> select status from v$instance;
SQL> select name,open_mode from v$database;
6.3 常见问题处理
问题1:ORA-12547: TNS:lost contact
解决方案:检查ORACLE_HOME/bin目录权限,确保oracle用户有执行权限。
问题2:ins_ctx.mk错误
解决方案:安装libaio-devel包,或设置环境变量:
export LD_LIBRARY_PATH=/usr/lib:$ORACLE_HOME/lib
七、环境变量配置
编辑oracle用户的~/.bash_profile文件:
export ORACLE_BASE=/u01/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
应用配置:
source ~/.bash_profile
八、自动启动配置
8.1 创建systemd服务(RHEL 7)
创建/etc/systemd/system/oracle-rdbms.service文件:
[Unit]
Description=Oracle Database Service
After=network.target
[Service]
Type=forking
Environment="ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1"
Environment="ORACLE_SID=ORCL"
User=oracle
Group=oinstall
ExecStart=/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart $ORACLE_HOME
ExecStop=/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbshut $ORACLE_HOME
TimeoutSec=0
[Install]
WantedBy=multi-user.target
启用服务:
systemctl daemon-reload
systemctl enable oracle-rdbms
systemctl start oracle-rdbms
九、备份与维护建议
9.1 定期备份策略
使用RMAN进行全库备份示例:
rman target /
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
9.2 监控脚本示例
创建/home/oracle/check_db.sh脚本:
#!/bin/bash
STATUS=$(sqlplus -S / as sysdba
关键词:Redhat Linux、Oracle 11g R2、数据库安装、系统配置、依赖包、响应文件、DBCA、环境变量、systemd服务、RMAN备份
简介:本文详细阐述了在Redhat Enterprise Linux 6/7系统上安装Oracle 11g R2数据库的完整流程,包括系统要求验证、内核参数调整、依赖软件安装、图形化/静默安装方式、数据库创建方法、安装后验证及自动启动配置等关键步骤,并提供了常见问题解决方案和基础维护建议,适合DBA及Linux系统管理员参考实施。