找了一堆资料跟着照做,总是踩坑,总结一篇我自己的安装流程,图文结合版的,测试可安装成功。

1.建立oracle用户和用户组
在Linux中创建名为oinstall的用户组

groupadd oinstall

创建dba用户组

groupadd dba

创建oper用户组

groupadd oper

为dba和oper用户组创建oracle用户
-g 主用户组
-G 附加组

useradd -g oinstall -G dba,oper oracle

将oracle用户的密码设置为123456(密码自己定)

echo "123456"|passwd oracle –stdin
 


2.为Oracle的安装创建相关目录
提示:安装位置放下面:
创建安装oracle的安装目录

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/

3.优化OS内核参数
 vi /etc/sysctl.conf

添加以下内容

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
#kernel.shmmax 参数设置为物理内存的一半
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

4.限制oracle用户的shell权限
为了优化性能,需要添加oracle用户的限制参数

vi /etc/security/limits.conf 

在文件末尾添加下面四行

#设置进程数软限制
oracle soft nproc 2047
#设置进程数硬限制
oracle hard nproc 16384
#设置文件数软限制
oracle soft nofile 1024
#设置文件数硬限制
oracle hard nofile 65536

进程会话限制可以采用pam_limits认证模块来实现,通过修改登录程序login的PAM设置以启用该认证

vim /etc/pam.d/login 

在文件最后添加下面一行

session required pam_limits.so

一般都是64位系统,64位系统需要设置为/lib64/security/pam_limits.so 否则重启服务器后就会出现命令行无法登录,但是通过桌面方式能登录的情况

session required /lib64/security/pam_limits.so

查位数的方法

getconf LONG_BIT

使参数生效

source /etc/profile

5.为Oracle用户添加Oracle环境变量
登录Oracle用户

su – oracle

修改.bash_profile文件

vi .bash_profile

添加以下内容

ORACLE_BASE=/home/app/oracle #这个地方根据自己的目录来,看仔细
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
PATH=$PATH:$ORACLE_HOME/bin
ORACLE_SID=orcl
#NLS_LANG="SIMPLIFIED CHINESE_CHINA.UTF8"
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
#防止Oracle安装界面乱码,先把语言环境改为英文
export LANG=en_US
if [ $USER = "oracle" ]; then
   if [ $SHELL = "/bin/ksh" ]; then
       ulimit -p 16384
       ulimit -n 65536
   else
       ulimit -u 16384 -n 65536
   fi
fi


退出后需要刷新环境变量

source .bash_profile

6.配置hostname
安装oracle时,一定要保证主机名出现在/etc/hosts中

vi /etc/hosts

添加如下内容

127.0.0.1   centos50 #这个主机名自己定
 


测试hostname

ping -c 3 centos50
 


/etc/sysconfig/network中的hostname要与/etc/hosts中的一致

vi /etc/sysconfig/network

添加如下内容

HOSTNAME=centos50
 


7.openjdk
去oracle官网下载Linux版的jdk8,然后到下载的目录执行

tar -zxvf jdk-8u201-linux-x64.tar.gz

cp -r jdk1.8.0_201 /usr/java/

打开文件配置系统变量

vi  /etc/profile

加入以下内容

export JAVA_HOME=/usr/java/jdk1.8.0_201
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin

生效

source /etc/profile

查看是否配置成功

java –version
 


8.安装依赖
提示:要联网安装的
安装oracle需要的依赖(软件)

yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp

检查依赖是否安装完成
rpm -q binutils compat-libcap1 compat-libstdc++  gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
 

注意注意:此处有坑!!!
单独执行

yum install compat-libstdc++*
 


显示已经安装过了,无须做任何处理,一些教程说可以直接忽略,不影响接下去的安装。但是!!!我这台设备不行!!!后面安装的时候直接报错了!!!
找到这个包, compat-libstdc+±33-3.2.3-72.el7.x86_64.rpm,直接命令安装

rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
 


再检查一次,都有了


如果遇到有其他依赖包没有安装上的,可以(https://pkgs.org/)进行查找

搜索到软件后,找到binary package,这是已编译好的包,也可以选择源码包Source Package。

复制这个地址,然后输入命令,就开始安装了。如果有报错的请自行百度。

rpm -ivh http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/elfutils-libelf-devel-static-0.182-3.el8.x86_64.rpm(这个地址记得改成搜到的地址)
 


9.关闭防火墙
查看防火墙状态

firewall-cmd --state

停止firewall

systemctl stop firewalld.service

禁止firewall开机启动

systemctl disable firewalld.service

注意:我是自己的设备,可以整个关掉。建议只开放服务器的1521端口,具体自行查找,教程很多
以上操作做完之后,记得重启服务器

10.开始安装Oracle
1.先下载安装包,地址:https://www.oracle.com/cn/database/enterprise-edition/downloads/oracle-db11g-linux.html
上传到之前建的目录/usr/oracle
2.重启完服务器用oracle这个用户登录服务器(在前面已经创建了一个名为oracle的用户密码为123456)
3.进入到安装包的目录

cd /usr/oracle

4.解压安装包

unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip


解压完会有个database目录
5. 进入到解压目录

cd /usr/oracle/database

6.运行安装命令

./runInstaller

遇到问题

安装xmanager(可以远端X窗口系统上作进行图形化操作的工具)
直接用Oracle用户登录
执行命令处输入:/usr/bin/xterm -ls -display $DISPLAY

遇到报错

解决

yum install xterm

成功登录之后,再进行上面的5、6两个步骤,即可成功打开图形界面
取消勾选,不获取有关 Oracle 安全问题的更新信息

弹出提示窗口,确认不提供电子邮件,选择Yes

根据自己需求选择即可,然后点击Next
(1) 创建和配置数据库 (2)仅安装数据库软件 (3)升级现有数据库

如果要在笔记本电脑或桌面上安装 Oracle 数据库,请选择第一个选项【桌面类】,否则选择第二个选项

(1)单实例数据库安装
(2)Real Application Clusters数据库安装

(1)典型安装
(2)高级安装

默认已添加了English在左侧语言列表中找到简体SimplifiedChinese,
并添加到右侧,然后点击Next

(1)企业版
(2)标准版
(3)标准版1

使用默认安装目录的路径,或者根据情况更改,然后点击Next

使用默认安装目录的路径,或者根据情况更改,然后点击Next


(1)一般用途/事务处理:为一般用途或高事务处理量应用而设计的启动数据库。
(2)数据仓库:为数据仓库应用程序而优化的启动数据库

指定Oracel全局数据库名和服务标识符为:orcl (这里随便自己定),然后点击Next

在内存页中勾选启用自动内存管理,在字符集页中选择使用Unicode,然
后点击Next


不使用集中云控制管理,直接点击Next

使用默认选择的然后Next

选择默认路径即可,然后点击Next

对所有账户使用相同口令Database123456(这个密码很麻烦,总说不符合要求,网上查了一下,这个格式的可以),也可以为不同用户设置不同密码,然后点击Next

设置数据库管理员组dba,数据库操作组oinstall,然后点击Next

在oracle安装到Prerequisite Checks这一步的时候,有好多个提示,一一解决
1.提示swap size检查失败


oracle在安装过程中进行检查系统环境的时候,关于swap(交换分区)的大小预期为15.45G,而系统实际上只有7.81G。
因此我们需要增加系统swap才符合oracle的要求。
先看下自己服务器的交换内存

free -h
 

在root目录下创建swap文件(每块1M,总共30720块,共计:30720M)
(这个目录可以改的,哪里空间多就创建在哪里)
耐心等待,看服务器,服务器好的速度快,差的速度慢

dd if=/dev/zero of=/root/swapfile bs=1M count=30720
 

查看swapfile文件的大小

ll /root –h
 

构建+激活swap
构建swap格式到swapfile

 mkswap /root/swapfile
 

激活swap

swapon /root/swapfile
 

查看一下swap的大小

 free -h
 

永久生效上述操作仅仅在本次开机有效,重启失效,我们需要保存一下配置

vi /etc/fstab

新增一行

/root/swapfile swap swap defaults 0 0
 

2.OS Kernel Parameter:semmni(按照以下步骤,没有解决)
点击Fix&Check Again,根据他的提示

 cd /tmp/CVU_11.2.0.1.0_oracle/
 ls
  ./runfixup.sh 

可是没有解决(这个不管,不影响)
3.安装包问题
如果后台查过都有,那就直接点忽略

查看安装概要,若无问题,则可点击Finish结束配置,开始进行安装


进度条到68%报错
Error in invoking target ‘install’ of makefile ‘/home/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk’. See ‘/home/app/oraInventory/logs/installActions2022-04-21_02-44-09AM.log’ for details

参考很多方法都没有成功,后面想到之前一直报缺少依赖包compat_libstdc++
下载安装glibc-static-2.17-292.el7.x86_64.rpm
转回去安装好该rpm包,再用rpm -qa | grep rpm包名指令检查是否有rpm包安装疏漏
检查完毕之后重新安装Oracle

继续报错Error in invoking target

修改
/home/oracle/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk文件,将

$(MK_EMAGENT_NMECTL)
修改成
$(MK_EMAGENT_NMECTL) -lnnz11
提示:最好先备份一下原文件,万一改错,还有挽救的余地
保存后点击 Retry 即可

一直等待。。。。

点OK后,执行这两个脚本(用root账号),然后点OK

执行之后点OK


11.开机自启
vi /etc/oratab

在最后修改如下内容

orcl:/home/app/oracle/product/11.2.0/db_1:Y
#按自己实际安装的改

chmod +x /etc/rc.d/rc.local
vi /etc/rc.d/rc.local
添加
su oracle -lc "/home/app/oracle/product/11.2.0/db_1/bin/lsnrctl start "
su oracle -lc /home/app/oracle/product/11.2.0/db_1/bin/dbstart

验证一下:
Reboot
Ps -ef |grep ora

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐