在CentOS上安装Oracle 11g数据库是一个复杂但系统化的过程,本文将详细介绍如何在Centos操作系统上安装Oracle 11g数据库,包括环境准备、用户创建、依赖包安装、内核参数优化以及环境变量配置等步骤,以下是详细的安装指南:
一、准备工作
1、操作系统要求:确保你的CentOS 7系统是64位版本,并且具备足够的硬件资源(建议至少2核CPU、2GB内存、8GB硬盘空间)。

2、下载Oracle 11g安装包:从Oracle官网下载适用于Linux的Oracle 11g安装包(如p13390677_112040_Linuxx8664_1of7.zip和p13390677_112040_Linuxx8664_2of7.zip)。
3、上传工具:使用Xshell、Xftp或WinScp等工具将安装包上传到centos系统。
二、安装步骤
1、设置主机名和解析
- hostnamectl sethostname oracle
- echo "192.168.1.1 oracle" >> /etc/hosts
2、创建用户和用户组
- groupadd oinstall
- groupadd dba
- groupadd oper
- useradd g oinstall,dba,oper oracle
- echo "oracle" | passwd stdin oracle
3、创建安装目录并修改权限
- mkdir p /u01/app/oracle/product/11.2.0/db_1
- chown R oracle:oinstall /u01/app/oracle
- chmod R 775 /u01/app/oracle
4、关闭SELinux和防火墙

- vim /etc/selinux/config
- 修改SELINUX=disabled
- setenforce 0
- systemctl stop firewalld.service
- systemctl disable firewalld.service
5、安装必要的依赖包
- yum install y binutils compatlibstdc++33 elfutilslibelfdev gcc gccc++ glibc glibcdevel glibcheaders ksh libaio libaiodevel libgcc make sysstat unixODBC unixODBCdevel
6、优化内核参数
- vim /etc/sysctl.conf
- 添加以下内容:
- fs.filemax = 6815744
- kernel.shmall = 2097152
- kernel.shmmax = 1200000000
- 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
7、限制Oracle用户的shell权限
- vim /etc/security/limits.conf
- 添加以下内容:
- oracle soft nproc 2047
- oracle hard nproc 16384
- oracle soft nofile 1024
- oracle hard nofile 65536
8、配置Oracle用户环境变量
- su oracle
- vim ~/.bash_profile
- 添加以下内容:
- export ORACLE_BASE=/u01/app/oracle
- export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
- export ORACLE_SID=orcl
- export PATH=$PATH:$ORACLE_HOME/bin
- export LANG=en_US
- source ~/.bash_profile
9、解压并安装Oracle 11g
- unzip p13390677_112040_Linuxx8664_1of7.zip
- unzip p13390677_112040_Linuxx8664_2of7.zip
- cd database
- ./runInstaller silent responseFile /home/oracle/database/response/db_install.rsp ignorePrereq ignoreSysPrereqs
10、启动Oracle数据库并检查状态

- sqlplus /nolog
- connect / as sysdba
- startup
- select status from v$instance;
常见问题及解答(FAQs)
Q1: 如何更改Oracle 11g的监听端口数?
A1: 要更改Oracle 11g的监听端口数,你需要编辑listener.ora文件,通常位于$ORACLE_HOME/network/admin目录下,找到类似以下的配置:
- LISTENER =
- (DESCRIPTION_LIST =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = your_host)(PORT = your_port))
- )
- )
将your_port替换为你想要的端口号,然后保存文件并重启监听器:
- lsnrctl stop
- lsnrctl start
Q2: 如何卸载Oracle 11g for Linux?
A2: 卸载Oracle 11g for Linux涉及多个步骤,包括停止数据库、删除相关文件和目录、以及移除用户和组,以下是一个基本的卸载流程:
1、停止数据库和监听器
- sqlplus /nolog
- connect / as sysdba
- shutdown immediate
- lsnrctl stop
2、删除Oracle软件和目录:假设Oracle安装在/u01/app/oracle目录下。
- rm rf /u01/app/oracle
- rm rf /etc/oratab
- rm rf /var/opt/oracle
3、删除Oracle用户和组
- userdel r oracle
- groupdel oinstall
- groupdel dba
通过以上步骤,可以在CentOS上成功安装并配置Oracle 11g数据库,这些步骤涵盖了从环境准备到最终启动数据库的全过程,确保了每一步都准确无误,可以有效避免安装过程中常见的问题。