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

CentOS 7 && Oracle 12c 单机静默安装指南

原创 张均 云和恩墨 2022-09-06
2472

一. 安装环境

本次安装环境如下:

操作系统 数据库 IP 主机名
CentOS7_X86 64位 Oracle 12c 192.168.101.150 oracle_1

虚拟机规划
虚拟机名: CentOS
主机名: oracle_1
内存: 4G
处理器: 8
磁盘: 900GB
镜像: CentOS-7-x86_64-dvd.iso
网卡: NAT一张


二. Oracle环境准备

2.1 检查IP

[root@oracle_1 ~]# ip a

image.png

2.2 查看内存

[root@oracle_1 ~]# free -m

image.png

2.3 查看系统存储空间

[root@oracle_1 ~]# df -h

预计将u01作为oracle的安装目录
image.png

2.4 查看/设置主机名

# 查看主机名
[root@oracle_1 ~]# cat /etc/hostname
oracle_1
[root@oracle_1 ~]# hostname
oracle_1
#修改主机名 
[root@oracle_1 ~]# hostnamectl set-hostname oracel_1

2.5 禁用防火墙

# 查看防火墙状态
[root@oracle_1 ~]# systemctl status firewalld

#关闭防火墙
[root@oracle_1 ~]# systemctl stop firewalld

#停止开机自启防火墙
[root@oracle_1 ~]# systemctl disable firewalld

image.png

2.6 禁用selinux

[root@oracle_1 ~]# vim /etc/selinux/config

修改配置文件中的SELINUX=disabled
image.png

注意:在修改配置文件中的参数的,要习惯把原配置项保留(可使用注释符#),重新添加新参数,方便回退。或者也可以直接备份整个配置文件。

2.7 配置本地yum源

由于本次实验环境是使用的NAT网卡,可以访问外网既可忽略该操作。如未联网,可配置本地yum源,方便之后依赖包的下载。
CentOS配置本地yum源参考

2.8 安装相关依赖包

# 安装常用软件
[root@oracle_1 ~]# yum install -y vim tree net-tools
# 安装Oracle依赖包
[root@oracle_1 ~]# yum install -y binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libX11 libX11.i686 libXau libXau.i686 libXi libXi.i686 libXtst libXtst.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libxcb libxcb.i686 make nfs-utils net-tools smartmontools sysstat unixODBC unixODBC-devel gcc gcc-c++ libXext libXext.i686 zlib-devel zlib-devel.i686

image.png

2.9 修改内核参数

cat >> /etc/sysctl.conf <<EOF
fs.file-max = 6815744
kernel.sem = 1000  1024000 1000 1024
kernel.shmmni = 4096
kernel.shmall =2043394
kernel.shmmax = 8369741824
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 16777216
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.wmem_default = 16777216
fs.aio-max-nr = 6194304
vm.dirty_ratio=20
vm.dirty_background_ratio=3
vm.dirty_writeback_centisecs=100
vm.dirty_expire_centisecs=500
vm.swappiness=10
vm.min_free_kbytes=524288
net.core.netdev_max_backlog = 30000
net.core.netdev_budget = 600
EOF

执行命令使其生效

[root@oracle_1 etc]# /sbin/sysctl -p

image.png

2.10 资源限制

cat >> /etc/security/limits.d/20-nproc.conf <<EOF
* soft nproc 4096
root soft nproc unlimited
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 134217728
oracle soft memlock 134217728
EOF

image.png

2.11 创建组与oracle用户

[root@oracle_1 sysctl.d]# groupadd -g 54321 oinstall
[root@oracle_1 sysctl.d]# groupadd -g 54322 dba
[root@oracle_1 sysctl.d]# groupadd -g 54323 oper
[root@oracle_1 sysctl.d]#  useradd -u 99999 -g oinstall -G dba,oper oracle
[root@oracle_1 sysctl.d]# id oracle

image.png

2.12 创建文件夹

[root@oracle_1 sysctl.d]#  mkdir -p /u01/app/oracle
[root@oracle_1 sysctl.d]# mkdir -p /u01/app/oradata
[root@oracle_1 sysctl.d]# mkdir -p /u01/app/oraInventory
[root@oracle_1 sysctl.d]# mkdir -p /u01/app/oracle/product/12.2.0.1/dbhome_1
[root@oracle_1 sysctl.d]# mkdir -p /u01/app/archive
[root@oracle_1 sysctl.d]# chmod -R 775 /u01
[root@oracle_1 sysctl.d]# chown -R oracle:oinstall /u01
[root@oracle_1 sysctl.d]# ll /u01

image.png

2.13 配置环境变量

  • 登录oracle用户
su - oracle
  • 打开环境变量文件
[oracle@oracel_1 ~]$ vi .bash_profile
  • 添加以下参数至文件中
#日志存放位置
export TMP=/tmp
export TMPDIR=$TMP

#主机名
export ORACLE_HOSTNAME=oracle_1
#库名称
export ORACLE_UNQNAME=oradb
#Oracle存放路径
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0.1/dbhome_1
#库名称
export ORACLE_SID=oracle

export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
  • 是配置文件生效
[oracle@oracel_1 ~]$ source .bash_profile

三. 静默安装

3.1 oracle下载

下载地址 提取码:v3u6

3.2 上传压缩包

  • 上传database压缩包到/tmp/文件夹下
    image.png
  • 将压缩包的权限赋予oracle并解压
[root@oracle_1 tmp]# chown -R oracle:oinstall database.zip
[root@oracle_1 tmp]# su - oracle
Last login: Tue Sep  6 15:47:17 CST 2022 on pts/2
[oracle@oracel_1 ~]$ cd /tmp
[oracle@oracel_1 tmp]$ unzip database.zip -d $ORACLE_HOME

3.3 安装前参数修改

cd $ORACLE_HOME/response
cp db_install.rsp /tmp
vim /tmp/db_instal.rsp
#添加如下参数到文件末尾
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0.1
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.SID=oradb

3.4 执行runInstaller

 ./runInstaller -silent -responseFile /tmp/db_install.rsp -ignorePrereq
  • 报错1:执行runInstaller的权限不够
[oracle@oracel_1 dbhome_1]$ ./runInstaller -silent -responseFile /tmp/db_install.rsp -ignorePrereq
-bash: ./runInstaller: Permission denied

解决方法:

[oracle@oracel_1 dbhome_1]$ chmod 777 runInstaller
  • 报错2:.oui文件权限不够
[oracle@oracel_1 dbhome_1]$ ./runInstaller -silent -responseFile /tmp/db_install.rsp -ignorePrereq
./runInstaller: line 252: /u01/app/oracle/product/12.2.0.1/dbhome_1/install/.oui: Permission denied

解决方法:

[oracle@oracel_1 dbhome_1]$ chmod 777 install/.oui
  • 报错3:unzip权限不够
sh: /u01/app/oracle/product/12.2.0.1/dbhome_1/install/unzip: Permission denied

解决方法:

[oracle@oracel_1 dbhome_1]$ chmod 777 install/unzip
  • 报错4:主机名不能带’_'这个无效字符
[oracle@oracel_1 dbhome_1]$ [FATAL] [INS-30131] Initial setup required for the execution of installer validations failed.
   CAUSE: Failed to access the temporary location.
   ACTION: Ensure that the current user has required permissions to access the temporary location.
*ADDITIONAL INFORMATION:*
Exception details
 - PRVG-11322 : One or more node names "oracel_1" contain one or more of the following invalid characters "_"

解决方法:

# 修改主机名
hostnamectl set-hostname oracle1
  • 报错5:/tmp/CVU_12.2.0.1.0_oracle/权限不够
[oracle@oracel1 dbhome_1]$ [FATAL] [INS-30131] Initial setup required for the execution of installer validations failed.
   CAUSE: Failed to access the temporary location.
   ACTION: Ensure that the current user has required permissions to access the temporary location.
*ADDITIONAL INFORMATION:*
 - PRVG-1901 : failed to setup CVU remote execution framework directory "/tmp/CVU_12.2.0.1.0_oracle/" on nodes "oracle1"

解决方法:

[root@oracle1 /]# chmod 755 /tmp/CVU_*_oracle/ -R

3.4 执行脚本

image.png
根据runInstaller的结果,需要使用root用户执行两个脚本文件:

[root@oracle1 ~]# sh /u01/app/oraInventory/orainstRoot.sh
[root@oracle1 ~]# sh /u01/app/oracle/product/12.2.0.1/dbhome_1/root.sh

image.png

3.5 配置监听

netca -silent -responseFile $ORACLE_HOME/assistants/netca/netca.rsp

image.png

3.6 安装数据库实例

#修改dbca.rsp配置文件

[oracle@oracle1 ~]$ cd $ORACLE_HOME
[oracle@oracle1 dbhome_1]$ cd assistants/dbca/
[oracle@oracle1 dbca]$ cp dbca.rsp /tmp
[oracle@oracle1 dbca]$ vim /tmp/dbca.rsp
#在文件末尾添加如下参数
responseFileVersion=/home/oracle/rspfmt_dbca_response_schema_v12.2.0.1
gdbName=oracle
sid=oradb
sysPassword=oracle
oracleHomeUserPassword=oracle
templateName=General_Purpose.dbc
emExpressPort=5500
totalMemory=1500
sysPassword=Oracle123
systemPassword=Oracle123
datafileDestination=/u01/app/oradata
characterSet=ZHS16GBK
nationalCharacterSet=AL16UTF16
databaseType=OLTP
  • 执行安装命令
[oracle@oracle1 dbca]$ dbca -silent -createDatabase -responseFile /tmp/dbca.rsp

image.png

四. 安装验证

4.1 监听环境验证

lsnrctl status

image.png

4.2 实例状态验证

SQL> select instance_name,status from v$instance;

INSTANCE_NAME    STATUS
---------------- ------------
oradb            OPEN

SQL> SELECT name,db_unique_name,open_mode from v$database;

NAME      DB_UNIQUE_NAME                 OPEN_MODE
--------- ------------------------------ --------------------
ORACLE    oracle                         READ WRITE

以上,oracle12c单机静默安装成功!

最后修改时间:2022-09-07 09:33:35
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论