Oracle Linux7.8 下离线 一键静默安装Oracle12c

之前下载centos8.2 来安装oracle12c 发现怎么都装不成功,最后发现
oracle官方Linux7 系列之支持oracle 最高版本到18c linux8系列 只有oracle 19c支持。故果断下载oracle linux 7.8(跟centos7.8安装类似 )
安装oracle12c

脚本为一键静默安装,因为考虑到服务器不能联网的特点,连同必须的rpm包一起打包,真正做到了【一键静默离线安装oracle12c!】

安装前的准备

最小安装OracleLinux7.8(centos7.8一样)

(文末附下载)
安装详细过程不做介绍,一步一步即可
主要选择软件包的时候,选择基本的开发环境包和兼容包即可。

在这里插入图片描述

安装oracle需要的依赖包

需要rmp包列表如下:(附下载)

binutils-2.27-43.base.0.1.el7_8.1.x86_64.rpm
compat-libstdc++-33-3.2.3-72.el7.i686.rpm
cpp-4.8.5-39.0.5.el7.x86_64.rpm
gcc-4.8.5-39.0.5.el7.x86_64.rpm
gcc-c++-4.8.5-39.0.5.el7.x86_64.rpm
gcc-gfortran-4.8.5-39.0.5.el7.x86_64.rpm
glibc-2.17-307.0.1.el7.1.i686.rpm
glibc-devel-2.17-307.0.1.el7.1.i686.rpm
gpm-libs-1.20.7-6.el7.x86_64.rpm
gssproxy-0.7.0-28.el7.x86_64.rpm
keyutils-1.5.8-3.el7.x86_64.rpm
ksh-20120801-142.0.1.el7.x86_64.rpm
libaio-0.3.109-13.el7.i686.rpm
libaio-devel-0.3.109-13.el7.i686.rpm
libaio-devel-0.3.109-13.el7.x86_64.rpm
libbasicobjects-0.1.1-32.el7.x86_64.rpm
libcollection-0.7.0-32.el7.x86_64.rpm
libevent-2.0.21-4.el7.x86_64.rpm
libgcc-4.8.5-39.0.5.el7.i686.rpm
libgcc-4.8.5-39.0.5.el7.x86_64.rpm
libgfortran-4.8.5-39.0.5.el7.x86_64.rpm
libgomp-4.8.5-39.0.5.el7.x86_64.rpm
libini_config-1.3.1-32.el7.x86_64.rpm
libnfsidmap-0.25-19.el7.x86_64.rpm
libpath_utils-0.2.1-32.el7.x86_64.rpm
libquadmath-4.8.5-39.0.5.el7.x86_64.rpm
libquadmath-devel-4.8.5-39.0.5.el7.x86_64.rpm
libref_array-0.1.5-32.el7.x86_64.rpm
libstdc++-4.8.5-39.0.5.el7.i686.rpm
libstdc++-4.8.5-39.0.5.el7.x86_64.rpm
libstdc++-devel-4.8.5-39.0.5.el7.i686.rpm
libstdc++-devel-4.8.5-39.0.5.el7.x86_64.rpm
libtirpc-0.2.4-0.16.el7.x86_64.rpm
libverto-libevent-0.2.5-4.el7.x86_64.rpm
libX11-1.6.7-2.el7.i686.rpm
libX11-1.6.7-2.el7.x86_64.rpm
libX11-common-1.6.7-2.el7.noarch.rpm
libXau-1.0.8-2.1.el7.i686.rpm
libXau-1.0.8-2.1.el7.x86_64.rpm
libxcb-1.13-1.el7.i686.rpm
libxcb-1.13-1.el7.x86_64.rpm
libXext-1.3.3-3.el7.i686.rpm
libXext-1.3.3-3.el7.x86_64.rpm
libXi-1.7.9-1.el7.i686.rpm
libXi-1.7.9-1.el7.x86_64.rpm
libXtst-1.2.3-1.el7.i686.rpm
libXtst-1.2.3-1.el7.x86_64.rpm
lm_sensors-libs-3.4.0-8.20160601gitf9185e5.el7.x86_64.rpm
mailx-12.5-19.el7.x86_64.rpm
net-tools-2.0-0.25.20131004git.el7.x86_64.rpm
nfs-utils-1.3.0-0.66.0.1.el7_8.x86_64.rpm
nss-softokn-freebl-3.44.0-8.0.1.el7_7.i686.rpm
quota-4.01-19.el7.x86_64.rpm
quota-nls-4.01-19.el7.noarch.rpm
rpcbind-0.2.0-49.el7.x86_64.rpm
smartmontools-7.0-2.el7.x86_64.rpm
sysstat-10.1.5-19.el7.x86_64.rpm
tcp_wrappers-7.6-77.el7.x86_64.rpm
unixODBC-2.3.1-14.0.1.el7.x86_64.rpm
unixODBC-devel-2.3.1-14.0.1.el7.x86_64.rpm
vim-common-7.4.629-6.0.1.el7.x86_64.rpm
vim-enhanced-7.4.629-6.0.1.el7.x86_64.rpm
vim-filesystem-7.4.629-6.0.1.el7.x86_64.rpm
wget-1.14-18.el7_6.1.x86_64.rpm
zlib-1.2.7-18.el7.i686.rpm
zlib-devel-1.2.7-18.el7.i686.rpm
zlib-devel-1.2.7-18.el7.x86_64.rpm

这些依赖包下载后打包成oracle_pkg.tar 并放入/Data/soft文件夹下
本文已经将rmp打包完毕 直接下载即可使用。
oracle12c所需要的库文件下载

准备Oracle安装包

把Oracle12C原安装包"linuxx64_12201_database.zip" 放入 /Data/soft
这个linuxx64_12201_database.zip需要去oracle 官网下载即可
或者在网盘里下载
两个链接下载哪个都可以
下载链接1
下载链接2

准备一键安装脚本 并执行

一键安装脚本借鉴spdir大神的 https://github.com/spdir/oracle-single-install
并进行了修改,可以灵活自定义安装oracle的路径和源文件位置并支持不联网的情况下安装oracle12c

脚本使用安装前配置

root用户执行(尽量系统为纯净环境)

  1. 安装前请将Oracle 12C安装包放置在/Data/soft目录下,如果是其他目录修改脚本中的softdir变量
  2. 系统需要具备512MB的交换分区
  3. 并配置以下信息
    本机IP地址 HostIP 设置改成自己的IP
    脚本是通过
HostIP=`ip a | grep ens32 | grep inet |awk '{print $2}'|cut -d / -f 1`

注意上面的ens32 是自己电脑的网卡名称,如果是eth0 或者其他名字请更换为正确的网卡名称。

  • Oracle用户密码 OracleUserPasswd 默认为oracle
  • Oracle数据库管理员密码 ORACLE_DB_PASSWD 默认为 Oracle#123
  • Oracle SID/ServerName SID 默认为 orcl12c
  • 是否安装实例 IS_INSTANCE
    • 0-不安装实例
    • 1-安装单实例(默认)
    • 2-安装cdb : 因为CDB在初始化过程中需要输入参数,需要手动初始化,具体步骤会在最后进行提示
  • 设置单实例默认字符编码SINGLE_CHARSET
    • 1-AL32UTF8
    • 2-ZHS16GBK默认
  • 选择配置静默安装配置文件的获取方式Get_Config_Method
    • 0-远程
    • 2-本地获取(默认)(脚本执行根目录下需要有conf目录存放配置文件)
      • db_install.rsp 数据库安装配置文件
      • dbca_single.rsp 数据库单实例初始化配置文件
      • initcdb.ora CDB初始化配置文件

脚本以及conf文件打包下载地址:
一键脚本以及配置文件下载
一键安装脚本部分内容:

#!/bin/bash
#oracle 12c
#local host ip

datadir=/Data
softdir=/Data/soft
HostIP=`ip a | grep ens32 | grep inet |awk '{print $2}'|cut -d / -f 1`

#oracle user password
OracleUserPasswd="oracle"
#default `systemOracle.com`
read -p "please enter the password you want to set for SYS,SYSMAN,SYSTEM&DBSNMP[at least 8 characters with digits, upper and lower case letters [default:Oracle#123]:" ORACLE_DB_PASSWD
 if [ -z "$ORACLE_DB_PASSWD" ];then
        ORACLE_DB_PASSWD="Oracle#123"
        fi
#SID/SERVERNAME,default `orcl12c`
read -p "Please input oracle server SID[ex: orcl12c]: " SID
 if [ -z "$SID" ];then
        SID="orcl12c"
        fi
# Install single instance choose charset
# 1-AL32UTF8(default), 2-ZHS16GBK
# Currently only supports single instance, does not support pdb
SINGLE_CHARSET='2'
# Install instance
#0-no,1-singleInstance,2-cdb
IS_INSTANCE='1'
# Choose configure file path
# 0-remote(default)  1-local
Get_Config_Method="1"
#---------------------------------------------------------------------------------#
#Global environment variable
if [[ ${
   SID} == "" ]];then
  SID="oriedb"
fi
root_path=$softdir
response='/home/oracle/response'
MemTotle=$(grep -r 'MemTotal' /proc/meminfo | awk -F ' ' '{print int($2/1024/1024+1)}')
ORACLE_HOME=${
   datadir}/oracle/product/12.2.0/db_1
con_name="
sqlplus / as sysdba<< EOF
show con_name;
exit;
EOF
"
web_plugin="
sqlplus / as sysdba<< EOF
exec dbms_xdb_config.sethttpport(1522);
exit;
EOF
"
cdb_sql="
sqlplus / as sysdba<< EOF
shutdown abort;
create spfile from pfile='"$ORACLE_HOME/dbs/initcdb.ora"';
startup nomount;
CREATE DATABASE ${SID}
USER SYS IDENTIFIED BY pass
USER SYSTEM IDENTIFIED BY pass
LOGFILE GROUP 1 ('"${
   datadir}/oracle/oradata/${
   SID}/redo01a.log"','"${
   datadir}/oracle/oradata/${
   SID}/redo01b.log"')
SIZE 100M BLOCKSIZE 512,
GROUP 2 ('"${
   datadir}/oracle/oradata/${
   SID}/redo02a.log"','"${
   datadir}/oracle/oradata/${
   SID}/redo02b.log"')
SIZE 100M BLOCKSIZE 512
MAXLOGHISTORY 1
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 1024
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '"${
   datadir}/oracle/oradata/${
   S
  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值