在CentOS 7上安装Oracle 11g是一项复杂且详细的任务,需要多个步骤来确保成功,以下是一个完整的安装指南,包括每一步的详细操作和注意事项。
安装前的准备工作
1. 系统准备
关闭防火墙:
systemctl stop firewalld.service systemctl disable firewalld.service
禁用SELinux:
编辑/etc/selinux/config
文件,将SELINUX=enforcing
改为SELINUX=disabled
,然后重启系统。
修改系统标识:
Oracle默认不支持CentOS系统安装,需要将系统标识修改为RedHat。
vi /etc/redhatrelease
修改内容为:
RedHat Enterprise Linux Server release 7.0 (Maipo)
2. 创建用户和组
创建用户组:
groupadd oinstall groupadd dba groupadd oper
创建用户并设置密码:
useradd g oinstall G dba,oper oracle passwd oracle
3. 创建安装目录并设置权限
创建安装目录:
mkdir p /home/app/oracle/product/11.2.0/db_1 chown R oracle:oinstall /home/app chmod R 775 /home/app
创建其他目录:
mkdir p /usr/oracle chown R oracle:oinstall /usr/oracle chmod R 755 /usr/oracle
安装依赖包
4. 配置YUM源
由于CentOS 7官方YUM源已经停止维护,需要手动修改阿里镜像源。
vi /etc/yum.repos.d/CentOSBase.repo
添加以下内容:
[base] name=CentOS$releaseverBase baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpmgig/RPMGPGKEYCentOS7 [updates] name=CentOS$releaseverUpdates baseurl=https://mirrors.aliyun.com/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpmgig/RPMGPGKEYCentOS7
更新YUM源:
yum clean all yum makecache
5. 安装必要的软件包
yum y install binutils compatlibstdc++33 glibc glibcdevel ksh libaio libaiodevel libXi libXtst make sysstat unixODBC unixODBCdevel
配置内核参数
6. 优化内核参数
编辑/etc/sysctl.conf
文件,添加以下内容:
fs.aiomaxnr = 1048576 fs.filemax = 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
使参数生效:
sysctl p
配置用户限制和环境变量
7. 配置用户限制
编辑/etc/security/limits.conf
文件,添加以下内容:
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
编辑/etc/pam.d/login
文件,添加以下内容:
session required pam_limits.so
使参数生效:
source /etc/profile
8. 配置Oracle用户环境变量
编辑~oracle/.bash_profile
文件,添加以下内容:
export ORACLE_BASE=/home/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export ORACLE_SID=orcl export PATH=$PATH:$ORACLE_HOME/bin export ORACLE_TERM=xterm export LANG=en_US.UTF8 > /dev/null 2>&1
刷新环境变量:
source ~/.bash_profile
安装Oracle数据库
9. 下载并解压Oracle安装包
从Oracle官网下载Oracle 11g R2的安装包,并将其上传到服务器的/usr/local/src
目录下,解压安装包:
tar zxvf linux_11gR2_database_1of2.zip C /home/oracle/database tar zxvf linux_11gR2_database_2of2.zip C /home/oracle/database
10. 运行安装程序
切换到oracle
用户,运行安装程序:
su oracle cd /home/oracle/database ./runInstaller
根据安装向导的提示完成安装,注意选择“企业版”并设置全局环境和SID。
配置监听器和服务启动脚本
11. 配置监听器
使用netca
工具配置监听器:
netca silent responseFile /home/oracle/response/netca.rsp
编辑监听配置文件/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
正确,启动监听器:
lsnrctl start
检查监听状态:
lsnrctl status
12. 创建数据库实例
使用dbca
工具创建数据库实例:
dbca silent createDatabase responseFile /home/oracle/response/dbca.rsp
编辑响应文件dbca.rsp
正确,启动数据库实例:
sqlplus / as sysdba startup
检查数据库状态:
select status from v$instance;
常见问题及解答(FAQ)
Q1: 安装过程中遇到依赖包缺失怎么办?
A1: 确保所有必要的软件包都已安装,可以使用以下命令安装缺失的包:
yum y install <packagename>
Q2: 如果安装过程中出现权限问题怎么办?
A2: 确保所有相关目录的权限设置正确,特别是安装目录和Oracle用户的权限。
Q3: 如何确保Oracle数据库在系统重启后自动启动?
A3: 编辑/etc/oratab
文件,确保其中包含以下内容:
orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y
并在/etc/rc.d/rc.local
文件中添加以下内容:
su oracle c 'dbstart $ORACLE_HOME'
通过以上步骤,您可以在CentOS 7系统上顺利安装并配置Oracle 11g数据库,如果在安装过程中遇到任何问题,请参考Oracle官方文档或社区资源进行进一步排查和解决。