欢迎光临
我们一直在努力

RHEL7.3 安装oracle12C R2 RAC

##安装桌面

##安装桌面

yum -y groupinstall “Server with GUI”

#启动桌面

startx

#设置启动模式

[root@rhel7-ora12c-ip21 ~]# systemctl get-default

multi-user.target

[root@rhel7-ora12c-ip21 ~]# cat /etc/inittab

# inittab is no longer used when using systemd.

#

# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.

#

# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target

#

# systemd uses ‘targets’ instead of runlevels. By default, there are two main targets:

#

# multi-user.target: analogous to runlevel 3    #多用户模式

# graphical.target: analogous to runlevel 5     #图形化模式

#

# To view current default target, run:

# systemctl get-default

#

# To set a default target, run:

# systemctl set-default TARGET.target

#

[root@rhel7-ora12c-ip21 ~]# systemctl set-default graphical.target   

Removed symlink /etc/systemd/system/default.target.

Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.

[root@localhost ~]# systemctl get-default

graphical.target

##创建用户和组

groupadd -g 500 oinstall

groupadd -g 501 dba

groupadd -g 502 oper

groupadd -g 600 asmadmin

groupadd -g 601 asmdba

groupadd -g 602 asmoper

useradd -u 1000 -g oinstall -G dba,oper,asmdba oracle

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

##packages for linux 7

rpm -qa | grep binutils-2.23.52.0.1-12.el7.x86_64

rpm -qa | grep compat-libcap1-1.10-3.el7.x86_64

rpm -qa | grep compat-libstdc++-33-3.2.3-71.el7.i686

rpm -qa | grep compat-libstdc++-33-3.2.3-71.el7.x86_64

rpm -qa | grep gcc-4.8.2-3.el7.x86_64

rpm -qa | grep gcc-c++-4.8.2-3.el7.x86_64

rpm -qa | grep glibc-2.17-36.el7.i686

rpm -qa | grep glibc-2.17-36.el7.x86_64

rpm -qa | grep glibc-devel-2.17-36.el7.i686

rpm -qa | grep glibc-devel-2.17-36.el7.x86_64

rpm -qa | grep ksh

rpm -qa | grep libaio-0.3.109-9.el7.i686

rpm -qa | grep libaio-0.3.109-9.el7.x86_64

rpm -qa | grep libaio-devel-0.3.109-9.el7.i686

rpm -qa | grep libaio-devel-0.3.109-9.el7.x86_64

rpm -qa | grep libgcc-4.8.2-3.el7.i686

rpm -qa | grep libgcc-4.8.2-3.el7.x86_64

rpm -qa | grep libstdc++-4.8.2-3.el7.i686

rpm -qa | grep libstdc++-4.8.2-3.el7.x86_64

rpm -qa | grep libstdc++-devel-4.8.2-3.el7.i686

rpm -qa | grep libstdc++-devel-4.8.2-3.el7.x86_64

rpm -qa | grep libXi-1.7.2-1.el7.i686

rpm -qa | grep libXi-1.7.2-1.el7.x86_64

rpm -qa | grep libXtst-1.2.2-1.el7.i686

rpm -qa | grep libXtst-1.2.2-1.el7.x86_64

rpm -qa | grep make-3.82-19.el7.x86_64

rpm -qa | grep sysstat-10.1.5-1.el7.x86_64

yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio-*.i686 libaio-devel libaio-devel*.i686 libgcc libgcc*.i686 libstdc++ libstdc++-*.i686 libstdc++-devel libstdc++devel*.i686 libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC-devel unixODBC*.i686

yum -y localinstall compat-libstdc++-33-3.2.3-72.el7.*   #单独下载

##vi /etc/sysctl.conf

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 536870912

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

/sbin/sysctl -p

##官方文档对shmmax的设置解释,(文档 ID 567506.1),我一般直接使用当前设置/sbin/sysctl -a | grep shm

#Oracle Global Customer Support officially recommends a ” maximum” for SHMMAX of “1/2 of physical RAM”.

#The maximum size of a shared memory segment is limited by the size of the available user address space. On 64-bit systems, this is a theoretical 2^64bytes. So the “theoretical limit” for SHMMAX is the amount of physical RAM that you have.  However, to actually attempt to use such a value could potentially lead to a situation where no system memory is available for anything else.  Therefore a more realistic “physical limit” for SHMMAX would probably be “physical RAM – 2Gb”.

#In an Oracle RDBMS application, this “physical limit” still leaves inadequate system memory for other necessary functions. Therefore, the common “Oracle maximum” for SHMMAX that you will often see is “1/2 of physical RAM”. Many Oracle customers chose a higher fraction, at their discretion.

#Occasionally, Customers may erroneously think that that setting the SHMMAX as recommended in this NOTE limits the total SGA.   That is not true.  Setting the SHMMAX as recommended only causes a few more “shared memory segments” to be used for whatever total SGA that you subsequently configure in Oracle. For additional detail, please see

##

vi /etc/security/limits.conf

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

oracle hard stack 10240

grid soft nproc 2047

grid hard nproc 16384

grid soft nofile 1024

grid hard nofile 65536

grid soft stack 10240

grid hard stack 10240

##创建安装目录

mkdir -p /u01/app/grid

mkdir -p /u01/app/gridhome

mkdir -p /u01/app/oracle

chown grid:oinstall /u01/app/grid

chown grid:oinstall /u01/app/gridhome

chown -R oracle:oinstall /u01/app/oracle

##修改hosts文件

ip add | grep enp0s8 | grep inet | awk ‘{print $2}’ | awk -F”/” ‘{printf $1″ “}{cmd=”hostname”;system(cmd)}’ >> /etc/hosts

cat /etc/hosts

##关闭防火墙和selinux

[root@rhel7-ora12c-ip21 ~]# systemctl stop firewalld

[root@rhel7-ora12c-ip21 ~]# systemctl disable firewalld  

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.

[root@rhel7-ora12c-ip21 ~]# getenforce

Enforcing

[root@rhel7-ora12c-ip21 ~]# setenforce 0

[root@rhel7-ora12c-ip21 ~]# getenforce

Permissive

[root@rhel7-ora12c-ip21 ~]# vi /etc/selinux/config

SELINUX=disabled

sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config

##udev绑定裸设备,这里只绑定权限

[root@rhel7-ora12c-ip21 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdb1

1ATA_VBOX_HARDDISK_VBc9bd6bdf-a347ac26

[root@rhel7-ora12c-ip21 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdc1

1ATA_VBOX_HARDDISK_VB8aeda10c-71ca412a

[root@rhel7-ora12c-ip21 ~]# vi /etc/udev/rules.d/99-oracle-asmdevices.rules

KERNEL==”sd?1″, SUBSYSTEM==”block”, PROGRAM==”/lib/udev/scsi_id -g -u -d /dev/$parent”,

RESULT==”1ATA_VBOX_HARDDISK_VBc9bd6bdf-a347ac26″,  OWNER=”grid”, GROUP=”asmadmin”, MODE=”0660″

KERNEL==”sd?1″, SUBSYSTEM==”block”, PROGRAM==”/lib/udev/scsi_id -g -u -d /dev/$parent”,

RESULT==”1ATA_VBOX_HARDDISK_VB8aeda10c-71ca412a”,  OWNER=”grid”, GROUP=”asmadmin”, MODE=”0660″

[root@rhel7-ora12c-ip21 ~]# systemctl restart systemd-udev-trigger.service

[root@rhel7-ora12c-ip21 ~]# ls -Ll /dev/sd?1

##节点二使用partprobe去发现分区

##设置用户参数文件

su – grid

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/app/gridhome

export ORACLE_SID=+ASM1

PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/local/bin

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/app/gridhome

export ORACLE_SID=+ASM2

PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/local/bin

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

su – oracle

ORACLE_BASE=/u01/app/oracle

ORACLE_HOME=/u01/app/oracle/product/12.2.0/db_1

ORACLE_SID=orcl2

export ORACLE_BASE ORACLE_HOME ORACLE_SID

export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin:/usr/bin:/sbin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

ORACLE_BASE=/u01/app/oracle

ORACLE_HOME=/u01/app/oracle/product/12.2.0/db_1

ORACLE_SID=orcl2

export ORACLE_BASE ORACLE_HOME ORACLE_SID

export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin:/usr/bin:/sbin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

##建立互信关系

oracle: 

cd /home/oracle 

mkdir ~/.ssh 

chmod 700 ~/.ssh 

ssh-keygen -t rsa 

ssh-keygen -t dsa 

cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys 

cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys 

ssh rhel7-ora12c-ip22 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys 

ssh rhel7-ora12c-ip22 cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys 

scp ~/.ssh/authorized_keys rhel7-ora12c-ip22:~/.ssh/authorized_keys 

ssh rhel7-ora12c-ip21 date;ssh rhel7-ora12c-ip22 date;ssh rhel7-ora12c-ip21-priv date;ssh rhel7-ora12c-ip22-priv date 

grid: 

cd /home/grid 

mkdir ~/.ssh 

chmod 700 ~/.ssh 

ssh-keygen -t rsa 

ssh-keygen -t dsa 

cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys 

cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys 

ssh rhel7-ora12c-ip22 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys 

ssh rhel7-ora12c-ip22 cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys 

scp ~/.ssh/authorized_keys rhel7-ora12c-ip22:~/.ssh/authorized_keys 

ssh rhel7-ora12c-ip21 date;ssh rhel7-ora12c-ip22 date;ssh rhel7-ora12c-ip21-priv date;ssh rhel7-ora12c-ip22-priv date 

##安装cvuqdisk

[root@rhel7-ora12c-ip21 gridhome]# rpm -ivh ./cv/rpm/cvuqdisk-1.0.10-1.rpm  

##编辑ohas文件,在执行root.sh脚本以后一直监控/etc/init.d/init.ohasd文件,文件存在马上启动ohas服务

[root@rhel7-ora12c-ip21 ~]# vi /usr/lib/systemd/system/ohas.service

[Unit]

Description=Oracle High Availability Services

After=syslog.target

[Service]

ExecStart=/etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple

Restart=always

[Install]

WantedBy=multi-user.target

[root@rhel7-ora12c-ip21 ~]# chmod 777 /usr/lib/systemd/system/ohas.service

systemctl daemon-reload

systemctl enable ohas.service

systemctl start ohas.service

systemctl status ohas.service

##执行root脚本以后,一直检查下面的文件是否存在,当文件存在马上手动启动oha,推介

[root@rhel7-ora12c-ip21 ~]# ls /etc/init.d/init.ohasd

/etc/init.d/init.ohasd

[root@rhel7-ora12c-ip21 ~]# systemctl start ohas.service

[root@rhel7-ora12c-ip21 ~]# systemctl status ohas.service

● ohas.service – Oracle High Availability Services

   Loaded: loaded (/usr/lib/systemd/system/ohas.service; disabled; vendor preset: disabled)

   Active: active (running) since Fri 2017-09-15 03:40:12 EDT; 5s ago

Main PID: 11434 (init.ohasd)

   CGroup: /system.slice/ohas.service

           └─11434 /bin/sh /etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple

Sep 15 03:40:12 rhel7-ora12c-ip21 systemd[1]: Started Oracle High Availability Services.

Sep 15 03:40:12 rhel7-ora12c-ip21 systemd[1]: Starting Oracle High Availability Services…

Sep 15 03:40:12 rhel7-ora12c-ip21 su[11461]: (to grid) root on none

[root@rhel7-ora12c-ip21 ~]# /u01/app/grid/oraInventory/orainstRoot.sh

Changing permissions of /u01/app/grid/oraInventory.

Adding read,write permissions for group.

Removing read,write,execute permissions for world.

Changing groupname of /u01/app/grid/oraInventory to oinstall.

The execution of the script is complete.

[root@rhel7-ora12c-ip21 ~]# /u01/app/gridhome/root.sh                     

Performing root user operation.

The following environment variables are set as:

    ORACLE_OWNER= grid

    ORACLE_HOME=  /u01/app/gridhome

Enter the full pathname of the local bin directory: [/usr/local/bin]:

The contents of “dbhome” have not changed. No need to overwrite.

The contents of “oraenv” have not changed. No need to overwrite.

The contents of “coraenv” have not changed. No need to overwrite.

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root script.

Now product-specific root actions will be performed.

Using configuration parameter file: /u01/app/gridhome/crs/install/crsconfig_params

The log of current session can be found at:

  /u01/app/grid/crsdata/rhel7-ora12c-ip21/crsconfig/roothas_2017-09-15_03-40-36AM.log

2017/09/15 03:40:36 CLSRSC-363: User ignored prerequisites during installation

2017/09/15 03:40:40 CLSRSC-330: Adding Clusterware entries to file ‘oracle-ohasd.service’

CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on ‘rhel7-ora12c-ip21’

CRS-2673: Attempting to stop ‘ora.evmd’ on ‘rhel7-ora12c-ip21’

CRS-2677: Stop of ‘ora.evmd’ on ‘rhel7-ora12c-ip21’ succeeded

CRS-2793: Shutdown of Oracle High Availability Services-managed resources on ‘rhel7-ora12c-ip21’ has completed

CRS-4133: Oracle High Availability Services has been stopped.

CRS-4123: Oracle High Availability Services has been started.

rhel7-ora12c-ip156     2017/09/15 03:41:35     /u01/app/gridhome/cdata/rhel7-ora12c-ip21/backup_20170915_034135.olr     0  

##报错:

2017/09/16 03:35:51 CLSRSC-330: Adding Clusterware entries to file ‘oracle-ohasd.service’

2017/09/16 03:36:34 CLSRSC-400: A system reboot is required to continue installing.

The command ‘/u01/app/gridhome/perl/bin/perl -I/u01/app/gridhome/perl/lib -I/u01/app/gridhome/crs/install /u01/app/gridhome/crs/install/roothas.pl ‘ execution failed

解决:

[grid@rhel7-ora12c-ip21 ~]$ acfsdriverstate -orahome $ORACLE_HOME supported

ACFS-9459: ADVM/ACFS is not supported on this OS version: ‘3.10.0-514.el7.x86_64’

ACFS-9201: Not Supported

##安装前检查脚本

./runcluvfy.sh stage -pre crsinst -n rhel7-ora12c-ip21,rhel7-ora12c-ip22 -fixup -verbose >> check.txt 

##安装数据库软件和实例

./gridSetup.sh

注意:12c R2强制安装GIMR,要求空间最低37G

注:这里没有设置DNS,我把对DNS提示的错误全部忽略,物理内存要求大于8G,我忽略

##安装rdbms和instance和11G区别不大,正常安装即可

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。