zoukankan      html  css  js  c++  java
  • 11g,12c Oracle Rac安装

    安装 Oracle 12cR1 RAC on Linux 7

    本文介绍如何在Oracle Linux 7上安装2节点Oracle 12cR1 Real Application ClusterRAC)。通过使用共享存储创建2个虚拟机,在Oracle Virtual Box上进行了此安装。我使用的OS平台是Oracle Enterprise Linux 7Oracle GIRDBMS版本是12.1.0.2。相同的安装指南也适用于Redhat Linux 7。 如果RAC设置中有超过2个节点,安装步骤是相同的。 可以通过以下链接找到12c RAC安装的官方文档。

    http://docs.oracle.com/database/121/CWLIN/toc.htm

       

    Oracle RAC 12c版本最好配合Oracle Linux 7进行安装

    Oracle RAC 11.2.04版本最好配合Oracle Linux 6进行安装

       

    前置条件:

    通过安装Oracle Linux 7来准备所有节点。所有节点上都有私有连接和共享存储。例如,我有3个磁盘(每个2G大小)用于CRS磁盘组用来存储OCRVoting,以及1个磁盘(4G)用于DATA磁盘组来存储数据库。

    在示例里面,我们有2个公共IP2个虚IP2个专有IP1 SCAN IP(从公共子网取出),我们将在安装过程中使用。本文中,节点名称如下:

    Public

    salman1.salman.com

    salman2.salman.com

    Virtual

    salman1-vip.salman.com

    salman2-vip.salman.com

    Private

    salman1-priv.salman.com

    salman2.priv.salman.com

    SCAN

    salman-scan.salman.com

       

    SCAN配置的推荐方法是具有通过DNS解析的3IP地址。 由于我的环境里面没有DNS服务,我配置主机文件中的配置项进行SCAN配置,最后则使用单个SCAN IP地址。

       

    下载并解压缩软件:

    下载12c Grid RDBMS软件。 第一版(12.1.0.1)可以从www.oracle.com下载,但由于我们在此安装12.1.0.2,我们需要下载补丁集1769377。前2zip文件用于数据库,最后2个用于Grid

    在本次操作中,我把软件压缩包提取到了/u02/12.1.0.2/目录下。

       

    现在我们开始安装。以下便是在Linux上安装Oracle 12c RAC的步骤:

       

    1)在每个节点上编辑 /etc/selinux/config ,将SELINUX的值设置为"permissive"或"disabled":

    SELINUX=permissive

       

       

    2)在每个节点上,配置共享内存文件系统。在共享内存文件系统的 /etc/fstab 文件中添加以下行。根据您将要用于SGA的内存量修改"size"的值。

    tmpfs /dev/shm tmpfs rw,exec,size=8g 0 0

       

    3)在每个节点上,禁用防火墙。

    [root@salman1 ~]# systemctl start firewalld.service

    [root@salman1 ~]# systemctl stop firewalld.service

    [root@salman1 ~]# systemctl disable firewalld.service

    [root@salman1 ~]# rm '/etc/systemd/system/basic.target.wants/firewalld.service'

    [root@salman1 ~]# rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'

    (在linux6版本里面,没有systemctl服务,所以方法不一样)

       

    linux6上关闭防火墙和selinuxroot下执行:

    [root@salman1 ~]# service iptables stop

    [root@salman1 ~]# chkconfig iptables off

    [root@salman1 ~]# service ip6tables stop

    [root@salman1 ~]# chkconfig ip6tables off

    [root@salman1 ~]# setenforce 0

    [root@salman1 ~]# getenforce

       

    4)重启每个节点

       

    5)在每个节点的/ etc / host文件中,添加RAC的每个节点的IP地址和完全限定名称,包括公共IP; 虚拟IP; 私有IPSCAN IP

    #Public

    192.231.231.40 salman1.salman.com salman1

    192.231.231.41 salman2.salman.com salman2

    #Virtual

    192.231.231.50 salman1-vip.salman.com salman1-vip

    192.231.231.51 salman2-vip.salman.com salman2-vip

    #Private

    10.10.10.10 salman1-priv.salman.com salman1-priv

    10.10.10.11 salman2-priv.salman.com salman2-priv

    #SCAN

    192.231.231.60 salman-scan.salman.com salman-scan

    确保每个节点的公共接口和专用接口具有相同的名称,并且在所有节点上在ifconfig命令下,以相同的顺序列出,(我的公共接口名称为enp0s3,专用接口名称为enp0s8)。

       

    6)测试保证每个节点到另一个节点的ping命令可以连通。此时不需要对SCAN IP和虚拟IP进行测试。

    节点salman1

    [root@salman1 ~]# ping salman1

    [root@salman1 ~]# ping salman1-priv

    [root@salman1 ~]# ping salman2

    [root@salman1 ~]# ping salman2-priv

    节点salman2

    [root@salman2 ~]# ping salman2

    [root@salman2 ~]# ping salman2-priv

    [root@salman2 ~]# ping salman1

    [root@salman2 ~]# ping salman1-priv

       

    7)我们可以使用"yum"命令执行节点的自动配置。如果想要进行手动配置,请跳过此步骤,转到第8步。

    自动配置将执行以下任务:

    安装所需的RPM

    /etc/sysctl.conf文件中设置内核参数

    创建OS组(oinstalldba)和OS用户(oracle

    为安装用户"oracle" 设置限制

       

    在每个节点上,执行以下命令以自动执行所有预设置:

    [root@salman1 ~]# yum install oracle-rdbms-server-12cR1-preinstall -y

    (如果不是此版本,需要相应改变yum参数)

    11g版本:

    [root@salman1 ~]# yum install oracle-rdbms-server-11gR2-preinstall -y

       

    如果失败了,修改一下 /etc/resolv.conf,在第一 条那儿,添加:

    nameserver 8.8.8.8

       

    如果报了此错误:

    No package oracle-rdbms-server-11cR2-preinstall available.

    执行:

    [root@salman1 ~]# cd /etc/yum.repos.d/

    [root@salman1 ~]# wget http://public-yum.oracle.com/public-yum-ol6.repo

    [root@salman1 ~]# yum install oracle-rdbms-server-11gR2-preinstall

       

    如果要通过Oracle Linux安装包安装,请使用"rpm -i " 命令安装软件包。

     

    自动配置会在/etc/sysctl.conf文件中设置所需的内核参数。

    自动配置将创建默认的OS组,即oinstalldba(分别为组5432154322)和用户ID54321OS用户(oracle)。

    如果计划通过创建"grid"用户安装和管理grid以实现角色分离,并为数据库软件使用"oracle"用户,您将需要手动创建更多的OS组和"grid"用户,如下所示(在所有节点上):

    增加组

    [root@salman1 ~]# groupadd -g 54323 oper

    [root@salman1 ~]# groupadd -g 54325 asmdba

    [root@salman1 ~]# groupadd -g 54328 asmadmin

    [root@salman1 ~]# groupadd -g 54329 asmoper

    增加用户

    [root@salman1 ~]# useradd -u 54322 -g oinstall -G dba,asmdba,asmadmin,asmoper grid

    为用户设置密码(oracle grid)

    [root@salman1 ~]# passwd oracle

    [root@salman1 ~]# passwd grid

    oracle 用户加入oper asmdba

    [root@salman1 ~]# usermod -g oinstall -G dba,oper,asmdba oracle

       

    自动配置还通过在 /etc/security/limits.d 目录下创建 oracle-rdbms-server-12cR1-preinstall.conf 文件来设置默认用户"oracle" 的资源限制。 如果您为grid安装创建了用户"grid",则还需要为grid用户手动设置这些限制。 您可以在 /etc/security/limits.d 目录下创建一个单独的 .conf文件(.conf文件名随便起),或在 oracle-rdbms-server-12cR1-preinstall.conf 文件中附加以下行:

    grid soft nofile 1024

    grid hard nofile 65536

    grid soft nproc 16384

    grid hard nproc 16384

    grid soft stack 10240

    grid hard stack 32768

    grid hard memlock 134217728

    grid soft memlock 134217728

       

       

    8)如果您已经执行了步骤7,请跳过此步骤; 否则在每个节点上执行以下步骤。

    yum存储库或Linux 7本地rpm包安装以下RPM软件包(或最新版本):

    binutils-2.23.52.0.1-12.el7.x86_64

    compat-libcap1-1.10-3.el7.x86_64

    gcc-4.8.2-3.el7.x86_64

    gcc-c++-4.8.2-3.el7.x86_64

    glibc-2.17-36.el7.i686

    glibc-2.17-36.el7.x86_64

    glibc-devel-2.17-36.el7.i686

    glibc-devel-2.17-36.el7.x86_64

    libaio-0.3.109-9.el7.i686

    libaio-0.3.109-9.el7.x86_64

    libaio-devel-0.3.109-9.el7.i686

    libaio-devel-0.3.109-9.el7.x86_64

    ksh

    make-3.82-19.el7.x86_64

    libXi-1.7.2-1.el7.i686

    libXi-1.7.2-1.el7.x86_64

    libXtst-1.2.2-1.el7.i686

    libXtst-1.2.2-1.el7.x86_64

    libgcc-4.8.2-3.el7.i686

    libgcc-4.8.2-3.el7.x86_64

    libstdc++-4.8.2-3.el7.i686

    libstdc++-4.8.2-3.el7.x86_64

    libstdc++-devel-4.8.2-3.el7.i686

    libstdc++-devel-4.8.2-3.el7.x86_64

    sysstat-10.1.5-1.el7.x86_64

    unixODBC-2.3.1

       

    示例 (yum)

    [root@salman1 ~]# yum install glibc

    示例(Linux 本地包)

    [root@salman1 ~]# rpm -i glibc

    示例(安装后检查)

    [root@salman1 ~]# rpm -q glibc

    glibc-2.17-55.el7.x86_64

    在每个节点上,编辑/etc/sysctl.conf添加以下条目来设置内核参数:

    fs.file-max = 6815744

    kernel.sem = 250 32000 100 128

    kernel.shmmni = 4096

    kernel.shmall = 1073741824

    kernel.shmmax = 4398046511104

    kernel.panic_on_oops = 1

    net.core.rmem_default = 262144

    net.core.rmem_max = 4194304

    net.core.wmem_default = 262144

    net.core.wmem_max = 1048576

    fs.aio-max-nr = 1048576

    net.ipv4.ip_local_port_range = 9000 65500

    添加上述行后执行以下命令:

    /sbin/sysctl -p

    在每个节点上,在 /etc/security/limits.d 目录下创建 .conf文件(文件名可以是任何东西),以设置 grid oracle 用户的 shell 限制。

    例如,创建文件 oracleusers.conf 并添加以下条目。或者,您也可以在 /detc/security/limits.conf 中设置限制。不过我还是喜欢在 /etc/security/limits.d 目录下设置。

    # Grid user

    grid soft nofile 1024

    grid hard nofile 65536

    grid soft nproc 16384

    grid hard nproc 16384

    grid soft stack 10240

    grid hard stack 32768

    grid hard memlock 134217728

    grid soft memlock 134217728

       

    # Oracle user

    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

    9)在每个节点上,安装 oracleasm-support oracleasmlib,然后配置 oracleasm

    Oracle Linux中内置了 oracleasm 内核驱动,不需要安装。安装 oracleasm-support oracleasmlib 软件包后, oracleasm 驱动即开始工作。

    如果您正在使用其他版本的Linux,例如RedHat Linux,则需要安装所有3个软件包(oracleasm驱动程序,oracleasm-support oracleasmlib)。

    yum源或Linux本地包安装oracleasm,然后从以下URL下载oracleasmlib包,然后安装。

    http://www.oracle.com/technetwork/server-storage/linux/asmlib/ol7-2352094.html

    安装oracleasmliboracleasm-support

    [root@salman1 ~]# yum install oracleasm-support

    [root@salman1 ~]# rpm -i oracleasm-lib*

    配置 oracleasm(高亮显示为配置中的输入)

    [root@salman1 ~]# /etc/init.d/oracleasm configure

    Configuring the Oracle ASM library driver.

       

    This will configure the on-boot properties of the Oracle ASM library

    driver. The following questions will determine whether the driver is

    loaded on boot and what permissions it will have. The current values

    will be shown in brackets ('[]'). Hitting <ENTER> without typing an

    answer will keep that current value. Ctrl-C will abort.

       

    Default user to own the driver interface []: grid

    Default group to own the driver interface []: asmadmin

    Scan for Oracle ASM disks on boot (y/n) [y]: y

    Writing Oracle ASM library driver configuration: done

    Initializing the Oracle ASMLib driver: [ OK ]

    Scanning the system for Oracle ASMLib disks: [ OK ]

       

    检查配置

    [root@salman1 ~]# /usr/sbin/oracleasm configure

    ORACLEASM_UID=grid

    ORACLEASM_GID=asmadmin

    ORACLEASM_SCANBOOT=true

    ORACLEASM_SCANORDER=""

    ORACLEASM_SCANEXCLUDE=""

    ORACLEASM_USE_LOGICAL_BLOCK_SIZE="false"

       

    10)在每个节点上,如果不存在,请在 /etc/pam.d/login 文件中添加以下内容:

    session required /lib64/security/pam_limits.so

    session required pam_limits.so

       

    11)在每个节点上,停止并禁用NTP(网络时间协议Network Time Protocol

    在安装过程中,将安装并使用群集时间同步服务,或者NTP

    [root@salman1 ~]# /sbin/service ntpd stop

    [root@salman1 ~]# chkconfig ntpd off

    [root@salman1 ~]# mv /etc/ntp.conf /etc/ntp.conf.org

    [root@salman1 ~]# rm /var/run/ntpd.pid

       

    12)在每个节点上,确保/etc/resolv.conf文件包含以下内容或者等价的条目。将您的域名替换为 salman.com ,将您的名称服务器IP地址替换为192.231.231.1

    search salman.com

    nameserver 192.231.231.1

       

    13)在每个节点,安装cvuqdisk RPM

    这对于 cluvfy (群集验证实用程序)的正常工作用以发现共享磁盘是必需的,否则将在运行 cluvfy 时报告错误。以 root 身份登录,并执行以下步骤:

    设置环境变量 CVUQDISK_GRP 并指向拥有 cvuqdisk oinstall

    [root@salman1 ~]# export CVUQDISK_GRP=oinstall

    解压的 gird 软件下找到 cvuqdisk 包,并安装 cvuqdisk

    [root@salman1 ~]# cd /u02/12.1.0.2/grid/rpm

    [root@salman1 ~]# rpmi cvuqdisk-1.0.9-1.rpm

       

    14)在每个节点,创建目录并更改相应的用户的权限(grid oracle)。

    [root@salman1 ~]# mkdir -p /u01/app/12.1.0/grid

    [root@salman1 ~]# mkdir -p /u01/app/grid

    [root@salman1 ~]# mkdir -p /u01/app/oracle

    [root@salman1 ~]# chown -R grid:oinstall /u01

    [root@salman1 ~]# chown oracle:oinstall /u01/app/oracle

    [root@salman1 ~]# chmod -R 775 /u01/

       

    15)从任一节点,分出一个共享磁盘。如最初所描述的,我共有4个磁盘,3个用于OCRVoting磁盘,1个用于DATA磁盘组。高亮显示的磁盘是我将使用此磁盘创建分区,然后使用oracleasm创建ASM磁盘。        

    [root@salman1 ~]# ls -l /dev/sd*

    brw-rw----. 1 root disk 8, 0 Apr 7 11:38 /dev/sda

    brw-rw----. 1 root disk 8, 1 Apr 7 11:38 /dev/sda1

    brw-rw----. 1 root disk 8, 2 Apr 7 11:38 /dev/sda2

    brw-rw----. 1 root disk 8, 3 Apr 7 11:38 /dev/sda3

    brw-rw----. 1 root disk 8, 4 Apr 7 11:38 /dev/sda4

    brw-rw----. 1 root disk 8, 5 Apr 7 11:38 /dev/sda5

    brw-rw----. 1 root disk 8, 16 Apr 7 11:38 /dev/sdb

    brw-rw----. 1 root disk 8, 17 Apr 7 11:38 /dev/sdb1

    brw-rw----. 1 root disk 8, 32 Apr 7 11:38 /dev/sdc

    brw-rw----. 1 root disk 8, 48 Apr 7 11:38 /dev/sdd

    brw-rw----. 1 root disk 8, 64 Apr 7 11:38 /dev/sde

    brw-rw----. 1 root disk 8, 80 Apr 7 11:38 /dev/sdf

    使用以下步骤来为每个磁盘(/dev/sdc, /dev/sdd, /dev/sde, /dev/sdf)分区。

    为了简单起见,在为每个磁盘执行命令fdisk后,按下列顺序键 np1<enter><enter>w为每个磁盘创建新的分区。

    [root@salman1 ~]# fdisk /dev/sdc

    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 0x457c3565.

       

    Command (m for help): n

    Partition type:

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

    e extended

    Select (default p): p

    Partition number (1-4, default 1): 1

    First sector (2048-25165823, default 2048):

    Using default value 2048

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

    Using default value 25165823

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

       

    Command (m for help): w

    The partition table has been altered!

       

    Calling ioctl() to re-read partition table.

    Syncing disks.

      

       

    分区完成后,以下是我的分区磁盘:

    [root@salman1 ~]# ls -l /dev/sd*

    brw-rw----. 1 root disk 8, 32 Apr 7 12:04 /dev/sdc

    brw-rw----. 1 root disk 8, 33 Apr 7 12:04 /dev/sdc1

    brw-rw----. 1 root disk 8, 48 Apr 7 12:08 /dev/sdd

    brw-rw----. 1 root disk 8, 49 Apr 7 12:08 /dev/sdd1

    brw-rw----. 1 root disk 8, 64 Apr 7 12:08 /dev/sde

    brw-rw----. 1 root disk 8, 65 Apr 7 12:08 /dev/sde1

    brw-rw----. 1 root disk 8, 80 Apr 7 12:08 /dev/sdf

    brw-rw----. 1 root disk 8, 81 Apr 7 12:08 /dev/sdf1

       

    16)从任一节点,使用oracleasm命令创建ASM磁盘。

    [root@salman1 ~]# oracleasm createdisk crs1 /dev/sdc1

    Writing disk header: done

    Instantiating disk: done

    [root@salman1 ~]# oracleasm createdisk crs2 /dev/sdd1

    Writing disk header: done

    Instantiating disk: done

    [root@salman1 ~]# oracleasm createdisk crs3 /dev/sde1

    Writing disk header: done

    Instantiating disk: done

    [root@salman1 ~]# oracleasm createdisk data /dev/sdf1

    Writing disk header: done

    Instantiating disk: done

    [root@salman1 sys]# oracleasm scandisks

    Reloading disk partitions: done

    Cleaning any stale ASM disks...

    Scanning system for ASM disks...

    [root@salman1 sys]# oracleasm listdisks

    CRS1

    CRS2

    CRS3

    DATA

       

    在所有其他节点上执行"oracleasm scandisks" 和"oracleasm listdisks"命令也可以看到所有的ASM磁盘。

    从其他节点,以root用户身份执行以下命令:

    [root@salman2 ~]# oracleasm scandisks

    Reloading disk partitions: done

    Cleaning any stale ASM disks...

    Scanning system for ASM disks...

    [root@salman2 ~]# oracleasm listdisks

    CRS1

    CRS2

    CRS3

    DATA

       

    17)在每个节点上,为ASM磁盘添加IO调度程序。修改高亮显示的磁盘名称以匹配您的环境。

    [root@salman1 ~]# echo deadline > /sys/block/sdc/queue/scheduler

    [root@salman1 ~]# echo deadline > /sys/block/sdd/queue/scheduler

    [root@salman1 ~]# echo deadline > /sys/block/sde/queue/scheduler

    [root@salman1 ~]# echo deadline > /sys/block/sdf/queue/scheduler

       

    18)在每个节点上,在两个用户,"grid" 和"oracle" /home/<username>/.bash_profile 文件中添加以下内容。在这个步骤,我们不需要设置其他环境变量,即ORACLE_BASE ORACLE_HOME

    umask 022

       

    19)运行cluvfy(可选)

    在计划启动安装的节点中,打开终端并以"grid"用户身份登录,您可以选择执行集群验证实用程序(cluvfy)。

    [grid@salman1 ~]$ cd /u02/12.1.0.2/grid/

    [grid@salman1 ~]$ ./runcluvfy.sh stage -pre crsinst -n salman1 -fixup -verbose

    如果没有从每个节点配置到其他节点的用户等效(无密码ssh登录),则会失败。 在这一点上,使用ssh的无密码登录也是可选的,因为安装程序将允许我们在安装向导中配置用户等效,这个会在另外一个笔记本里面详细介绍。

       

    20)选择要启动安装的所有节点,并以安装用户身份登录(在此示例中为"grid")。您将选择桌面登录到服务器。如果您没有安装任何桌面环境,请使用X Window System

       

    21)从提取的软件目录(/u02/12.1.0.2/grid)开始安装,执行"./runInstaller"开始安装。

       

    22)开始安装

       

       

       

    选择"Advance Installation",然后单击下一步

       

       

       

       

       

    如果需要,更改集群名称和SCAN名称和SCAN端口。确保SCAN名称与/ etc / host文件中指定的相同。取消选中"Configure GNS"。点击下一步

       

       

    您将只看到第一个节点(您启动安装的位置)。单击添加以打开一个窗口以提供第二个节点的详细信息。您需要通过单击 add 按钮添加 RAC 环境中每个节点的详细信息。

    单击SSH Connectivity。如果您已经通过SSH配置无密码登录到远程节点,则应该跳过下一个设置。

       

       

    点击SSH连接后,您将看到文本框提供用户名(grid)和密码来设置SSH连接。提供密码并点击设置按钮。配置SSH需要几秒钟的时间。

       

       

       

       

    为公共网络和专有网络选择正确的网络接口,然后单击下一步

       

       

       

       

    提供磁盘组名称。由于将 OCR Voting 磁盘存储在这个磁盘组上,所以需要提供CRS。选择"External"。应使用正常(至少需要2个磁盘)或高冗余(至少需要3个磁盘)来防止磁盘故障。选择ASM磁盘作为此磁盘组的一部分。

       

    如果是11g的话,此步骤需要点击Change Discovery Path,修改发现路径为/dev/oracleasm/disks/*

       

       

    为用户SYSSYSASM )提供密码,然后单击下一步

       

       

       

       

       

       

       

       

    如果需要,根据上一步创建的目录修改路径。或者您可以继续使用默认位置。点击下一步

       

       

       

       

    如果您希望OUI自动执行所需的脚本,而不是在安装期间提示您将脚本作为"root"执行,请选择此选项。

       

       

    如果您看到任何先决条件检查失败/警告,请在单击下一步之前进行修复。在我的情况下,我忽略了所有这些,因为以下原因。

    i 我正在使用具有2G内存的虚拟盒,所以我忽略了物理内存警告

    ii 我没有使用DNS,所以我忽略了resolv.conf失败

    iii)我没有使用DNS,所以我忽略DNS / NIS故障

    iv)我也忽略 /dev/shm,因为 /dev/shm 已经设置为8G,由于12.1.0.2 grid 基础设施软件附带的cluvfy中出现的错误,所以无法识别。

       

       

       

       

    安装程序将提示以root身份执行脚本的权限。单击是

    12c版本可以通过图形界面自动执行root.sh脚步,而11.2.0.4版本会在此阶段弹出窗口,暂停安装过程,由用户以根用户在两个节点上分别执行

       

       

    安装完成。我在这里看到一个错误,那是因为post安装步骤中执行失败。cluvfy 失败的原因与上面的步骤上面所解释的一样,所以我点击了确定关闭该框。

       

       

    单击yes

       

       

    单击关闭,安装成功完成。

       

       

    23)在两个节点上,在 .bash_profile 文件中添加以下环境变量。在node2上,ORACLE_SID值应为+ ASM2,依此类推。

    ##grid user environment variables

    ORACLE_SID=+ASM1; export ORACLE_SID

    ORACLE_BASE=/u01/app/grid; export ORACLE_BASE

    ORACLE_HOME=/u01/app/12.1.0/grid; export ORACLE_HOME

    ORACLE_TERM=xterm; export ORACLE_TERM

    PATH=$ORACLE_HOME/bin:$PATH; export PATH

    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib; export LD_LIBRARY_PATH

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

    export TEMP=/tmp

    export TMPDIR=/tmp

       

    24)检查CRS的健康状况。一切似乎都可以正常工作

    [grid@salman2 ~]$ crsctl stat res -t

    --------------------------------------------------------------------------------

    Name Target State Server State details

    --------------------------------------------------------------------------------

    Local Resources

    --------------------------------------------------------------------------------

    ora.CRS.dg

    ONLINE ONLINE salman1 STABLE

    ONLINE ONLINE salman2 STABLE

    ora.LISTENER.lsnr

    ONLINE ONLINE salman1 STABLE

    ONLINE ONLINE salman2 STABLE

    ora.asm

    ONLINE ONLINE salman1 Started,STABLE

    ONLINE ONLINE salman2 Started,STABLE

    ora.net1.network

    ONLINE ONLINE salman1 STABLE

    ONLINE ONLINE salman2 STABLE

    ora.ons

    ONLINE ONLINE salman1 STABLE

    ONLINE ONLINE salman2 STABLE

    --------------------------------------------------------------------------------

    Cluster Resources

    --------------------------------------------------------------------------------

    ora.LISTENER_SCAN1.lsnr

    1 ONLINE ONLINE salman1 STABLE

    ora.MGMTLSNR

    1 ONLINE ONLINE salman1 169.254.93.149

    10.1.10.10,STABLE

    ora.cvu

    1 ONLINE ONLINE salman1 STABLE

    ora.mgmtdb

    1 ONLINE ONLINE salman1 Open,STABLE

    ora.oc4j

    1 ONLINE ONLINE salman1 STABLE

    ora.salman1.vip

    1 ONLINE ONLINE salman1 STABLE

    ora.salman2.vip

    1 ONLINE ONLINE salman2 STABLE

    ora.scan1.vip

    1 ONLINE ONLINE salman1 STABLE

    --------------------------------------------------------------------------------

       

    [grid@salman2 ~]$ srvctl status scan

    SCAN VIP scan1 is enabled

    SCAN VIP scan1 is running on node salman1

       

    [grid@salman2 ~]$ srvctl status scan_listener

    SCAN Listener LISTENER_SCAN1 is enabled

    SCAN listener LISTENER_SCAN1 is running on node salman1

       

    25)安装数据库软件

    在开始数据库软件安装之前,首先我们创建一个用于存储数据库的磁盘组DATA; 我们将在数据库软件安装期间正式创建。

    打开终端并以操作系统用户"grid"登录。现在使用 SQLPLUS SYSASM 权限登录到 ASM 实例,然后创建磁盘组 DATA

    [grid@salman1 ~]$ sqlplus

       

    SQL*Plus: Release 12.1.0.2.0 Production on Mon Apr 20 12:11:05 2015

       

    Copyright (c) 1982, 2014, Oracle. All rights reserved.

       

    Enter user-name: sys as sysasm

    Enter password:

       

    Connected to:

    Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

    With the Real Application Clusters and Automatic Storage Management options

       

       

    SQL> select name, path from v$asm_disk;

       

    NAME PATH

    ------------------------------ ----------------------------------------------------------------------------------

    ORCL:DATA

    CRS1 ORCL:CRS1

    CRS2 ORCL:CRS2

    CRS3 ORCL:CRS3

       

    Compatibility for ASM and RDBMS should be specified, otherwise it would default to 10.1.0.0.0 and we will not be able to store 12c database files on it.

       

    SQL> create diskgroup DATA external redundancy disk 'ORCL:DATA' ATTRIBUTE

    'compatible.asm'='12.1.0.0.0' , 'compatible.rdbms'='12.1.0.0.0';

       

    Diskgroup created.

       

    If you created this diskgroup from node1, use srvctl command to start this new disk resource on all other nodes

    [grid@salman1 ~]$ srvctl start diskgroup -diskgroup DATA -node salman2

       

    11.2.0.4版本对比12c版本Database安装调整说明:

    1.此节点创建数据库的共享diskgroup时,此步骤中红框部分需要调整如下:

    2.执行安装到45%进度时会出现如下编译错误,根据参考1和参考2链接进行修改,并执行retry

    参考1installation error in invoking target 'agent nmhs'

    https://community.oracle.com/thread/1093616

    参考2https://oracle-base.com/articles/11g/oracle-db-11gr2-installation-on-oracle-linux-7

    */usr/bin/ld: note: 'B_DestroyKeyObject' is defined in DSO /u01/app/oracle/product/11.2.0/dbhome_1/lib/libnnz11.so so try adding it to the linker command line*

    */u01/app/oracle/product/11.2.0/dbhome_1/lib/libnnz11.so: could not read symbols: Invalid operation*

       

    由于我在这里使用2个不同的操作系统用户,所以从任何节点,都可以使用XWindowLinux桌面以用户"oracle"身份登录,并从数据库软件已被提取的目录启动安装。

    [oracle@salman1 database]$cd /u02/12.1.02/database

       

    [oracle@salman1 database]$./runInstaller

       

    26)下一步

       

    在安装过程中创建一个新的数据库。 点击下一步。

       

       

    选择Server类数据库。点击下一步

       

       

    进行RAC数据库安装,以便软件安装在所有RAC节点上。点击下一步

       

       

       

       

    默认情况下,选择所有节点进行数据库软件安装,单击"SSH Connectivity"按钮,以前在 grid 基础架构安装期间配置了 grid 用户,需要配置SSH连接。这次SSH将被配置为"oracle"用户。配置完成后,单击下一步

       

       

       

       

       

       

       

       

    如果需要修改路径的话,请先修改路径。

       

       

    选择要创建的数据库类型,单击下一步

       

       

    提供数据库名称,如果您希望它是一个container database,也选中该复选框。

       

       

    指定数据库实例的内存分配详细信息,单击下一步

       

       

    选择"Oracle自动存储管理",因为我们已经创建了一个用于存储数据库的ASM磁盘。

       

       

       

       

       

       

    选择我们创建的存储数据库文件的磁盘组,单击下一步

       

       

    指定管理员用户的密码,单击"下一步"

       

       

       

       

    在最后一步,我看到4个警告,我可以忽略,因为以下原因。

    i)由于​​我没有使用 namesserver,所以我面临警告12,所以我可以忽略两者

    ii)就像Grid Infrastructure安装一样,OUI在识别 /dev/shm 文件系统的实际值方面有一个问题,同样发生在这里,所以我可以忽略它。

    iiioracle用户的限制已经在 /etc/security/limits.d/oracle-rdbms-server-12cR1-preinstall.conf 中设置,可以使用"ulimit -a"命令进行确认,但OUI正在检查 /etc/security/limits.conf 文件的限制,所以我也可以忽略这个警告。点击下一步

       

       

    单击安装

       

       

    在安装过程中,将提示您以root身份在两个节点上执行root.sh。当提示时,逐个在两个节点上执行,单击确定关闭该框,以便进一步安装。

       

       

    数据库创建助手将启动创建数据库。

       

       

    单击确定关闭数据库创建完成后的提示。

       

       

    点击关闭

       

    27)在两个节点上的"oracle"用户的 .bash_profile 中添加以下环境变量设置。相应地为每个节点修改ORACLE_SID的值

    ORACLE_SID=salmandb1; export ORACLE_SID

    ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE

    ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1; export ORACLE_HOME

    ORACLE_TERM=xterm; export ORACLE_TERM

    PATH=$ORACLE_HOME/bin:$PATH; export PATH

    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib; export LD_LIBRARY_PATH

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

    export TEMP=/tmp

    export TMPDIR=/tmp

       

    28RAC安装成功完成。检查所有资源和数据库实例的状态

    [grid@salman1 ~]$ crsctl stat res -t

    --------------------------------------------------------------------------------

    Name Target State Server State details

    --------------------------------------------------------------------------------

    Local Resources

    --------------------------------------------------------------------------------

    ora.CRS.dg

    ONLINE ONLINE salman1 STABLE

    ONLINE ONLINE salman2 STABLE

    ora.DATA.dg

    ONLINE ONLINE salman1 STABLE

    ONLINE ONLINE salman2 STABLE

    ora.LISTENER.lsnr

    ONLINE ONLINE salman1 STABLE

    ONLINE ONLINE salman2 STABLE

    ora.asm

    ONLINE ONLINE salman1 Started,STABLE

    ONLINE ONLINE salman2 Started,STABLE

    ora.net1.network

    ONLINE ONLINE salman1 STABLE

    ONLINE ONLINE salman2 STABLE

    ora.ons

    ONLINE ONLINE salman1 STABLE

    ONLINE ONLINE salman2 STABLE

    --------------------------------------------------------------------------------

    Cluster Resources

    --------------------------------------------------------------------------------

    ora.LISTENER_SCAN1.lsnr

    1 ONLINE ONLINE salman1 STABLE

    ora.MGMTLSNR

    1 ONLINE ONLINE salman1 169.254.93.149,STABL

    E

    ora.cvu

    1 ONLINE ONLINE salman1 STABLE

    ora.mgmtdb

    1 ONLINE ONLINE salman1 Open,STABLE

    ora.oc4j

    1 ONLINE ONLINE salman1 STABLE

    ora.salman1.vip

    1 ONLINE ONLINE salman1 STABLE

    ora.salman2.vip

    1 ONLINE ONLINE salman2 STABLE

    ora.asm

    ONLINE ONLINE salman1 Started,STABLE

    ONLINE ONLINE salman2 Started,STABLE

    ora.scan1.vip

    1 ONLINE ONLINE salman1 STABLE

    --------------------------------------------------------------------------------

       

       

    [grid@salman1 ~]$ srvctl status database -d salmndb

    Instance salmndb1 is running on node salman1

    Instance salmndb2 is running on node salman2

      

    参考:http://salmandba.blogspot.jp/2015/04/installing-oracle-12c-rac-on-oracle.html

  • 相关阅读:
    角色扮演游戏引擎的设计原理
    游戏服务器架构
    小谈网络游戏同步
    What is the single most influential book every programmer should read?
    Research Scientists and Engineers
    关于为什么不推荐使用用户定义表类型的说明
    程序员必须遵守的编程原则
    CacheStrategy缓存
    正能量
    MEF 和 MAF
  • 原文地址:https://www.cnblogs.com/liufarui/p/10962404.html
Copyright © 2011-2022 走看看