当涉及到数据库管理和部署,Oracle数据库一直是企业级应用的首选之一。然而,在将Oracle数据库引入组织中时,通常需要面对许多挑战,其中之一是安装过程的复杂性。本文将探讨如何通过静默安装的方式,轻松高效地部署单实例Oracle数据库,供大家参考。
1.1 创建组
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
1.2 创建用户
useradd -u 54331 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,racdba oracle
1.3 设置Oracle用户密码
echo ‘$password’ | passwd –stdin oracle
其中$password为设置的密码。
2.1 创建Oracle安装目录
mkdir -p /u01/app/oralnventory
mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
2.2 设置目录的所有权
chown -R oracle:oinstall u01/app/oracle chown -R oracle:oinstall u01/app/oraInventory 这两个命令将这些目录的所有权分配给用户和组‘oracle:oinstall’。这是为了确保在安装Oracle数据库时,这些目录中的文件和子目录都受到正确的权限管理,以便Oracle数据库软件和安装程序都能够正常运行。 chmod -R 775 /u01 这个命令设置了‘/01’目录及子目录的权限,以确保Oracle数据库软件和安装程序有足够的权限来读取、写入和执行所需的文件和目录。775权限表示拥有者和组具有读、写和执行权限,其他用户只有读和执行权限。 mkdir /orabak 创建用来存放Oracle安装包的目录。 chown oracle:oinstall /orabak chmod 775 /orabak 这两个命令分配了‘/orabak’目录的所有权给用户和组‘oracle:oinstall’,并设置了相应的权限,以便Oracle数据库备份操作可以顺利进行。
2.3 设置默认权限
set -o vi 这个命令设置当前的shell以支持Vi编辑模式。一旦执行此命令,可以在命令行中使用Vi编辑器的键绑定和编辑功能来编译已输入的命令行文本。能更灵活地编辑和修改之前输入的命令。 umask 022 这条命令设置文件创建的默认权限掩码。在这种情况下,‘umask’命令将默认掩码设置为022,这意味着文件创建时去掉写权限以确保文件具有相对严格的权限,即所有者有读写权限,而组和其他用户只有读权限。这有助于确保文件默认情况下不会过于开放,以提高系统的安全性。
su – oracle
vi .bash_profile
export ORACLE_SID=MASTER1
export DB_UNIQUE_NAME=MASTER
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/oui/bin:$ORACLE_HOME/OPatch:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:/lib:/usr/lib
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
source .bash_profile
vi /etc/sysctl.conf
fs.aio-max-nr = 3145728
fs.file-max = 6815744
kernel.shmall = 131072000
kernel.shmmax = 536870912000
kernel.shmmni = 4096
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
vm.dirty_background_ratio = 5
vm.dirty_ratio = 10
vm.nr_hugepages = 122882
5.1 设置limits参数
vi /etc/security/limits.conf
oracle soft nofile 10240
oracle hard nofile 65536
oracle soft nproc 8192
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 10240
oracle hard memlock 524288000
oracle soft memlock 524288000
5.2 配置zeroconf
vi /etc/sysconfig/network
NOZEROCONF=yes

6.1 检查依赖包
yum -y install bc binutils compat-libcap1 compat-
libstdc++ elfutils-libelf elfutils-libelf-devel
fontconfig-devel glibc glibc-devel ksh libaio libaio-
devel ibXrender libXrender-devel libX11 libXau libXi
libXtst libXrender libgcc libstdc++ libstdc++-devel
libxcb make net-tools targetcli smartmontools sysstat
gcc gcc-c++ gcc-info gcc-locale gcc48 gcc48-info
gcc48-locale gcc48-c++ ipmiutil nfs-utils python
python-configshell python-rtslib python-six
6.2 安装compat-libstdc++
rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
6.3 配置pam_limits.so
vi /etc/pam.d/login
session required pam_limits.so
vi /etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
6.5 关闭防火墙
systemctl stop firewalld
6.6 禁用SElinux
vi /etc/selinux/config
6.7 禁用Transparent HugePages
cat /sys/kernel/mm/transparent_hugepage/enabled
vi /etc/default/grub
GRUB_CMDLINE_LINUX="...... transparent_hugepage=never"
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
6.8 解压数据库软件
unzip LINUX.X64_193000_db_home.zip
6.9 配置/u01文件所属组
chown -R oracle:oinstall /u01
6.10 更改db_install.rsp文件
su - oracle
vi /u01/app/oracle/product/19.0.0/dbhome_1/install/response/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_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=racdba
oracle.install.db.rootconfig.executeRootScript=false
6.11 开始安装
$ORACLE_HOME/runInstaller -silent -responseFile /u01/app/oracle/product/19.0.0/dbhome_1/install/response/db_install.rsp
6.12 执行脚本
su – root
在root用户下执行该脚本
sh /u01/app/oraInventory/orainstRoot.sh
sh /u01/app/oracle/product/19.0.0/dbhome_1/root.sh
6.13 登录Oracle
su – oracle
sqlplus / as sysdba

本文作者:佘镕晶(上海新炬中北团队)
本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。