📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前从事DBA及程序编程
擅长主流数据Oracle、MySQL、PG 运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️
文章目录
- 前言
- 📣 1.安装环境准备
- 📣 2.创建用户和组
- 📣 3.创建工作的目录
- 📣 4.配置Oracle的环境变量
- 📣 5.修改内核参数
- 📣 6./etc/profile配置
- 📣 7.修改资源限制
- 📣 8.yum安装依赖
- 📣 9.解压软件授权
- 📣 10.静默安装Oracle数据库
- 📣 11.监听创建
- 📣 13.dbca建库
- 📣 14.登陆验证
前言
本文详细的介绍了如何静默安装Oracle19C,采用静默的方式。📣 1.安装环境准备
1.查看物理内存
[root@rhel76 ~]# free -m
total used free shared buff/cache available
Mem: 3932 748 2337 13 845 2879
Swap: 1907 0 1907
2.操作系统版本
[root@rhel76 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.6 (Maipo)
3.操作系统内存
[root@rhel76 ~]# df -h /dev/shm/
Filesystem Size Used Avail Use% Mounted on
tmpfs 2.0G 0 2.0G 0% /dev/shm
4.磁盘空间
[root@rhel76 ~]# df -TH
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs 32G 4.6G 27G 15% /
devtmpfs devtmpfs 2.1G 0 2.1G 0% /dev
tmpfs tmpfs 2.1G 0 2.1G 0% /dev/shm
tmpfs tmpfs 2.1G 14M 2.1G 1% /run
tmpfs tmpfs 2.1G 0 2.1G 0% /sys/fs/cgroup
/dev/sda1 xfs 996M 172M 825M 18% /boot
/dev/mapper/rhel-u01 xfs 30G 34M 30G 1% /u01
tmpfs tmpfs 413M 8.2k 413M 1% /run/user/42
tmpfs tmpfs 413M 46k 413M 1% /run/user/0
[root@rhel76 ~]# df -h /tmp/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 30G 4.3G 26G 15% /
[root@rhel76 ~]# df -h /u01
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-u01 28G 33M 28G 1% /u01
[root@rhel76 ~]# grep SwapTotal /proc/meminfo
SwapTotal: 1953788 kB
注意:内存为2G,要求Swap分区的大小为2G
5.查看系统架构
[root@rhel76 ~]# uname -m
x86_64
[root@rhel76 ~]# cat /proc/version
Linux version 3.10.0-957.el7.x86_64 (mockbuild@x86-040.build.eng.bos.redhat.com) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Thu Oct 4 20:48:51 UTC 2018
6.解析/etc/hosts
[root@rhel76 ~]# hostname
rhel76
[root@rhel76 ~]# more /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
此处vi加入以下内容:
[root@rhel76 ~]# more /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.6.81 rhel76
7.关闭防火墙还有selinux
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service
[root@rhel76 ~]# more /etc/sysconfig/network
# Created by anaconda
[root@rhel76 ~]#
[root@rhel76 ~]# systemctl status firewalld.service
● 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)
Nov 21 22:14:51 rhel76 systemd[1]: Starting firewalld - dynamic firewall daemon...
Nov 21 22:14:52 rhel76 systemd[1]: Started firewalld - dynamic firewall daemon.
Nov 21 22:30:01 rhel76 systemd[1]: Stopping firewalld - dynamic firewall daemon...
Nov 21 22:30:01 rhel76 systemd[1]: Stopped firewalld - dynamic firewall daemon.
[root@rhel76 ~]# /usr/sbin/sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31
以上发现selinux是打开的
修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器
8.CPU信息
[root@rhel76 ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
2 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
[root@rhel76 ~]# cat /proc/cpuinfo
📣 2.创建用户和组
#查看是否安装有Oracle软件
[root@rhel76 ~]# more /etc/oraInst.loc
#查看是否已存在相关用户组
[root@rhel76 ~]# grep oinstall /etc/group
[root@rhel76 ~]# grep dba /etc/group
[root@rhel76 ~]# grep oper /etc/group
[root@rhel76 ~]# /usr/sbin/groupadd -g 54321 oinstall
[root@rhel76 ~]# /usr/sbin/groupadd -g 54322 dba
[root@rhel76 ~]# /usr/sbin/groupadd -g 54323 oper
[root@rhel76 ~]# /usr/sbin/useradd -u 54321 -g oinstall -G dba,oper oracle
--修改密码为oracle
[root@rhel76 ~]# passwd oracle
📣 3.创建工作的目录
[root@rhel76 ~]# mkdir -p /u01/app/oracle
[root@rhel76 ~]# chown -R oracle:oinstall /u01/
[root@rhel76 ~]# chmod -R 775 /u01/app/oracle
📣 4.配置Oracle的环境变量
[oracle@rhel76 ~]$ vi .bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1
export ORACLE_SID=mesdb
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
[oracle@rhel76 ~]$ source .bash_profile
[oracle@rhel76 ~]$ env | grep ORACLE
ORACLE_SID=mesdb
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
📣 5.修改内核参数
## 以下在root用户下操作
[root@rhel76 ~]# cp /etc/sysctl.conf /etc/sysctl.conf.bak
cat >> /etc/sysctl.conf << "EOF"
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
EOF
## 环境变量生效
[root@rhel76 ~]# sysctl --system
📣 6./etc/profile配置
## 以下root用户操作
[root@rhel76 ~]# cp /etc/profile /etc/profile.bak
cat >> /etc/profile << "EOF"
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
EOF
[root@rhel76 ~]# vi /etc/pam.d/login
session required pam_limits.so
📣 7.修改资源限制
## 以下root用户操作
[root@rhel76 ~]# cp /etc/security/limits.conf /etc/security/limits.conf.bak
cat >> /etc/security/limits.conf << "EOF"
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF
📣 8.yum安装依赖
1.挂载光驱到/mnt/cdrom目录(确保设备状态:已连接/启动时连接)
[root@rhel76 ~]# mkdir -p /mnt/cdrom
[root@rhel76 ~]# mount /dev/sr0 /mnt/cdrom
mount: /dev/sr0 is write-protected, mounting read-only
[root@rhel76 ~]# cd /mnt/cdrom && ls
addons EULA GPL isolinux media.repo repodata RPM-GPG-KEY-redhat-release
EFI extra_files.json images LiveOS Packages RPM-GPG-KEY-redhat-beta TRANS.TBL
2.修改yum配置
[root@rhel76 cdrom]# cd /etc/yum.repos.d/
[root@rhel76 yum.repos.d]# ll
total 4
-rw-r--r--. 1 root root 358 Jun 26 2021 redhat.repo
[root@rhel76 yum.repos.d]# vi dvd.repo
[RHEL]
name=RedHat
baseurl=file:///mnt/cdrom
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled=1
3.清空并重载yum
yum clean all
yum makecache
4.安装yum
yum install -y bc gcc gcc-c++ binutils compat-libcap1 compat-libstdc++ dtrace-modules dtrace-modules-headers
yum install -y dtrace-modules-provider-headers dtrace-utils elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel
yum install -y ksh libaio libaio-devel libdtrace-ctf-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc librdmacm-devel
yum install -y libstdc++ libstdc++-devel libxcb make smartmontools sysstat
yum install -y kmod*
yum install -y ksh*
yum install -y libaio*
yum install -y compat*
📣 9.解压软件授权
## oracle用户下操作
[oracle@rhel76 ~]$ mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1
[root@rhel76 ~]# mv LINUX.X64_193000_db_home.zip /u01/app/oracle/product/19.3.0/dbhome_1
[root@rhel76 ~]# cd /u01/app/oracle/product/19.3.0/dbhome_1
[root@rhel76 dbhome_1]# ll
total 2987996
-rw-r--r-- 1 root root 3059705302 Jul 26 2020 LINUX.X64_193000_db_home.zip
[root@rhel76 dbhome_1]# cd ..
[root@rhel76 19.3.0]# chown -R oracle:oinstall dbhome_1/
[root@rhel76 19.3.0]# chmod -R +x dbhome_1/
[oracle@rhel76 ~]$ cd $ORACLE_HOME
[oracle@rhel76 dbhome_1]$ unzip LINUX.X64_193000_db_home.zip
##java环境确认
[oracle@rhel76 response]$ java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
📣 10.静默安装Oracle数据库
1.编辑rsp文件
[oracle@rhel76 ~]$ cd $ORACLE_HOME/install/response
[oracle@rhel76 response]$ cp db_install.rsp /tmp
vi /tmp/db_install.rsp
修改db_install.rsp文件中以下内容
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
oracle.install.db.config.starterdb.type=DATA_WAREHOUSE
2.静默安装Oracle软件
[oracle@rhel76 ~]$ cd $ORACLE_HOME
./runInstaller -silent -responseFile /tmp/db_install.rsp -ignorePrereq
📣 11.监听创建
静默配置监听
[oracle@rhel76 ~]$ netca -silent -responseFile $ORACLE_HOME/assistants/netca/netca.rsp
📣 13.dbca建库
1.编辑dbca.rsp安装文件
[root@rhel76 ~]# find / -name dbca.rsp
/u01/app/oracle/product/19.3.0/dbhome_1/assistants/dbca/dbca.rsp
[oracle@rhel76 ~]$ cd $ORACLE_HOME/assistants/dbca
[oracle@rhel76 dbca]$ ll
total 28
-rw-r----- 1 oracle oinstall 25502 Apr 5 2019 dbca.rsp
drwxr-xr-x 2 oracle oinstall 242 Apr 17 2019 doc
drwxr-xr-x 2 oracle oinstall 41 Apr 17 2019 jlib
drwxr-xr-x 2 oracle oinstall 171 Apr 17 2019 templates
[oracle@rhel76 dbca]$ cp dbca.rsp /tmp
[oracle@rhel76 ~]$ vi /tmp/dbca.rsp
responseFileVersion=/home/oracle/rspfmt_dbca_response_schema_v19.0.0
gdbName=mesdb
sid=mesdb
databaseConfigType=SI
templateName=General_Purpose.dbc
sysPassword=oracle
oracleHomeUserPassword=oracle
totalMemory=1500
sysPassword=oracle
systemPassword=oracle
datafileDestination=/u01/app/oracle/oradata
characterSet=ZHS16GBK
nationalCharacterSet=AL16UTF16
databaseType=OLTP
2.静默安装数据库
[oracle@rhel76 ~]$ dbca -silent -createDatabase -responseFile /tmp/dbca.rsp
📣 14.登陆验证
[oracle@rhel76 ~]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Tue Nov 22 00:45:21 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cdb_cluster_name string
cell_offloadgroup_name string
db_file_name_convert string
db_name string mesdb
db_unique_name string mesdb
global_names boolean FALSE
instance_name string mesdb
lock_name_space string
log_file_name_convert string
pdb_file_name_convert string
processor_group_name string
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string mesdb