Oracle

静默安装部署Oracle 19c版本

浅时光 · 11月1日 · 2020年 5091次已读

一、环境准备


1、文章来源(Source):https://www.dqzboy.com硬件需求

内存

  • 大于2 GB 以上
  • 查看内存大小
grep MemTotal /proc/meminfo

SWAP

在Linux上,HugePages功能使用内存映射文件为大型页表分配不可交换的内存。如果启用了HugePages,则应在计算交换空间之前从可用的RAM中扣除分配给Hu文章来源(Source):https://www.dqzboy.comgePages的内存。

可用内存交换分区
1 GB~2 GB1.5倍内存大小,4G左右
2 GB~16 GB等同内存大小
16GB+16GB
  • 查看交换分区大小:
grep SwapTotal /proc/meminfo
  • 查看内存和交换分区:
free

ASM

从Oracle Dat文章来源(Source):https://www.dqzboy.comabase 11g开始,自动内存管理功能需要更多的共享内存(/dev/sh文章来源(Source):https://www.dqzboy.comm)和文件描述符。共享内存的大小至少应大于该计算机上每个Oracle实例的MEMORY_MAX_TARGETMEMORY_TARGET

  • 查看共享内存大小:
df -h /dev/shm/
  • 可以通过如下命令修改shm的大小:
mount -t tmpfs shmfs -o size=8g /dev/shm
  • 为了系统重启也可以生效,需要修改/etc/fstab文件,添加如下内容:
echo "shmfs /dev/shm tmpfs size=8g 0 0" >> /etc/fstab
  • 注:当启用LOCK_SGA或在Linux上使用HugePages时,不能使用MEMORY_MAX_TARGETMEMORY_TARGET

硬盘

  • 至少1GB可用空间,挂载文章来源(Source):https://www.dqzboy.com/tmp
  • 可用空间不够时,两种办法:
    • 1、删除/tmp下不必要的文件
    • 2、配置oracle用户的环境时,设置TMPTMPDIR环境变量。
  • 创建一个临时目录,并在该目录上设置适当的权限:
[[email protected] ~]# mkdir -p /mount_point/tmp
[[email protected] ~]# chmod a+wr /mount_point/tmp
  • 设置TMPTMPDIR环境变量:
[[email protected] ~]# vim /etc/profile
TMP=/mount_point/tmp
TMPDIR=/mount_point/tmp
export TMP TMPDIR

[[email protected] ~]# source /etc/profile
[[email protected] ~]# echo ${TMPDIR}
/mount_point/tmp

2、系统准备

2.1:关闭防火墙

文章来源(Source):https://www.dqzboy.com
[[email protected] ~]# systemctl stop firewalld
[[email protected] ~]# systemctl disable firewalld

2.2:关闭SELinux

文章来源(Source):https://www.dqzboy.com
[[email protected] ~]# sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[[email protected] ~]# setenforce 0 && getenforce

2.3:增加Swap

  • 查看Swap空间大小,如果不足4G则手动扩容增大swap空间大小
[[email protected] ~]# free -h|grep Swap
Swap:          2.0G          0B        2.0G

2.3.1:创建swap文件

  • 指定swap文件的大小, 先指定区块大小:bs, 再指定区块数量count, 则swap文件的大小是: count*bs
[[email protected] ~]# mkdir /opt/swap
[[email protected] ~]# cd /opt/swap/
[[email protected] swap]# dd if=/dev/zero of=/opt/swap/swapfile bs=1M count=8192

2.3.2:指定作为交换区的文件

[[email protected] swap]# mkswap swapfile
正在设置交换空间版本 1,大小 = 8388604 KiB
无标签,UUID=89a92f48-a873-42e0-a057-e8ab1fc86ff5

2.3.3:激活交换分区

[[email protected] swap]# swapon /opt/swap/swapfile
[[email protected] swap]# free -h|grep Swap
Swap:            9G          0B          9G

2.3.4:设置开机时启用swap

[[email protected] swap]# echo "/opt/swap/swapfile swap swap defaults 0 0" >> /etc/fstab
[[email protected] swap]# tail -1 /etc/fstab
/opt/swap/swapfile swap swap defaults 0 0

2.3.5:确认swap已经被使用

[[email protected] swap]# swapon -s

2.4:修改系统版本

  • 修改系统版本,绕过安装时进行的系统检测
[[email protected] ~]# vim /etc/redhat-release
#将原先的值注释或者删除,然后修改为下面的值
redhat-7

2.5:安装依赖包

  • 安装Oracle19c可能需要的Centos操作系统的基础RPM包,共41个
  • 更换为腾讯的BASE和epel镜像源,下载快点
#备份系统官方BASE源,如有配置其他epel源则需要先备份
[[email protected] ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
[[email protected] ~]# mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup

#下载腾讯YUM源
[[email protected] ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
[[email protected] ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
#生成缓存
[[email protected] ~]# yum clean all
[[email protected] ~]# yum makecache

[[email protected] ~]# yum install -y bc binutils compat-libcap1 compat-libstdc++ dtrace-modules dtrace-modules-headers dtrace-modules-provider-headers dtrace-utils elfutils-libelf elfutils-libelf-devel fontconfig-devel gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libdtrace-ctf-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc librdmacm-devel libstdc++ libstdc++-devel libxcb make net-tools nfs-utils python python-configshell python-rtslib python-six smartmontools sysstat targetcli unixODBC xorg-x11-xauth tigervnc-server zip unzip smartmontools lrzsz readline readline-devel unixODBC-devel
  • 手动安装以下的包
[[email protected] ~]# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
[[email protected] ~]# rpm -Uvh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

2.6:系统内核优化

[[email protected] ~]# vim /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
#设置最大打开文件数
fs.file-max = 6815744
fs.aio-max-nr = 1048576
#共享内存的页数,Linux共享内存页大小为4KB,8G内存按照官方设置为内存的1/2,我物理内存4G,设置为2G:2*1024*1024*1024/4096=(kernel.shmmax/4k)=1572864
kernel.shmall = 524288
#最大共享内存,官方文档建议是内存的1/2,我物理内存4G,设置为2G:2*1024*1024*1024 = 2147483648
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
#tcp参数设置
#可使用的IPv4端口范围(TCP/UDP协议允许使用的本地端口号)
net.ipv4.ip_local_port_range = 9000 65500
#默认&最大的TCP数据接收窗口大小(字节)
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
#默认&最大的TCP数据发送窗口大小(字节)
net.core.wmem_default= 262144
net.core.wmem_max= 1048576
  • 使内核参数立即生效
[[email protected] ~]# sysctl -p 	#或者 sysctl --system

2.7、提高软件运行性能

[[email protected] ~]# vim /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

二、开始部署


  • 创建 oracle 目录,授权,cd到oracle安装包路径下,解压oracle到 $ORACLE_HOME 目录下,然后执行 runInstaller 安装
  • 【注意】从18c开始,安装包必须解压到 $ORACLE_HOME 路径下进行安装!

1、创建用户

  • 创建Oracle相关用户和组
[[email protected] ~]# groupadd -g 54321 oinstall
[[email protected] ~]# groupadd -g 54322 dba
[[email protected] ~]# groupadd -g 54324 backupdba
[[email protected] ~]# groupadd -g 54325 dgdba
[[email protected] ~]# groupadd -g 54326 kmdba
[[email protected] ~]# groupadd -g 54327 asmdba
[[email protected] ~]# groupadd -g 54328 asmoper
[[email protected] ~]# groupadd -g 54330 racdba
  • 创建oracle用户
[[email protected] ~]# useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba oracle
  • 设置Oracle用户的密码
[[email protected] ~]# echo "dqz123" | passwd --stdin oracle

2、创建目录

mkdir -p /opt/oracle
mkdir -p /opt/oraInventory
mkdir -p /opt/database
mkdir -p /opt/oracle/product/19.3.0
mkdir -p /opt/oracle/oradata
mkdir -p /opt/oracle/flash_recovery_area
mkdir -p /opt/oracle/product/19.3.0/db_1

chown -R oracle:oinstall /opt/oracle
chown -R oracle:oinstall /opt/oracle/oradata
chown -R oracle:oinstall /opt/oraInventory
chown -R oracle:oinstall /opt/database

chmod -R 775 /opt/oracle
  • 配置Oracle用户的环境变量
# su - oracle
$ vim .bash_profile
末尾添加环境变量配置内容如下:
umask 022
#oracle数据库安装目录
export ORACLE_BASE=/opt/oracle
#oracle数据库路径
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/db_1
#oracle启动数据库实例名
export ORACLE_SID=orcl
#xterm窗口模式安装
export ORACLE_TERM=xterm
#配置时间格式
NLS_DATE_FORMAT="YYYY:MM:DDHH24:MI:SS"
#添加系统环境变量
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
#添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
#防止安装过程出现乱码
#export LANG=en_US.gbk
export LANG=en_US.UTF-8
#设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致,
#export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_LANG=AMERICAN_AMERICA.UTF8
文章来源(Source):https://www.dqzboy.com
  • 生效环境变量
# 重新登录或者执行source 立即生效
$ source /home/oracle/.bash_profile
  • 检查环境变量是否生效
$ echo $ORACLE_HOME

3、下载安装

  • 官方下载地址:Oracle19c
  • 官方下载慢的同学,可以使用本文章所使用Oracle版本的安装包,可在本文最后进行获取下载
静默安装部署Oracle 19c版本-浅时光博客
  • 将下载的zip包上传到/opt目录下。然后解压到ORACLE_HOME目录下
  • 切换到oracle用户解压安装zip包
[[email protected] ~]# su - oracle
[[email protected] ~]$ cd /opt/
[[email protected] opt]$ unzip -q LINUX.X64_193000_db_home.zip -d $ORACLE_HOME

4、修改响应文件

  • 修改响应文件 db_install.rsp
  • 统一复制响应文件到/home/oracle/下面,然后再授权和修改响应文件Oracle 11/12解压后response目录,下面包含 dbca.rsp (用来创建数据库的), db_install.rsp (用来安装Oracle软件),netca.rsp(用来创建监听器) 三个文件
  • Oracle 19c解压后response目录下,只包含 db_install.rsp (用来安装Oracle软件),dbca.rsp$ORACLE_HOME/assistants/dbca/dbca.rsp
[[email protected] opt]$ cd $ORACLE_HOME
[[email protected] db_1]$ find ./ -name dbca.rsp
./assistants/dbca/dbca.rsp

[[email protected] db_1]$ cp -r $ORACLE_HOME/install/response /home/oracle

[[email protected] db_1]$ vim /home/oracle/response/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY
#ORACLE_HOSTNAME=localhost #如果修改过hostname则需要设置正确,否则可以不设置
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/opt/oraInventory
ORACLE_HOME=/opt/oracle/product/19.3.0/db_1
ORACLE_BASE=/opt/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 19c版本-浅时光博客
静默安装部署Oracle 19c版本-浅时光博客
静默安装部署Oracle 19c版本-浅时光博客
静默安装部署Oracle 19c版本-浅时光博客
文章来源(Source):https://www.dqzboy.com

【注意】如果服务器设置了 hostname,则 ORACLE_HOSTNAME 需要设置一致。需要进行 vim /etc/hosts 修改,设置 hostname 相关的修改

5、开始安装

  • 以 oracle 用户开始静默安装数据库
[[email protected] ~]$ $ORACLE_HOME/runInstaller -silent -ignorePrereq -responseFile /home/oracle/response/db_install.rsp

【注意】安装过程中会提示输入root用户密码以执行脚本;安装会提示安装的日志文件,可以通过日志文件查看静默安装的进展和信息

  • 安装成功后提示信息如下:
静默安装部署Oracle 19c版本-浅时光博客
静默安装部署Oracle 19c版本-浅时光博客

6、启动监听

[[email protected] ~]# su - oracle
[[email protected] ~]$ lsnrctl start
[[email protected] ~]$ netstat -an |grep 1521

7、创建数据库

  • 静默方式使用dbca.rsp来创建数据库
[[email protected] ~]$ cp $ORACLE_HOME/assistants/dbca/dbca.rsp /home/oracle/response/
  • 设置以下参数(注意:Oracle11g安装时字符串参数带引号输入,但Oracle 19c需要删除引号,否则会报错,变量设置路径是也不支持$ORACLE_BASE的写法)
[[email protected] ~]$ vim /home/oracle/response/dbca.rsp
gdbName=orcl
sid=orcl
#Oracle自带的默认建库模板 General_Purpose.dbc,文件位于 $Oracle_HOME/assistants/dbca/templates/General_Purpose.dbc,这里设置等同于 dbca 加参数 -templateName General_Purpose.dbc
templateName=General_Purpose.dbc
sysPassword=dqz123
systemPassword=dqz123
dbsnmpPassword=dqz123
#datafileDestination 为所有数据文件的目标位置,如果不设置默认为 $ORACLE_BASE/oradata
datafileDestination=/opt/oracle/oradata
#recoveryAreaDestination 为恢复区位置,如果不设置默认为 $ORACLE_BASE/flash_recovery_area
recoveryAreaDestination=/opt/oracle/flash_recovery_area
characterSet=AL32UTF8
databaseType=OLTP
# totalMemory 为6553MB,物理内存4G*80%,我设置为2G = 2048 ,注意:如果设置超过 kernel.shmmax 建库时会报错
totalMemory=2048
静默安装部署Oracle 19c版本-浅时光博客
静默安装部署Oracle 19c版本-浅时光博客
静默安装部署Oracle 19c版本-浅时光博客
静默安装部署Oracle 19c版本-浅时光博客
静默安装部署Oracle 19c版本-浅时光博客
静默安装部署Oracle 19c版本-浅时光博客
静默安装部署Oracle 19c版本-浅时光博客
静默安装部署Oracle 19c版本-浅时光博客
静默安装部署Oracle 19c版本-浅时光博客
静默安装部署Oracle 19c版本-浅时光博客
  • 使用dbca.rsp静默建库(注意:#responseFile必须使用绝对路径)
[[email protected] ~]$ dbca -silent -createDatabase -responseFile /home/oracle/response/dbca.rsp
静默安装部署Oracle 19c版本-浅时光博客
文章来源(Source):https://www.dqzboy.com

注意:如果建库时提示 SYS 和 SYSTEM 密码太短,直接忽略该告警

  • 建库完毕后,查看监听器状态和端口
[[email protected] ~]$ lsnrctl status
静默安装部署Oracle 19c版本-浅时光博客
  • 接下来需要创用户、表空间和授权远程访问等操作。参考图形化安装的创建用户、表空间、授权等操作即可





文件名称:Oracle 19c安装包(Linux)

更新日期:2020-11-01

文件大小:2.85GB

广

点击下载

静默安装部署Oracle 19c版本-浅时光博客
0 条回应
    本站已安全运行: | 耗时 0.434 秒 | 查询 107 次 | 内存 20.24 MB