基于CentOS 7.7下安装Oracle Database 19c

基于CentOS 7.7下安装Oracle Database 19c

环境

版本与环境:

  • OS: CentOS 7.7.1908
  • Oracle Database: 19.3.0.0 -64bit
  • 网络:政务内网
  • IP:100.100.100.123

说明:

  • 官方安装手册:
    https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/index.html

安装前准备

修改主机名,安装前准备

# sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb.01/" /etc/sysconfig/network
# hostnamectl set-hostname oracledb.01

配置本机IP地址(如果是分配好内网IP的云机器,则不需要修改)

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
HWADDR=00:0c:29:57:c0:02
NETMASK=255.255.0.0
IPADDR=100.100.100.123
GATEWAY=255.255.0.0
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes

添加主机名与IP对应记录

# vim /etc/hosts
100.100.100.123 oracledb.01

关闭Selinux

# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
# setenforce 0

配置YUM源

调整内存配置

调整Swap内存

查看物理内存

# grep MemTotal /proc/meminfo
MemTotal:       16777216 kB

查看Swap内存

# grep SwapTotal /proc/meminfo
SwapTotal:             0 kB

创建一个交换文件

# dd if=/dev/zero of=/swapfile bs=1M count=16384
16384+0 records in
16384+0 records out
17179869184 bytes (17 GB) copied, 23.5326 s, 730 MB/s

使用 mkswap 命令来设置交换文件

# mkswap /swapfile
mkswap: /swapfile: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 16777212 KiB
no label, UUID=8d714f07-14ca-41f3-a742-bb0810552268

启用交换分区:

# swapon /swapfile

查看当前的swap是否生效

# swapon -s
Filename                                Type            Size    Used    Priority
/swapfile                               file            16777212        0       -1

为了使新的Swap区在下次开启的时候自动启动,追加以下代码:

# vi /etc/fstab
/home/swapfile swap swap defaults 0 0
调整共享内存

查看共享内存的大小是否正确

df -h /dev/shm
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           5.0G  0G  5G  0% /dev/shm

重新挂载共享内存

mount -o remount,size8g /dev/shm

写入配置文件

vi /etc/fstab
tmpfs /dev/shm tmpfs  defaults,size=8G      0 0

安装必要的组件包

yum安装Oracle 19c依赖包和必要的系统组件

# yum install -y bc binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++-devel libxcb make smartmontools sysstat net-tools unzip

其中,compat-libstdc+±33包在centOS7镜像中已经移除,需要单独下载安装,我们下载好上传到/tmp目录下

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

检验必要包是否安装成功

# rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' bc binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++-devel libxcb make smartmontools sysstat net-tools unzip
bc-1.06.95-13.el7 (x86_64)
binutils-2.27-43.base.el7_8.1 (x86_64)
compat-libcap1-1.10-7.el7 (x86_64)
compat-libstdc++-33-3.2.3-72.el7 (x86_64)
compat-libstdc++-33-3.2.3-72.el7 (i686)
elfutils-libelf-0.176-4.el7 (x86_64)
elfutils-libelf-devel-0.176-4.el7 (x86_64)
fontconfig-devel-2.13.0-4.3.el7 (x86_64)
glibc-2.17-307.el7.1 (x86_64)
glibc-2.17-307.el7.1 (i686)
glibc-devel-2.17-307.el7.1 (x86_64)
glibc-devel-2.17-307.el7.1 (i686)
ksh-20120801-142.el7 (x86_64)
libaio-0.3.109-13.el7 (x86_64)
libaio-0.3.109-13.el7 (i686)
libaio-devel-0.3.109-13.el7 (x86_64)
libaio-devel-0.3.109-13.el7 (i686)
libX11-1.6.7-2.el7 (x86_64)
libX11-1.6.7-2.el7 (i686)
libXau-1.0.8-2.1.el7 (x86_64)
libXau-1.0.8-2.1.el7 (i686)
libXi-1.7.9-1.el7 (x86_64)
libXi-1.7.9-1.el7 (i686)
libXtst-1.2.3-1.el7 (x86_64)
libXtst-1.2.3-1.el7 (i686)
libXrender-0.9.10-1.el7 (x86_64)
libXrender-devel-0.9.10-1.el7 (x86_64)
libgcc-4.8.5-39.el7 (x86_64)
libgcc-4.8.5-39.el7 (i686)
libstdc++-4.8.5-39.el7 (x86_64)
libstdc++-4.8.5-39.el7 (i686)
libstdc++-devel-4.8.5-39.el7 (x86_64)
libstdc++-devel-4.8.5-39.el7 (i686)
libxcb-1.13-1.el7 (x86_64)
libxcb-1.13-1.el7 (i686)
make-3.82-24.el7 (x86_64)
smartmontools-7.0-2.el7 (x86_64)
sysstat-10.1.5-19.el7 (x86_64)
net-tools-2.0-0.25.20131004git.el7 (x86_64)
unzip-6.0-21.el7 (x86_64)

创建用户和组

创建组

# /usr/sbin/groupadd -g 54321 oinstall
# /usr/sbin/groupadd -g 54322 dba
# /usr/sbin/groupadd -g 54324 backupdba
# /usr/sbin/groupadd -g 54325 dgdba
# /usr/sbin/groupadd -g 54326 kmdba
# /usr/sbin/groupadd -g 54327 asmdba
# /usr/sbin/groupadd -g 54328 asmoper
# /usr/sbin/groupadd -g 54330 racdba

oper组非必要,我们这里不创建

# groupadd -g 54323 oper

创建用户

# /usr/sbin/useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba oracle

grid用户非必要,我们这里不创建

# /usr/sbin/useradd -u 54331 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba grid

设置用户密码

# echo "oracle"|passwd --stdin oracle

修改系统相关配置

调整内核参数
# vim /etc/sysctl.d/97-oracle-database-sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 4194304
kernel.shmmax = 17179869183
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

修改后使之生效

# /sbin/sysctl -p
# /sbin/sysctl --system

其中,kernel.shmmax和kernel.shmall根据实际情况调整

  • kernel.shmmax:单位b,最小536870912(512 M),建议不小于内存一半,最大值为内存值-1;
  • kernel.shmall:取值计算:内存(单位KB)/4KB。

因为我们单机只安装Oracle,所以取最大值,计算方式如下:
查询内存大小

# grep MemTotal /proc/meminfo
MemTotal:       16777216 kB

计算:
kernel.shmmax = 16777216 kB * 1024 -1 = 17179869183‬
kernel.shmall = 16777216 kB / 4 kB = 4194304

另,其他内存大小最大值参考:

内存kernel.shmmaxkernel.shmall
4G(32位)42949672952097152
8G85899345912097152
16G171798691834194304
32G343597383678388608
64G6871947673516777216
128G13743895347133554432
修改用户限制

调整Oracle用户

# cat >> /etc/security/limits.conf <<EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 3145728
oracle soft memlock 3145728

EOF

如果创建了grid用户,则也需调整

# cat >> /etc/security/limits.conf <<EOF
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
grid hard memlock 3145728
grid soft memlock 3145728

EOF
配置PAM验证
# cat  >> /etc/pam.d/login <<EOF
session required /lib64/security/pam_limits.so
session required pam_limits.so

EOF
修改环境变量

修改Oracle用户的环境变量

# cat >> /home/oracle/.bash_profile <<EOF
umask 022
export ORACLE_HOSTNAME=oracledb.01
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export ORACLE_SID=orcl19c
export LANG="zh_CN.UTF-8"
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export PATH=$PATH:$ORACLE_HOME/bin

EOF

如果创建了grid用户,则相应的也要修改其环境变量。

开始安装

解压数据库软件

创建Oracle目录,授权,cd到Oracle安装包路径下,解压Oracle到ORACLE_HOME。

注意,从18c开始,安装包必须解压到ORACLE_HOME路径下进行安装!

# mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
# chown -R oracle:oinstall /u01/app/
# chmod -R 775 /u01/app/
# su - oracle
$ unzip - q LINUX.X64_193000_db_home.zip -d $ORACLE_HOME

修改响应文件db_install.rsp

响应文件,我们统一复制到/home/oracle/etc/下面,然后授权

# su - oracle
$ cp $ORACLE_HOME/install/response/db_install.rsp /home/oracle/etc/
$ chmod 600 /home/oracle/etc/db_install.rsp

编辑响应文件

可以把需要修改的内容直接追加到文件末尾

# cat >> /home/oracle/etc/db_install.rsp <<EOF
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oinstall
oracle.install.db.OSBACKUPDBA_GROUP=backupdba
oracle.install.db.OSDGDBA_GROUP=dgdba
oracle.install.db.OSKMDBA_GROUP=kmdba
oracle.install.db.OSRACDBA_GROUP=racdba
oracle.install.db.rootconfig.executeRootScript=true
oracle.install.db.rootconfig.configMethod=ROOT
# 如果oracle.install.option配置为INSTALL_DB_AND_CONFIG,则需配置以下参数:
# oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
# oracle.install.db.config.starterdb.globalDBName=orcl19c
# oracle.install.db.config.starterdb.SID=orcl19c
# oracle.install.db.config.starterdb.memoryLimit=6144
# oracle.install.db.config.starterdb.password.ALL=oracle

EOF

执行安装

开始静默安装Oracle数据库软件

# su - oracle
$ $ORACLE_HOME/runInstaller -silent -ignorePrereq -responseFile /home/oracle/etc/db_install.rsp

注意,安装其间会提示输入root用户密码以执行脚本。

启动监听

Oracle用户下启动监听

# su - oracle
$ lsnrctl start

创建数据库

修改响应文件dbca.rsp

复制到/home/oracle/etc/目录下,授权。

# su - oracle
$ cp $ORACLE_HOME/assistants/dbca/dbca.rsp /home/oracle/etc/
$ chmod 600 /home/oracle/etc/dbca.rsp 

编辑响应文件

可以把需要修改的内容直接追加到文件末尾

# cat >> /home/oracle/etc/dbca.rsp <<EOF
gdbName=orcl19c
sid=orcl19c
templateName=General_Purpose.dbc
characterSet=AL32UTF8
sysPassword=oracle
systemPassword=oracle
dbsnmpPassword=oracle
totalMemory=6144
databaseType=OLTP

EOF

执行建库

开始静默创建数据库

# su - oracle
$ dbca -silent -createDatabase -responseFile /home/oracle/etc/dbca.rsp

至此,Oracle数据库安装部署完成。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值