Oracle数据库18c单实例静默安装部署文档

Oracle数据库18c单实例安装部署文档

  • 产品:Oracle数据库
  • 版本: 18.14.0.0.210420
  • 环境: Red Hat Enterprise Linux Server 7.9 (Maipo)

需求确认

序号需求项需求明细备注
1操作系统版本Red Hat Enterprise Linux Server 7.9 (Maipo)
2系统软件包挂载操作系统镜像
3网卡一个网卡:用于与主库同步数据,IP地址配置在网卡上;
4IP地址192.168.1.11
5主机名xsjan1主机名小写且不用下划线
6本地存储/ 50GB
/tmp 50GB
/home 100GB
/u01 100GB
/oradata 1.5TB
/oraarch 500G
7外置存储
8交换分区16GB
9开放协议ssh、vncview
10集群版本
11集群基本目录
12集群家目录
13集群用户
14集群用户家目录
15数据库版本Oracle 18.14.0.0.210420
16数据库基本目录/u01/app/oracle/
17数据库家目录/u01/app/oracle/product/18.0.0/db_1
18数据库用户oracle
19数据库用户家目录/home/oracle
20数据库字符集ZHS16GBK
21数据库国际字符集AL32UTF16
22连接数2000
23数据库唯一名xsjan
24数据库名xsjan
25数据库类型非容器数据库
26实例名xsjan
27数据文件目录/oradata/xsjan
28在线日志目录/oradata/xsjan
29归档文件目录/oraarch/xsjan
30回闪目录/oraarch/xsjan
31回闪目录大小500G

环境部署

1、安装依赖包

通过YUM源或挂载操作系统镜像安装

yum -y install bc binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libXrender libXrender-devel libX11 libXau libXi libXtst libgcc libstdc++ libstdc++-devel libxcb make policycoreutils policycoreutils-python smartmontools sysstat gcc gcc-c++ librdmacm-devel net-tools nfs-utils python python-configshell python-rtslib python-six targetcli psmisc

操作系统依赖包参考官方文档:

https://docs.oracle.com/en/database/oracle/oracle-database/18/ladbi/supported-red-hat-enterprise-linux-7-distributions-for-x86-64.html#GUID-2E11B561-6587-4789-A583-2E33D705E498

检查依赖包安装情况

rpm -q --queryformat "%{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 libXrender libXrender-devel libX11 libXau libXi libXtst libgcc libstdc++ libstdc++-devel libxcb make policycoreutils policycoreutils-python smartmontools sysstat gcc gcc-c++ librdmacm-devel net-tools nfs-utils python python-configshell python-rtslib python-six targetcli psmisc

2、配置操作系统内核参数

cat /etc/sysctl.conf

## add by oracle install ##

#setting for fs.file-max is 6815744
fs.file-max = 6815744

#setting for kernel.sem is '250 32000 100 128'
kernel.sem = 250 32000 100 128

#setting for kernel.shmmni is 4096
kernel.shmmni = 4096

#setting for kernel.shmall 
kernel.shmall = 23053004

#setting for kernel.shmmax
kernel.shmmax = 94425107660                

#setting for kernel.panic_on_oops is 1 per Orabug 19212317
kernel.panic_on_oops = 1

#setting for net.core.rmem_default is 262144
net.core.rmem_default = 262144

#setting for net.core.rmem_max is 4194304
net.core.rmem_max = 4194304

#setting for net.core.wmem_default is 262144
net.core.wmem_default = 262144

#setting for net.core.wmem_max is 1048576
net.core.wmem_max = 1048576

#setting for net.ipv4.conf.all.rp_filter is 2
net.ipv4.conf.all.rp_filter = 2

#setting for net.ipv4.conf.default.rp_filter is 2
net.ipv4.conf.default.rp_filter = 2

#setting for fs.aio-max-nr is 1048576
fs.aio-max-nr = 1048576

#setting for net.ipv4.ip_local_port_range is 9000 65500
net.ipv4.ip_local_port_range = 9000 65500

#setting for kernel.numa_balancing is 0 per Orabug: 26798697
kernel.numa_balancing = 0

参数kernel.shmmax官方建议大于等于物理内存的一半,单位byte

参数kernel.shmall官方建议大于或等于kernel.shmmax值/4096,单位页

MOS搜Requirements for Installing Oracle

https://support.oracle.com/epmos/faces/DocumentDisplay?id=2551169.1

执行sysctl -p使参数生效

4、配置操作系统资源限制

cat /etc/security/limits.conf

## add by oracle install ##
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              soft memlock unlimited
oracle              hard memlock unlimited
cat /etc/pam.d/login

## add by oracle install ##
session required pam_limits.so

5、取消透明大页

Oracle官方测试显示在linux开启透明巨页THP,I/O读写性能降低30%,并可能引起实例异常重启及性能问题;如果关闭透明巨页THP,I/O读写性能则恢复正常。建议在Oracle Database中不要使用THP。

参考:

https://support.oracle.com/epmos/faces/DocumentDisplay?id=1557478.1

https://docs.oracle.com/en/database/oracle/oracle-database/19/cwlin/disabling-transparent-hugepages.html

##检查THP (Transparent hugepage)模式,中括号中内容为当前模式
cat /sys/kernel/mm/transparent_hugepage/enabled
##redhat操作系统的路径为:
cat /sys/kernel/mm/redhat_transparent_hugepage/enabled

[always] madvise never

##修改文件/etc/default/grub加入transparent_hugepage=never,如:
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="crashkernel=auto rhgb quiet numa=off transparent_hugepage=never"
GRUB_DISABLE_RECOVERY="true"

##执行grub2-mkconfig加载参数
grub2-mkconfig -o /boot/grub2/grub.cfg

##重启服务器使参数生效

##检查
cat /sys/kernel/mm/transparent_hugepage/enabled
输出:always madvise [never]

6、禁用SELINUX

cat /etc/selinux/config

SELINUX=disabled

如果不想重启系统,使用命令setenforce 0使参数生效

7、配置防火墙

#单实例放通SSH端口:19574/tcp,数据库监听端口:32456/tcp,NTP端口:123/udp
firewall-cmd --list-all
firewall-cmd --zone=public --add-port=19574/tcp --permanent
firewall-cmd --zone=public --add-port=32456/tcp --permanent
firewall-cmd --zone=public --add-port=123/udp --permanent
firewall-cmd --reload
firewall-cmd --list-all

#RAC关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service

8、创建用户和组

以root用户执行

groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 backupdba
groupadd -g 54325 dgdba
groupadd -g 54326 kmdba

useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba oracle

9、修改Oracle密码

以root用户执行

id oracle
passwd oracle

10、创建目录

以root用户执行

# ORACLE_BASE for DB
mkdir -p /u01/app/oracle
# ORACLE_HOME for DB
mkdir -p /u01/app/oracle/product/18.0.0/db_1

mkdir -p /u01/app/oraInventory

chown -R oracle.oinstall /u01/app/oracle 
chown -R oracle.oinstall /u01/app/oraInventory 

chmod -R 775 /u01

11、配置Oracle用户的环境变量

修改/home/oracle/.bash_profile文件,添加oracle用户环境变量

按规划调整ORACLE_SID

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:$HOME:/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:.
export PATH
export ORACLE_SID=xsjan
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/18.0.0/db_1
export ORACLE_TERM=vt100
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=american_america.zhs16gbk
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/JRE/lib:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export DISPLAY=localhost:0.0
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export DISABLE_HUGETLBFS=1
export LANG=C
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
umask 022

数据库软件安装

1、介质准备

序号介质名称说明
1V978967-01.zip数据库软件安装介质

2、解压数据库软件介质

以oracle用户解压到数据库家目录

su – oracle
cd /u01/app/oracle/product/18.0.0/db_1
unzip -q /tmp/V978967-01.zip

3、配置静默安装响应文件

文件路径:$ORACLE_HOME/install/response/db_install.rsp,需要配置的软件安装参数如下:

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v18.0.0
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/18.0.0/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=backupdba
oracle.install.db.OSDGDBA_GROUP=dgdba
oracle.install.db.OSKMDBA_GROUP=kmdba
oracle.install.db.OSRACDBA_GROUP=dba

编辑完成后使用grep命令检查

grep -Ev '^$|^#' db_install.rsp

4、执行静默安装

cd $ORACLE_HOME
./runInstaller -silent -responseFile $ORACLE_HOME/install/response/db_install.rsp

根据安装提示以root用户执行相关脚本

/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/18.0.0/db_1/root.sh

补丁安装

1、介质准备

序号介质名称说明
1p6880880_180000_Linux-x86-64.zipOPatch工具
2p32524155_180000_Linux-x86-64.zipDB 18.14.0.0.0补丁
3p32552752_180000_Linux-x86-64.zipOJVM补丁

2、更新OPatch工具

以oracle用户执行

mv $ORACLE_HOME/OPatch $ORACLE_HOME/Opatchbak
unzip p6880880_180000_*.zip -d $ORACLE_HOME/

检查OPatch版本
opatch version

3、数据库补丁预检查

以oracle用户执行

unzip p32524155_180000_Linux-x86-64.zip

#补丁冲突检查
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/oracle/32524155

#补丁空间检查
$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseDir /tmp/oracle/32524155

4、更新数据库补丁

以oracle用户执行

#执行更新
$ORACLE_HOME/OPatch/opatch apply /tmp/oracle/32524155

#检查更新结果
$ORACLE_HOME/OPatch/opatch lsinv

5、OJVM补丁与检查

以oracle用户执行

unzip p32552752_180000_Linux-x86-64.zip

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph /tmp/oracle/32552752

6、更新OJVM补丁

以oracle用户执行

#执行更新
$ORACLE_HOME/OPatch/opatch apply /tmp/oracle/32552752

#检查更新结果
$ORACLE_HOME/OPatch/opatch lsinv

数据库安装(搭建ADG可忽略)

1、配置静默安装响应文件

文件路径:$ORACLE_HOME/assistants/dbca/dbca.rsp,需要配置的软件安装参数如下:

responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0
gdbName=xsjan
sid=xsjan
databaseConfigType=SI
createAsContainerDatabase=false
sysPassword=oracle
systemPassword=oracle
datafileDestination=/oradata/xsjan
recoveryAreaDestination=/oraarch/xsjan
storageType=FS
characterSet=ZHS16GBK
nationalCharacterSet=AL32UTF16
memoryPercentage=60
automaticMemoryManagement=FALSE

编辑完成后使用grep命令检查

grep -Ev '^$|^#' db_install.rsp

2、执行静默安装

dbca -silent -createDatabase -responseFile $ORACLE_HOME/assistants/dbca/dbca.rsp

创建监听(搭建ADG可忽略)

1、配置静默安装响应文件

文件路径:$ORACLE_HOME/assistants/netca/netca.rsp,需要配置的软件安装参数如下:

[GENERAL]
RESPONSEFILE_VERSION="12.2"
CREATE_TYPE="CUSTOM"
[oracle.net.ca]
INSTALLED_COMPONENTS={"server","net8","javavm"}
INSTALL_TYPE=""typical""
LISTENER_NUMBER=1
LISTENER_NAMES={"LISTENER"}
LISTENER_PROTOCOLS={"TCP;32456"}
LISTENER_START=""LISTENER""
NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}
NSN_NUMBER=1
NSN_NAMES={"EXTPROC_CONNECTION_DATA"}
NSN_SERVICE={"PLSExtProc"}
NSN_PROTOCOLS={"TCP;HOSTNAME;32456"}

编辑完成后使用grep命令检查

grep -Ev '^$|^#' netca.rsp

2、执行静默安装

netca -silent -responsefile $ORACLE_HOME/assistants/netca/netca.rsp

配置监听静态注册

vi $ORACLE_HOME/network/admin/listener.ora
#加入静态注册信息
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = xsjan)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
      (SID_NAME = xsjan)
    )
  )

关注醒狮运维公众号,了解更多运维知识及漏洞信息!
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醒狮运维

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值