Oracle数据库实战第一篇18c单实例静默安装部署

admin 2022年4月7日23:09:20评论51 views字数 9587阅读31分57秒阅读模式
  • 产品:Oracle数据库

  • 版本:18.14.0.0.210420

  • 环境:Red Hat Enterprise Linux Server 7.9 (Maipo)


文章目录

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

    • 需求确认

    • 环境部署

    • 数据库软件安装

    • 补丁安装

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

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


需求确认

序号 需求项 需求明细 备注
1 操作系统版本 Red Hat Enterprise Linux Server 7.9 (Maipo)
2 系统软件包 挂载操作系统镜像
3 网卡 一个网卡:用于与主库同步数据,IP地址配置在网卡上;
4 IP地址 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、介质准备

序号 介质名称 说明
1 V978967-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、介质准备

序号 介质名称 说明
1 p6880880_180000_Linux-x86-64.zip OPatch工具
2 p32524155_180000_Linux-x86-64.zip DB 18.14.0.0.0补丁
3 p32552752_180000_Linux-x86-64.zip OJVM补丁

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)
)
)


Oracle数据库实战第一篇18c单实例静默安装部署
END


创作不易,如需转载本公众号原创文章,均需在文章明显位置注明出处,或插上公众号名片,醒狮运维团队每周将对抄袭的文章进行举报,投诉

 关注醒狮运维公众号,了解更多运维知识及漏洞资讯!



原文始发于微信公众号(醒狮运维):Oracle数据库实战第一篇--18c单实例静默安装部署

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月7日23:09:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Oracle数据库实战第一篇18c单实例静默安装部署https://cn-sec.com/archives/881822.html

发表评论

匿名网友 填写信息