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

简介: 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"
相关文章
|
3天前
|
SQL Oracle 关系型数据库
Oracle 19c OCP 认证考试 082 题库(第19题)- 2024年修正版
【优技教育】提供2024年修正版Oracle 19c OCP 082题库,共90题,需60%分数通过,考试时间为150分钟。文档包含详细解析,禁止未授权转载。OCP认证需在Oracle指定机构培训后参加考试,通过082(60%)和083(57%)两门科目方可获得证书。
24 8
|
10天前
|
Oracle 关系型数据库
【优技教育】Oracle 19c OCP 082题库(第8题)- 2024年修正版
这是2024年修正版的Oracle 19c OCP认证题库,包含1Z0-082考试的90道题目,通过分数为60%,考试时间为150分钟。第8题涉及创建表时的约束问题,正确答案为AC。非空约束需在列级声明,且一张表只能有一个LONG列。通过082和083两门考试后可获得OCP证书。
37 4
|
4天前
|
Oracle 关系型数据库
Oracle 19c OCP 认证考试 082 题库(第18题)- 2024年修正版
这是优技教育提供的Oracle 19c OCP认证考试082题库的2024年修正版,包含90道题目,通过分数为60%,考试时间为150分钟。本文为CUUG原创整理,详细解析了第18题的选择题,并提供了正确答案与解释。需注意,OCP认证需在Oracle指定的WDP机构培训后才能参加考试。
34 7
|
5天前
|
SQL Oracle 关系型数据库
【优技教育】Oracle 19c OCP 082题库(第16题)- 2024年修正版
这是优技教育提供的Oracle 19c OCP认证考试082题库的2024年修正版,包含90道题目,通过分数为60%,考试时间为150分钟。本文解析了题库中的第16题,并详细解释了标量子查询的相关概念与用法,强调其在SQL语句中的嵌套应用及其优势。通过解析帮助考生更好地理解考试内容。原文链接:http://www.cuug.com/index.php?s=/home/article/detail/id/3397.html。
27 7
|
2天前
|
Oracle 关系型数据库
Oracle 19c OCP 认证考试 082 题库(第20题)- 2024年修正版
这是2024年修正版的Oracle 19c OCP认证题库,包含1Z0-082科目共90题,通过分数为60%,考试时间为150分钟。本文由CUUG原创整理,解析了题库中的第20题,并解释了实体关系相关概念。获得OCP认证需通过082和083两门考试。
12 1
|
8天前
|
Oracle 关系型数据库
【优技教育】Oracle 19c OCP 082题库(第14题)- 2024年修正版
这是优技教育提供的Oracle 19c OCP认证考试082题库的2024年修正版,包含90道题目,需在150分钟内达到60%分数通过。本文解析了其中的第14题,并提供了正确答案及解释。OCP认证需通过082和083两门考试,分别达到60%和57%的分数。
53 7
|
9天前
|
Oracle 关系型数据库
【优技教育】Oracle 19c OCP 082题库(第13题)- 2024年修正版
这是2024年修正版的Oracle 19c OCP认证题库,包含1Z0-082科目共90题,需达到60%分数,考试时间为150分钟。题目涵盖子查询等多种考点,其中第13题为多选题,正确答案为ACD。获取OCP认证需在Oracle指定机构培训并通过082和083两门考试。
35 4
|
15天前
|
Oracle 关系型数据库
Oracle 19c OCP 082认证考试题库(第5题)- 2024年修正版
这是2024年修正版的Oracle 19c OCP认证题库,包含1Z0-082考试的90道题目,通过分数为60%,考试时间为150分钟。本文由CUUG原创整理,第五题解析了关于UNION等集合运算符的正确选项,答案为CD。要获得OCP认证,需通过082和083两门考试,并在Oracle指定的WDP机构接受培训。
45 7
|
11天前
|
Oracle 关系型数据库
Oracle 19c OCP 082认证考试题库(第7题)- 2024年修正版
这是优技教育提供的Oracle 19c OCP认证考试(1Z0-082)题库中的第7题解析,共90题,需在150分钟内完成,及格分数为60%。题目涉及用户权限与角色管理,正确答案为A和B。该认证需通过Oracle指定的WDP机构培训后参加考试,并通过082和083两门科目才能获得证书。
33 1
|
15天前
|
Oracle 关系型数据库 应用服务中间件
Oracle 19c OCP 082认证考试题库(第6题)- 2024年修正版
这是关于Oracle 19c OCP认证考试1Z0-082的题库解析,包含90道题目,通过分数为60%,考试时间为150分钟。本文由CUUG原创整理,重点解析了逻辑操作符的优先级等问题,并提供了正确答案BD。通过两科考试后可获得OCP证书。
19 0

推荐镜像

更多