环境说明
操作系统 | Oracle Linux 8.5 |
数据库 | Oracle 19.3 |
IP | 192.168.0.110 |
主机名 | DBServer |
Oracle软件安装目录 | /oracle |
Oracle数据库文件目录 | /oradata |
数据库名 | oradb |
配置本地主机解析
[root@dbserver ~]# echo "192.168.0.110 DBServer" >> /etc/hosts
禁用 CentOS 8 系统 Transparent HugePages
vi /etc/default/grub
GRUB_CMDLINE_LINUX="resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet transparent_hugepage=never"
配置文件修改完成后,使用如下命令重新生成 GRUB 配置并重启主机让配置生效:
grub2-mkconfig -o /boot/grub2/grub.cfg
systemctl reboot
验证修改结果(显示为”[never]”,则表示透明大页功能已经关闭。)
cat /sys/kernel/mm/transparent_hugepage/enabled
配置本地YUM源
mount /dev/cdrom /mnt
cd /etc/yum.repos.d
mkdir bk
mv *.repo bk
vim dvd.repo
[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=0
enbaled=1
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
gpgcheck=0
enabled=1
yum clean all
yum makecache
安装 Oracle Database 19c CentOS 8 系统依赖包
dnf install -y bc \
binutils \
elfutils-libelf \
elfutils-libelf-devel \
fontconfig-devel \
glibc \
glibc-devel \
ksh \
libaio \
libaio-devel \
libXrender \
libXrender-devel \
libX11 \
libXau \
libXi \
libXtst \
libgcc \
librdmacm-devel \
libstdc++ \
libstdc++-devel \
libxcb \
make \
net-tools \
smartmontools \
sysstat \
unzip \
libnsl \
libnsl2
创建 Oracle 19c 使用的用户和属组
groupadd -g 6001 oinstall
groupadd -g 6002 dba
groupadd -g 6003 oper
groupadd -g 6004 backupdba
groupadd -g 6005 dgdba
groupadd -g 6006 kmdba
groupadd -g 6007 racdba
useradd -u 6001 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle
设置 Oracle 用户的安全权限
vi /etc/security/limits.d/30-oracle.conf
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 134217728
oracle soft memlock 134217728
调整 CentOS 8系统参数
vi/etc/sysctl.d/98-oracle.conf
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
[root@dbserver limits.d]# sysctl -p
配置 SELinux 以及放行防火墙端口
sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/sysconfig/selinux
setenforce permissive
firewall-cmd --permanent --add-port=1521/tcp
firewall-cmd --reload
创建 Oracle 19c 的工作目录以及数据库目录
mkdir -p /oracle/app/oracle/product/19.3.0/dbhome_1
mkdir -p /oradata
chown -R oracle:oinstall /oracle /oradata
chmod -R 775 /oracle /oradata
配置 Oracle 用户环境变量
su oracle
vi .bash_profile
# Oracle Settings
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=dbserver
export ORACLE_UNQNAME=oradb
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1
export ORA_INVENTORY=/oracle/app/oraInventory
export ORACLE_SID=oradb
export PDB_NAME=pdb
export DATA_DIR=/oradata
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
[oracle@dbserver ~]$ source ~/.bash_profile
[oracle@dbserver ~]$ export CV_ASSUME_DISTID=OEL8.5
[oracle@dbserver oracle]$ unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
[oracle@dbserver oracle]$ cd $ORACLE_HOME
[oracle@dbserver oracle]$ ./runInstaller