文章目录
需求确认
序号 | 需求项 | 需求明细 | 备注 |
---|---|---|---|
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 |
环境部署
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
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
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
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
##检查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]
cat /etc/selinux/config
SELINUX=disabled
#单实例放通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
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
id oracle
passwd oracle
# 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
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 | V978967-01.zip | 数据库软件安装介质 |
su – oracle
cd /u01/app/oracle/product/18.0.0/db_1
unzip -q /tmp/V978967-01.zip
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 -Ev '^$|^#' db_install.rsp
cd $ORACLE_HOME
./runInstaller -silent -responseFile $ORACLE_HOME/install/response/db_install.rsp
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/18.0.0/db_1/root.sh
补丁安装
序号 | 介质名称 | 说明 |
---|---|---|
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补丁 |
mv $ORACLE_HOME/OPatch $ORACLE_HOME/Opatchbak
unzip p6880880_180000_*.zip -d $ORACLE_HOME/
检查OPatch版本
opatch version
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
#执行更新
$ORACLE_HOME/OPatch/opatch apply /tmp/oracle/32524155
#检查更新结果
$ORACLE_HOME/OPatch/opatch lsinv
unzip p32552752_180000_Linux-x86-64.zip
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph /tmp/oracle/32552752
#执行更新
$ORACLE_HOME/OPatch/opatch apply /tmp/oracle/32552752
#检查更新结果
$ORACLE_HOME/OPatch/opatch lsinv
数据库安装(搭建ADG可忽略)
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 -Ev '^$|^#' db_install.rsp
dbca -silent -createDatabase -responseFile $ORACLE_HOME/assistants/dbca/dbca.rsp
创建监听(搭建ADG可忽略)
[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 -Ev '^$|^#' netca.rsp
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单实例静默安装部署
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论