1.环境说明
操作系统:Oracle Enterprise Linux 7 64-Bit(本文为7.6版本)
数据库版本:Oracle 19CRAC集群环境
Oracle Base目录:/data/oracle
Oracle Grid目录:/data/grid/19c/grid
Oracle Home目录:/data/oracle/product/19c/db
ASM磁盘名称 | ASM磁盘单个容量(GB) | ASM磁盘个数 | ASM可用容量(GB) | DG的冗余度 | 用户与组属性 | 用途说明 |
OCRDG | 100 | 3 | 300 | Normal | grid:asmadmin | 用于存放数GI的OCR和Voting Disk |
DATA | 2000 | 6 | 12000 | external | grid:asmadmin | 用于存放数据库实例数据文件 |
ARCHC | 2000 | 1 | 2000 | external | grid:asmadmin | 存放归档文件等 |
注:redo日志不推荐存放在RAID5模式下,以下是ORACLE推荐的RAID模式
2.安装环境准备
1)安装包
yum install -y bc binutils-2* compat-libcap1-* compat-libstdc++*.i686 compat-libstdc++* elfutils-libelf-*.i686 elfutils-libelf-* elfutils-libelf-devel-*.el7.i686 elfutils-libelf-devel-* fontconfig-devel-* glibc-c*i686 glibc-* glibc-devel-*.i686 glibc-devel-* ksh libaio-*.i686 libaio-*.x86_64 libaio-devel-*i686 libaio-devel-*x86_64 libX11-*.i686 libX11-*.x86_64 libXau-*.el7.i686 libXau-*.x86_64 libXi-*i686 libXi-*x86_64 libXtst-*.i686 libXtst-*x86_64 libXrender-devel-*.i686 libXrender-devel-*.x86_64 libXrender-*i686 libXrender-*.x86_64 libgcc-*.i686 libgcc-*.x86_64 librdmacm-devel-*.i686 librdmacm-devel-*.x86_64 libstdc++-*.i686 libstdc++-*.x86_64 libstdc++-devel-*.i686 libstdc++-devel-*.x86_64 libxcb-*.i686 libxcb-*x86_64 make-*.x86_64 nfs-utils-*el7.x86_64 net-tools-* python-configshell-*.noarch python-rtslib-*.noarch python-six-*.noarch smartmontools*.x86_64 sysstat-*.x86_64 targetcli-*.noarch psmisc
rpm -qa | grep -E "bc|binutils-|compat-libcap1-|compat-libstdc++|elfutils-libelf-|elfutils-libelf-devel-|el7elfutils-libelf-devel-|fontconfig-devel-|glibc-c|i686glibc-|glibc-devel-|kshlibaio-|libaio-|libaio-devel-|i686libaio-devel-|libX11-|libXau-|.el7libXau-|libXi-|i686libXi-|libXtst-|libXrender-devel-|libXrender-|i686libXrender-|libgcc-|librdmacm-devel-|libstdc++-|libstdc++-devel-|libxcb-|make-|nfs-utils-|el7net-tools-|python-configshell-|python-rtslib-|python-six-|smartmontools|sysstat-|targetcli-"|sort
2)selinux禁用
vi /etc/selinux/config
修改SELINUX=disabled
3)禁用AVAHI daemon
vi /etc/sysconfig/network
NOZEROCONF=yes
# systemctl stop avahi-daemon
# systemctl disable avahi-daemon
4)关闭透明大页Transparent HugePages
vi /etc/default/grub
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rootvg/root_lv rd.lvm.lv=rootvg/swap_lv rd.lvm.lv=rootvg/usr_lv rhgb quiet transparent_hugepage=never"
# grub2-mkconfig -o /boot/grub2/grub.cfg
需重启
# grep AnonHugePages /proc/meminfo
AnonHugePages: 0 kB
# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
5)关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
6)创建用户、组
groupadd -g 1000 oinstall
groupadd -g 1001 dba
groupadd -g 1018 asmadmin
groupadd -g 1011 asmdba
groupadd -g 1012 asmoper
groupadd -g 1013 backupdba
groupadd -g 1014 kmdba
groupadd -g 1015 oper
groupadd -g 1016 dgdba
groupadd -g 1017 racdba
useradd -u 1002 -g oinstall -G oinstall,dba,oper,backupdba,dgdba,racdba,kmdba,asmdba -d /home/oracle -s /bin/bash oracle
useradd -u 1001 -g oinstall -G oinstall,dba,racdba,asmadmin,asmdba,asmoper -m -d /home/grid grid
环境变量
--oracle
PATH=$PATH:$HOME/bin:/sbin:/usr/sbin
BASH_ENV=$HOME/.bashrc
export BASH_ENV PATH
unset USERNAME
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19c/db
export GRID_HOME=/data/grid/19c/grid
export ORACLE_SID=<SID>
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:/sbin:/usr/sbin:/bin:/usr/local/bin:$GRID_HOME/bin:.
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
#export NLS_LANG=american_america.ZHS16GBK
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
set -o vi
umask 022
alias gobase='cd $ORACLE_BASE'
alias gohome='cd $ORACLE_HOME'
alias gocrs='cd $GRID_HOME'
---grid
export ORACLE_BASE=/data/grid/grid
export ORACLE_HOME=/data/grid/19c/grid
export PATH=$ORACLE_HOME/bin:.:$PATH
export ORACLE_SID=+ASM1
alias ll='ls -l'
alias gohome='cd $ORACLE_HOME'
alias bdump='cd /data/grid/diag/asm/+asm/$ORACLE_SID/trace'
set -o vi
umask 022
--root
export GRID_HOME=/data/grid/19c/grid
export PATH=$PATH:$GRID_HOME/bin
7)用户资源限制
# vi /etc/security/limits.conf
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft memlock unlimited
oracle hard memlock unlimited
oracle soft stack 10240
oracle hard stack 32768
grid soft nproc 16384
grid hard nproc 16384
grid soft nofile 65536
grid hard nofile 65536
grid soft memlock unlimited
grid hard memlock unlimited
grid soft stack 10240
grid hard stack 32768
8)操作系统内核参数
mem_total=`free | awk '/Mem/ {print $2}'`
hugepages=`echo $mem_total/4096+24|bc|awk -F '.' '{print $1}'`
kernel.shmmax =527833608*1024
# vi /etc/sysctl.conf
# Oracle DB 19c Cconfiguration Parameter
net.ipv4.conf.all.accept_redirects=0
net.ipv4.ip_local_port_range=30000 61000
kernel.shmall = 792177372 ## shmmax/4k
kernel.shmmax = 3244758515712 ##os mem
kernel.shmmni = 4096
kernel.sem = 250 32000 100 200
fs.file-max=8388608
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_max=4194304
net.core.rmem_default=4194304
fs.aio-max-nr=4194304
net.core.wmem_max=4194304
net.core.wmem_default=262144
vm.nr_hugepages = 773634 ##根据SGA实际情况设置
vm.hugetlb_shm_group = 501
net.ipv4.tcp_max_syn_backlog=8196
net.core.netdev_max_backlog=8096
net.ipv4.tcp_keepalive_intvl=30
net.ipv4.tcp_fin_timeout=30
net.ipv4.tcp_retries2=5
net.ipv4.tcp_keepalive_probes=3
net.ipv4.tcp_tw_reuse=1
net.core.somaxconn=4096
net.ipv4.tcp_keepalive_time=1800
vm.min_free_kbytes = 524288
vm.dirty_ratio=20
vm.dirty_background_ratio=3
vm.dirty_writeback_centisecs=100
vm.dirty_expire_centisecs=500
net.ipv4.ipfrag_time = 120
net.ipv4.ipfrag_low_thresh = 40894464
net.ipv4.ipfrag_high_thresh = 41943040
net.ipv4.ipfrag_max_dist = 1024
kernel.panic_on_oops=1
net.ipv4.conf.p1p2.rp_filter=0 ##私网1
net.ipv4.conf.p2p2.rp_filter=0 ##私网2
net.ipv4.conf.all.rp_filter=0
# sysctl -p
vi /etc/systemd/logind.conf
RemoveIPC=no
#cat /proc/meminfo | grep HugePages
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
HugePages_Total: 2100
HugePages_Free: 2100
HugePages_Rsvd: 0
HugePages_Surp: 0
9)安装目录
mkdir -p /data
chown -R grid:oinstall /data
chmod 775 /data
mkdir -p /data/grid
chown grid:oinstall /data/grid
chmod 775 /data/grid
mkdir -p /data/grid/grid
chown grid:oinstall /data/grid/grid
chmod 775 /data/grid/grid
mkdir -p /data/grid/19c
chown grid:oinstall /data/grid/19c
chmod 775 /data/grid/19c
mkdir -p /data/grid/19c/grid
chown grid:oinstall /data/grid/19c
chown grid:oinstall /data/grid/19c/grid
mkdir -p /data/oracle
chown -R oracle:oinstall /data/oracle
mkdir -p /data/oracle/product/19c/db
mkdir -p /data/oracle/product/11g/db
mkdir -p /soft
chown grid:oinstall /soft
10)解压安装包、安装
su - grid
cd /soft
unzip LINUX.X64_193000_grid_home.zip -d $ORACLE_HOME
rpm -ivh cvuqdisk-1.0.10-1.rpm
rpm -q cvuqdisk
11)配置磁盘
配置udev,设置磁盘权限
/etc/udev/rules.d/99-oracleasm.rules
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-360002ac00000000000016cc800027932",SYMLINK+="asm-DATA_01",OWNER="grid",GROUP="asmadmin","MODE=0660"
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-360002ac00000000000016cc900027932",SYMLINK+="asm-DATA_02",OWNER="grid",GROUP="asmadmin","MODE=0660"
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-360002ac00000000000016cca00027932",SYMLINK+="asm-DATA_03",OWNER="grid",GROUP="asmadmin","MODE=0660"
...
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-360002ac00000000000016cc400027932",SYMLINK+="asm-ARCH_01",OWNER="grid",GROUP="asmadmin","MODE=0660"
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-360002ac00000000000016cc500027932",SYMLINK+="asm-ARCH_02",OWNER="grid",GROUP="asmadmin","MODE=0660"
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-360002ac00000000000016cc100027932",SYMLINK+="asm-OCR_01",OWNER="grid",GROUP="asmadmin","MODE=0660"
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-360002ac00000000000016cc200027932",SYMLINK+="asm-OCR_02",OWNER="grid",GROUP="asmadmin","MODE=0660"
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-360002ac00000000000016cc300027932",SYMLINK+="asm-OCR_03",OWNER="grid",GROUP="asmadmin","MODE=0660"
multipath -ll | grep DATA_
/sbin/udevadm control --reload-rules
/sbin/udevadm trigger --type=devices --action=change
12)安装
$ cd $ORACLE_HOME
$ ./gridSetup.sh
....
13)更新补丁
cd /data/grid/19c/grid
mv OPatch/ OPatch_bak
cp -r -p /soft/OPatch/ ./
/data/grid/19c/grid/OPatch/opatchauto apply /soft/33859214/33803476 -oh /data/grid/19c/grid/ -analyze
/data/grid/19c/grid/OPatch/opatchauto apply /soft/33859214/33808367 -oh /data/grid/19c/grid/ -analyze
/data/grid/19c/grid/OPatch/opatchauto apply /data/soft/34773504/34762026 -oh /data/grid/19c/grid/ -analyze
/data/grid/19c/grid/OPatch/opatchauto apply /data/soft/34773504/34786990 -oh /data/grid/19c/grid/ -analyze
crsctl query crs activeversion -f
./opatch lsinventory
$ORACLE_HOME/OPatch/opatch lspatches
cd $ORACLE_HOME
cd /data/oracle/product/19c/db
mv OPatch/ OPatch_bak
cp -r -p /soft/OPatch/ ./
/data/oracle/product/19c/db/OPatch/opatchauto apply /soft/33859214/33803476 -oh /data/oracle/product/19c/db/ -analyze
/data/oracle/product/19c/db/OPatch/opatchauto apply /soft/33859214/33808367 -oh /data/oracle/product/19c/db/ -analyze
/data/oracle/product/19c/db/OPatch/opatchauto apply /data/soft/34773504/34762026 -oh /data/oracle/product/19c/db/ -analyze
/data/oracle/product/19c/db/OPatch/opatchauto apply /data/soft/34773504/34786990 -oh /data/oracle/product/19c/db/ -analyze
--------------------
cd /data/oracle/product/11g/db
mv OPatch/ OPatch_bak
cp -r -p /soft/OPatch/ ./
cd /soft/31537677
opatch prereq CheckConflictAgainstOHWithDetail -ph ./
$ORACLE_HOME/OPatch/opatch apply -silent
/data/oracle/product/11g/db/OPatch/opatch apply /data/soft/29610422/29610422 -oh /data/oracle/product/11g/db
/data/oracle/product/11g/db/OPatch/opatch apply /data/soft/29698813/29698813/29497449 -oh /data/oracle/product/11g/db
select * from dba_registry_history;
srvctl modify listener -endpoints "TCP:1529"
export TNS_ADMIN=/data/grid/19c/grid/network/admin
srvctl add service -d xxxx -r xxxx1,xxxx2 -s xxxxSRV_R
srvctl start service -d xxxx -s xxxxSRV_R
14)11g使用19c gi
srvctl config asm
srvctl modify asm -count ALL
------ASM instance count: ALL ####应为ALL
修改/data/grid/oraInventory/ContentsXML/inventory.xml 添加 NODE 信息 xxxxxxxx对应主机名
<HOME_LIST>
<HOME NAME="OraGI19Home1" LOC="/data/grid/19c/grid" TYPE="O" IDX="1" CRS="true">
<NODE_LIST>
<NODE NAME="xxxxxxxx"/>
<NODE NAME="xxxxxxxxxxx"/>
</NODE_LIST>
</HOME>
rpm -e ksh-20120801-144.el7_9.x86_64
rpm -qa|grep ksh
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
rpm -qa|grep ksh
error in invoking target 'agent nmhs' of make file ins_emagent.mk while installing Oracle 11.2.0.4 on Linux
cp /data/oracle/product/11g/db/sysman/lib/ins_emagent.mk /data/oracle/product/11g/db/sysman/lib/ins_emagent.mk.bak
vi /data/oracle/product/11g/db/sysman/lib/ins_emagent.mk
$(MK_EMAGENT_NMECTL) -lnnz11
15)静默安装
dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname xxxx -sid xxxx \
-sysPassword xxxxx -responseFile NO_VALUE -datafileDestination /data/oradata -redoLogFileSize 1024 -storageType FS \
-characterSet AL32UTF8 -nationalCharacterSet AL16UTF16 -totalMemory 6000 -databaseType OLTP -emConfiguration NONE