最近CloudになりSoftwareをInstallする機会がなくなり、RAC Databaseがどのような構成で動作しているのか勉強するため、Oracle Database 11gR2の10周年を記念して、Oracle Grid Infrastructure 11.2 をVMwareへインストールしてみてみます。
・ORACLEソフトウェアはソフトウェア・ダウンロードからダウンロードしてみてみます。
■ 構成
今回は、前回作成したVMware環境へOracle Grid Infrastructure 11.2 (GI)をインストールしてみます。
・参考: VMware vCenter Server Appliance 7.0 (VCSA)をデプロイしてみてみた
■ VMware 仮想マシン作成
● Oracle Linux 6 の仮想マシン作成
-
名前とゲストOSの選択
以下情報を入力し、[次へ]をクリック・名前: 仮想マシンの名前
・互換性: 互換対応したいESXiバージョン
・ゲストOSファミリ: Linuxを選択
・ゲストOSのバージョン: Oracle Linux 6(64bit)を選択
● GI用共有Disk追加
GI用共有DISKを4つ追加します。
以下画面のように以下項目を入力し、[保存]をクリック
・新規ハードディスク: OCR用Diskは1G, Database用DIskは必要量を入力
・ディスク プロビジョニング: [シック プロビジョンングEager Zeroed]を選択
・ディスク モード: [独立型: 通常]を選択
・共有: [マルチライターの共有]を選択
■ OSインストール
Oracle Linux 6.10をインストールします
パッケージはBasicを選択し、GUIをつかいたいので、X以外はデフォルト値、ホスト名、eth0とeht1は図面のように設定してインストール
■ VMware Toolインストール
以下を参考にVMware Toolインストール
・参考: Linux 仮想マシンへの VMware Tools の手動インストール
● インストール
[root@rac11g1 ~]# mkdir /mnt/cdrom
[root@rac11g1 ~]# mount /dev/cdrom /mnt/cdrom
[root@rac11g1 ~]# ls /mnt/cdrom -l
合計 56840
-r--r--r--. 1 root root 56405224 10月 2 04:18 2019 VMwareTools-10.3.21-14772444.tar.gzd
-r-xr-xr-x. 1 root root 1976 10月 2 04:17 2019 manifest.txt
-r-xr-xr-x. 1 root root 4943 10月 2 04:12 2019 run_upgrader.sh
-r-xr-xr-x. 1 root root 872044 10月 2 04:14 2019 vmware-tools-upgrader-32
-r-xr-xr-x. 1 root root 918184 10月 2 04:14 2019 vmware-tools-upgrader-64
[root@rac11g1 ~]# cd /tmp
[root@rac11g1 ~]# tar zxpf /mnt/cdrom/VMwareTools-10.3.21-14772444.tar.gz
[root@rac11g1 ~]# umount /dev/cdrom
[root@rac11g1 ~]# cd vmware-tools-distrib
[root@rac11g1 ~]# ./vmware-install.pl
■ ORACLE インストール要件確認
● RPM要件の確認
以下64bnit、32bitのRPMがインストールされていることを確認
・x86_64
binutils-2.20.51.0.2-5.11.el6 (x86_64)
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-headers-2.12-1.7.el6(x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
ksh-*.el6 (x86_64)
libaio-0.3.107-10.el6 (x86_64)
libgcc-4.4.4-13.el6 (x86_64)
libaio-devel-0.3.107-10.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6 (x86_64)
make-3.81-19.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
sysstat-9.0.4-11.el6 (x86_64)
cpp-4.4.4-13.el6(x86_64)
mpfr.x86_64 0:2.4.1-6.el6(x86_64)
・i686
compat-libstdc++-33-3.2.3-69.el6 (i686)
glibc-2.12-1.7.el6 (i686)
glibc-devel-2.12-1.7.el6 (i686)
libaio-0.3.107-10.el6 (i686)
libaio-devel-0.3.107-10.el6 (i686)
libgcc-4.4.4-13.el6 (i686)
libstdc++-4.4.4-13.el6 (i686)
libstdc++-devel-4.4.4-13.el6 (i686)
●RPMインストールコマンド例
yum install -y binutils-2*
yum install -y gcc-4*
yum install -y gcc-c++-4*
yum install -y glibc-2*
yum install -y glibc-devel-2*
yum install -y glibc-headers-2*
yum install -y compat-libstdc++-33-3*
yum install -y compat-libcap1-1*
yum install -y ksh-*.el6
yum install -y libaio-0.*
yum install -y libgcc-4.*
yum install -y libaio-devel-0.*
yum install -y libstdc++-devel-4.*
yum install -y make-3.81-19.el6
yum install -y libstdc++-4.*
yum install -y sysstat-9.*
yum install -y cpp-4.*
yum install -y mpfr.*
yum install -y compat-libstdc++-33-3.*i686*
yum install -y glibc-2.*i686*
yum install -y glibc-devel-2.*i686*
yum install -y libaio-0.*i686*
yum install -y libaio-devel-0.*i686*
yum install -y libgcc-4.*i686*
yum install -y libstdc++-4.*i686*
yum install -y libstdc++-devel-4.*i686*
■ カーネル設定
・sysctl.conf設定
[root@rac11g1 ~]# vi /etc/sysctl.conf
#Oracle 11gR2
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.ip_local_port_range = 9000 65500
kernel.sem = 250 32000 100 128
kernel.shmmax = 4294967295
#kernel.shmall = 2097152
kernel.shmmni = 4096
fs.file-max = 6815744
fs.aio-max-nr = 1048576
・sysctl.conf設定反映
[root@rac11g1 ~]# sysctl -p
● /dev/shm設定
MEMORY_MAX_SIZEの値以上を/dev/shmへ設定
★8GB /dev/shm設定例
[root@rac11g1 ~]# mount -t tmpfs shmfs -osize=8589934592 /dev/shm
・設定確認
[root@rac11g1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_11grac01-lv_root
50G 5.0G 42G 11% /
tmpfs 8.0G 0 8.0G 0% /dev/shm
/dev/sda1 477M 79M 370M 18% /boot
/dev/mapper/vg_11grac01-lv_home
195G 60M 185G 1% /home
shmfs 8.0G 0 8.0G 0% /dev/shm
・永続設定
[root@rac11g1 ~]# vi /etc/fstab
shmfs /dev/shm tmpfs size=8g 0 0
■ OSユーザ作成
● OS Grupe作成
groupadd -g 200 oinstall
groupadd -g 201 dba
groupadd -g 202 oper
groupadd -g 203 asmadmin
groupadd -g 204 asmdba
groupadd -g 205 asmoper
● Grid Infrastructureソフトウェア所有者ユーザの作成
・ユーザー作成
[root@rac11g1 ~]# useradd -d /home/grid -s /bin/bash -g oinstall -G asmadmin,asmdba,asmoper -u 201 grid
・ユーザー作成確認
[root@rac11g1 ~]# id -a grid
uid=201(grid) gid=200(oinstall) 所属グループ=200(oinstall),203(asmadmin),204(asmdba),205(asmoper)
・ユーザーパスワード設定
[root@rac11g1 ~]# passwd grid
・環境変数.bash_profile設定
[grid@rac11g1 ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export LANG=C
export NLS_LANG=American_America.UTF8
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export ORACLE_SID=+ASM1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
# Alias
export NODE_NUM=1
alias crs='crsctl stat resource -t'
alias alasm='tail -n 100 -f $ORACLE_BASE/diag/asm/+asm/+ASM${NODE_NUM}/trace/alert_+ASM${NODE_NUM}.log'
alias crs='/u01/app/11.2.0/grid/bin/crsctl stat resource -t'
alias cdo='cd $ORACLE_HOME'
alias cdb='cd $ORACLE_BASE'
● ULIMIT設定
・limits.conf設定
[root@rac11g1 ~]# vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 12040
oracle hard stack 32768
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 12040
grid hard stack 32768
・grid設定確認
- soft limits確認
[root@rac11g1 ~]# su - grid
[root@rac11g1 ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 15682
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 12040
cpu time (seconds, -t) unlimited
max user processes (-u) 2047
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
- Hard limits確認
[root@rac11g1 ~]# ulimit -aH
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 15682
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65536
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 32768
cpu time (seconds, -t) unlimited
max user processes (-u) 16384
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
・oracle設定確認
- soft limits確認
[root@rac11g1 ~]# su - oracle
[root@rac11g1 ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 15682
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 12040
cpu time (seconds, -t) unlimited
max user processes (-u) 2047
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
- Hard limits確認
[root@rac11g1 ~]# ulimit -aH
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 15682
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65536
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 32768
cpu time (seconds, -t) unlimited
max user processes (-u) 16384
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
■ Network周り設定
● hosts設定
[root@rac11g1 ~]# vi /etc/hosts
# Do not remove the following line, or various programs
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
### Oracle Public IP
192.168.100.11 rac11g1.oracle.com rac11g1
192.168.100.12 rac11g2.oracle.com rac11g2
### Oracle VIP
192.168.100.111 rac11g1-vip.oracle.com rac11g1-vip
192.168.100.112 rac11g2-vip.oracle.com rac11g2-vip
### Oracle SCAN
192.168.100.117 rac11g-scan.oracle.com rac11g-scan
192.168.100.118 rac11g-scan.oracle.com rac11g-scan
192.168.100.119 rac11g-scan.oracle.com rac11g-scan
### Oracle Private IP(Interconnect)
11.11.11.11 rac11g1-priv1.oracle.com rac11g1-priv1
11.11.11.12 rac11g2-priv1.oracle.com rac11g2-priv1
● NTP確認
- ntp.conf 設定
[root@rac11g1 ~]# cat /etc/ntp.conf
server ntp.nict.jp
server ntp.jst.mfeed.ad.jp
server pool.ntp.org
server jp.pool.ntp.org
server 127.127.1.0 iburstz
- ntpd 設定
[root@rac11g1 ~]# cat /etc/sysconfig/ntpd
# Drop root to id 'ntp:ntp' by default.
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"
- ntpd 再起動
[root@rac11g1 ~]# service ntpd restart
- ntp自動起動設定
[root@rac11g1 ~]# chkconfig ntpd on
[root@rac11g1 ~]# ps -ef | grep ntp
ntp 4519 1 0 04:47 ? 00:00:00 ntpd -x -u ntp:ntp -p /var/run/ntpd.pid
- ntp 時刻同期確認
[root@rac11g1 ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
183.ip-51-89-15 67.92.135.130 3 u 2 64 1 275.209 17.625 14.352
speedtest.switc 206.108.0.131 2 u 1 64 1 152.436 14.728 25.471
ntp.ms.mff.cuni 116.49.102.213 2 u 2 64 1 313.151 26.953 36.625
85.ip-54-38-242 5.196.160.139 3 u 1 64 1 293.323 9.096 31.235
*LOCAL(0) .LOCL. 5 l 6 64 1 0.000 0.000 0.000
■ iptables無効化
Interconnect通信エラーでないように、iptables無効化しておきます
- iptables停止
[root@rac11g2 ~]# /etc/init.d/iptables stop
iptables: チェインをポリシー ACCEPT へ設定中filter [ OK ]
iptables: ファイアウォールルールを消去中: [ OK ]
iptables: モジュールを取り外し中: [ OK ]
- 自動起動停止
[root@rac11g2 ~]# chkconfig iptables off
■ 共有DIsk設定
今回の共有ディスクは以下になります
Devise File | ASM DIsk | 概要 |
---|---|---|
/dev/sdb | CRS_1 | CRS記憶域 |
/dev/sdc | CRS_2 | CRS記憶域 |
/dev/sdd | CRS_3 | CRS記憶域 |
/dev/sde | DATA | ASM DIsk |
● 共有Disk事前確認
fdisk -l
ディスク /dev/sdb: 1073 MB, 1073741824 バイト
ヘッド 34, セクタ 61, シリンダ 1011
Units = シリンダ数 of 2074 * 512 = 1061888 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0xd2d37d06
ディスク識別子: 0x00000000
ディスク /dev/sdc: 1073 MB, 1073741824 バイト
ヘッド 34, セクタ 61, シリンダ 1011
Units = シリンダ数 of 2074 * 512 = 1061888 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000
ディスク /dev/sdd: 1073 MB, 1073741824 バイト
ヘッド 34, セクタ 61, シリンダ 1011
Units = シリンダ数 of 2074 * 512 = 1061888 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000
ディスク /dev/sde: 53.7 GB, 53687091200 バイト
ヘッド 64, セクタ 32, シリンダ 51200
Units = シリンダ数 of 2048 * 512 = 1048576 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000
注意: セクタサイズが 2048 です (512 ではなく)
● パーティション作成
共有Diskなので、片ノードだけで実施
以下のように、fidiskで、共有Disk全部にパーティション作成
- fdisk実行
[root@rac11g1 ~]# fdisk /dev/sdb
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
新たに DOS ディスクラベルをディスク識別子 0xd2d37d06 で作成します。
あなたが書き込みを決定するまで、変更はメモリ内だけに残します。
その後はもちろん以前の内容は修復不可能になります。
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります
警告: DOS互換モードは廃止予定です。このモード (コマンド 'c') を止めることを
強く推奨します。 and change display units to
sectors (command 'u').
コマンド (m でヘルプ): n <-- nを入力
コマンドアクション
e 拡張
p 基本パーティション (1-4)
p <-- pを入力
パーティション番号 (1-4):
最初 シリンダ (1-1011, default 1): 1 <-- default値のままEnterを入力
Using default value 1
Last シリンダ, +シリンダ数 or +size{K,M,G} (1-1011, default 1011): <-- default値のままEnterを入力
Using default value 1011
コマンド (m でヘルプ): p <-- pを入力して、Disk情報を確認
ディスク /dev/sdb: 1073 MB, 1073741824 バイト
ヘッド 34, セクタ 61, シリンダ 1011
Units = シリンダ数 of 2074 * 512 = 1061888 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0xd2d37d06
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdb1 1 1011 1048376+ 83 Linux
コマンド (m でヘルプ): w <-- wを入力して、設定書き込み反映
パーティションテーブルは変更されました!
ioctl() を呼び出してパーティションテーブルを再読込みします。
ディスクを同期しています。
● パーティション作成確認
[root@rac11g1 ~]# fdisk -l
・・・
ディスク /dev/sdb: 1073 MB, 1073741824 バイト
ヘッド 34, セクタ 61, シリンダ 1011
Units = シリンダ数 of 2074 * 512 = 1061888 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0xd2d37d06
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdb1 1 1011 1048376+ 83 Linux
ディスク /dev/sdc: 1073 MB, 1073741824 バイト
ヘッド 34, セクタ 61, シリンダ 1011
Units = シリンダ数 of 2074 * 512 = 1061888 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0xb88c0579
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdc1 1 1011 1048376+ 83 Linux
ディスク /dev/sdd: 1073 MB, 1073741824 バイト
ヘッド 34, セクタ 61, シリンダ 1011
Units = シリンダ数 of 2074 * 512 = 1061888 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x846dde95
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdd1 1 1011 1048376+ 83 Linux
ディスク /dev/sde: 53.7 GB, 53687091200 バイト
ヘッド 64, セクタ 32, シリンダ 51200
Units = シリンダ数 of 2048 * 512 = 1048576 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x2c85ca08
デバイス ブート 始点 終点 ブロック Id システム
/dev/sde1 1 51200 52428784 83 Linux
注意: セクタサイズが 2048 です (512 ではなく)
● Disk パーミッション設定
- UDEV設定
[root@rac11g1 ~]# vi /etc/udev/rules.d/99-oracle.rules
KERNEL=="sdb1", ACTION=="add|change",OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sdc1", ACTION=="add|change",OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sdd1", ACTION=="add|change",OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sde1", ACTION=="add|change",OWNER="grid", GROUP="asmadmin", MODE="0660"
- UDEV再起動
[root@rac11g1 ~]# udevadm control --reload-rules
[root@rac11g1 ~]# /sbin/start_udev
udev を起動中: [ OK ]
- パーミッション設定確認
[root@rac11g1 ~]# ls -la /dev | grep asm
brw-rw----. 1 grid asmadmin 8, 17 Nov 12 23:57 sdb1
brw-rw----. 1 grid asmadmin 8, 33 Nov 12 23:57 sdc1
brw-rw----. 1 grid asmadmin 8, 49 Nov 12 23:57 sdd1
brw-rw----. 1 grid asmadmin 8, 65 Nov 12 23:57 sde1
brw-rw----. 1 grid asmadmin 8, 81 Nov 12 23:57 sdf1
- Disk 初期化と書き込み確認
gridユーザーで書き込み確認
[root@rac11g1 ~]# su - grid
[grid@rac11g1 ~]$ dd if=/dev/zero of=/dev/sdb1 bs=1024k count=100
[grid@rac11g1 ~]$ dd if=/dev/zero of=/dev/sdc1 bs=1024k count=100
[grid@rac11g1 ~]$ dd if=/dev/zero of=/dev/sdd1 bs=1024k count=100
[grid@rac11g1 ~]$ dd if=/dev/zero of=/dev/sde1 bs=1024k count=100
■ ASMlib構成
- ASMパッケージのインストール
[root@rac11g1 ~]# yum install -y oracleasm
[root@rac11g1 ~]# yum install -y oracleasm-support
[root@rac11g1 ~]# yum install oracleasmlib
- ASMlib構成
[root@rac11g1 ~]# /usr/sbin/oracleasm configure -i
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
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [n]: y
Writing Oracle ASM library driver configuration: done
- Oracleasmカーネルモジュールの読み込み
[root@rac11g1 ~]# /usr/sbin/oracleasm init
Creating /dev/oracleasm mount point: /dev/oracleasm
Loading module "oracleasm": oracleasm
Configuring "oracleasm" to use device physical block size
Mounting ASMlib driver filesystem: /dev/oracleasm
- 確認
[root@rac11g1 ~]# oracleasm status
Checking if ASM is loaded: yes
Checking if /dev/oracleasm is mounted: yes
- ASM Disk 設定
[root@rac11g1 ~]# oracleasm createdisk CRS_1 /dev/sdb1
[root@rac11g1 ~]# oracleasm createdisk CRS_2 /dev/sdc1
[root@rac11g1 ~]# oracleasm createdisk CRS_3 /dev/sdd1
[root@rac11g1 ~]# oracleasm createdisk DATA_1 /dev/sde1
- 設定反映
[root@rac11g1 ~]# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
- 設定確認
・listdisks
[root@rac11g1 ~]# oracleasm listdisks
CRS_1
CRS_2
CRS_3
DATA_1
・ls
[root@rac11g1 ~]# ls -la /dev/oracleasm/disks
合計 0
drwxr-xr-x. 1 root root 0 11月 13 23:38 2020 .
drwxr-xr-x. 4 root root 0 11月 13 23:38 2020 ..
brw-rw----. 1 grid asmadmin 8, 17 11月 13 15:11 2020 CRS_1
brw-rw----. 1 grid asmadmin 8, 33 11月 13 15:11 2020 CRS_2
brw-rw----. 1 grid asmadmin 8, 49 11月 13 15:11 2020 CRS_3
brw-rw----. 1 grid asmadmin 8, 65 11月 13 15:11 2020 DATA_
- 他のクラスタ・ノードからマーキング設定読み込み
ノード2で以下実行し、設定確認
[root@rac11g2 ~]# oracleasm scandisks
[root@rac11g2 ~]# oracleasm listdisks
[root@rac11g2 ~]# ls -la /dev/oracleasm/disks/
■ Grid Infrastructureインストール
● ソフトウェア・インストール・ディレクトリの作成
[root@rac11g1 ~]# mkdir -p /u01/app/grid
[root@rac11g1 ~]# mkdir -p /u01/app/11.2.0/grid
[root@rac11g1 ~]# chown -R grid:oinstall /u01/app
[root@rac11g1 ~]# chmod -R 775 /u01/app
● Linuxのcvuqdisk RPMのインストール
[root@rac11g1 ~]# cd /media/grid/rpm
[root@rac11g1 grid]# ls
install readme.html response rpm runcluvfy.sh runInstaller sshsetup stage welcome.html
[root@rac11g1 grid]# cd rpm
[root@rac11g1 rpm]# ls
cvuqdisk-1.0.9-1.rpm
[root@rac11g1 rpm]# export CVUQDISK_GRP=oinstall; export CVUQDISK_GRP
[root@rac11g1 rpm]# rpm -iv cvuqdisk-1.0.9-1.rpm
Preparing packages for installation...
cvuqdisk-1.0.9-1
● OUI起動
- 環境変数設定
[root@rac11g1 rpm]# su - grid
[grid@rac11g1 rpm]$ export GRID_BASE=/u01/app/grid
[grid@rac11g1 rpm]$ export LANG=C
- Grid Infrastractureのメディアにある runInstallerを実行
[grid@rac11g1 rpm]$ /Media/grid/runInstaller
-
Download Software Updates画面
[skip software updates] を選択し、[Next]をクリック
-
Select Installation Option画面
[Install and Configure ~] を選択し、[Next]をクリック
-
Select Installtaion Type画面
[Advanced Installation] を選択し、[Next]をクリック
-
Grid Plug and Play Information画面
以下項目を選択し、[Next]をクリック・Cluster Name: Cluster名
・SCAN NAME: DNSで名前解決できるSCANホスト名
・SCAN Port: SCANリスーナーのPort番号
-
Cluster Node Information画面
インストールするノード情報を入力し、[SSH Connectivity]をクリックして、[Setup]を実行
gridユーザーでInstall全ノードどうしがパスワード無しssh鍵で接続できるよう自動設定してくれます
-
Successfullyプロンプト
[OK]をクリックし、[Next]をクリック
Successfullyしなかった場合は、sshで全ノードssh鍵で接続できるように設定します
Successfullyしたら、[Advanced Installation] を選択し、[Next]をクリック
-
Specify Network Interface Usage画面
Interface NameとSubnetが正しいことを確認し、[Next]をクリック
-
Storage OPtion Information画面
[Oracle Automatic Storage Management (Oracle ASM)] を選択し、[Next]をクリック
-
Create ASM DIsk Group画面
[Change DIscovery Path] をクリックし、ASMlibで設定したパスが表示されるように「/dev/oracleasm/disks/*」を入力し、[OK]をクリック
-
Create ASM DIsk Group画面
以下項目を入力し、[Next]をクリック・Disk Group Name: CRS Disk Group名
・Redundancy: 冗長度、今回はNormalの3冗長を選択
・AU size: AUサイズ
・Add disks: CRSを設定するDisklへチェック
-
Specify ASM Password画面
SYS, ASMSNMPユーザーのパスワードを設定し、[Next]をクリック
-
Failure Isolation Support画面
[Do not use IPMI] を選択し、[Next]をクリック
-
Specify Installation Location画面
以下項目を入力し、[Next]をクリックOracle Base: ORACE_BASEパスを入力
Software Location: ORACLE_HOMEパスを入力
-
Create Inventory画面
[Inventory Directory] はデフォルト値のまま、[Next]をクリック
-
Execute Configuration scripts画面
orainstRoot.sh と root.shをまず、node1実行完了してから、node2実行
※同時実行禁止
・ orainstRoot.sh実行
[root@rac11g1 ~]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
・ root.sh実行
node1実行完了してから、node2実行
- node1
[root@rac11g1 rpm]# /u01/app/11.2.0/grid/root.sh
Performing root user operation for Oracle 11g
The following environment variables are set as:
ORACLE_HOME= /u01/app/11.2.0/grid
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
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/11.2.0/grid/crs/install/crsconfig_params
Creating trace directory
User ignored Prerequisites during installation
Installing Trace File Analyzer
OLR initialization - successful
root wallet
root wallet cert
root cert export
peer wallet
profile reader wallet
pa wallet
peer wallet keys
pa wallet keys
peer cert request
pa cert request
peer cert
pa cert
peer root cert TP
profile reader root cert TP
pa root cert TP
peer pa cert TP
pa peer cert TP
profile reader pa cert TP
profile reader peer cert TP
peer user cert
pa user cert
Adding Clusterware entries to upstart
CRS-2672: Attempting to start 'ora.mdnsd' on 'rac11g1'
CRS-2676: Start of 'ora.mdnsd' on 'rac11g1' succeeded
CRS-2672: Attempting to start 'ora.gpnpd' on 'rac11g1'
CRS-2676: Start of 'ora.gpnpd' on 'rac11g1' succeeded
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'rac11g1'
CRS-2672: Attempting to start 'ora.gipcd' on 'rac11g1'
CRS-2676: Start of 'ora.cssdmonitor' on 'rac11g1' succeeded
CRS-2676: Start of 'ora.gipcd' on 'rac11g1' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'rac11g1'
CRS-2672: Attempting to start 'ora.diskmon' on 'rac11g1'
CRS-2676: Start of 'ora.diskmon' on 'rac11g1' succeeded
CRS-2676: Start of 'ora.cssd' on 'rac11g1' succeeded
ASMは正常に作成され、起動しました。
ディスク・グループCRSは正常に作成されました。
clscfg: -install mode specified
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
CRS-4256: Updating the profile
Successful addition of voting disk 0c63e51d97114f4abf56beb3dbdc14b6.
Successful addition of voting disk 7c68c0b9b14f4f6bbf58c8d2fe0c772b.
Successful addition of voting disk 9852446dc86a4fc9bfa205acdf216afc.
Successfully replaced voting disk group with +CRS.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 0c63e51d97114f4abf56beb3dbdc14b6 (/dev/oracleasm/disks/CRS_3) [CRS]
2. ONLINE 7c68c0b9b14f4f6bbf58c8d2fe0c772b (/dev/oracleasm/disks/CRS_2) [CRS]
3. ONLINE 9852446dc86a4fc9bfa205acdf216afc (/dev/oracleasm/disks/CRS_1) [CRS]
Located 3 voting disk(s).
CRS-2672: Attempting to start 'ora.asm' on 'rac11g1'
CRS-2676: Start of 'ora.asm' on 'rac11g1' succeeded
CRS-2672: Attempting to start 'ora.CRS.dg' on 'rac11g1'
CRS-2676: Start of 'ora.CRS.dg' on 'rac11g1' succeeded
Configure Oracle Grid Infrastructure for a Cluster ... succeeded
- Node2
[root@rac11g2 ~]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@rac11g2 tmp]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@rac11g2 tmp]# /u01/app/11.2.0/grid/root.sh
Performing root user operation for Oracle 11g
The following environment variables are set as:
ORACLE_OWNER= grid
ORACLE_HOME= /u01/app/11.2.0/grid
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
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/11.2.0/grid/crs/install/crsconfig_params
Creating trace directory
User ignored Prerequisites during installation
Installing Trace File Analyzer
OLR initialization - successful
Adding Clusterware entries to upstart
CRS-4402: The CSS daemon was started in exclusive mode but found an active CSS daemon on node rac11g1, number 1, and is terminating
An active cluster was found during exclusive startup, restarting to join the cluster
Configure Oracle Grid Infrastructure for a Cluster ... succeeded
■ GI動作確認
● CRS確認
[grid@rac11g1 ~]$ /u01/app/11.2.0/grid/bin/crsctl stat res -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRS.dg
ONLINE ONLINE rac11g1
ONLINE ONLINE rac11g2
ora.asm
ONLINE ONLINE rac11g1 Started
ONLINE ONLINE rac11g2 Started
ora.gsd
OFFLINE OFFLINE rac11g1
OFFLINE OFFLINE rac11g2
ora.net1.network
ONLINE ONLINE rac11g1
ONLINE ONLINE rac11g2
ora.ons
ONLINE ONLINE rac11g1
ONLINE ONLINE rac11g2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE rac11g2
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE rac11g1
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE rac11g1
ora.cvu
1 ONLINE ONLINE rac11g1
ora.oc4j
1 ONLINE ONLINE rac11g1
ora.rac11g1.vip
1 ONLINE ONLINE rac11g1
ora.rac11g2.vip
1 ONLINE ONLINE rac11g2
ora.scan1.vip
1 ONLINE ONLINE rac11g2
ora.scan2.vip
1 ONLINE ONLINE rac11g1
ora.scan3.vip
1 ONLINE ONLINE rac11g1
● ASM接続確認
・asmcmd
[grid@rac11g1 ~]$ export ORACLE_SID=+ASM1
[grid@rac11g1 ~]$ /u01/app/11.2.0/grid/bin/asmcmd
ASMCMD> lsdg
State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED NORMAL N 512 4096 1048576 3069 2143 1023 560 0 Y CRS/
ASMCMD> exit
・SQL*Plus
[grid@rac11g1 ~]$ export ORACLE_HOME=/u01/app/11.2.0/grid
[grid@rac11g1 ~]$ /u01/app/11.2.0/grid/bin/sqlplus / as sysasm
SQL*Plus: Release 11.2.0.1.0 Production on Sun Nov 22 09:37:39 2020
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options
SQL> select Instance_name from v$instance;
INSTANCE_NAME
------------------------------------------------
+ASM1
SQL> exit
● GI設定確認
[grid@rac11g1 ~]$ /u01/app/11.2.0/grid/bin/olsnodes -i -n
rac11g1 1 rac11g1-vip
rac11g2 2 rac11g2-vip
[grid@rac11g1 ~]$ /u01/app/11.2.0/grid/bin/olsnodes -l -p
rac11g1 11.11.11.11
[grid@rac11g1 ~]$ /u01/app/11.2.0/grid/bin/oifcfg getif
eth0 192.168.100.0 global public
eth1 11.11.11.0 global cluster_interconnect
[grid@rac11g1 ~]$ cat /u01/app/11.2.0/grid/install/cluster.ini
[cluster_info]
cluster_name=rac11g-cluster
[grid@rac11g1 ~]$ cat /etc/oracle/ocr.loc
ocrconfig_loc=+CRS
local_only=FALSE
● SCAN確認
[grid@rac11g2 ~]$ /u01/app/11.2.0/grid/bin/srvctl config scan
SCAN name: rac11g-scan.oracle.com, Network: 1/192.168.100.0/255.255.255.0/eth0
SCAN VIP name: scan1, IP: /rac11g-scan.oracle.com/192.168.100.117
SCAN VIP name: scan2, IP: /rac11g-scan.oracle.com/192.168.100.118
SCAN VIP name: scan3, IP: /rac11g-scan.oracle.com/192.168.100.119
[grid@rac11g1 ~]$/u01/app/11.2.0/grid/bin/srvctl config scan_listener
SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521
SCAN Listener LISTENER_SCAN2 exists. Port: TCP:1521
SCAN Listener LISTENER_SCAN3 exists. Port: TCP:1521
● inventory / インストール先の確認
[grid@rac11g1 ~]$ cat /u01/app/oraInventory/ContentsXML/inventory.xml
<?xml version="1.0" standalone="yes" ?>
<!-- Copyright (c) 1999, 2013, Oracle and/or its affiliates.
All rights reserved. -->
<!-- Do not modify the contents of this file by hand. -->
<INVENTORY>
<VERSION_INFO>
<SAVED_WITH>11.2.0.1.0</SAVED_WITH>
<MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
</VERSION_INFO>
<HOME_LIST>
<HOME NAME="Ora11g_gridinfrahome1" LOC="/u01/app/11.2.0/grid" TYPE="O" IDX="1">
<NODE_LIST>
<NODE NAME="rac11g1"/>
<NODE NAME="rac11g2"/>
</NODE_LIST>
</HOME>
</HOME_LIST>
<COMPOSITEHOME_LIST>
</COMPOSITEHOME_LIST>
</INVENTORY>
[grid@rac11g1 ~]$cat /u01/app/oraInventory/oraInst.loc
inventory_loc=/u01/app/oraInventory
inst_group=oinstall
[grid@rac11g1 ~]$cat /u01/app/oraInventory/ContentsXML/inventory.xml | grep "HOME NAME"
<HOME NAME="Ora11g_gridinfrahome1" LOC="/u01/app/11.2.0/grid" TYPE="O" IDX="1">
[grid@rac11g1 ~]$cat /u01/app/11.2.0/grid/install/cluster.ini
[cluster_info]
cluster_name=rac11g-cluster
● OCR確認
[grid@rac11g1 ~]$cat /etc/oracle/ocr.loc
ocrconfig_loc=+CRS
local_only=FALSE
[grid@rac11g1 ~]$ /u01/app/11.2.0/grid/bin/ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 3
Total space (kbytes) : 262120
Used space (kbytes) : 2664
Available space (kbytes) : 259456
ID : 326447638
Device/File Name : +CRS
Device/File integrity check succeeded
Device/File not configured
Device/File not configured
Device/File not configured
Device/File not configured
Cluster registry integrity check succeeded
Logical corruption check bypassed due to non-privileged user
● Voting Disk確認
/u01/app/11.2.0/grid/bin/crsctl query css votedisk
[grid@rac11g1 ~]$ /u01/app/11.2.0/grid/bin/crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE a0f9d0b9a6934f6ebfe866061f4fcb72 (/dev/oracleasm/disks/CRS_1) [CRS]
2. ONLINE 8513208b95504f14bf54f0700b8c5b7b (/dev/oracleasm/disks/CRS_2) [CRS]
3. ONLINE 055e682ee08d4f50bf6c63a8b76083d1 (/dev/oracleasm/disks/CRS_3) [CRS]
Located 3 voting disk(s).
■ Database用ASM Disk作成
Database用ASM DIskの +DATAをASM Configuration Assistant (asmca)で作成
● asmcmd実行
[root@rac11g1 ~]# su - grid
[grid@rac11g1 ~]$ asmca
-
Create Disk Group画面
事前に上記ASMLibで作成した「DATA_1」DIsk Pathが出力されます
以下項目を入力し、[OK]をクリック・Disk Group Names: Disk Group名を入力
・Redundancy: 冗長度を設定、今回は冗長化しないので、[External]を選択
・Disk Path: 未使用のASMLibで作成したDisk Pathをチェック
■ GI関連バックアップ
リストアできるようにCRSとASM関連をバックアップしておきます
● CRSバックアップ
- バックアップ
[root@rac11g1 ~]# /u01/app/11.2.0/grid/bin/ocrconfig -manualbackup
rac11g2 2020/11/18 07:43:08 /u01/app/11.2.0/grid/cdata/rac11g-cluster/backup_20201118_074308.ocr
- バックアップ確認
[root@rac11g1 ~]# /u01/app/11.2.0/grid/bin/ocrconfig -showbackup
PROT-24: Auto backups for the Oracle Cluster Registry are not available
rac11g2 2020/11/18 07:43:08 /u01/app/11.2.0/grid/cdata/rac11g-cluster/backup_20201118_074308.ocr
● ASM SPFILEバックアップ
- ASMの SPFILEバックアップ
[grid@rac11g1 ~]$ sqlplus sys/sysasm as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Tue Nov 24 09:46:20 2020
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options
SQL> create pfile='/tmp/initASM.ora' from spfile;
File created.
SQL> host cat /tmp/initASM.ora
+ASM1.asm_diskgroups='DATA'#Manual Mount
+ASM2.asm_diskgroups='DATA'#Manual Mount
*.asm_diskstring='/dev/oracleasm/disks/*'
*.asm_power_limit=1
*.diagnostic_dest='/u01/app/grid'
*.instance_type='asm'
*.large_pool_size=12M
*.remote_login_passwordfile='EXCLUSIVE'