使用shell脚本初始化oracle19c部署环境
1、文件目录环境
[root@dg1 oracle19c]# tree
.
├── compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
├── LINUX.X64_193000_db_home.zip
├── oracle19c.sh
└── p30125133_190000_Linux-x86-64.zip
0 directories, 4 files
[root@dg1 oracle19c]#
2、脚本内容
[root@dg1 oracle19c]# cat oracle19c.sh
#! /bin/bash
export LANG=en_US.utf-8
echo "开始oracle19c 安装环境初始化......"
echo -e "\n*******************************************************************\n"
sleep 1
# 关闭不需要的服务
echo "关闭不需要的服务...... "
sleep 1
systemctl disable abrt-ccpp
systemctl disable abrt-oops
systemctl disable abrtd
systemctl disable acpid
systemctl disable anacron
systemctl disable atd
systemctl disable auditd
systemctl disable autofs
systemctl disable avahi-daemon
systemctl disable avahi-dnsconfd
systemctl disable bluetooth
systemctl disable bmc-watchdog
systemctl disable certmonger
systemctl disable cpupower
systemctl disable cpus
systemctl disable cpuspeed
systemctl disable cups
systemctl disable cups-config-daemon
systemctl disable firewalld
systemctl disable gpm
systemctl disable haldaemon
systemctl disable hidd
systemctl disable httpd
systemctl disable iiim
systemctl disable iprdump
systemctl disable iprinit
systemctl disable iprupdate
systemctl disable irqbalance
systemctl disable iscsi
systemctl disable iscsid
systemctl disable isdn
systemctl disable kdump
systemctl disable kudzu
systemctl disable libvirtd
systemctl disable mcstrans
systemctl disable mdmonitor
systemctl disable nfs-lock
systemctl disable pcmcia
systemctl disable pcscd
systemctl disable postfix
systemctl disable restorecond
systemctl disable rhnsd
systemctl disable rhsmcertd
systemctl disable rpcbind
systemctl disable sendmail
systemctl disable smartd
systemctl disable smb
systemctl disable squid
systemctl disable tog-pegasus
systemctl disable trace-cmd
systemctl disable xend
systemctl disable yum-updatesd
systemctl stop cpufreqd
systemctl stop cpupower
systemctl stop cpuspeed
systemctl stop firewalld
systemctl stop irqbalance
echo "关闭服务完成!"
echo -e "\n*******************************************************************\n"
# 安装依赖包
echo "安装所需要的依赖包......"
sleep 2
yum localinstall compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm -y
sleep 2
yum -y install bc binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel fontconfig-devel gcc-c++ glibc glibc-devel ksh libaio libaio-devel libXrender libXrender-devel libX11 libXau libXi libXtst libgcc librdmacm-devel libstdc++ libstdc++-devel libxcb make net-tools nfs-utils smartmontools sysstat unixODBC zip unzip psmisc
if [ $? != "0" ];then
echo "依赖包安装失败,请检查您的yum源配置,手动安装以下依赖:yum -y install bc binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel fontconfig-devel gcc-c++ glibc glibc-devel ksh libaio libaio-devel libXrender libXrender-devel libX11 libXau libXi libXtst libgcc librdmacm-devel libstdc++ libstdc++-devel libxcb make net-tools nfs-utils smartmontools sysstat unixODBC zip unzip psmisc"
exit
fi
echo "依赖包安装完成!"
sleep 1
echo -e "\n*******************************************************************\n"
# 修改系统内核参数
echo "修改系统内核参数......"
sleep 1
cat >> /etc/sysctl.conf << EOF
kernel.shmall = 2097152
kernel.shmmax = 4294967296
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
kernel.panic_on_oops = 1
fs.file-max = 6815744
fs.aio-max-nr=1048576
net.ipv4.ip_local_port_range = 1024 65500
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
vm.swappiness=20
vm.vfs_cache_pressure=200
vm.min_free_kbytes=409600
EOF
sysctl -p
echo "内核参数修改完成!"
sleep 2
# 修改用户限制文件
echo "修改配置文件/etc/pam.d/login ......"
echo "
session required pam_limits.so " >> /etc/pam.d/login
echo "修改完成!"
echo -e "\n*******************************************************************\n"
sleep 2
echo "修改配置文件/etc/security/limits.conf......"
echo "
oracle - nproc 16384
oracle - nofile 65536
oracle - stack 32768
oracle - memlock 134217728 " >> /etc/security/limits.conf
echo "修改完成!"
echo -e "\n*******************************************************************\n"
sleep 2
# 把 * soft nproc 4096 这一行,在开头加#号注释掉,如果不注释,普通用户可以开启的进程就被限制为4096个
echo "修改配置文件/etc/security/limits.d/20-nproc.conf ......"
sed -i 's/^*/#*/g' /etc/security/limits.d/20-nproc.conf
echo "修改完成!"
echo -e "\n*******************************************************************\n"
sleep 2
#创建oracle用户和组
echo "开始创建oracle用户和组,即相关目录......"
sleep 2
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper -d /home/oracle oracle
echo 'oracle' | passwd oracle --stdin
echo "用户oracle已添加,密码为:oracle,home 目录为/home/oracle"
echo -e "\n*******************************************************************\n"
sleep 2
mkdir -p /u01/app/oracle/product/19.0.0/db_1
chown -R oracle.oinstall /u01
mkdir -p /u02/oradata/
chown -R oracle:oinstall /u02
mkdir -p /u03
chown -R oracle:oinstall /u03
echo "oracle用户和组配置完成。"
echo -e "\n*******************************************************************\n"
sleep 1
#切换oracle用户,开始安装前配置和静默安装
su - oracle <<EOF
# 设置oracle用户环境变量
echo '
# for oracle
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/db_1
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
#export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
#export LANG=en_US.UTF-8
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
export LANG=zh_CN.GBK
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlibCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib' >> /home/oracle/.bash_profile
source /home/oracle/.bash_profile
echo "oracle用户环境变量设置成功。"
echo -e "\n*******************************************************************\n"
sleep 1
EOF
# 拷贝oracle安装包到/u03 文件夹并解压
echo "解压安装包到oracle_home"
sleep 2
unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.0.0/db_1/
chown -R oracle:oinstall /u01/
echo "安装包已解压。"
echo -e "\n*******************************************************************\n"
sleep 1
echo "oracle环境初始化完成!"
初始化完成后即可进入图形化界面安装数据库了!
作者:likaifei
出处:https://www.cnblogs.com/likaifei/p/16709104.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」