【在Oracle Linux 7 上安装Oracle 19c - 基于ASM存储的单实例数据库】

这篇博客详述了如何在Oracle Linux 7环境中安装基于ASM存储的Oracle 19c单实例数据库,包括配置主机名、网络,安装预装软件包,修改系统参数,直至完成DBCA建库的全过程。
摘要由CSDN通过智能技术生成

前言

记录Oracle学习过程,形成自己的知识体系。目前有部分操作还不清楚具体原理,后期随着学习的深入,逐渐完善本文档。

环境

系统:Oracle Linux 7.9 (CentOS 7 供参考)
硬盘:根目录建议40G+

环境准备阶段

配置主机名、网络等

  1. 配置主机名
  • 方式一:临时设置主机名(立竿见影),用logout命令登出并重新登录即可生效。但不是永久生效。
    #hostname oracle19c-asm
  • 方式二:永久设置主机名(需要重启)
    先找到一个文件/etc/sysconfig/network 【主机名的配置文件】
    添加/修改 HOSTNAME=oracle19c-asm 设置永久主机名
  • 方式三:使用 hostnamectl 来改变主机名(推荐)
    设置命令格式: hostnamectl set-hostname oracle19c-asm
    该方式设置后,会自动将设置信息写入到配置文件中,无需额外编辑,属于立即生效,永久生效的,重启也会生效。
  1. 配置hosts文件
[root@oracle19c-asm ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
oracle19c-asm 192.168.23.133  # 新增该行
  1. 关闭防火墙和SELINUX
  • 关闭防火墙
[root@oracle19c-asm ~]# systemctl status firewalld.service  # 检查防火墙状态
[root@oracle19c-asm ~]# systemctl stop firewalld.service  # 暂时关闭防火墙,下次启动时防火墙仍随系统启动而启动
[root@oracle19c-asm ~]# systemctl disable firewalld.service  # 彻底永久关闭防火墙
  • 关闭SELINUX防火墙
[root@oracle19c-asm ~]# getenforce  # 检查selinux状态
[root@oracle19c-asm ~]# setenforce 0  # 暂时关闭selinux,下次启动时selinux仍随系统启动而启动
[root@oracle19c-asm ~]# vim /etc/selinux/config  
#SELINUX=enforcing改为SELINUX=disabled  彻底永久关闭防火墙

SELinux 的结构及配置非常复杂,而且有大量概念性的东西,要学精难度较大。很多 Linux 系统管理员嫌麻烦都把 SELinux 关闭了。

安装ORACLE先决条件的软件包

yum install -y deltarpm
yum install -y python-deltarpm
yum install -y bc
yum install -y compat-libcap1*
yum install -y compat-libcap*
yum install -y binutils 
yum install -y compat-libstdc++-33 
yum install -y elfutils-libelf 
yum install -y elfutils-libelf-devel 
yum install -y gcc 
yum install -y gcc-c++ 
yum install -y glibc-2.5 
yum install -y glibc-common 
yum install -y glibc-devel 
yum install -y glibc-headers 
yum install -y ksh libaio 
yum install -y libaio-devel 
yum install -y libgcc 
yum install -y libstdc++ 
yum install -y libstdc++-devel 
yum install -y make 
yum install -y sysstat 
yum install -y unixODBC 
yum install -y unixODBC-devel
yum install -y binutils*
yum install -y compat-libstdc*
yum install -y elfutils-libelf*
yum install -y gcc*
yum install -y glibc*
yum install -y ksh*
yum install -y libaio*
yum install -y libgcc*
yum install -y libstdc*
yum install -y make*
yum install -y sysstat*
yum install -y libXp*
yum install -y glibc-kernheaders
yum install -y net-tools-*
yum install -y compat-libstdc*
yum install -y kmod
yum install -y kmod-libs
yum install -y cvuqdisk

在Oracle Linux 7.9 环境下,不用修改yum源,可以直接安装成功。如若为CentOS可能会提示某些软件包找不到,建议更换源再试试,不行的话直接百度下载rpm包进行安装。

可以参考我的另一篇文章在Oracle Linux 7上采用RPM方式安装Oracle19c可以尝试使用安装Oracle的预安装包“oracle-database-preinstall-21c-1.0-1.el7.x86_64.rpm”

  1. 下载RPM预安装包
  2. 上传至服务器
  3. 执行安装命令 yum install oracle-database-preinstall-21c-1.0-1.el7.x86_64.rpm
    通过该方法,可以最便捷的方式安装绝大多数重要的软件包

修改系统参数

  1. 修改LINUX内核文件
[root@oracle19c-asm ~]# vim /etc/sysctl.conf
kernel.shmmax = 277495689510912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
fs.file-max = 6815744
kernel.shmall = 67747971072
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.ip_local_port_range = 9000 65500
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_tw_reuse = 1
#net.core.somaxconn = 262144
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 30
net.ipv4.tcp_keepalive_probes = 6
net.ipv4.tcp_keepalive_intvl = 5
net.ipv4.tcp_timestamps = 0
fs.aio-max-nr = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
参数 说明
fs.file-max 文件句柄数 一次可以打开文件的个数
kernel.shmall 公式:内存大小102410241024/41024
kernel.shmmax 表示最大共享内存大小,一般为物理内存的3/4 但是常用的就是将所有内存换算成字节后-1(单位:字节)
kernel.shmmni = 4096 表示最小共享内存固定4096KB 一般是固定值
kernel.sem 4个参数依次是SEMMSL:每个用户拥有信号量最大数,SEMMNS:系统信号量最大数,SEMOPM:每次semopm系统调用操作数,SEMMNI:系统辛苦量集数最大数。这4个参数为固定内容大小
net.ipv4.ip_local_port_range = 9000 65500 ip_local_port_range表示端口的范围,为指定的内容 一般是固定值
net.core.rmem_default 表示套接字接收缓冲区大小的缺省值
net.core.rmem_max 表示套接字接收缓冲区大小的最大值。
net.core.wmem_default 表示套接字发送缓冲区大小的缺省值。
net.core.wmem_max 表示套接字发送缓冲区大小的最大值。

参数编辑完成后执行下面的命令 sysctl -p 生成系统参数

[root@oracle19c-asm ~]# sysctl -p
  1. 修改limits.conf文件
[root@oracle19c-asm ~]# vim /etc/security/limits.conf
oracle   soft   nofile    1024
oracle   hard   nofile    65536
oracle   soft   nproc    16384
oracle   hard   nproc    16384
oracle   soft   stack    10240
oracle   hard   stack    32768
oracle   hard   memlock    134217728
oracle   soft   memlock    134217728

grid   soft   nofile    1024
grid   hard   nofile    65536
grid   soft   nproc    16384
grid   hard   nproc    16384
grid   soft   stack    10240
grid   hard   stack    32768
grid   hard   memlock    134217728
grid   soft   memlock    134217728
  1. 限制进程数
    添加下列条目到/etc/pam.d/login 这两个主要是限制使用进程数可以不用了解
[root@oracle19c-asm ~]# vim /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
  1. 修改环境变量
[root@oracle19c-asm ~]# vim /etc/profile
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
   if [ $SHELL = "/bin/ksh" ]; then
      ulimit -p 16384
      ulimit -n 65536
      else
      ulimit -u 16384 -n 65536
   fi
fi

刷新环境变量

[root@oracle19c-asm ~]# source /etc/profile
  1. 创建用户和组
[root@oracle19c-asm ~]# groupadd -g 601 oinstall
[root@oracle19c-asm ~]# groupadd -g 602 dba
[root@oracle19c-asm ~]# groupadd -g 603 oper
[root@oracle19c-asm ~]# groupadd -g 604 backupdba
[root@oracle19c-asm ~]# groupadd -g 605 dgdba
[root@oracle19c-asm ~]# groupadd -g 606 kmdba
[root@oracle19c-asm ~]# groupadd -g 607 asmdba
[root@oracle19c-asm ~]# groupadd -g 608 asmoper
[root@oracle19c-asm ~]# groupadd -g 609 asmadmin
[root@oracle19c-asm ~]# useradd -u 601 -g oinstall -G [root@oracle19c-asm ~]# asmadmin,asmdba,dba,asmoper grid
[root@oracle19c-asm ~]# useradd -u 602 -g oinstall -G dba,backupdba,dgdba,kmdba,asmadmin,oper,asmdba oracle
  1. 为用户设置密码
[root@oracle19c-asm ~]# passwd grid
[root@oracle19c-asm ~]# passwd oracle
  1. 创建Oracle Inventory目录
[root@oracle19c-asm ~]# mkdir -p /u01/app/oraInventory
[root@oracle19c-asm ~]# chown -R grid:oinstall /u01/app/oraInventory
[root@oracle19c-asm ~]# chmod -R 775 /u01/app/oraInventory
  1. 创建GI HOME目录
[root@oracle19c-asm ~]# mkdir -p /u01/app/grid
[root@oracle19c-asm ~]# mkdir -p /u01/app/19.3.0/grid
[root@oracle19c-asm ~]# chown -R grid:oinstall /u01/app/grid
[root@oracle19c-asm ~]# chmod -R 775 /u01/app/grid
[root@oracle19c-asm ~]# chown -R grid:oinstall /u01/app/19.3.0
[root@oracle19c-asm ~]# chmod -
  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值