暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 19c单机一键安装脚本分享



一、下载所需的安装包和依赖包

  1. 链接: https://pan.baidu.com/s/1KyOE7pxkDVFjr2ZNxDzWsw

  2. 提取码: 8mcy

将下载的安装包依赖包上传至服务器任意目录下,执行安装脚本即可。

  1. [root@localhost ~]#sh -x oracle_19c_single_install.sh

二、过程部分截图:




三、脚本:

  1. #!/bin/bash

  2. #一键安装oracle数据库

  3. #修改主机名

  4. hostnamectl set-hostname myoracle

  5. #添加主机名与IP对应记录

  6. 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)

  7. node_name=$(hostname)

  8. echo -e "${public_ip} ${node_name}">> /etc/hosts

  9. cat /etc/hosts

  10. #关闭Selinux

  11. sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config

  12. setenforce 0

  13. #关闭防火墙

  14. systemctl stop firewalld

  15. systemctl disable firewalld

  16. systemctl status firewalld

  17. # 获取当前所在目录位置

  18. current_dir=$(pwd)

  19. echo "当前所在目录位置: $current_dir"

  20. # 目标路径

  21. target_dir="/soft"

  22. # 检查目标路径是否存在,如果不存在则创建

  23. if [ ! -d "$target_dir" ]; then

  24. mkdir -p "$target_dir"

  25. echo "已创建目录: $target_dir"

  26. fi

  27. # 移动当前目录下的所有文件到目标路径

  28. mv $current_dir/* $target_dir

  29. echo "已将当前目录下所有文件移动至 $target_dir"

  30. #添加离线yum源

  31. cd soft

  32. tar -xvf oracle_repo.tar.gz

  33. cd soft/my_oracle_repo

  34. rpm -ivh *.rpm --nodeps --force

  35. #在线yum源

  36. cd /etc/yum.repos.d/

  37. rm -rf ./*

  38. sleep 20

  39. wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

  40. #添加用户组及用户

  41. groupadd -g 54321 oinstall

  42. groupadd -g 54322 dba

  43. groupadd -g 54323 oper

  44. groupadd -g 54324 backupdba

  45. groupadd -g 54325 dgdba

  46. groupadd -g 54326 kmdba

  47. useradd -u 54321 -g oinstall -G dba,backupdba,dgdba,kmdba,oper oracle

  48. echo "oracle" | passwd --stdin oracle

  49. id oracle

  50. chmod 644 /etc/sysctl.conf

  51. #修改环境变量

  52. cat <<EOF >>/etc/sysctl.conf

  53. #ORACLE SETTING


  54. fs.aio-max-nr = 1048576

  55. fs.file-max = 6815744

  56. kernel.sem = 250 32000 100 128

  57. net.ipv4.ip_local_port_range = 9000 65500

  58. net.core.rmem_default = 262144

  59. net.core.rmem_max = 4194304

  60. net.core.wmem_default = 262144

  61. net.core.wmem_max = 1048586

  62. kernel.panic_on_oops = 1

  63. #(kernel.shmmax = 物理内存*1024*1024*1024-1)

  64. kernel.shmmax = 2684354560

  65. #控制共享内存页数(kernel.shmall = shmmax/4096)

  66. kernel.shmall = 655360

  67. #共享内存的最大数量

  68. kernel.shmmni = 4096

  69. #当系统内存使用90%的时候开始使用交换页面

  70. vm.swappiness=10

  71. #默认是100,增大这个参数设置了虚拟内存回收directory和i-node缓冲的倾向,这个值越大。越容易回收。

  72. vm.vfs_cache_pressure=200

  73. EOF

  74. sysctl -p

  75. chmod 644 /etc/security/limits.conf

  76. cat <<EOF >>/etc/security/limits.conf

  77. #ORACLE SETTING

  78. #打开文件描述符大小

  79. oracle soft nproc 16384

  80. oracle hard nproc 16384

  81. #单个用户可用的进程数

  82. oracle soft nofile 16384

  83. oracle hard nofile 65536

  84. #进程堆栈段的大小

  85. oracle soft stack 10240

  86. oracle hard stack 32768

  87. EOF

  88. echo "none /dev/shm tmpfs defaults,size=3096m 0 0" >> /etc/fstab

  89. mount -o remount /dev/shm

  90. chmod 644 /etc/profile

  91. cat <<EOF >>/etc/profile

  92. if [ $USER = "oracle" ]; then

  93. if [ $SHELL = "/bin/ksh" ]; then

  94. ulimit -p 16384

  95. ulimit -n 65536

  96. else

  97. ulimit -u 16384 -n 65536

  98. fi

  99. fi

  100. EOF

  101. source /etc/profile

  102. mkdir -p /u01/app/oracle

  103. mkdir -p /u01/app/oraInventory

  104. mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1

  105. mkdir -p /soft

  106. chown -R oracle:oinstall /u01

  107. chown -R oracle:oinstall /soft

  108. chmod -R 775 /u01

  109. chmod -R 775 /soft

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

  111. #for oracle

  112. umask=022

  113. export PS1

  114. export TMP=/tmp

  115. export LANG=en_US.UTF8

  116. export TMPDIR=$TMP

  117. export ORACLE_UNQNAME=orcl11g

  118. export ORACLE_SID=orcl11g;

  119. export ORACLE_BASE=/u01/app/oracle;

  120. export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1;

  121. export ORACLE_TERM=xterm;

  122. export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS";

  123. export NLS_LANG=AMERICAN_AMERICA.UTF8;

  124. export PATH=.:$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin;

  125. export THREADS_FLAG=native;

  126. export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib

  127. export CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib

  128. export ORACLE_OWNR=oracle

  129. export PATH=$PATH:$ORACLE_HOME/bin

  130. EOF

  131. source /home/oracle/.bash_profile

  132. mv /soft/*.zip /u01/app/oracle/product/19.0.0/dbhome_1

  133. cd /u01/app/oracle/product/19.0.0/dbhome_1

  134. #解压oracle安装包

  135. unzip LINUX.X64_193000_db_home.zip

  136. mkdir -p /home/oracle/etc

  137. chown -R oracle.oinstall /home/oracle/etc

  138. cp /u01/app/oracle/product/19.0.0/dbhome_1/install/response/* /soft/

  139. chmod 777 /soft/*.rsp

  140. chown -R oracle:oinstall /soft

  141. cat <<EOF >/soft/db_install.rsp

  142. #软件版本信息

  143. oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0

  144. #安装选项-仅安装数据库软件

  145. oracle.install.option=INSTALL_DB_SWONLY

  146. #oracle用户用于安装软件的组名

  147. UNIX_GROUP_NAME=oinstall

  148. #oracle产品清单目录

  149. INVENTORY_LOCATION=/u01/app/oraInventory

  150. #oracle安装目录

  151. ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1

  152. #oracle基础目录

  153. ORACLE_BASE=/u01/app/oracle

  154. #安装版本类型:企业版

  155. oracle.install.db.InstallEdition=EE

  156. #指定组信息

  157. oracle.install.db.OSDBA_GROUP=dba

  158. oracle.install.db.OSOPER_GROUP=oper

  159. oracle.install.db.OSBACKUPDBA_GROUP=backupdba

  160. oracle.install.db.OSKMDBA_GROUP=kmdba

  161. oracle.install.db.OSRACDBA_GROUP=dba

  162. oracle.install.db.OSDGDBA_GROUP=dgdba

  163. EOF

  164. chown -R oracle:oinstall /soft/db_install.rsp

  165. chmod 660 /soft/db_install.rsp

  166. chown -R oracle:oinstall /u01/app/oracle/product/19.0.0/dbhome_1

  167. #开始安装oracle软件

  168. su - oracle -c "/u01/app/oracle/product/19.0.0/dbhome_1/runInstaller -silent -responseFile /soft/db_install.rsp"

  169. sleep 200

  170. /u01/app/oraInventory/orainstRoot.sh

  171. /u01/app/oracle/product/19.0.0/dbhome_1/root.sh

  172. echo -e "\n\n****** start listener config ******\n\n"

  173. cp /u01/app/oracle/product/19.0.0/dbhome_1/assistants/netca/netca.rsp /soft/

  174. chmod 644 /soft/netca.rsp

  175. cat <<EOF >>/soft/netca.rsp

  176. [GENERAL]

  177. RESPONSEFILE_VERSION="19.0"

  178. CREATE_TYPE="CUSTOM"

  179. [oracle.net.ca]

  180. INSTALLED_COMPONENTS={"server","net8","javavm"}

  181. INSTALL_TYPE=""typical""

  182. LISTENER_NUMBER=1

  183. LISTENER_NAMES={"LISTENER"}

  184. LISTENER_PROTOCOLS={"TCP;1521"}

  185. LISTENER_START=""LISTENER""

  186. NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}

  187. NSN_NUMBER=1

  188. NSN_NAMES={"EXTPROC_CONNECTION_DATA"}

  189. NSN_SERVICE={"PLSExtProc"}

  190. NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}

  191. EOF

  192. sleep 60


  193. #开始安装监听

  194. su - oracle -c "/u01/app/oracle/product/19.0.0/dbhome_1/bin/netca -silent -responsefile /soft/netca.rsp"

  195. echo -e "\n\n****** listener config completed ******\n\n"

  196. cp /u01/app/oracle/product/19.0.0/dbhome_1/assistants/dbca/dbca.rsp /soft

  197. chmod 644 /soft/dbca.rsp

  198. cat <<EOF >>/soft/dbca.rsp

  199. #响应文件版本号

  200. responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v19.0.0

  201. #数据库模板名称

  202. templateName=General_Purpose.dbc

  203. #数据库全局名

  204. gdbName=orcl11g

  205. #SID

  206. sid=orcl11g

  207. #数据库配置-单实例安装

  208. databaseConfigType=SI

  209. #设置SYS账户密码

  210. sysPassword=oracle

  211. #设置SYSTEM账户密码

  212. systemPassword=oracle

  213. #数据库字符集

  214. characterSet=AL32UTF8

  215. #国家字符集

  216. nationalCharacterSet=UTF8

  217. #注册监听

  218. listeners=LISTENER

  219. #Oracle所占物理内存百分比

  220. memoryPercentage=40

  221. #指定数据库类型

  222. databaseType=MULTIPURPOSE

  223. #关闭自动内存管理

  224. automaticMemoryManagement=false

  225. EOF

  226. sleep 60

  227. echo -e "\n\n****** start db instance create ******\n\n"

  228. ##开始建库

  229. 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 \

  230. -gdbname orcl11g -sid orcl11g -syspassword password -systempassword password \

  231. -emConfiguration NONE -characterSet ZHS16GBK"

  232. echo -e "\n\n****** db instance create complete ******\n\n"

参考链接:https://www.modb.pro/db/1738019778806243328#font_size31dbcarsp_644

文中的概念来源于互联网,如有侵权,请联系我删除。

欢迎关注公众号:小周的数据库进阶之路,一起交流数据库、中间件和云计算等技术。欢迎觉得读完本文有收获,可以转发给其他朋友,大家一起学习进步!感兴趣的朋友可以加我微信,拉您进群与业界的大佬们一起交流学习。


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

评论