centos7.9 安装oracle11g
安装环境:
操作系统:CentOS Linux release 7.9.2009 (Core)
orcle安装包:linux.x64_11gR2_database_1of2.zip、 linux.x64_11gR2_database_2of2.zip
个人感觉安装难度主要是包的依赖,以及出现问题后的查找和解决。
安装包获取方式(免费):
(1)登录-注册:http://resources.kittytiger.cn/
(2)签到获取积分
(3)搜索:oracle11g linux 安装包
官网安装教程:https://www.oracle.com/linux/technologies/ginnydbinstallonlinux/
注:个人感觉不好用哈哈
一、关闭ELINUX
1.用root用户登入
2.cd /etc/selinux
3.vi config
4.SELINUX=disabled 原本是:SELINUX=enforcing
5.:wq!
6.reboot
配置网络
vi /etc/hosts
192.168.1.100 oracleservice
二、安装镜像文件
将需要安装的版本 将需要安装的版本 enable =1 ,所以要修改一下 .repo文件
[root@oracle ~]# mkdir /mnt/cdrom
[root@oracle ~]# sudo mount -o loop CentOS-7-x86_64-Everything-2009.iso /mnt/cdrom
注:如果前有挂载取消挂载可能会报错
root@# umount /mnt/cdrom
umount: /mnt/cdrom: device is busy
查找相关的进程
root@# fuser -m /mnt/cdrom/
/mnt/cdrom/: 24066c
直接kill -9 24066 之后在取消挂载就成功了
三、开始安装oracle依赖度的包
cd /mnt/cdrom/Packages
rpm -Uvh --nodeps binutils*
rpm -Uvh --nodeps compat-libstdc++-33*
rpm -Uvh --nodeps compat-libstdc++-33.i686*
rpm -Uvh --nodeps gcc*
rpm -Uvh --nodeps gcc-c++*
rpm -Uvh --nodeps glibc*
rpm -Uvh --nodeps glibc.i686*
rpm -Uvh --nodeps glibc-devel*
rpm -Uvh --nodeps glibc-devel.i686*
rpm -Uvh --nodeps ksh*
rpm -Uvh --nodeps libgcc*
rpm -Uvh --nodeps libgcc.i686*
rpm -Uvh --nodeps libstdc++*
rpm -Uvh --nodeps libstdc++.i686*
rpm -Uvh --nodeps libstdc++-devel*
rpm -Uvh --nodeps libstdc++-devel.i686*
rpm -Uvh --nodeps libaio*
rpm -Uvh --nodeps libaio.i686*
rpm -Uvh --nodeps libaio-devel*
rpm -Uvh --nodeps libaio-devel.i686*
rpm -Uvh --nodeps libXext*
rpm -Uvh --nodeps libXext.i686*
rpm -Uvh --nodeps libXtst*
rpm -Uvh --nodeps libXtst.i686*
rpm -Uvh --nodeps libX11*
rpm -Uvh --nodeps libX11.i686*
rpm -Uvh --nodeps libXau*
rpm -Uvh --nodeps libXau.i686*
rpm -Uvh --nodeps libxcb*
rpm -Uvh --nodeps libxcb.i686*
rpm -Uvh --nodeps libXi*
rpm -Uvh --nodeps libXi.i686*
rpm -Uvh --nodeps make*
rpm -Uvh --nodeps sysstat*
rpm -Uvh --nodeps unixODBC*
rpm -Uvh --nodeps unixODBC-devel*
rpm -Uvh --nodeps zlib-devel*
rpm -Uvh --nodeps elfutils-libelf-devel*
注:这些包的名称,不同版本的镜像文件名称可能有差异
例如:我的的镜像文件是安装包的名称是如下
[root@minio2 Packages]# ls |grep glibc-devel
glibc-devel-2.17-317.el7.i686.rpm
glibc-devel-2.17-317.el7.x86_64.rpm
其他的镜像文件可能名称是glibc-devel.i686* 会有差别根据自己的实际情况改改包名就行。
四、添加用户和用户组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
注:密码也是oracle
五、创建安装目录
#sysctl -p
sysctl -a
mkdir -p /u01/app/oracle
mkdir /u01/app/oraInventory
chown -R oracle:oinstall /u01/app/
chmod -R 770 /u01/app/*
六、修改配置文件
vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
[root@oracle ~]# vim /etc/pam.d/login
session required /lib/security/pam_limits.so
vi /etc/sysctl.conf
kernel.sem = 250 32000 100
fs.file-max = 6815744
fs.aio-max-nr = 1048576
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
#su - oracle
$vi .bash_profile
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
ORACLE_SID=orcl
ORACLE_HOSTNAME=ol7.localdomain
ORACLE_UNQNAME=DB11G
ORACLE_TERM=xterm
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
export NLS_LANG=American_america.ZHS16GBK
export PATH ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_HOSTNAME ORACLE_UNQNAME ORACLE_TERM CLASSPATH
export LANG=C
七、将安装包 上传到 /home/oracle 路径
unzip linux.x64_11gR2_database_1of2.zip #解压文件1
unzip linux.x64_11gR2_database_2of2.zip #解压文件2
八、oracle用户进入图形化界面开始安装
[oracle@minio2 database]$ pwd
/home/oracle/database
[oracle@minio2 database]$./runInstaller
九、安装oracle软件 进入图像界面
如下路径会根据之前设置的环境变量自动填写
这里出现了缺包的现象(前面的参数问题可以忽略不用管),使用rpm语句查一下是否安装,如果已经安装就不用管了直接下一步。
语句样例:rpm --all --query glibc-devel
这里报错了,最讨厌的地方
执行如下语句看看是不是有没有安装的包
[root@minio2 Packages]# rpm --all --query --queryformat "%{NAME}-%{VERSION}-%{RELEASE}-(%{ARCH})\n" | grep glibc
如果发现有则查找相应的包安装,都安装后直接点击continue。
如下样例:
root@minio2 Packages]# ls |grep glibc-devel
glibc-devel-2.17-317.el7.i686.rpm
glibc-devel-2.17-317.el7.x86_64.rpm
[root@minio2 Packages]# rpm -Uvh --nodeps glibc-devel-2.17-317.el7.i686.rpm
Preparing... ################################# [100%]
package glibc-devel-2.17-324.el7_9.x86_64 (which is newer than glibc-devel-2.17-317.el7.i686) is already installed
这一个有两个需要root用户执行的脚本,执行一下即可
看到这一步oralce的软件安装终于结束。
十、创建数据库
dbca正常会进入图形界面,如果报如下错,一般是环境变量没有生效
[oracle@ocprsl ~]$ dbca
-bash: dbca: command not found
[oracle@ocprsl ~]$ source .bash_profile
[oracle@ocprsl ~]$ dbca
安装完成后还需要创建数据库,还是同样在Oracle用户桌面环境下,重新打开一个终端,输入 dbca 命令即可弹出相应的数据库创建向导。
dbca正常会进入图形界面,如果报如下错,一般是环境变量没有生效
[oracle@ocprsl ~]$ dbca
-bash: dbca: command not found
[oracle@ocprsl ~]$ source .bash_profile
[oracle@ocprsl ~]$ dbca
这一步的密码要记好,我们使用密码统一,没有分开建立不同用户的密码
这里不指定快速恢复和归档
这里要进入漫长的等待。
看到这界面恭喜你安装完成,这时oracle服务是启动的,切换到oracle用户启动监听
[oracle@minio2 ~]$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 13-SEP-2021 18:12:01
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 13-SEP-2021 18:11:57
Uptime 0 days 0 hr. 0 min. 4 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Log File /u01/app/oracle/diag/tnslsnr/minio2/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=docker-worker108)(PORT=1521)))
Services Summary...
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
到这一步就可用用客户端的工具连接oracle的服务了
十一、如果之前安装过失败了重新安装
执行如下语句即可
rm -rf /u01/app/oracle
rm -rf /u01/app/oraInventory
rm -rf /tmp/.oracle
rm -rf /var/tmp/.oracle
rm -rf /etc/init/oracle-ohasd.conf
rm -rf /etc/init.d/ohasd
rm -rf /etc/init.d/init.ohasd
rm -rf /etc/oraInst.loc
rm -rf /etc/oratab
rm -rf /etc/oracle