在CentOS 7操作系统上安装Oracle数据库是一项复杂但非常有价值的任务,尤其是对于企业级应用来说,本文将详细介绍如何在CentOS 7上安装和配置Oracle 12c数据库服务端,包括系统配置、软件包安装、用户创建及环境变量设置等步骤,还将提供常见问题的解决方案,以帮助读者顺利完成安装。
一、准备工作
1. 下载Oracle 12c软件包
需要从Oracle官方网站下载Oracle 12c的软件包,下载地址:[Oracle Database 12c Release 2](https://www.oracle.com/database/technologies/releasenotes/oracledatabase12crelease2.html),选择Linux x8664版本进行下载。
2. 修改CentOS系统标识
由于Oracle默认不支持CentOS,需要将CentOS伪装成RedHat EnterPRise Linux,编辑/etc/redhatrelease
文件,将内容替换为:
redhat7
二、系统配置
1. 关闭防火墙
为了避免防火墙干扰Oracle的安装和运行,建议关闭防火墙:
systemctl stop firewalld.service systemctl disable firewalld.service
2. 安装必要的软件包
Oracle安装需要一些特定的依赖包,可以通过以下命令安装:
yum y install binutils compatlibcap1 compatlibstdc++33 compatlibstdc++33*.i686 compatlibstdc++33*.devel compatlibstdc++33 compatlibstdc++33*.devel gcc gccc++ glibc glibc*.i686 glibcdevel glibcdevel*.i686 ksh libaio libaio*.i686 libaiodevel libaiodevel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++devel libstdc++devel*.i686 libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBCdevel unixODBCdevel*.i686
检查是否安装成功:
rpm q binutils compatlibcap1 compatlibstdc++33 gcc gccc++ glibc glibcdevel ksh libaio libaiodevel libgcc libstdc++ libstdc++devel libXi libXtst make sysstat unixODBC unixODBCdevel
3. 配置内核参数
编辑/etc/sysctl.conf
文件,添加以下内容:
fs.aiomaxnr = 1048576 fs.filemax = 6815744 kernel.shmall = 2097152 kernel.shmmax = 4294967295 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.ipv4.icmp_echo_ignore_broadcasts = 1 net.ipv4.conf.all.rp_filter = 1 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586
使配置生效:
sysctl p
4. 配置资源限制
编辑/etc/security/limits.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
使用pam_limits安全认证模块:
vi /etc/pam.d/login
在文件末尾添加:
session required /lib64/security/pam_limits.so session required pam_limits.so
5. 配置Oracle用户环境变量
编辑/etc/profile
文件,添加以下内容:
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit p 16384 ulimit n 65536 else ulimit u 16384 n 65536 fi fi
三、创建用户和组
1. 创建用户组和用户
执行以下命令创建dba组和oracle用户,并将oracle用户添加到dba组:
groupadd dba useradd g dba oracle echo "oracle" | passwd stdin oracle mkdir p /opt/oracle/app/oracle chown R oracle:dba /opt/oracle chmod R 775 /opt/oracle
2. 配置Oracle用户环境变量
切换到oracle用户并编辑~/.bash_profile
文件:
su oracle vim ~/.bash_profile
添加以下内容:
export ORACLE_BASE=/opt/oracl export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export ORACLE_SID=orcl export ORACLE_UNQNAME=orcl export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
激活环境变量:
source ~/.bash_profile
四、安装Oracle数据库软件
1. 解压安装包
将下载的Oracle安装包上传到服务器,然后解压:
unzip linux.x64_11gR2_database_1of2.zip d /data/src/ unzip linux.x64_11gR2_database_2of2.zip d /data/src/ chown R oracle:oinstall /data/src/
2. 关闭SELinux(如果启用)
编辑/etc/selinux/config
文件,将SELINUX设置为disaBLed:
SELINUX=disabled
重启系统:
reboot
3. 进入Oracle用户并编辑安装响应文件
切换到oracle用户并编辑安装响应文件:
su oracle vim /data/src/database/response/db_install.rsp
根据需要修改以下参数:
oracle.install.option=INSTALL_DB_SWONLY ORACLE_HOSTNAME=oracle.server UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/data/inventory SELECTED_LANGUAGES=en,zh_CN
保存并退出。
4. 开始安装Oracle数据库
执行安装脚本:
yes | ./runInstaller silent force responseFile /data/src/database/response/db_install.rsp
安装完成后,可以启动数据库并进行相关配置。
五、常见问题解答(FAQs)
Q1: 安装过程中出现“内存不足”错误怎么办?
A1: 确保系统有足够的交换空间(Swap),至少2GB,可以使用grep SwapTotal /proc/meminfo
命令检查当前交换空间大小,如果不足,可以通过添加或调整交换分区来解决。
Q2: 如何更改Oracle的监听器端口数?
A2: 编辑/etc/sysctl.conf
文件,找到net.ipv4.ip_local_port_range
参数,根据需要调整端口范围,设置为9000 65500
表示使用9000到65500之间的端口。
Q3: 安装完成后如何验证Oracle数据库是否正常运行?
A3: 可以通过SQL*Plus工具连接到数据库并执行简单的查询来验证,登录到Oracle用户后,执行sqlplus / as sysdba
,然后执行SELECT name FROM v$database;
查看数据库名称,如果返回结果正常,则说明数据库运行正常。
Q4: 如何卸载Oracle数据库?
A4: 卸载Oracle数据库需要运行其自带的卸载脚本,通常位于$ORACLE_HOME/runInstaller
目录下,可以使用./runInstaller
命令启动图形界面卸载向导,按照提示完成卸载过程,注意,卸载前请备份重要数据。
通过以上步骤,您可以在CentOS 7上成功安装和配置Oracle 12c数据库服务端,如果在安装过程中遇到任何问题,可以参考上述FAQs部分寻找解决方案,希望本文对您有所帮助!