云网牛站
所在位置:首页 > Linux云数据库 > 在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

2018-09-27 15:59:45作者:mikeliuy稿源:linux站

下面在CentOS 7.3 Linux的计算机上部署Oracle 12c单实例数据库,存储使用ASM,磁盘6块,3块10G,3块50G,并且使用udev配置磁盘组的详细过程。

 

1.配置yum源

1)配置国内aliyun的源

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

参考:在CentOS系统中更换yum源的方法

注:也可以使用光盘制作本地yum源,以下语句是为了同时安装x86_64和i386的rpm包同时安装。

echo 'multilib_policy=all' >> /etc/yum.conf

 

2.安装系统需要的rpm包

yum install gcc gcc-c++ binutils compat-libcap1 compat-libstdc++-33 glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libxcb libX11 libXau libXi libXtst make net-tools nfs-utils smartmontools sysstat xterm unixODBC unixODBC-devel -y

rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

 

3.创建用户和组(这个包括数据库的用户和组)

groupadd -g 54321 oinstall

groupadd -g 54322 dba

groupadd -g 54323 oper

groupadd -g 54326 asmadmin

groupadd -g 54327 asmdba

groupadd -g 54328 asmoper

useradd -u 54331 -g oinstall -G dba,oper,asmadmin,asmdba,asmoper oracle

useradd -u 54332 -g oinstall -G dba,oper,asmadmin,asmdba,asmoper grid

 

4.修改系统对用户使用资源的限制

vi /etc/security/limits.conf 

####oracle

oracle           soft    nofile          1024

oracle           hard    nofile          65536

oracle           soft    nproc           2047

oracle           hard    nproc           16384

oracle           soft    stack           10240 

oracle           hard    stack           20480

oracle           soft    memlock         3145728

oracle           hard    memlock         3145728

####grid

grid           soft    nofile          1024

grid           hard    nofile          65536

grid           soft    nproc           2047

grid           hard    nproc           16384

grid           soft    stack           10240 

grid           hard    stack           20480

 

5.修改系统的参数

vim /etc/sysctl.conf

fs.aio-max-nr = 1048576

fs.file-max = 6815744

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

 

6.使用Linux的udev创建asm的磁盘

1).使用fdisk对磁盘进行分区。

# fdisk /dev/sdb

Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

Device does not contain a recognized partition table

Building a new DOS disklabel with disk identifier 0x98d1e6dd.

Command (m for help): n

Partition type:

p   primary (0 primary, 0 extended, 4 free)

e   extended

Select (default p): 

Using default response p

Partition number (1-4, default 1): 

First sector (2048-20971519, default 2048): 

Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): 

Using default value 20971519

Partition 1 of type Linux and of size 10 GiB is set

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

2).编辑脚本,生成udev的rule文件。

vim genasmdisk.sh

#!/bin/bash

cat /dev/null > /etc/udev/rules.d/99-oracle-asmdevices.rules

for i in a b c d e f;

do

echo "KERNEL==\"sd?1\", SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id -g -u -d /dev/\$name\", RESULT==\"`/usr/lib/udev/scsi_id -g -u -d /dev/sd${i}1`\", SYMLINK+=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""  >> /etc/udev/rules.d/99-oracle-asmdevices.rules

done

3).执行脚本,生成rule文件

# chmod +x genasmdisk.sh 

# ./genasmdisk.sh 

# cat /etc/udev/rules.d/99-oracle-asmdevices.rules 

KERNEL=="sd?1", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB098d76e2-9145f9dd", SYMLINK+="asm-diska", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sd?1", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VBf90ff69a-4814bddb", SYMLINK+="asm-diskb", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sd?1", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VBd4b95383-60793e3e", SYMLINK+="asm-diskc", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sd?1", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB6a13abd4-deaab396", SYMLINK+="asm-diskd", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sd?1", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB82560102-e94a69eb", SYMLINK+="asm-diske", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sd?1", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VBadd50d7e-e225b445", SYMLINK+="asm-diskf", OWNER="grid", GROUP="asmadmin", MODE="0660"

4).测试规则,并检查磁盘的所属关系和权限

# partprobe /dev/sda1

# partprobe /dev/sdb1

# partprobe /dev/sdc1

# partprobe /dev/sdd1

# partprobe /dev/sde1

# partprobe /dev/sdf1

# udevadm test /block/sda/sda1

# ll /dev/asm-disk*

lrwxrwxrwx. 1 root root 4 Sep 27 12:03 /dev/asm-diska -> sda1

lrwxrwxrwx. 1 root root 4 Sep 27 12:03 /dev/asm-diskb -> sdb1

lrwxrwxrwx. 1 root root 4 Sep 27 12:03 /dev/asm-diskc -> sdc1

lrwxrwxrwx. 1 root root 4 Sep 27 12:03 /dev/asm-diskd -> sdd1

lrwxrwxrwx. 1 root root 4 Sep 27 12:03 /dev/asm-diske -> sde1

lrwxrwxrwx. 1 root root 4 Sep 27 12:03 /dev/asm-diskf -> sdf1

 

7.创建安装目录和相关环境变量

# mkdir -p /u01/app/{grid,oracle}

# chown -R oracle:oinstall /u01/app

# chown -R grid:oinstall /u01/app/grid/

# su - grid

$ unzip linuxx64_12201_grid_home.zip

$ mv grid /u01/app/grid/12.2.0.1

编辑环境变量。

$ vim .bash_profile 

$ cat .bash_profile 

# .bash_profile

export ORACLE_SID=+ASM

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=$ORACLE_BASE/12.2.0.1

PATH=$ORACLE_BASE/bin:$ORACLE_HOME/bin:$PATH:$HOME/.local/bin:$HOME/bin

export TEMP=/tmp

export TMP=/tmp

export TMPDIR=/tmp

export PATH

umask 022

 

8.安装Grid,配置ASM

$ cd /u01/app/grid/12.2.0.1/

$ ./gridSetup.sh

仅仅安装grid,配置ASM。以下是图示的过程。

选择安装方式。

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

修改ASM发现路径,按照前面udev定义的路径进行配置。

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

选择磁盘,定义磁盘组名称。

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

配置ASM管理用户密码。

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

配置EM(由于测试使用,没有配置)。

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

配置组权限,默认即可。

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

指定安装路径,默认。

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

创建Invertory,默认,注意目录创建、属主、权限等配置。

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

root脚本配置。

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

根据显示的问题,进行解决。

检查系统需求。

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

# find /u01/app/grid -name cvuqdisk*

/u01/app/grid/12.2.0.1/cv/rpm/cvuqdisk-1.0.10-1.rpm

/u01/app/grid/12.2.0.1/cv/remenv/cvuqdisk-1.0.10-1.rpm

#

# rpm -ivh /u01/app/grid/12.2.0.1/cv/rpm/cvuqdisk-1.0.10-1.rpm

Preparing...                          ################################# [100%]

Using default group oinstall to install package

Updating / installing...

1:cvuqdisk-1.0.10-1                ################################# [100%]

然后重新检查。

安装信息汇总。

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

开始安装。

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

使用root用户执行的脚本。

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

返回成功就点击OK继续安装。同时完成组件安装。

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

直到完成界面出现。

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

以上完成了ASM安装配置,下面开始安装数据库软件以及数据库实例。

 

9.安装数据库软件

# su - oracle

$ cd database

$ ./runInstaller

此处出于测试目的,全部为空,点击下一步。

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

选择“仅安装数据库软件”。

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

选择“单实例”。

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

执行此脚本。

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

执行脚本直到完成界面的出现。

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

 

10.安装数据库实例

$ vim  .bash_profile 

# .bash_profile

export ORACLE_SID=ORCL

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1

PATH=$ORACLE_HOME/bin:$PATH:$HOME/.local/bin:$HOME/bin

export PATH

$ dbca

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

检查和使用数据库。

在基于Linux(CentOS 7.3)的计算机上部署Oracle 12c

 

相关主题

在Linux下启动Oracle服务及设置Oracle开机自启动的方法

精选文章
热门文章