在CentOS 7上安装Oracle数据库是一项复杂的任务,需要仔细准备和执行多个步骤,以下是详细的安装过程,包括前期准备、环境配置、依赖安装、用户创建、目录设置、内核参数优化、防火墙配置以及最终的Oracle数据库安装和配置。
一、前期准备
1、系统要求:确保服务器满足最低硬件要求,如至少2核CPU、2GB内存和8GB硬盘空间。
2、检查现有Oracle安装:使用ps ef | grep ora
命令检查是否有Oracle进程运行,使用id oracle
检查是否有Oracle用户。
3、卸载旧版Oracle:如果已安装Oracle,建议重新做一次虚拟机或使用以下命令卸载:
sudo su rpm qa | grep oracle | xargs rpm e nodeps rm rf /u01/app/oracle rm rf /etc/oraInventory
二、安装前准备
1、配置YUM源:由于CentOS 7官方YUM源已停止维护,需要手动修改为阿里镜像源。
sudo vi /etc/yum.repos.d/CentOSBase.repo
添加以下内容:
[base] name=CentOS$releasever Base baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpmgpg/RPMGPGKEYCentOS7 [updates] name=CentOS$releasever Updates baseurl=https://mirrors.aliyun.com/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpmgpg/RPMGPGKEYCentOS7 [extras] name=CentOS$releasever Extras baseurl=https://mirrors.aliyun.com/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpmgpg/RPMGPGKEYCentOS7 [centosplus] name=CentOS$releasever Plus baseurl=https://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpmgpg/RPMGPGKEYCentOS7
更新YUM源并清理缓存:
sudo yum clean all sudo yum makecache
2、安装OpenJDK8:Oracle数据库需要Java支持,可以从Oracle官网下载JDK 8并安装。
wget https://download.oracle.com/otnpub/java/jdk/8u211b12/d647a063e9ac5de6bab0c2912dbf502850/jdk8u211linuxx64.tar.gz sudo tar zxvf jdk8u211linuxx64.tar.gz C /usr/java/ sudo mv /usr/java/jdk1.8.0_211 /usr/java/jdk1.8.0_411
配置环境变量:
sudo vi /etc/profile
添加以下内容:
export JAVA_HOME=/usr/java/jdk1.8.0_411 export CLASSPATH=.:${JAVA_HOME}/lib:${JAVA_HOME}/jre/lib export PATH=$PATH:${JAVA_HOME}/bin
导入环境变量:
source /etc/profile
3、安装必要的依赖包:安装Oracle所需的各种依赖包。
sudo yum y install binutils compatlibcap1 compatlibstdc++33 \ compatlibstdc++33*.i686 elfutilslibelfdevel gcc gccc++ glibc*.i686 glibc \ glibcdevel glibcdevel*.i686 ksh libgcc*.i686 libgcc libstdc++ \ libstdc++*.i686 libstdc++devel libstdc++devel*.i686 libaio \ libaio*.i686 libaiodevel libaiodevel*.i686 make sysstat \ unixODBC unixODBC*.i686 unixODBCdevel unixODBCdevel*.i686 \ libXp libXtst readline* deltarpm python3 python3devel \ zip unzip bc compatlibcap1* compatlibcap* binutils \ compatlibstdc++33 elfutilslibelf elfutilslibelfdevel \ gcc gccc++ glibc2.5 glibccommon glibcdevel glibcheaders \ ksh libaio libaiodevel libgcc libstdc++ libstdc++devel \ make sysstat unixODBC unixODBCdevel
三、创建用户和组
1、创建用户和组:为了安全起见,不建议使用root用户进行Oracle安装,应创建单独的用户和组。
sudo groupadd oinstall sudo groupadd dba sudo useradd g oinstall G dba m d /home/oracle oracle sudo passwd oracle
2、创建安装目录:为Oracle的安装创建相关目录并设置权限。
sudo mkdir p /u01/app/oracle/product/11.2.0/db_1 sudo chown R oracle:oinstall /u01/app sudo chmod R 775 /u01/app
四、优化系统内核参数
1、编辑sysctl.conf文件:优化内核参数以支持Oracle的高效运行。
sudo vi /etc/sysctl.conf
添加以下内容:
fs.aiomaxnr = 1048576 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 = 1048560
使参数生效:
sudo sysctl p
五、限制Oracle用户的Shell权限
1、编辑limits.conf文件:限制Oracle用户的shell权限以提高性能。
sudo vi /etc/security/limits.conf
添加以下内容:
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
2、编辑login文件:启用pam_limits认证模块。
sudo vi /etc/pam.d/login
在文件末尾添加以下内容:
session required pam_limits.so
六、安装图形化界面(VNC)
Oracle安装需要图形化界面,因此需要安装VNC。
sudo yum y groupinstall "GNOME Desktop" "Graphical Administration Tools"
七、上传Oracle安装文件并解压
1、上传安装文件:将Oracle安装文件上传到服务器。
sudo scp linux.x64_11gR2_database_1of2.zip root@your_server:/tmp/ sudo scp linux.x64_11gR2_database_2of2.zip root@your_server:/tmp/
2、解压文件:将安装文件解压到指定目录。
cd /tmp unzip q linux.x64_11gR2_database_1of2.zip d /u01/app/oracle/product/11.2.0/db_1 unzip q linux.x64_11gR2_database_2of2.zip d /u01/app/oracle/product/11.2.0/db_1 sudo chown R oracle:oinstall /u01/app/oracle/product/11.2.0/db_1
八、安装Oracle数据库
1、切换到oracle用户:使用oracle用户进行安装。
su oracle cd /u01/app/oracle/product/11.2.0/db_1
2、启动安装程序:运行runInstaller脚本开始安装。
./runInstaller
3、配置安装选项:按照以下步骤配置安装选项。
选择安装模式:选择“仅设置软件”。
选择安装类型:选择“单实例数据库安装”。
选择数据库版本:选择“企业版”。
选择Oracle基目录:通常会自动选中/u01/app/oracle
,下面的软件位置就是最终的ORACLE_HOME
。
产品清单目录:通常会自动选中/u01/app/oraInventory
,组名为oinstall
。
操作系统组:默认为dba
,数据库操作员可以自行选择。
root脚本执行:输入root用户的口令以执行root脚本。
先决条件检查:检查完后,如果有缺失的安装包,可以在另一个终端中使用yum
进行安装,缺失compatlibcap1
时,可以使用以下命令安装:
sudo yum install compatlibcap1.x86_64
修补后再检查,全部成功后进入下一步。
配置监听器:配置监听器,默认即可。
用户控制:设置密码并完成安装。
九、创建数据库实例(DBCA)
由于之前选择了“仅设置软件”,因此需要通过DBCA来创建数据库实例。
1、运行DBCA:在终端中输入以下命令启动DBCA。
sudo u oracle /u01/app/oracle/product/11.2.0/db_1/bin/dbca
2、配置数据库选项:按照以下步骤配置数据库选项。
选择模板:选择“一般用途”或根据需求选择其他模板。
数据库标识:设置数据库名称和SID,注意,如果勾选了“创建容器数据库”,则需要在创建数据库用户时带上C
或c
前缀。
网络选项:配置监听器,默认即可。
用户控制:设置数据库管理员密码。
存储选项:根据需求配置存储设置。
完成安装:检查所有配置项后,点击完成。
十、验证安装和连接数据库
1、验证安装:检查Oracle服务是否正常运行。
ps ef | grep pmon
2、连接数据库:使用sqlplus工具连接数据库。
sqlplus / as sysdba
十一、常见问题及解决方案(FAQ)
Q1:如何更改Oracle数据库的字符集?
A1:在安装过程中,可以通过DBCA的配置界面选择字符集,如果已经安装完成,可以使用以下命令更改字符集:
ALTER SYSTEM ENABLE CHARACTERSET ZHS16GBK; ALTER SESSION ENABLE CHARACTERSET ZHS16GBK;