静默安装Oracle19C单实例

  1. 前言
    这是夜说的第一篇学习文章,静默安装Oracle19C单实例数据库,为以后学习提供操作环境。
    订阅号:夜说是如何炼成的

  2. 操作系统信息

1.系统版本(最小化安装)
[root@yeshuo ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.5 (Maipo)
2.内核信息
[root@yeshuo ~]# uname -r
3.10.0-862.el7.x86_64
3.磁盘规划
[root@yeshuo ~]# df -h
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root   58G 1000M   57G   2% /
devtmpfs               3.9G     0  3.9G   0% /dev
tmpfs                  3.9G     0  3.9G   0% /dev/shm
tmpfs                  3.9G  8.6M  3.9G   1% /run
tmpfs                  3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda1             1014M  130M  885M  13% /boot
tmpfs                  799M     0  799M   0% /run/user/0
4.内存信息
[root@yeshuo ~]# free -g
              total        used        free      shared  buff/cache   available
Mem:              7           0           7           0           0           7
Swap:             4           0           4
5.CPU信息
[root@yeshuo ~]# lscpu |grep CPU
CPU op-mode(s):        32-bit, 64-bit
CPU(s):                1
On-line CPU(s) list:   0
CPU family:            6
Model name:            Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
CPU MHz:               1799.998
NUMA node0 CPU(s):     0

3.创建用户和用户组

[root@yeshuo ~]# /usr/sbin/groupadd -g 54321 oinstall
[root@yeshuo ~]# /usr/sbin/groupadd -g 54322 dba
[root@yeshuo ~]# /usr/sbin/groupadd -g 54323 oper
[root@yeshuo ~]# /usr/sbin/groupadd -g 54324 backupdba
[root@yeshuo ~]# /usr/sbin/groupadd -g 54325 dgdba
[root@yeshuo ~]# /usr/sbin/groupadd -g 54326 kmdba
[root@yeshuo ~]# /usr/sbin/groupadd -g 54327 asmdba
[root@yeshuo ~]# /usr/sbin/groupadd -g 54328 asmoper
[root@yeshuo ~]# /usr/sbin/groupadd -g 54329 asmadmin
[root@yeshuo ~]# /usr/sbin/groupadd -g 54330 racdba
[root@yeshuo ~]# /usr/sbin/useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle
[root@yeshuo ~]# /usr/sbin/useradd -u 54322 -g oinstall -G asmadmin,asmdba,racdba,asmoper grid
[root@yeshuo ~]# echo oracle | passwd --stdin oracle
Changing password for user oracle.
passwd: all authentication tokens updated successfully.
[root@yeshuo ~]# echo oracle | passwd --stdin grid
Changing password for user grid.
passwd: all authentication tokens updated successfully.

4.创建操作系统目录

[root@yeshuo ~]# mkdir -p /oracle/app/grid
[root@yeshuo ~]# mkdir -p /oracle/app/19.3.0/grid
[root@yeshuo ~]# chown -R grid:oinstall /oracle
[root@yeshuo ~]# chmod -R 775 /oracle
[root@yeshuo ~]# mkdir -p /oracle/app/oracle/product/19.3.0/db_1
[root@yeshuo ~]# chown -R oracle:oinstall /oracle/app/oracle

5.GRID和ORACLE用户添加环境变量

1.GRID用户添加环境变量如下:
[grid@yeshuo ~]$ vi .bash_profile
[grid@yeshuo ~]$ cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

######add by oracle######
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=+ASM
export ORACLE_BASE=/oracle/app/grid
export ORACLE_HOME=/oracle/app/19.3.0/grid
export ORACLE_TERM=xterm
export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=$ORACLE_HOME/bin:$PATH:/usr/sbin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export EDITOR=vi
export LANG=en_US
export NLS_LANG=american_america.ZHS16GBK
umask 022
######add by oracle######
[grid@yeshuo ~]$ source .bash_profile
[grid@yeshuo ~]$ echo $ORACLE_SID
+ASM
[grid@yeshuo ~]$ echo $ORACLE_HOME
/oracle/app/19.3.0/grid


2.ORACLE用户添加环境变量如下:
[oracle@yeshuo ~]$ vi .bash_profile
[oracle@yeshuo ~]$ cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

######add by oracle######
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=yeshuo
export ORACLE_SID=yeshuo
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:$PATH:/usr/sbin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export EDITOR=vi
export LANG=en_US
export NLS_LANG=american_america.ZHS16GBK
export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'
umask 022
######add by oracle######
[oracle@yeshuo ~]$ source .bash_profile
[oracle@yeshuo ~]$ echo $ORACLE_SID
yeshuo
[oracle@yeshuo ~]$ echo $ORACLE_HOME
/oracle/app/oracle/product/19.3.0/db_1

6.禁用NUMA和透明大页

说明:在GRUB_CMDLINE_LINUX行添加:numa=off和transparent_hugepage=never
[root@yeshuo ~]# vi /etc/default/grub
[root@yeshuo ~]# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet numa=off transparent_hugepage=never"
GRUB_DISABLE_RECOVERY="true"

重新生成grub配置文件
[root@yeshuo ~]# grub2-mkconfig -o /etc/grub2.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-862.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-862.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-b73300e2fcb08b43b69abca893877604
Found initrd image: /boot/initramfs-0-rescue-b73300e2fcb08b43b69abca893877604.img
done

重启生效(安装过程中还会有其他需要重启需求的话,可以最后一起重启,避免多次重启)
[root@yeshuo ~]# reboot

检查是否禁用NUMA和透明大页
[root@yeshuo ~]# dmesg | grep -i numa
[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-862.el7.x86_64 root=/dev/mapper/rhel-root ro rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet numa=off transparent_hugepage=never
[    0.000000] NUMA turned off
[    0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-3.10.0-862.el7.x86_64 root=/dev/mapper/rhel-root ro rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet numa=off transparent_hugepage=never
[root@yeshuo ~]# grep AnonHugePages /proc/meminfo
AnonHugePages:         0 kB

7.禁用SELINUX和关闭防火墙

1.需要重启生效
[root@yeshuo ~]# cat /etc/selinux/config |grep -v '#'
SELINUX=disabled
SELINUXTYPE=targeted

2.不重启生效(临时生效,重启后不再生效)
[root@yeshuo ~]# setenforce 0

3.关闭防火墙
[root@yeshuo ~]# systemctl stop firewalld
[root@yeshuo ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@yeshuo ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

Sep 19 14:33:21 yeshuo systemd[1]: Starting firewalld - dynamic firewall daemon...
Sep 19 14:33:22 yeshuo systemd[1]: Started firewalld - dynamic firewall daemon.
Sep 19 14:49:52 yeshuo systemd[1]: Stopping firewalld - dynamic firewall daemon...
Sep 19 14:49:53 yeshuo systemd[1]: Stopped firewalld - dynamic firewall daemon.

8.修改内核参数

[root@yeshuo ~]# cat >>/etc/sysctl.conf << EOF
> fs.aio-max-nr = 1048576
> fs.file-max = 6815744
> kernel.shmall = 2684354560
> kernel.shmmax = 549755813760
> kernel.shmmni = 4096
> kernel.sem = 250 32000 100 128
> kernel.panic_on_oops = 1
> 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
> net.ipv4.conf.all.rp_filter = 2
> net.ipv4.conf.default.rp_filter = 2
> EOF

sysctl -p使内核参数生效
[root@yeshuo ~]# sysctl -p
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2684354560
kernel.shmmax = 549755813760
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
kernel.panic_on_oops = 1
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
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2

9.修改GRID和ORACLE用户资源限制

[root@yeshuo ~]# 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
> grid soft nproc 2047
> grid hard nproc 16384
> grid soft nofile 1024
> grid hard nofile 65536
> grid soft stack 10240
> grid hard stack 32768
> EOF
[root@yeshuo ~]#

10.修改HOST文件

[root@yeshuo ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

######DB host######
192.168.171.10 yeshuo

11.修改FSTAB文件

[root@yeshuo ~]# cat >>/etc/fstab <<EOF
> tmpfs    /dev/shm       tmpfs        defaults,size=10G  0  0
> EOF
[root@yeshuo ~]# mount -a
[root@yeshuo ~]# df -h
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root   58G 1001M   57G   2% /
devtmpfs               3.9G     0  3.9G   0% /dev
tmpfs                  3.9G     0  3.9G   0% /dev/shm
tmpfs                  3.9G  8.6M  3.9G   1% /run
tmpfs                  3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda1             1014M  130M  885M  13% /boot
tmpfs                  799M     0  799M   0% /run/user/0
[root@yeshuo ~]# umount /dev/shm
[root@yeshuo ~]# mount -a
[root@yeshuo ~]# df -h
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root   58G 1001M   57G   2% /
devtmpfs               3.9G     0  3.9G   0% /dev
tmpfs                  3.9G  8.6M  3.9G   1% /run
tmpfs                  3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda1             1014M  130M  885M  13% /boot
tmpfs                  799M     0  799M   0% /run/user/0
tmpfs                   10G     0   10G   0% /dev/shm

12.修改NETWORK文件

[root@yeshuo ~]# cat >>/etc/sysconfig/network <<EOF
> NOZEROCONF=yes
> EOF
[root@yeshuo ~]# cat /etc/sysconfig/network
# Created by anaconda
NOZEROCONF=yes

13.修改LOGIN文件

[root@yeshuo ~]# cat >>/etc/pam.d/login <<EOF
> session required pam_limits.so
> EOF
[root@yeshuo ~]# cat /etc/pam.d/login |grep pam_limits
session required pam_limits.so

14.配置YUM源

[root@yeshuo yum.repos.d]# cat >>/etc/yum.repos.d/oracle.repo <<EOF
> [rhel]
> name=rhel
> baseurl=file:///mnt/cdrom
> gpgcheck=0
> enabled=1
> EOF
[root@yeshuo yum.repos.d]
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值