一、下载所需的安装包和依赖包
链接: https://pan.baidu.com/s/1KyOE7pxkDVFjr2ZNxDzWsw提取码: 8mcy
将下载的安装包依赖包上传至服务器任意目录下,执行安装脚本即可。
[root@localhost ~]#sh -x oracle_19c_single_install.sh
二、过程部分截图:
三、脚本:
#!/bin/bash#一键安装oracle数据库#修改主机名hostnamectl set-hostname myoracle#添加主机名与IP对应记录public_ip=$(hostname -I| grep -o -e '[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}' |head -n 1)node_name=$(hostname)echo -e "${public_ip} ${node_name}">> /etc/hostscat /etc/hosts#关闭Selinuxsed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/configsetenforce 0#关闭防火墙systemctl stop firewalldsystemctl disable firewalldsystemctl status firewalld# 获取当前所在目录位置current_dir=$(pwd)echo "当前所在目录位置: $current_dir"# 目标路径target_dir="/soft"# 检查目标路径是否存在,如果不存在则创建if [ ! -d "$target_dir" ]; thenmkdir -p "$target_dir"echo "已创建目录: $target_dir"fi# 移动当前目录下的所有文件到目标路径mv $current_dir/* $target_direcho "已将当前目录下所有文件移动至 $target_dir"#添加离线yum源cd /softtar -xvf oracle_repo.tar.gzcd /soft/my_oracle_reporpm -ivh *.rpm --nodeps --force#在线yum源cd /etc/yum.repos.d/rm -rf ./*sleep 20wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo#添加用户组及用户groupadd -g 54321 oinstallgroupadd -g 54322 dbagroupadd -g 54323 opergroupadd -g 54324 backupdbagroupadd -g 54325 dgdbagroupadd -g 54326 kmdbauseradd -u 54321 -g oinstall -G dba,backupdba,dgdba,kmdba,oper oracleecho "oracle" | passwd --stdin oracleid oraclechmod 644 /etc/sysctl.conf#修改环境变量cat <<EOF >>/etc/sysctl.conf#ORACLE SETTINGfs.aio-max-nr = 1048576fs.file-max = 6815744kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048586kernel.panic_on_oops = 1#(kernel.shmmax = 物理内存*1024*1024*1024-1)kernel.shmmax = 2684354560#控制共享内存页数(kernel.shmall = shmmax/4096)kernel.shmall = 655360#共享内存的最大数量kernel.shmmni = 4096#当系统内存使用90%的时候开始使用交换页面vm.swappiness=10#默认是100,增大这个参数设置了虚拟内存回收directory和i-node缓冲的倾向,这个值越大。越容易回收。vm.vfs_cache_pressure=200EOFsysctl -pchmod 644 /etc/security/limits.confcat <<EOF >>/etc/security/limits.conf#ORACLE SETTING#打开文件描述符大小oracle soft nproc 16384oracle hard nproc 16384#单个用户可用的进程数oracle soft nofile 16384oracle hard nofile 65536#进程堆栈段的大小oracle soft stack 10240oracle hard stack 32768EOFecho "none /dev/shm tmpfs defaults,size=3096m 0 0" >> /etc/fstabmount -o remount /dev/shmchmod 644 /etc/profilecat <<EOF >>/etc/profileif [ $USER = "oracle" ]; thenif [ $SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fifiEOFsource /etc/profilemkdir -p /u01/app/oraclemkdir -p /u01/app/oraInventorymkdir -p /u01/app/oracle/product/19.0.0/dbhome_1mkdir -p /softchown -R oracle:oinstall /u01chown -R oracle:oinstall /softchmod -R 775 /u01chmod -R 775 /softcat <<EOF >>/home/oracle/.bash_profile#for oracleumask=022export PS1export TMP=/tmpexport LANG=en_US.UTF8export TMPDIR=$TMPexport ORACLE_UNQNAME=orcl11gexport ORACLE_SID=orcl11g;export ORACLE_BASE=/u01/app/oracle;export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1;export ORACLE_TERM=xterm;export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS";export NLS_LANG=AMERICAN_AMERICA.UTF8;export PATH=.:$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin;export THREADS_FLAG=native;export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/libexport CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlibexport ORACLE_OWNR=oracleexport PATH=$PATH:$ORACLE_HOME/binEOFsource /home/oracle/.bash_profilemv /soft/*.zip /u01/app/oracle/product/19.0.0/dbhome_1cd /u01/app/oracle/product/19.0.0/dbhome_1#解压oracle安装包unzip LINUX.X64_193000_db_home.zipmkdir -p /home/oracle/etcchown -R oracle.oinstall /home/oracle/etccp /u01/app/oracle/product/19.0.0/dbhome_1/install/response/* /soft/chmod 777 /soft/*.rspchown -R oracle:oinstall /softcat <<EOF >/soft/db_install.rsp#软件版本信息oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0#安装选项-仅安装数据库软件oracle.install.option=INSTALL_DB_SWONLY#oracle用户用于安装软件的组名UNIX_GROUP_NAME=oinstall#oracle产品清单目录INVENTORY_LOCATION=/u01/app/oraInventory#oracle安装目录ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1#oracle基础目录ORACLE_BASE=/u01/app/oracle#安装版本类型:企业版oracle.install.db.InstallEdition=EE#指定组信息oracle.install.db.OSDBA_GROUP=dbaoracle.install.db.OSOPER_GROUP=operoracle.install.db.OSBACKUPDBA_GROUP=backupdbaoracle.install.db.OSKMDBA_GROUP=kmdbaoracle.install.db.OSRACDBA_GROUP=dbaoracle.install.db.OSDGDBA_GROUP=dgdbaEOFchown -R oracle:oinstall /soft/db_install.rspchmod 660 /soft/db_install.rspchown -R oracle:oinstall /u01/app/oracle/product/19.0.0/dbhome_1#开始安装oracle软件su - oracle -c "/u01/app/oracle/product/19.0.0/dbhome_1/runInstaller -silent -responseFile /soft/db_install.rsp"sleep 200/u01/app/oraInventory/orainstRoot.sh/u01/app/oracle/product/19.0.0/dbhome_1/root.shecho -e "\n\n****** start listener config ******\n\n"cp /u01/app/oracle/product/19.0.0/dbhome_1/assistants/netca/netca.rsp /soft/chmod 644 /soft/netca.rspcat <<EOF >>/soft/netca.rsp[GENERAL]RESPONSEFILE_VERSION="19.0"CREATE_TYPE="CUSTOM"[oracle.net.ca]INSTALLED_COMPONENTS={"server","net8","javavm"}INSTALL_TYPE=""typical""LISTENER_NUMBER=1LISTENER_NAMES={"LISTENER"}LISTENER_PROTOCOLS={"TCP;1521"}LISTENER_START=""LISTENER""NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}NSN_NUMBER=1NSN_NAMES={"EXTPROC_CONNECTION_DATA"}NSN_SERVICE={"PLSExtProc"}NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}EOFsleep 60#开始安装监听su - oracle -c "/u01/app/oracle/product/19.0.0/dbhome_1/bin/netca -silent -responsefile /soft/netca.rsp"echo -e "\n\n****** listener config completed ******\n\n"cp /u01/app/oracle/product/19.0.0/dbhome_1/assistants/dbca/dbca.rsp /softchmod 644 /soft/dbca.rspcat <<EOF >>/soft/dbca.rsp#响应文件版本号responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v19.0.0#数据库模板名称templateName=General_Purpose.dbc#数据库全局名gdbName=orcl11g#SIDsid=orcl11g#数据库配置-单实例安装databaseConfigType=SI#设置SYS账户密码sysPassword=oracle#设置SYSTEM账户密码systemPassword=oracle#数据库字符集characterSet=AL32UTF8#国家字符集nationalCharacterSet=UTF8#注册监听listeners=LISTENER#Oracle所占物理内存百分比memoryPercentage=40#指定数据库类型databaseType=MULTIPURPOSE#关闭自动内存管理automaticMemoryManagement=falseEOFsleep 60echo -e "\n\n****** start db instance create ******\n\n"##开始建库su - oracle -c "/u01/app/oracle/product/19.0.0/dbhome_1/bin/dbca -silent -createDatabase -templateName /u01/app/oracle/product/19.0.0/dbhome_1/assistants/dbca/templates/General_Purpose.dbc \-gdbname orcl11g -sid orcl11g -syspassword password -systempassword password \-emConfiguration NONE -characterSet ZHS16GBK"echo -e "\n\n****** db instance create complete ******\n\n"