Linux下静默安装Oracle12C图文详细步骤

Linux下静默安装Oracle12C图文详细步骤

  • 1、系统硬件要求
    • 1.1内存要求
    • 1.2版本要求
    • 1.3磁盘空间要求,监测swap
  • 2、操作系统配置
    • 2.1监测oracle需要软件环境
    • 2.2关闭Transparent HugePages
    • 2.3配置用户shell
    • 2.4修改Linux内核参数
    • 2.5创建必要的用户和用户组
    • 2.6创建安装文件夹
    • 2.7oracle安装文件上传
    • 2.8编辑oracle的三个响应文件
    • 2.9执行db_install.rsp
    • 2.10执行脚本
    • 2.11配置oracle环境变量(oracle用户)
    • 2.12执行netca.rsp
    • 2.13执行dbca.rsp
  • 3.安装完成

1、系统硬件要求

1.1内存要求

内存一般为2G以上,最低为1G。可通过指令grep MemTotal /proc/meminfo查询系统实际内存。

本次安装配置系统内存为4G,swap空间默认为内存的2倍,通过 free -m指令可以查看swap空间的实际大小。

1.2版本要求

uname -m         查询系统位数
cat /proc/version或# cat /etc/redhat-release或# lsb_release -id 查询系统版本
uname -r         内核版本

查询版本主要是防止操作系统版本与数据库版本不一致。

1.3磁盘空间要求,监测swap

1.查看swap 空间大小(总计),如果不足则增加
2.创建用于交换分区的文件:增加2G大小的交换分区,count等于想要的块大小
3.设置交换分区文件
4.立即启用交换分区文件
5.再次查看
Linux下静默安装Oracle12C图文详细步骤_第1张图片
6.如果想使得开机自启动,想要修改文件/etc/fastb 修改swap行
Linux下静默安装Oracle12C图文详细步骤_第2张图片

2、操作系统配置

2.1监测oracle需要软件环境

1.通过RPM检查,查看下列模块是否安装

rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXext libXtst libX11 libXau libxcb libXi make sysstat

Linux下静默安装Oracle12C图文详细步骤_第3张图片
2.通过yum进行安装,所缺失的包(复制缺少包名)

yum install compat-libcap1 compat-libstdc++-33 ksh libaio-devel libXtst sysstat

Linux下静默安装Oracle12C图文详细步骤_第4张图片
再次监测安装环境
Linux下静默安装Oracle12C图文详细步骤_第5张图片
安装环境完成

2.2关闭Transparent HugePages

  Transparent HugePages是在运行时动态分配内存的,而标准的HugePages是在系统启动时预先分配内存,并在系统运行时不再改变。

  因为Transparent HugePages是在运行时动态分配内存的,所以会带来在运行时内存分配延误。所 以ORACLE是建议不使用Transparent HugePages功能的,如果需要大页内存管理功能来加强性能,建议使用标准的大页内存管理。

1.执行cat /sys/kernel/mm/transparent_hugepage/enabled,如果输出是 always ,则执行以下操作

在这里插入图片描述
(1)输入 vim /etc/default/grub,按照下面提示修改文件内容

将 GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet"
这一行修改为
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet transparent_hugepage=never"  

Linux下静默安装Oracle12C图文详细步骤_第6张图片
Linux下静默安装Oracle12C图文详细步骤_第7张图片
(2)同时输入echo never >> /sys/kernel/mm/transparent_hugepage/enabled 使该配置实时生效
在这里插入图片描述

2.3配置用户shell

(1)对oracle用户设置限定。将以下行添加/etc/security/limits.conf 文件中

oracle soft nofile 65535
oracle hard nofile 65536
oracle nproc 2047
oracle hard nproc 16384
oracle hard stack 10240
oracle soft stack 20480

执行以下命令 vim /etc/security/limits.conf,查看是否存在以下内容,如果没有则最后一行后面输入以下内容

Linux下静默安装Oracle12C图文详细步骤_第8张图片
Linux下静默安装Oracle12C图文详细步骤_第9张图片

2.4修改Linux内核参数

使其满足Oracle 12C的系统内核参数(可以在oracle官网找到12c 参数)

使用vim打开/etc/sysctl.conf.查看是否存在以下内容,如果不存在则自行添加

kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

如果不存在则自行添加

Linux下静默安装Oracle12C图文详细步骤_第10张图片
输入保存内容后,执行sysctl -p

Linux下静默安装Oracle12C图文详细步骤_第11张图片
内核参数解释:
(1) 共享内存内核参数
kernel.shmmax:每个内存段的最大值,等于或大于sga_max_size,不小于物理内存1/2或2G 。一般为内存大小的50%,单位byte.例如内存为1G.则shmmax值为1*1024*1024*1024*0.5的结果。

kernel.shmall:指定任意时刻,系统可以分配的所有共享内存段总和的最大值,不小于shmmax/page_size,如果服务器运行的SGA<8G,可用默认值 。一般为内存大小的40%,单位4k.例如内存为1G,则shmall值为1*1024*1024*0.5/4的结果

kernel.shmmni:系统可分配的共享内存段的最大数量,默认是4096。

(2)信号量
一种控制资源访问的方法,Oracle实例主要使用信号量来控制共享内存的访问
使用processes初始化参数分配信号量,其值至少等于processes
信号量内核参数
semmsl指每个信号量集合中的最大信号量个数,其值或取其最小值100,或者为所有数据库中最大的processes+10,选择其中较大值者
semmns值是指整个系统范围内信号量总数的最大值,默认是32000
semopm用于指定每个semop()系统调用可以设置的信号量操作的最大数量,默认为100
semmni用于指定信号量集合的最大数量,最小为100,Oracle建议取值128.

net.core.rmem_default、net.core.rmem_max、net.core.wmem_default、net.core.wmem_max,4个参数用于设置socket数据发送缓冲区及接收缓冲区的默认大小与最大大小.

net.core.rmem_default:表示套接字接收缓冲区大小的缺省值
net.core.rmem_max:表示套接字接收缓冲区大小的最大值
net.core.wmem_default:表示套接字发送缓冲区大小的缺省值

2.5创建必要的用户和用户组

groupadd oinstall   //创建oracle用户组 
groupadd -g 502 dba   //创建一个新组 gid为502 名称为dba
groupadd -g 503 oper    //创建一个新组 gid为503 名称为oper
groupadd -g 504 asmadmin  //创建一个新组 gid为504 名称为asmadmin
groupadd -g 506 asmdba   //创建一个新组 gid为506 名称为asmdba
groupadd -g 505 asmoper   //创建一个新组 gid为505 名称为asmoper
groupadd backupdba  //创建oracle用户组
groupadd dgdba    //创建oracle用户组
groupadd kmdba  //创建oracle用户组
useradd -u 502 -g oinstall -G dba,asmdba,oper,backupdba,dgdba,kmdba oracle
//创建oracle用户

Linux下静默安装Oracle12C图文详细步骤_第12张图片

2.6创建安装文件夹

mkdir -p /u12/app/oracle      //创建oracle安装包文件
chown -R oracle:oinstall /u12 -R //把u12下的所有文件和目录拥有者改为oracle
chmod -R 775 /u12/app/oracle   //设置文件权限775,拥有者与组用户所有权限,用户读取权限,执行权限

注意如果安装过程,因为权限问题安装失败:我们用root用户创建的文件,所有拥有者是root,而后面我们要用oracle用户安装数据库,到时候会因为权限问题导致安装失败,所以一定要让oracle拥有所有权限。
Linux下静默安装Oracle12C图文详细步骤_第13张图片
Linux下静默安装Oracle12C图文详细步骤_第14张图片

2.7oracle安装文件上传

在/u12/下创建database文件,并且把oracle安装文件上传到文件内,并且解压缩

Linux下静默安装Oracle12C图文详细步骤_第15张图片

2.8编辑oracle的三个响应文件

Linux下静默安装Oracle12C图文详细步骤_第16张图片
db_install.rsp为安装响应文件

dbca.rsp为创建数据库响应文件

netca.rsp为监听器响应文件

网上对三个响应文件每一行的配置都有说明,这里不再做配置详细说明。我这里已经本地预先编辑好了三个文件,复制dbca.rsp,db_install.rsp ,netca.rsp 到/u12/database文件夹下

2.9执行db_install.rsp

切换到oracle用户

注意:在执行响应文件之前先执行

chmod 755 /tmp/CVU_*_oracle/ -R

防止oracle在tmp生成的临时文件,没有执行权限,导致检测脚本无法运行

1.切换到oracle用户,执行 su - oracle .进入/u12/database 目录中
Linux下静默安装Oracle12C图文详细步骤_第17张图片
2.执行 ./runInstaller -silent -noconfig -responseFile /u12/database/db_install.rsp
Linux下静默安装Oracle12C图文详细步骤_第18张图片

2.10执行脚本

runInstaller 安装完毕后依据界面提示,使用root 执行/u12/app/oraInventory/orainstRoot.sh 和 /u12/app/oracle/product/12/dbhome_1/root.sh具体执行脚本参照界面提示.以下步骤还是在oracle用户下执行.

Linux下静默安装Oracle12C图文详细步骤_第19张图片

2.11配置oracle环境变量(oracle用户)

执行完毕后,编辑 vi .bash_profile 新增输入以下内容,如果有则进行对应的修改.输入完毕后执行 source .bash_profile

umask 022
export ORACLE_SID=wms   //这个是我设置的服务器名称,可行修改默认为orcl
export ORACLE_BASE=/u12/app/oracle
export ORACLE_HOME=/u12/app/oracle/product/12/dbhome_1
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
export PATH=$PATH:$ORACLE_HOME/bin

Linux下静默安装Oracle12C图文详细步骤_第20张图片
在这里插入图片描述

2.12执行netca.rsp

执行oracle的监听器响应文件(netca.rsp),然后静默安装监听器

1.执行 netca -silent -responsefile /u12/database/netca.rsp
Linux下静默安装Oracle12C图文详细步骤_第21张图片

2.13执行dbca.rsp

  1. 注意dbca.rsp文件中的totalMemory配置项,此配置项根据实际内存的大小分配 30%到40%.例如10G的内存.则分配值大概在10*1024*0.3 (只能配置一个百分比或分配值)

  2. 执行 dbca -silent -createDatabase -responseFile /u12/database/dbca.rsp

Linux下静默安装Oracle12C图文详细步骤_第22张图片

3.安装完成

Linux下静默安装Oracle12C图文详细步骤_第23张图片

你可能感兴趣的:(数据库,oracle,linux)