在Linux系统上安装Oracle 11g数据库需要经过详细的环境准备、依赖安装、参数配置及安装执行等步骤,以下以CentOS 7.x为例,详细说明安装过程。
环境准备
操作系统要求
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
文件:
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.zip
、linux_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)
图形界面安装步骤
-
“选择安装选项”:选择“创建和配置数据库”,点击“下一步”
-
“系统类型”:选择“服务器类”,点击“下一步”
-
“网格安装选项”:选择“单实例数据库安装”,点击“下一步”
-
“安装类型”:选择“典型安装”,点击“下一步”
-
“典型安装配置”:
- “Oracle基目录”:自动识别
/oracle/app/oracle
- “Oracle主目录位置”:自动识别
/oracle/app/oracle/product/11.2.0/dbhome_1
- “全局数据库名”:输入
orcl
(与ORACLE_SID一致) - “管理员密码”:设置sys、system用户密码(需包含字母、数字、特殊字符)
- “创建数据库示例”:勾选
点击“下一步”
- “Oracle基目录”:自动识别
-
“安装先决条件检查”:系统自动检查依赖和环境,若报错根据提示安装缺失包(如缺少
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进程
若看到LISTENER
、PMON
、SMON
等进程,且监听器状态为“READY”,则安装成功。
相关问答FAQs
问题1:安装过程中报错“PRVF-4608”无法检查系统要求怎么办?
解答:此错误通常因系统依赖包缺失或内核参数未生效导致,可按以下步骤解决:
- 检查依赖包是否完整:
rpm -q binutils compat-libstdc++-33 gcc-c++ glibc-devel ksh libaio-devel libstdc++-devel make
,缺失则通过yum安装; - 确认内核参数是否生效:
sysctl -a | grep "fs.aio-max-nr"
,若未生效,检查/etc/sysctl.conf
文件格式是否正确,执行sysctl -p
重新加载; - 若仍报错,可临时禁用依赖检查:在安装界面点击“下一步”时,按“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