Oracle 19c Centos 7 静默安装

一. 安装规划

在这里插入图片描述
– oralce官方建议安装使用 Oracle Linux
备注:
1、OS内存至少8G
2、安装OS和数据库前需要对下载好的安装包进行MD5值校验,检查其完整性

  • 19c数据库软件下载
    https://www.oracle.com/database/technologies/oracle-database-software-downloads.html
    https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#19c

二. 系统配置

2.1. 设置机器名称(按需)

hostnamectl set-hostname oracle-db

2.2. 配置hosts文件

echo "10.18.140.28 oracle-db" >> /etc/hosts

2.3. 创建用户和组

groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 backupdba
groupadd -g 54325 dgdba
groupadd -g 54326 kmdba
groupadd -g 54327 asmdba
groupadd -g 54328 asmoper
groupadd -g 54329 asmadmin
groupadd -g 54330 racdba

useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,asmadmin,asmoper,oper oracle
useradd -u 54322 -g oinstall -G asmadmin,asmdba,asmoper,dba,racdba grid
echo oracle123.. | passwd --stdin oracle

2.4. 创建安装目录(磁盘挂载略)

mkdir -p /data/app/oracle
mkdir -p /data/app/oracle/product/19.3.0/dbhome_1
mkdir -p /data/app/oraInventory
mkdir -p /data/app/oracle/flash_recovery_area
chown -R oracle:oinstall /data/
chmod -R 775 /data/

2.5 配置grid和oracle用户的环境变量文件

oracle用户:

cat >> /home/oracle/.bash_profile <<"EOF"

umask 022
export ORACLE_SID=AFC
export ORACLE_BASE=/data/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export TMP=/tmp
export TMPDIR=$TMP
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_PATH=.:$ORACLE_BASE/dba_scripts/sql:$ORACLE_HOME/rdbms/admin
export SQLPATH=$ORACLE_HOME/sqlplus/admin
#export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" 
export NLS_LANG="AMERICAN_CHINA.ZHS16GBK"
alias sas='sqlplus / as sysdba'
EOF

2.6 . 禁用selinux

手工修改/etc/selinux/config的SELINUX=disabled,或使用下面命令:

sed -i '/^SELINUX=.*/ s//SELINUX=disabled/' /etc/selinux/config

重启才能生效,校验:

getenforce 
Disabled

2.7、配置内核参数

2.7.1、修改/etc/sysctl.conf文件

shmall、shmmax参数要根据实际内存数进行调整,不然安装会有问题,静态安装很容易忽略
---------------------------------------shmall-------------------------------------
一个共享内存段的最大大小是 16G ,那么需要共享内存页数是 16GB/4KB==4194304 (页),

当内存为 12G 时, kernel.shmall = 3145728

当内存为 16G 时, kernel.shmall = 4194304

当内次为 32G 时, kernel.shmall = 8388608

当内存为 64G 时, kernel.shmall = 16777216

当内存为 128G 时, kernel.shmall = 33554432
--------------------------------shmmax------------------------------------------
64 位 linux 系统:可取的最大值为物理内存值 -1byte ,建议值为多于物理内存的一半,一般取值大于 SGA_MAX_SIZE 即可,可以取物理内存 -1byte 。
内存为 12G 时,该值为 12102410241024-1 = 12884901887
内存为 16G 时,该值为 1610241024
1024-1 = 17179869183
内存为 32G 时,该值为 32102410241024-1 = 34359738367
内存为 64G 时,该值为 6410241024
1024-1 = 68719476735

cat >> /etc/sysctl.conf <<"EOF"
vm.swappiness = 1
vm.dirty_background_ratio = 3
vm.dirty_ratio = 80
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
kernel.shmmni = 4096  
kernel.shmall = 4194304  
kernel.shmmax = 17179869183
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500 
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576 
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.panic_on_oops = 1
kernel.watchdog_thresh=30
EOF
# 生效
sysctl -p

2.7.2、修改/etc/security/limits.conf文件

echo "grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
grid soft nproc 2047
grid hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle soft nproc 2047
oracle hard nproc 16384
oracle hard memlock  8145728
oracle soft memlock  8145728
root soft nproc 2047 " >> /etc/security/limits.conf

2.7.3、修改/etc/pam.d/login文件

echo "session    required     pam_limits.so" >> /etc/pam.d/login

2.7.4、修改/etc/profile文件

cat >> /etc/profile << "EOF"
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
              ulimit -p 16384
              ulimit -n 65536
        else
              ulimit -u 16384 -n 65536
        fi
        umask 022
fi
EOF

2.8、将NOZEROCONF=yes添加到/etc/sysconfig/network文件中

echo 'NOZEROCONF=yes' >> /etc/sysconfig/network

2.9、禁用透明大页

参考:https://www.xmmup.com/linux-biaozhundayehetoumingdaye.html

cat >> /etc/rc.local <<"EOF" 
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
   echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
 
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
   echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi 
EOF

chmod +x /etc/rc.d/rc.local
sh /etc/rc.local

cat /sys/kernel/mm/transparent_hugepage/defrag
cat /sys/kernel/mm/transparent_hugepage/enabled

2.10 防火墙开放

## 最简单就是关闭防火墙,如果防火墙打开则开放1521端口
firewall-cmd --zone=public --add-port=1521/tcp --permanent
firewall-cmd --reload

三. 数据库软件包准备

3.1 上传软件包

[root@oracle-db afcadmin ~]$ ll
总用量 2995584
-rw-r----- 1 afcadmin afcadmin 3059705302 913 09:35 LINUX.X64_193000_db_home.zip
[root@oracle-db afcadmin ~]$ md5sum LINUX.X64_193000_db_home.zip
1858bd0d281c60f4ddabd87b1c214a4f  LINUX.X64_193000_db_home.zip

## 3.2 解压软件包

unzip LINUX.X64_193000_db_home.zip  -d /data/app/oracle/product/19.3.0/dbhome_1
chown -R oracle.oinstall /data/app/oracle/product/19.3.0/dbhome_1/

四.安装前预检查

4.1 安装依赖

yum install -y bc binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++-devel libxcb make smartmontools sysstat

4.2 安装依赖

cat >check.sh<<"EOF"
#!/bin/bash
for n in  binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel \
        gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio \
        libaio-devel libgcc libgcc libstdc++ libstdc++-devel make sysstat ;do
    rpm -q $n >> /dev/null
    if [ "$?" = 0 ];then
        echo "$n already installed"
    else
        echo "$n should be installed"
        yum -y install $n >> /dev/null
        if [ "$?" = 0 ];then
                echo "$n has been installed successfully!"
        else echo "installed error"
        fi
    fi
done
EOF

sh check.sh

五. 安装数据库软

5.1. 安装数据库软件

– 需要输入root账号的密码,执行脚本

su - oracle

/data/app/oracle/product/19.3.0/dbhome_1/runInstaller -silent -force -noconfig -ignorePrereq \
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_BASE=/data/app/oracle \
ORACLE_HOME=/data/app/oracle/product/19.3.0/dbhome_1 \
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=racdba \
oracle.install.db.rootconfig.executeRootScript=true \
oracle.install.db.rootconfig.configMethod=ROOT

六.配置监听

6.1 配置监听

su - oracle
cat >/data/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora <<EOF
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = AFC)
      (SID_NAME = AFC)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = oracle-db )(PORT = 1521))
    )
  )
ADR_BASE_LISTENER = /data/app/oracle
EOF

6.2 启动监听

su - oracle
lsnrctl start

七. 创建实例

7.1 创建实例

FS 文件系统,不适应ASM
CDB和非CDB只能选择一种模式
– 创建非CDB模式
– 根据实际修改信息 如: sid,pass ,totalMemory等

su - oracle

dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \
-gdbname orcl19c -sid AFC \
-createAsContainerDatabase FALSE \
-pdbAdminPassword oracle12334 \
-sysPassword oracle12334 -systemPassword oracle12334 \
-datafileDestination '/data/app/oracle/oradata' \
-recoveryAreaDestination '/data/app/oracle/flash_recovery_area' \
-redoLogFileSize 50 \
-storageType FS \
-characterset ZHS16GBK -nationalCharacterSet AL16UTF16 \
-sampleSchema true \
-totalMemory 32768 \
-databaseType OLTP \
-emConfiguration NONE
    

– cdb 模式

su - oracle 
dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \
-gdbname orcl19c -sid AFC \
-createAsContainerDatabase TRUE \
-numberOfPDBs 1 \
-pdbName orclpdb2 \
-pdbAdminPassword oracle12334 \
-sysPassword oracle12334 -systemPassword oracle12334 \
-datafileDestination '/data/app/oracle/oradata' \
-recoveryAreaDestination '/data/app/oracle/flash_recovery_area' \
-redoLogFileSize 50 \
-storageType FS \
-characterset ZHS16GBK -nationalCharacterSet AL16UTF16 \
-sampleSchema true \
-totalMemory 2048 \
-databaseType OLTP \
-emConfiguration NONE

– 以上19c 安装完成

静默安装Oracle 19cCentOS 7上可以按照以下步骤进行: 1. 下载Oracle 19c安装文件,并将其解压缩到指定目录。 引用中的命令演示了如何解压缩安装文件。你可以将LINUX.X64_193000_db_home.zip文件解压缩到/u01/app/oracle/product/19c/db_1/目录中。 2. 创建一个哑应文件以配置安装参数。在安装过程中,你可以使用该文件来提供安装过程中需要的参数,以避免手动输入。 你可以创建一个名为response.txt的文本文件,并在其中指定以下参数: ``` oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0 ORACLE_HOSTNAME=<hostname> ORACLE_UNQNAME=<unqname> ORACLE_BASE=<oracle_base> ORACLE_HOME=<oracle_home> oracle.install.db.InstallEdition=EE oracle.install.db.OSDBA_GROUP=dba oracle.install.db.OSOPER_GROUP=dba 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.storageOption=FS oracle.install.db.fileSystemStorage.dataLocation=/u01/app/oracle/oradata oracle.install.db.fileSystemStorage.recoveryLocation=/u01/app/oracle/fast_recovery_area oracle.install.db.fileSystemStorage.cdbFileSystem=ORCLCDB oracle.install.db.fileSystemStorage.pdbFileSystem=ORCLPDB1:Y oracle.install.db.ConfigureAsContainerDB=false ``` 请注意,你需要根据你的环境更改参数的值。 3. 创建一个安装哑应文件的脚本。 在安装目录下创建一个名为install.sh的脚本,并将以下内容复制到该文件中: ``` #!/bin/bash ./runInstaller -silent -responseFile /path/to/response.txt ``` 4. 提供必要的权限并运行安装脚本。 在终端中,转到Oracle安装文件的目录,并运行以下命令: ``` chmod +x install.sh ./install.sh ``` 5. 等待安装完成。 安装过程将自动运行,并根据提供的哑应文件中的参数进行配置。请耐心等待,直到安装完成。 至此,你已经完成了在CentOS 7上静默安装Oracle 19c的步骤。 其他
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值