【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c

部署Oracle 12C R2单实例数据库,存储使用ASM,并且使用udev配置磁盘组的详细过程。

OS:CentOS 7.3 1611
磁盘6块,3块10G,3块50G。

1. 配置yum源

1)配置国内aliyun的源

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

2)或者使用光盘制作本地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 Apr 30 22:03 /dev/asm-diska -> sda1
lrwxrwxrwx. 1 root root 4 Apr 30 22:03 /dev/asm-diskb -> sdb1
lrwxrwxrwx. 1 root root 4 Apr 30 22:03 /dev/asm-diskc -> sdc1
lrwxrwxrwx. 1 root root 4 Apr 30 22:03 /dev/asm-diskd -> sdd1
lrwxrwxrwx. 1 root root 4 Apr 30 22:03 /dev/asm-diske -> sde1
lrwxrwxrwx. 1 root root 4 Apr 30 22: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。


【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第1张图片
选择安装方式

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


【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第2张图片
修改ASM发现路径

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


【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第3张图片
选择磁盘

配置ASM管理用户密码。


【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第4张图片
ASM密码

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


【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第5张图片
配置EM

配置组权限,默认即可。


【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第6张图片
配置组权限

指定安装路径,默认。


【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第7张图片
指定安装路径

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


【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第8张图片
创建Invertory
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第9张图片
root脚本配置

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


【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第10张图片
检查系统需求
# 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%]

然后重新检查。

安装信息汇总。


【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第11张图片
安装信息汇总

开始安装。


【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第12张图片
安装
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第13张图片
使用root用户执行的脚本
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第14张图片
返回成功,点击OK继续安装
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第15张图片
完成组件安装
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第16张图片
完成

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

9 . 安装数据库软件

# su - oracle
$ cd database
$ ./runInstaller

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


【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第17张图片
step 1

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


【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第18张图片
step 2

选择“单实例”。


【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第19张图片
step 3
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第20张图片
step 4
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第21张图片
step 5
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第22张图片
step 6
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第23张图片
step 7
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第24张图片
step 8
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第25张图片
step 9

执行此脚本。


【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第26张图片
执行脚本
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第27张图片
step 10

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
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第28张图片
step 1
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第29张图片
step 2
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第30张图片
step 3
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第31张图片
step 4
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第32张图片
step 5
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第33张图片
step 6
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第34张图片
step 7
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第35张图片
step 8
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第36张图片
step 9
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第37张图片
step 10
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第38张图片
step 11, Oracle123
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第39张图片
step 12
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第40张图片
step 13
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第41张图片
step 14
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第42张图片
step 15
【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c_第43张图片
检查和使用数据库

参考资料:
http://blog.yannickjaquier.com/oracle/asm-on-red-hat-7-and-oel-7-with-udev.html
http://www.cnblogs.com/sunmengbbm/p/5651984.html

你可能感兴趣的:(【Ora12c】基于Linux7(CentOS7.3 1611)部署Oracle 12c)