分享网络学习历程及生活

oracle19.3安装教程

当前环境为centos7.9

提前环境准备

1、主机名

hostnamectl set-hostname dbs

2、修改hosts文件

新增
172.18.16.13 dbs

3、关闭THP

vi /etc/rc.d/rc.local
添加
echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled
echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag

该参数需要重启生效,当前为always,重启生效为nerver,但暂不重启

cat /sys/kernel/mm/transparent_hugepage/enabled 查看当前状态

4、修改系统参数

vi /etc/pam.d/login
添加
session required pam_limits.so

5、修改selinux

vi /etc/selinux/config
修改为
SELINUX=disabled

或使用

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

当前为Permissive,重启永久生效,但暂不重启

6、修改网络服务

vi /etc/sysconfig/network
添加
NOZEROCONF=yes

7、修改sysctl文件

vi /etc/sysctl.conf
添加
kernel.shmall = 67108864
kernel.shmmax = 192414534861
kernel.shmmni = 4096
kernel.sem = 12000 1536000 100 128
fs.file-max = 6815744
fs.aio-max-nr = 3145728
net.ipv4.ip_local_port_range = 9000 65500
net.ipv4.ipfrag_high_thresh = 16777216
net.ipv4.ipfrag_low_thresh = 15728640
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
vm.min_free_kbytes= 1048576 

⚫ kernel.shmall 参数:根据节点物理内存/PAGE_SIZE 计算,以 256GB 为例,即 236102410241024/4096=67108864。 使用 getconf PAGE_SIZE 命令可查看 PAGE_SIZE 值,当前为4096
⚫ kernel.shmmax 参数:需要根据实际物理内存计算,建议 kernel.shmmax 参数取值为节点 物理内存的 70%,单位为字节,以 256GB 为例,即 256
70%10241024*1024=192414534860.8(向上取整为 192414534861)。
⚫ kernel.sem 参数:如果单个数据库需要支持的 process 数超过 12000,请按照实际情 况配置第一个值。

继续添加
vm.nr_hugepages= 64922

vm.nr_hugepages 的大小为 sga_max_size + 2GB,sga_max_size 即分配给 SGA 的内存容量 大小,SGA 的计算方法在 3.2.3.1 Oracle 节点内存规划中有详细说明,完整计算公式为: vm.nr_hugepages = (节点物理内存大小 0.65 0.75 + 2) * 1024 / 内存大页尺寸

激活并检验
sysctl -p
sysctl -a | grep nr_hugepages

8、限制oracle用户资源

vi /etc/security/limits.conf
添加
oracle soft nproc 65536
oracle hard nproc 65536
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft stack 65536
oracle soft memlock 241591910
oracle hard memlock 241591910

⚫ nproc&nofile:固定值 65536
⚫ memlock 的计算原则(计算结果向下取整):物理内存的 90% (单位 KB),以 256GB 内存 为例,即25690%1024*1024=241591910

9、修改时间同步

注释
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
添加
server ntp.aliyun.com iburst

10、重启

reboot

安装部署

1、新增依赖

yum install -y bc binutils elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libXrender libX11 libXau libXi libXtst libgcc libnsl librdmacm libstdc++ libstdc++-devel libxcb libibverbs make smartmontools sysstat libnsl2 net-tools nfs-utils libnsl

2、新增用户和用户组

groupadd -g 1001 oinstall
groupadd -g 1002 dba
groupadd -g 1003 oper
usermod -u 1000 -g oinstall -G dba,oper -m -d /home/oracle oracle
echo new_passwd_example |passwd --stdin oracle

3、增加oracle软件目录

mkdir -p /data/app/oraInventory
mkdir -p /data/app/arch
mkdir -p /data/app/oracle/product/19.3.0/db

4、修改部分文件夹

chown -R oracle:oinstall /data
chmod -R 775 /data

5、配置用户环境变量

su oracle
vi .bash_profile
添加
export PATH
export TMPDIR=$TMP
export ORACLE_HOSTNAME=dbs
export ORACLE_BASE=/data/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/db
export ORACLE_SID=orcl
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
生效
source .bash_profile

6、oracle软件安装前调试

官方下载地址
https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html
解压到目录
unzip /home/LINUX.X64_193000_db_home.zip -d /data/app/oracle/product/19.3.0/db
修改目录属性 
chown -R oracle:oinstall /data/app/oracle/product/19.3.0/db 
vi /data/app/oracle/product/19.3.0/db/cv/admin/cvu_config
修改
CV_ASSUME_DISTID=OEL7
#避免上安装 Oracle 19c 时出现错误提示

7、安装oracle软件

步骤 1

使用mobaxterm查看地址和端口

设置变量
export DISPLAY=172.18.4.16:0.0
echo $DISPLAY

静默安装也提前设置

步骤 2

复制oracle安装配置文件
cp -rp /data/app/oracle/product/19.3.0/db/install/response/db_install.rsp /home/oracle/ 

vi /home/oracle/db_install.rsp
配置
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/data/app/oraInventory
ORACLE_HOME=
ORACLE_BASE=/data/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
oracle.install.db.rootconfig.executeRootScript=true
oracle.install.db.rootconfig.configMethod=ROOT

步骤 3

安装
/data/app/oracle/product/19.3.0/db/runInstaller -silent -responseFile /home/oracle/db_install.rsp

8、创建监听

复制监听文件
cp /data/app/oracle/product/19.3.0/db/assistants/netca/netca.rsp /home/oracle/
创建监听
netca -silent -responseFile /home/oracle/netca.rsp
查看监听状态
lsnrctl status

9、写入服务

vi /etc/oratab
写入
orcl:/data/app/oracle/product/19.3.0/db:Y
vi /etc/systemd/system/oracle.service
写入
[Unit]
Description=Oracle Database Service
After=network.target

[Service]
User=oracle
Group=oinstall
Type=forking
ExecStart=/data/app/oracle/product/19.3.0/db/bin/dbstart /data/app/oracle/product/19.3.0/db >> /var/log/oracle/startup.log 2>&1
ExecStop=/data/app/oracle/product/19.3.0/db/bin/dbshut /data/app/oracle/product/19.3.0/db >> /var/log/oracle/shutdown.log 2>&1
Restart=on-failure

[Install]
WantedBy=multi-user.target

10、创建数据库

复制
cp -rp /data/app/oracle/product/19.3.0/db/assistants/dbca/dbca.rsp /home/oracle/
vi /home/oracle/dbca/.rsp
修改
gdbName=orcl                              #设置数据库名称
sid=orcl                                  #设置数据库 SID
createAsContainerDatabase=true            #是否创建容器数据库
numberOfPDBs=1                            #设置容器数据库数量
pdbName=pdb                               #设置容器数据库名称
pdbAdminPassword=oracle                   #设置容器数据库管理员密码
templateName=General_Purpose.dbc
sysPassword=oracle
systemPassword=oracle
dbsnmpPassword=oracle
安装
dbca -silent -createDatabase -responseFile /home/oracle/dbca.rsp

11、检验

监听器
/data/app/oracle/product/19.3.0/db/network/admin/listener.ora
lsnrctl status

tns
/data/app/oracle/product/19.3.0/db/network/admin/tnsnames.ora
tnsping xxx

oracle服务
systemctl daemon-reload
systemctl status

添加新评论