2014年7月21日月曜日

SoftLayer で学ぶ Oracle RAC 入門、ワン・コインの自己投資(その4、最終回)

その4にて最終回となります。本稿を読み終えた方は、実際に構築作業をやってみることをお勧めします。間違いを見つけた方、質問がある方、コメントをいただければ幸いです。


[1:40 $0.696] Standard Edition RAC を使用する場合、ライセンスの制約として ASM を利用する必要があります。ASM で使用する LUN については、パーティションのオーナを grid:asmadmin に変更する必要があります。OS を再起動するたびに設定変更する必要があります。
自動的に設定する方法としては2つあって、rhel 標準の udev 機能を利用する方法と Oracle 社謹製の asmlib を利用する方法です。今回は後者の方法を紹介します。
ユーザランドで必要となるパッケージは 「oracleasm-support」 です。すでにインストール済みです。
カーネルモジュールも必要となります。Oracle 社の UEK カーネルを利用する場合には、UEK カーネルパッケージに含まれているので問題ありません。rhel のカーネルを利用する場合には、別途インストールが必要です。仮想マシンでは UEK が動きませんので問題となります。
public-yum.oracle.com に kmod-oracleasm-2.0.6.rh1-2.el6.x86_64.rpm というパッケージがあります。カーネルパッケージ・バージョン 2.6.32-358.el6 用にビルドされていて、kernel-2.6.32-358.el6.x86_64 パッケージと同時にインストールする必要があります。
現時点で、2.6.32-431.20.3.el6.x86_64 が動いているので、直接バイナリパッケージをインストールできません。ソースをダウンロードし、ビルドすることにします。ビルドの際に、インストール制限を緩和する修正を入れます。


[softlayer@iscsi01 ~]$ wget http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/x86_64/getPackageSource/oracleasm-2.0.6.rh1-2.el6.src.rpm
--2014-07-19 16:15:08--  http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/x86_64/getPackageSource/oracleasm-2.0.6.rh1-2.el6.src.rpm
Resolving public-yum.oracle.com... 23.67.252.249, 23.67.252.250
Connecting to public-yum.oracle.com|23.67.252.249|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 39784 (39K) [audio/x-pn-realaudio-plugin]
Saving to: “oracleasm-2.0.6.rh1-2.el6.src.rpm”

100%[======================================>] 39,784       212K/s   in 0.2s

2014-07-19 16:15:09 (212 KB/s) - “oracleasm-2.0.6.rh1-2.el6.src.rpm” saved [39784/39784]

[softlayer@iscsi01 ~]$ rpm -ivh oracleasm-2.0.6.rh1-2.el6.src.rpm
   1:oracleasm              ########################################### [100%]
[softlayer@iscsi01 ~]$ sed -i -e "s/2.6.32-358.el6/$(uname -r)/" ~/rpmbuild/SPECS/oracleasm.spec
[softlayer@iscsi01 ~]$ sed -i -e '/^BuildRequires/d' ~/rpmbuild/SPECS/oracleasm.spec
[softlayer@iscsi01 ~]$ sed -i -e 's/359/999/' ~/rpmbuild/SOURCES/oracleasm.preamble
[softlayer@iscsi01 ~]$ rpmbuild -ba ~/rpmbuild/SPECS/oracleasm.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.A5ogeK
+ umask 022
+ cd /home/softlayer/rpmbuild/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ cd /home/softlayer/rpmbuild/BUILD
+ rm -rf oracleasm-2.0.6.rh1
+ /bin/tar -xvvf -
+ /usr/bin/bzip2 -dc /home/softlayer/rpmbuild/SOURCES/oracleasm-2.0.6.rh1.tar.bz2
drwxr-xr-x mockbuild/root    0 2013-01-25 07:20 oracleasm-2.0.6.rh1/
drwxr-xr-x mockbuild/root    0 2013-01-25 07:20 oracleasm-2.0.6.rh1/include/
drwxr-xr-x mockbuild/root    0 2013-01-25 07:20 oracleasm-2.0.6.rh1/include/linux/
drwxr-xr-x mockbuild/root    0 2013-01-25 07:20 oracleasm-2.0.6.rh1/include/linux/oracleasm/
-rw-r--r-- mockbuild/root  978 2013-01-25 07:20 oracleasm-2.0.6.rh1/include/linux/oracleasm/module_version.h
-rw-r--r-- mockbuild/root 5427 2013-01-25 07:20 oracleasm-2.0.6.rh1/include/linux/oracleasm/manager_compat.h
-rw-r--r-- mockbuild/root 4899 2013-01-25 07:20 oracleasm-2.0.6.rh1/include/linux/oracleasm/kernel.h
-rw-r--r-- mockbuild/root  122 2013-01-25 07:20 oracleasm-2.0.6.rh1/include/linux/oracleasm/Kbuild
-rw-r--r-- mockbuild/root 5956 2013-01-25 07:20 oracleasm-2.0.6.rh1/include/linux/oracleasm/abi.h
-rw-r--r-- mockbuild/root 3817 2013-01-25 07:20 oracleasm-2.0.6.rh1/include/linux/oracleasm/compat32.h
-rw-r--r-- mockbuild/root 6793 2013-01-25 07:20 oracleasm-2.0.6.rh1/include/linux/oracleasm/manager.h
-rw-r--r-- mockbuild/root 4441 2013-01-25 07:20 oracleasm-2.0.6.rh1/include/linux/oracleasm/disk.h
-rw-r--r-- mockbuild/root 5227 2013-01-25 07:20 oracleasm-2.0.6.rh1/include/linux/oracleasm/abi_compat.h
-rw-r--r-- mockbuild/root 3752 2013-01-25 07:20 oracleasm-2.0.6.rh1/include/linux/oracleasm/error.h
drwxr-xr-x mockbuild/root    0 2013-01-25 07:20 oracleasm-2.0.6.rh1/drivers/
drwxr-xr-x mockbuild/root    0 2013-01-25 07:20 oracleasm-2.0.6.rh1/drivers/block/
drwxr-xr-x mockbuild/root    0 2013-01-25 07:20 oracleasm-2.0.6.rh1/drivers/block/oracleasm/
-rw-r--r-- mockbuild/root  926 2013-01-25 07:20 oracleasm-2.0.6.rh1/drivers/block/oracleasm/proc.h
-rw-r--r-- mockbuild/root 1330 2013-01-25 07:20 oracleasm-2.0.6.rh1/drivers/block/oracleasm/proc.c
-rw-r--r-- mockbuild/root  789 2013-01-25 07:20 oracleasm-2.0.6.rh1/drivers/block/oracleasm/transaction_file.h
-rw-r--r-- mockbuild/root 71504 2013-01-25 07:20 oracleasm-2.0.6.rh1/drivers/block/oracleasm/driver.c
-rw-r--r-- mockbuild/root   422 2013-01-25 07:20 oracleasm-2.0.6.rh1/drivers/block/oracleasm/compat.h
-rw-r--r-- mockbuild/root  4719 2013-01-25 07:20 oracleasm-2.0.6.rh1/drivers/block/oracleasm/masklog.c
-rw-r--r-- mockbuild/root    92 2013-01-25 07:20 oracleasm-2.0.6.rh1/drivers/block/oracleasm/Kconfig
-rw-r--r-- mockbuild/root  4948 2013-01-25 07:20 oracleasm-2.0.6.rh1/drivers/block/oracleasm/integrity.c
-rw-r--r-- mockbuild/root  3773 2013-01-25 07:20 oracleasm-2.0.6.rh1/drivers/block/oracleasm/transaction_file.c
-rw-r--r-- mockbuild/root  8725 2013-01-25 07:20 oracleasm-2.0.6.rh1/drivers/block/oracleasm/masklog.h
-rw-r--r-- mockbuild/root   614 2013-01-25 07:20 oracleasm-2.0.6.rh1/drivers/block/oracleasm/integrity.h
-rw-r--r-- mockbuild/root   156 2013-01-25 07:20 oracleasm-2.0.6.rh1/drivers/block/oracleasm/Makefile
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd oracleasm-2.0.6.rh1
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ echo 'Patch #0 (oracleasm.patch):'
Patch #0 (oracleasm.patch):
+ /usr/bin/patch -p1 --fuzz=0
+ /bin/cat /home/softlayer/rpmbuild/SOURCES/oracleasm.patch
patching file drivers/block/oracleasm/Makefile
patching file drivers/block/oracleasm/driver.c
+ set -- drivers include
+ mkdir source
+ mv drivers include source/
+ cp /home/softlayer/rpmbuild/SOURCES/symbols.greylist-x86_64 source/
+ mkdir obj
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.xS40tB
+ umask 022
+ cd /home/softlayer/rpmbuild/BUILD
+ cd oracleasm-2.0.6.rh1
+ LANG=C
+ export LANG
+ unset DISPLAY
+ for flavor in default
+ rm -rf obj/default
+ cp -r source obj/default
+ symvers=source/Module.symvers-x86_64
+ '[' -e source/Module.symvers-x86_64 ']'
++ '[' default = default ']'
+ make -C /usr/src/kernels/2.6.32-431.20.3.el6.x86_64 M=/home/softlayer/rpmbuild/BUILD/oracleasm-2.0.6.rh1/obj/default/drivers/block/oracleasm/ 'NOSTDINC_FLAGS=-I /home/softlayer/rpmbuild/BUILD/oracleasm-2.0.6.rh1/obj/default/include'
make: Entering directory `/usr/src/kernels/2.6.32-431.20.3.el6.x86_64'
  LD      /home/softlayer/rpmbuild/BUILD/oracleasm-2.0.6.rh1/obj/default/drivers/block/oracleasm/built-in.o
  CC [M]  /home/softlayer/rpmbuild/BUILD/oracleasm-2.0.6.rh1/obj/default/drivers/block/oracleasm/driver.o
  CC [M]  /home/softlayer/rpmbuild/BUILD/oracleasm-2.0.6.rh1/obj/default/drivers/block/oracleasm/masklog.o
  CC [M]  /home/softlayer/rpmbuild/BUILD/oracleasm-2.0.6.rh1/obj/default/drivers/block/oracleasm/proc.o
  CC [M]  /home/softlayer/rpmbuild/BUILD/oracleasm-2.0.6.rh1/obj/default/drivers/block/oracleasm/transaction_file.o
  CC [M]  /home/softlayer/rpmbuild/BUILD/oracleasm-2.0.6.rh1/obj/default/drivers/block/oracleasm/integrity.o
  LD [M]  /home/softlayer/rpmbuild/BUILD/oracleasm-2.0.6.rh1/obj/default/drivers/block/oracleasm/oracleasm.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/softlayer/rpmbuild/BUILD/oracleasm-2.0.6.rh1/obj/default/drivers/block/oracleasm/oracleasm.mod.o
  LD [M]  /home/softlayer/rpmbuild/BUILD/oracleasm-2.0.6.rh1/obj/default/drivers/block/oracleasm/oracleasm.ko.unsigned
  NO SIGN [M] /home/softlayer/rpmbuild/BUILD/oracleasm-2.0.6.rh1/obj/default/drivers/block/oracleasm/oracleasm.ko
make: Leaving directory `/usr/src/kernels/2.6.32-431.20.3.el6.x86_64'
+ find obj/default/drivers/block/oracleasm/ -name '*.ko' -type f -exec chmod u+x '{}' +
+ /home/softlayer/rpmbuild/SOURCES/depmodconf oracleasm 2.6.32-431.20.3.el6.x86_64 obj
+ greylist=source/symbols.greylist-x86_64
+ '[' -f source/symbols.greylist-x86_64 ']'
+ cp source/symbols.greylist-x86_64 source/symbols.greylist
+ '[' -d source/firmware ']'
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.YmoAfH
+ umask 022
+ cd /home/softlayer/rpmbuild/BUILD
+ '[' /home/softlayer/rpmbuild/BUILDROOT/oracleasm-2.0.6.rh1-2.el6.x86_64 '!=' / ']'
+ rm -rf /home/softlayer/rpmbuild/BUILDROOT/oracleasm-2.0.6.rh1-2.el6.x86_64
++ dirname /home/softlayer/rpmbuild/BUILDROOT/oracleasm-2.0.6.rh1-2.el6.x86_64
+ mkdir -p /home/softlayer/rpmbuild/BUILDROOT
+ mkdir /home/softlayer/rpmbuild/BUILDROOT/oracleasm-2.0.6.rh1-2.el6.x86_64
+ cd oracleasm-2.0.6.rh1
+ LANG=C
+ export LANG
+ unset DISPLAY
+ export INSTALL_MOD_PATH=/home/softlayer/rpmbuild/BUILDROOT/oracleasm-2.0.6.rh1-2.el6.x86_64
+ INSTALL_MOD_PATH=/home/softlayer/rpmbuild/BUILDROOT/oracleasm-2.0.6.rh1-2.el6.x86_64
+ export INSTALL_MOD_DIR=extra/oracleasm
+ INSTALL_MOD_DIR=extra/oracleasm
+ for flavor in default
++ '[' default = default ']'
+ make -C /usr/src/kernels/2.6.32-431.20.3.el6.x86_64 modules_install M=/home/softlayer/rpmbuild/BUILD/oracleasm-2.0.6.rh1/obj/default/drivers/block/oracleasm/
make: Entering directory `/usr/src/kernels/2.6.32-431.20.3.el6.x86_64'
  INSTALL /home/softlayer/rpmbuild/BUILD/oracleasm-2.0.6.rh1/obj/default/drivers/block/oracleasm/oracleasm.ko
make: Leaving directory `/usr/src/kernels/2.6.32-431.20.3.el6.x86_64'
+ find /home/softlayer/rpmbuild/BUILDROOT/oracleasm-2.0.6.rh1-2.el6.x86_64/lib/modules -iname 'modules.*' -exec rm '{}' ';'
+ install -m 644 -D source/depmod.conf /home/softlayer/rpmbuild/BUILDROOT/oracleasm-2.0.6.rh1-2.el6.x86_64/etc/depmod.d/oracleasm.conf
+ install -m 644 -D source/symbols.greylist /home/softlayer/rpmbuild/BUILDROOT/oracleasm-2.0.6.rh1-2.el6.x86_64/usr/share/doc/kmod-oracleasm/greylist.txt
+ '[' -d source/firmware ']'
+ /usr/lib/rpm/find-debuginfo.sh --strict-build-id /home/softlayer/rpmbuild/BUILD/oracleasm-2.0.6.rh1
extracting debug info from /home/softlayer/rpmbuild/BUILDROOT/oracleasm-2.0.6.rh1-2.el6.x86_64/lib/modules/2.6.32-431.20.3.el6.x86_64/extra/oracleasm/oracleasm.ko
238 blocks
+ /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/redhat/brp-compress
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
+ /usr/lib/rpm/brp-python-bytecompile
+ /usr/lib/rpm/redhat/brp-python-hardlink
+ /usr/lib/rpm/redhat/brp-java-repack-jars
Processing files: kmod-oracleasm-2.0.6.rh1-2.el6.x86_64
Finding  Provides: /home/softlayer/rpmbuild/SOURCES/find-provides.ksyms oracleasm 2.0.6.rh1-2.el6
Finding  Requires: /home/softlayer/rpmbuild/SOURCES/find-requires.ksyms
Provides: kernel-modules = 2.6.32-431.el6.x86_64 oracleasm-kmod = 2.0.6.rh1-2.el6 oracleasm = 2.0.6.rh1-2.el6
Requires(interp): /bin/sh /bin/sh /bin/sh
Requires(rpmlib): rpmlib(VersionedDependencies) <= 3.0.3-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1
Requires(post): /sbin/depmod /bin/sh
Requires(preun): /bin/sh
Requires(postun): /sbin/depmod /bin/sh
Requires: kernel(add_timer) = 0x46085e4f kernel(add_wait_queue) = 0x650fb346 kernel(bd_claim) = 0x87846fce kernel(bdevname) = 0xd83aee5e kernel(bd_release) = 0x82f52f83 kernel(bio_integrity_add_page) = 0x1b3889b6 kernel(bio_integrity_alloc) = 0xd15ce18f kernel(bio_map_user) = 0x56e00db2 kernel(bio_unmap_user) = 0xcb51f864 kernel(blkdev_get) = 0x0deb9153 kernel(blkdev_put) = 0x9fafa033 kernel(_cond_resched) = 0xa1c76e0a kernel(copy_from_user) = 0x3302b500 kernel(copy_to_user) = 0x85f8a266 kernel(create_proc_entry) = 0x6d6b15ff kernel(current_kernel_time) = 0x67053080 kernel(d_alloc) = 0xe1eed7b5 kernel(d_alloc_root) = 0x7cb29e4b kernel(default_wake_function) = 0xffd5a395 kernel(del_timer_sync) = 0x0e83fea1 kernel(d_genocide) = 0xd1e9feb6 kernel(d_instantiate) = 0x870235ff kernel(dput) = 0x6c7363b3 kernel(d_rehash) = 0x907c1964 kernel(fget) = 0x92375255 kernel(find_first_bit) = 0xb352177e kernel(fput) = 0x8b6c553c kernel(generic_delete_inode) = 0x2616a314 kernel(get_sb_nodev) = 0x5c7e09d7 kernel(get_sb_pseudo) = 0x1b23a587 kernel(__get_user_2) = 0x8f9c199c kernel(__get_user_4) = 0x6729d3df kernel(__get_user_8) = 0x6d334118 kernel(get_user_pages_fast) = 0xeee5d9c2 kernel(I_BDEV) = 0x7943ad5f kernel(iget5_locked) = 0x53e0e25a kernel(igrab) = 0x7c78e36a kernel(ilookup5) = 0x082f711a kernel(init_special_inode) = 0xdb4104c6 kernel(init_timer_key) = 0x6a9f26c9 kernel(__init_waitqueue_head) = 0xffc7c184 kernel(inode_init_once) = 0x09e1faad kernel(io_schedule) = 0x93a6e0b2 kernel(iput) = 0x6f7237e5 kernel(jiffies) = 0x7d11c268 kernel(kern_mount_data) = 0x41243749 kernel(kfree) = 0x037a0cba kernel(kill_anon_super) = 0x0bf0087f kernel(kill_litter_super) = 0xe6c1af0f kernel(__kmalloc) = 0x5a34a45c kernel(kmem_cache_alloc) = 0xee065ced kernel(kmem_cache_alloc_trace) = 0x2044fa9e kernel(kmem_cache_create) = 0xe4a639f8 kernel(kmem_cache_destroy) = 0x806e575f kernel(kmem_cache_free) = 0x7329e40d kernel(__list_add) = 0x0343a1a8 kernel(list_del) = 0x0521445b kernel(malloc_sizes) = 0xd691cba2 kernel(match_int) = 0x4e3567f7 kernel(match_token) = 0x44e9a829 kernel(mcount) = 0xb4390f9a kernel(mntput_no_expire) = 0x573df082 kernel(module_layout) = 0x14522340 kernel(mutex_lock) = 0xfee8a795 kernel(mutex_unlock) = 0x03758301 kernel(new_inode) = 0x1bbc7e28 kernel(per_cpu__cpu_number) = 0x9629486a kernel(per_cpu__current_task) = 0x4f1939c7 kernel(per_cpu__kernel_stack) = 0x6dcaeb88 kernel(printk) = 0xea147363 kernel(proc_mkdir) = 0xed113e22 kernel(put_page) = 0x72b295a3 kernel(__put_user_2) = 0x5a4896a8 kernel(__put_user_4) = 0xb2fd5ceb kernel(__put_user_8) = 0xb8e7ce2c kernel(pv_irq_ops) = 0x78764f4e kernel(register_filesystem) = 0x78b31f3f kernel(remove_proc_entry) = 0x1a6d6e4f kernel(remove_wait_queue) = 0x71356fba kernel(schedule_timeout) = 0xd62c833f kernel(seq_lseek) = 0x5ca8e4f6 kernel(seq_open) = 0x4e06a175 kernel(seq_printf) = 0x77e93f6f kernel(seq_read) = 0xb72ec8a3 kernel(seq_release) = 0x3ea3a773 kernel(set_blocksize) = 0xe4eef282 kernel(set_page_dirty_lock) = 0x4ce05e28 kernel(si_meminfo) = 0xb3a307c6 kernel(simple_dir_inode_operations) = 0x8a5333f1 kernel(simple_dir_operations) = 0x49c87060 kernel(simple_getattr) = 0x82dc45fd kernel(simple_lookup) = 0x780a6992 kernel(simple_statfs) = 0x7b44b873 kernel(simple_sync_file) = 0xb22f1ce6 kernel(simple_unlink) = 0x6789d942 kernel(_spin_lock_irq) = 0xecde1418 kernel(_spin_lock_irqsave) = 0x712aa29b kernel(_spin_unlock_irqrestore) = 0x4b07e779 kernel(__stack_chk_fail) = 0xf0fdf6cb kernel(strchr) = 0x349cba85 kernel(strlen) = 0x25ec1b28 kernel(strnicmp) = 0x756e6992 kernel(strsep) = 0x85df9b6c kernel(submit_bio) = 0x1cd29603 kernel(unlock_new_inode) = 0x6dc5dd8b kernel(unregister_filesystem) = 0x95667111 kernel(__wake_up) = 0x642e54ac
Processing files: oracleasm-debuginfo-2.0.6.rh1-2.el6.x86_64
Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/softlayer/rpmbuild/BUILDROOT/oracleasm-2.0.6.rh1-2.el6.x86_64
Wrote: /home/softlayer/rpmbuild/SRPMS/oracleasm-2.0.6.rh1-2.el6.src.rpm
Wrote: /home/softlayer/rpmbuild/RPMS/x86_64/kmod-oracleasm-2.0.6.rh1-2.el6.x86_64.rpm
Wrote: /home/softlayer/rpmbuild/RPMS/x86_64/oracleasm-debuginfo-2.0.6.rh1-2.el6.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.wKON0p
+ umask 022
+ cd /home/softlayer/rpmbuild/BUILD
+ cd oracleasm-2.0.6.rh1
+ rm -rf /home/softlayer/rpmbuild/BUILDROOT/oracleasm-2.0.6.rh1-2.el6.x86_64
+ exit 0
[softlayer@iscsi01 ~]$ sudo mv /home/softlayer/rpmbuild/RPMS/x86_64/*.rpm /var/www/html/repo.nosig/
[softlayer@iscsi01 ~]$ sudo createrepo /var/www/html/repo.nosig/
Spawning worker 0 with 2 pkgs
Workers Finished
Gathering worker results

Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete


[1:41 $0.696] ビルドしたパッケージをインストールします。


[softlayer@iscsi01 ~]$ ssh -A db01
[softlayer@db01 ~]$ sudo yum -y localinstall http://repo01/repo.nosig/kmod-oracleasm-2.0.6.rh1-2.el6.x86_64.rpm
[softlayer@db01 ~]$ exit
[softlayer@iscsi01 ~]$ ssh db02
[softlayer@db02 ~]$ sudo yum -y localinstall http://repo01/repo.nosig/kmod-oracleasm-2.0.6.rh1-2.el6.x86_64.rpm
[softlayer@db02 ~]$ exit



[1:44 $0.696] db01 サーバにログインし、grid、oracle アカウントのパスワード設定を行い、db02 サーバにもログインし、grid、oracle アカウントのパスワード設定を行います。


[softlayer@iscsi01 ~]$ ssh -A db01
[softlayer@db01 ~]$ su - grid
Password: oracle
You are required to change your password immediately (root enforced)
Changing password for grid.
(current) UNIX password: oracle
New password: ********
Retype new password: ********
[grid@db01 ~]$ exit
logout
[softlayer@db01 ~]$ su - oracle
Password: oracle
You are required to change your password immediately (root enforced)
Changing password for oracle.
(current) UNIX password: oracle
New password: ********
Retype new password: ********
[oracle@db01 ~]$ exit
logout
[softlayer@db01 ~]$ ssh db02
[softlayer@db02 ~]$ su - grid
Password: oracle
You are required to change your password immediately (root enforced)
Changing password for grid.
(current) UNIX password: oracle
New password: ********
Retype new password: ********
[grid@db02 ~]$ exit
logout
[softlayer@db02 ~]$ su - oracle
Password: oracle
You are required to change your password immediately (root enforced)
Changing password for oracle.
(current) UNIX password: oracle
New password: ********
Retype new password: ********
[oracle@db02 ~]$ exit
logout
[softlayer@db02 ~]$ exit
logout
Connection to db02 closed.
[softlayer@db01 ~]$



[1:46 $0.696] インストーラをダウンロードし、解凍します。


[softlayer@db01 ~]$ sudo mkdir /u01/installer/
[softlayer@db01 ~]$ sudo chown softlayer:oinstall /u01/installer/
[softlayer@db01 ~]$ cd /u01/installer/
[softlayer@db01 installer]$ curl -O http://repo01/oracle/linuxamd64_12c_database_1of2.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1297M  100 1297M    0     0   111M      0  0:00:11  0:00:11 --:--:--  111M
[softlayer@db01 installer]$ curl -O http://repo01/oracle/linuxamd64_12c_database_2of2.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1064M  100 1064M    0     0   110M      0  0:00:09  0:00:09 --:--:--  109M
[softlayer@db01 installer]$ curl -O http://repo01/oracle/linuxamd64_12c_grid_1of2.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1669M  100 1669M    0     0   109M      0  0:00:15  0:00:15 --:--:--  107M
[softlayer@db01 installer]$ curl -O http://repo01/oracle/linuxamd64_12c_grid_2of2.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  192M  100  192M    0     0   109M      0  0:00:01  0:00:01 --:--:--  109M
[softlayer@db01 installer]$ unzip linuxamd64_12c_database_1of2.zip
[softlayer@db01 installer]$ unzip linuxamd64_12c_database_2of2.zip
[softlayer@db01 installer]$ unzip linuxamd64_12c_grid_1of2.zip
[softlayer@db01 installer]$ unzip linuxamd64_12c_grid_2of2.zip



[1:49 $0.696] cvuqdisk パッケージをインストールします。


[softlayer@db01 installer]$ sudo CVUQDISK_GRP=oinstall yum -y localinstall grid/rpm/cvuqdisk-1.0.9-1.rpm
[softlayer@db01 installer]$ scp grid/rpm/cvuqdisk-1.0.9-1.rpm db02:
[softlayer@db01 installer]$ cd
[softlayer@db01 ~]$ ssh db02
[softlayer@db02 ~]$ sudo CVUQDISK_GRP=oinstall yum -y localinstall cvuqdisk-1.0.9-1.rpm
[softlayer@db02 ~]$ rm -f cvuqdisk-1.0.9-1.rpm
[softlayer@db02 ~]$ exit
logout
Connection to db02 closed.
[softlayer@db01 ~]$



[1:50 $0.696] iSCSI の LUN にパーティションを作成します。


[softlayer@db01 ~]$ sudo fdisk -H 64 -S 32 /dev/sdb << 'EOF'
o
n
p
1


p
w
EOF
sudo fdisk -H 64 -S 32 /dev/sdc << 'EOF'
o
n
p
1


p
w
EOF
sudo fdisk -H 64 -S 32 /dev/sdd << 'EOF'
o
n
p
1


p
w
EOF
sudo fdisk -H 64 -S 32 /dev/sde << 'EOF'
o
n
p
1


p
w
EOF
sudo fdisk -H 64 -S 32 /dev/sdf << 'EOF'
o
n
p
1


p
w
EOF
sudo fdisk -H 64 -S 32 /dev/sdg << 'EOF'
o
n
p
1


p
w
EOF
sudo fdisk -H 64 -S 32 /dev/sdh << 'EOF'
o
n
p
1


p
w
EOF
sudo fdisk -H 64 -S 32 /dev/sdi << 'EOF'
o
n
p
1


p
w
EOF
if [ -e /proc/xen ]; then
sudo fdisk -H 64 -S 32 /dev/sda << 'EOF'
o
n
p
1


p
w
EOF
else
sudo fdisk -H 64 -S 32 /dev/sdj << 'EOF'
o
n
p
1


p
w
EOF
fi



[1:51 $0.696] asmlib を設定します。


[softlayer@db01 ~]$ cat << 'EOF' | sudo tee /etc/sysconfig/oracleasm-_dev_oracleasm
#
# This is a configuration file for automatic loading of the Oracle
# Automatic Storage Management library kernel driver.  It is generated
# By running /etc/init.d/oracleasm configure.  Please use that method
# to modify this file
#

# ORACLEASM_ENABLED: 'true' means to load the driver on boot.
ORACLEASM_ENABLED=true

# ORACLEASM_UID: Default user owning the /dev/oracleasm mount point.
ORACLEASM_UID=grid

# ORACLEASM_GID: Default group owning the /dev/oracleasm mount point.
ORACLEASM_GID=asmadmin

# ORACLEASM_SCANBOOT: 'true' means scan for ASM disks on boot.
ORACLEASM_SCANBOOT=true

# ORACLEASM_SCANORDER: Matching patterns to order disk scanning
ORACLEASM_SCANORDER=""

# ORACLEASM_SCANEXCLUDE: Matching patterns to exclude disks from scan
ORACLEASM_SCANEXCLUDE=""

# ORACLEASM_USE_LOGICAL_BLOCK_SIZE: 'true' means use the logical block size
# reported by the underlying disk instead of the physical. The default
# is 'false'
ORACLEASM_USE_LOGICAL_BLOCK_SIZE=false

EOF
[softlayer@db01 ~]$ sudo rm /etc/sysconfig/oracleasm
[softlayer@db01 ~]$ sudo ln -s oracleasm-_dev_oracleasm /etc/sysconfig/oracleasm
[softlayer@db01 ~]$ sudo /etc/init.d/oracleasm start
Initializing the Oracle ASMLib driver:                     [  OK  ]
Scanning the system for Oracle ASMLib disks:               [  OK  ]

[softlayer@db01 ~]$ if [ -e /proc/xen ]; then
  sudo oracleasm createdisk CTRL1 /dev/sda1
  sudo oracleasm createdisk CTRL2 /dev/sdb1
  sudo oracleasm createdisk CTRL3 /dev/sdc1
  sudo oracleasm createdisk DATA1 /dev/sdd1
  sudo oracleasm createdisk DATA2 /dev/sde1
  sudo oracleasm createdisk DATA3 /dev/sdf1
  sudo oracleasm createdisk FRA1 /dev/sdg1
  sudo oracleasm createdisk FRA2 /dev/sdh1
  sudo oracleasm createdisk FRA3 /dev/sdi1
else
  sudo oracleasm createdisk CTRL1 /dev/sdb1
  sudo oracleasm createdisk CTRL2 /dev/sdc1
  sudo oracleasm createdisk CTRL3 /dev/sdd1
  sudo oracleasm createdisk DATA1 /dev/sde1
  sudo oracleasm createdisk DATA2 /dev/sdf1
  sudo oracleasm createdisk DATA3 /dev/sdg1
  sudo oracleasm createdisk FRA1 /dev/sdh1
  sudo oracleasm createdisk FRA2 /dev/sdi1
  sudo oracleasm createdisk FRA3 /dev/sdj1
fi
Writing disk header: done
Instantiating disk: done
Writing disk header: done
Instantiating disk: done
Writing disk header: done
Instantiating disk: done
Writing disk header: done
Instantiating disk: done
Writing disk header: done
Instantiating disk: done
Writing disk header: done
Instantiating disk: done
Writing disk header: done
Instantiating disk: done
Writing disk header: done
Instantiating disk: done
Writing disk header: done
Instantiating disk: done

[softlayer@db01 ~]$ sudo oracleasm listdisks
CTRL1
CTRL2
CTRL3
DATA1
DATA2
DATA3
FRA1
FRA2
FRA3

[softlayer@db01 ~]$ sudo sed -i -e '/oracleasm/d' /etc/rc.local
[softlayer@db01 ~]$ echo '/etc/init.d/oracleasm start' | sudo tee -a /etc/rc.local
[softlayer@db01 ~]$ ssh db02
[softlayer@db02 ~]$ cat << 'EOF' | sudo tee /etc/sysconfig/oracleasm-_dev_oracleasm
#
# This is a configuration file for automatic loading of the Oracle
# Automatic Storage Management library kernel driver.  It is generated
# By running /etc/init.d/oracleasm configure.  Please use that method
# to modify this file
#

# ORACLEASM_ENABLED: 'true' means to load the driver on boot.
ORACLEASM_ENABLED=true

# ORACLEASM_UID: Default user owning the /dev/oracleasm mount point.
ORACLEASM_UID=grid

# ORACLEASM_GID: Default group owning the /dev/oracleasm mount point.
ORACLEASM_GID=asmadmin

# ORACLEASM_SCANBOOT: 'true' means scan for ASM disks on boot.
ORACLEASM_SCANBOOT=true

# ORACLEASM_SCANORDER: Matching patterns to order disk scanning
ORACLEASM_SCANORDER=""

# ORACLEASM_SCANEXCLUDE: Matching patterns to exclude disks from scan
ORACLEASM_SCANEXCLUDE=""

# ORACLEASM_USE_LOGICAL_BLOCK_SIZE: 'true' means use the logical block size
# reported by the underlying disk instead of the physical. The default
# is 'false'
ORACLEASM_USE_LOGICAL_BLOCK_SIZE=false

EOF
[softlayer@db02 ~]$ sudo rm /etc/sysconfig/oracleasm
[softlayer@db02 ~]$ sudo ln -s oracleasm-_dev_oracleasm /etc/sysconfig/oracleasm
[softlayer@db02 ~]$ sudo /etc/init.d/oracleasm start
Initializing the Oracle ASMLib driver:                     [  OK  ]
Scanning the system for Oracle ASMLib disks:               [  OK  ]

[softlayer@db02 ~]$ sudo oracleasm listdisks
CTRL1
CTRL2
CTRL3
DATA1
DATA2
DATA3
FRA1
FRA2
FRA3

[softlayer@db02 ~]$ sudo sed -i -e '/oracleasm/d' /etc/rc.local
[softlayer@db02 ~]$ echo '/etc/init.d/oracleasm start' | sudo tee -a /etc/rc.local
[softlayer@db02 ~]$ exit
logout
Connection to db02 closed.
[softlayer@db01 ~]$



[1:54 $0.696] db01 サーバに vnc でログインできるようにします。


[softlayer@db01 ~]$ vncpasswd
Password: ********
Verify: ********
[softlayer@db01 ~]$ sudo init 5
[softlayer@db01 ~]$ sudo /etc/init.d/messagebus start
Starting system message bus:                               [  OK  ]
[softlayer@db01 ~]$ sudo /etc/init.d/haldaemon start
Starting HAL daemon:                                       [  OK  ]
[softlayer@db01 ~]$ sudo /etc/init.d/vncserver start
Starting VNC server: 1:softlayer xauth:  creating new authority file /home/softlayer/.Xauthority

New 'db01.example.com:1 (softlayer)' desktop is db01.example.com:1

Creating default startup script /home/softlayer/.vnc/xstartup
Starting applications specified in /home/softlayer/.vnc/xstartup
Log file is /home/softlayer/.vnc/db01.example.com:1.log

                                                           [  OK  ]

[softlayer@db01 ~]$ exit
logout
Connection to db02 closed.
[softlayer@iscsi01 ~]$ ssh -A -L 5902:localhost:5901 db01



[1:55 $0.696] ここからは GUI 操作での案内となります。


iscsi01 サーバに直接接続している Teraterm の [設定]-[SSH転送]をクリックします。[SSHポート転送] 画面にて [追加] ボタンをクリックします。
ローカルのポート、リモート側ホストのポートの両方に「5902」を入力し [OK] ボタンをクリックします。[SSHポート転送] 画面にて [OK] ボタンをクリックします。

VNC ビューアを起動します。
[VNC Server:] 欄に「127.0.0.1:5902」と入力し、[Connect] ボタンをクリックします。
[VNC Authentication] 画面が出るので、先ほど設定したパスワードを入力し、[Log On] ボタンをクリックします。


[1:56 $0.696] [Applications]-[System Tools]-[Terminal] をクリックし、端末を開きます。

他のアカウントで実行される X クライアントプログラムのウィンドウを softlayer アカウントが今開いているこのディスプレイに表示することを許可します。


[softlayer@db01 ~]$ xhost +
access control disabled, clients can connect from any host



Oracle RAC の基盤にあたる Grid Infrastructure のインストーラを起動します。grid アカウントで起動する必要があります。


[softlayer@db01 ~]$ sudo su - grid -c /u01/installer/grid/runInstaller



[Skip software updates] を選択し、[Next] ボタンをクリックします。



[Install and Configure Oracle Grid Infrastructure for a Cluster] を選択し、[Next] ボタンをクリックします。



[Configure a Standard Cluster] を選択し、[Next] ボタンをクリックします。
「Flex cluster」 は 12c の新機能です。3台以上で Grid を構成するときのものです。今回は2台なのでこの新機能を試す余地がありません。あえて試してみてもよいかもしれませんが未検証です。



[Advanced Installation] を選択し、[Next] ボタンをクリックします。



使用する言語を指定します。日本語ロケールでインストーラを起動すると、日本語、英語の順で右側ペインに表示されるので、念のため、JapaneseEnglish の順になるように操作しています。
Japanese を足し、English を削除し、削除不能で拒絶され自動的に English が追加されると意図した順序に並びます。





意図したとおりに指定できたので、[Next] ボタンをクリックします。

※ この並び順に意味があるのかどうかは知りません。たぶんないです。念のためです。



[Cluster Name] に 「db-cluster」、[SCAN Name] に 「rac-scan.example.com」、[SCAN Port] に 「1521」 を入力し、[Configure GNS] のチェックを外して [Next] ボタンをクリックします。



今回 Grid Infrastructure に参加するホストのパブリックホスト名、仮想ホスト名のリストとなるように指定します。




意図したリスト指定ができたら [Next] ボタンをクリックします。



bond0 (eth0) がパブリック用途、bond1 (eth1) がプライベート用途という指定になっていることを確認し、[Next] ボタンをクリックします。



[Yes] を選択し、[Next] ボタンをクリックします。
こちらは 12c の新機能です。Grid Infrastructure Management Repository があってもなくても以降の操作に差異はなさそうです。試しに入れてみることにします。こちらのバックアップについて、考慮事項が増えてしまいそうな予感がしています。



[Use Oracle Flex ASM for storage] を選択し、[Next] ボタンをクリックします。
Flex ASM は 12c の新機能です。ここで 「Use Standard ASM for storage」 を選択して続行するとうまくいきませんでした。



ASM ディスクグループを作成します。[Disk group name] に 「CTRL」 を入力します。
[Change Discovery Path] ボタンをクリックします。



[Disk Discovery Path] に 「/dev/oracleasm/disks/*」 を入力して [OK] ボタンをクリックします。



CTRL1CTRL2CTRL3 のみチェックし、[Next] ボタンをクリックします。
[Redundancy] が 「Normal」 の場合、LUN が最低で3つ必要となります。LUN のサイズが 20GB であることも確認してください。



パスワードを設定します。今回は、[Use same passwords for these accounts] を選択し、「oracle」をパスワードとして2か所に入力し、[Next] ボタンをクリックします。



パスワードに関する警告が出ます。
[Yes] ボタンをクリックします。



[Do not use Intelligent Platform Management Interface (IPMI)] を選択し、[Next] ボタンをクリックします。
SoftLayer の物理マシンには IPMI が提供されていますが、全権限が与えられている訳ではありません。ここで指定して動くかどうか未検証です。

Open Source の Pacemaker というクラスタソフトでは機能しませんでした。こちらは、全権限を得てからシャットダウンさせようとする仕様となっているためです。プラグインを自作すれば機能するようになると考えていますが、そこまではやっていません。

※2014/9/15 追記
Pacemaker では、privilege level を指定できるようになっていました。デフォルトの Administrator 権限ではなく、Operator 権限で動かすことができます。cluster-glue パッケージの /usr/lib64/stonith/plugins/external/ipmi を読むと出ていました。Pacemaker での動作検証はしていませんが、ipmitool コマンドで 「-L operator」 オプションを追加すれば強制リセットができることを確認しました。

クラスタを組んでいて困るのが、中途半端に壊れることです。ノードの電源が切れる、みたいに全壊してくれると状況の把握が楽です。IPMI を利用し、中途半端に壊れている可能性がある状態であっても、生き残りノードと判断した側が相手にとどめを刺す(IPMI 経由でサーバをシャットダウンさせる)ことで、中途半端な状態を回避します。積極的に利用したい機能です。



グループを指定します。デフォルト状態で問題ないはずです。以下のようになっていることを確認し、[Next] ボタンをクリックします。



[Oracle base] に 「/u01/app/grid」、[Software location] に 「/u01/app/12.1.0/grid」 を入力し、[Next] ボタンをクリックします。先にディレクトリを作成済みなのでデフォルト値が 「/u01/app/12.1.0/grid_1」 となっている点に注意してください。



[Inventory Directory] に 「/u01/app/oraInventory」 を入力し、[Next] ボタンをクリックします。



[Automatically run configuration scripts] のチェックを外し、[Next] ボタンをクリックします。
12c インストーラが改善されました。root アカウントのパスワードを知っていれば、指定することでインストール作業が少し楽になります。今回は指定しません。



インストール要件が満たされているかどうかチェックされます。今回は ASM 関連の警告 (Warning) が1件ないし2件出てきますが、どちらも問題ないので無視します。[Ignore All] にチェックを入れ [Next] ボタンをクリックします。


※ Physical Memory について Warning となる場合、とりあえず無視できます。仮想マシンに 4GB のメモリを割り当てていても、インストーラーへは、少し足りない状態で報告されているようです。
12c の検証用途では 2.5GB でも動く、という報告を見たことがあります。

※ データベースサーバを仮想マシンで発注した場合、今回の設定では、Network Time Protocol (NTP) が Failed になってしまいます。こちらを無視してもインストールが続行できるようです。
Cluster Time Synchronization Service (CTSS) を入れてみる、ということはやらないこととします。
続行すると、インストールの最後のところで、Oracle Cluster Verification Utility がエラーとなってしまいます。db01、db02 サーバの両方で 「sudo /etc/init.d/ntpd start」 を実行し、[Retry] すれば、同期できているかどうかに関わらず、インストールが成功します。

警告がでます。[Yes] ボタンをクリックします。



[2:04 $0.764] 最終確認画面が出てきます。[Install] ボタンをクリックします。



[2:12 $0.764] しばらくすると、root にて実行すべきスクリプトがリストアップされるので順番に実行します。ここの部分は VNC 画面内の端末ではなく、ポート転送している端末側で操作してください。VNC 画面内の端末では、db02 への ssh 接続が失敗します。秘密鍵がなく、エージェント転送もされていないからです。3番目に実行したスクリプトは約18分、4番目に実行したスクリプトは約9分かかりました。


[softlayer@db01 ~]$ sudo /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.
[softlayer@db01 ~]$ ssh db02
[softlayer@db02 ~]$ sudo /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.
[softlayer@db02 ~]$ exit
logout
Connection to db02 closed.
[softlayer@db01 ~]$ echo | sudo /u01/app/12.1.0/grid/root.sh
Performing root user operation for Oracle 12c

The following environment variables are set as:
    ORACLE_OWNER= grid
    ORACLE_HOME=  /u01/app/12.1.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/12.1.0/grid/crs/install/crsconfig_params
2014/07/19 17:05:36 CLSRSC-363: User ignored prerequisites during installation

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
2014/07/19 17:06:13 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.conf'

CRS-4133: Oracle High Availability Services has been stopped.
CRS-4123: Oracle High Availability Services has been started.
CRS-4133: Oracle High Availability Services has been stopped.
CRS-4123: Oracle High Availability Services has been started.
CRS-2673: Attempting to stop 'ora.drivers.acfs' on 'db01'
CRS-2677: Stop of 'ora.drivers.acfs' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.evmd' on 'db01'
CRS-2672: Attempting to start 'ora.mdnsd' on 'db01'
CRS-2676: Start of 'ora.evmd' on 'db01' succeeded
CRS-2676: Start of 'ora.mdnsd' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.gpnpd' on 'db01'
CRS-2676: Start of 'ora.gpnpd' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'db01'
CRS-2672: Attempting to start 'ora.gipcd' on 'db01'
CRS-2676: Start of 'ora.cssdmonitor' on 'db01' succeeded
CRS-2676: Start of 'ora.gipcd' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'db01'
CRS-2672: Attempting to start 'ora.diskmon' on 'db01'
CRS-2676: Start of 'ora.diskmon' on 'db01' succeeded
CRS-2676: Start of 'ora.cssd' on 'db01' succeeded

ASM created and started successfully.

Disk Group CTRL created successfully.

CRS-2672: Attempting to start 'ora.crf' on 'db01'
CRS-2672: Attempting to start 'ora.storage' on 'db01'
CRS-2676: Start of 'ora.storage' on 'db01' succeeded
CRS-2676: Start of 'ora.crf' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.crsd' on 'db01'
CRS-2676: Start of 'ora.crsd' on 'db01' succeeded
CRS-4256: Updating the profile
Successful addition of voting disk 61dc8dde505d4f25bf2d836bd51d306e.
Successful addition of voting disk f5350571c3194f7abfaadae49aadfe89.
Successful addition of voting disk bebfe6da56fc4fe8bf3ab99063ddb1f9.
Successfully replaced voting disk group with +CTRL.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   61dc8dde505d4f25bf2d836bd51d306e (/dev/oracleasm/disks/CTRL1) [CTRL]
 2. ONLINE   f5350571c3194f7abfaadae49aadfe89 (/dev/oracleasm/disks/CTRL2) [CTRL]
 3. ONLINE   bebfe6da56fc4fe8bf3ab99063ddb1f9 (/dev/oracleasm/disks/CTRL3) [CTRL]
Located 3 voting disk(s).
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'db01'
CRS-2673: Attempting to stop 'ora.crsd' on 'db01'
CRS-2677: Stop of 'ora.crsd' on 'db01' succeeded
CRS-2673: Attempting to stop 'ora.mdnsd' on 'db01'
CRS-2673: Attempting to stop 'ora.gpnpd' on 'db01'
CRS-2673: Attempting to stop 'ora.crf' on 'db01'
CRS-2673: Attempting to stop 'ora.ctssd' on 'db01'
CRS-2673: Attempting to stop 'ora.evmd' on 'db01'
CRS-2673: Attempting to stop 'ora.storage' on 'db01'
CRS-2673: Attempting to stop 'ora.drivers.acfs' on 'db01'
CRS-2677: Stop of 'ora.storage' on 'db01' succeeded
CRS-2673: Attempting to stop 'ora.asm' on 'db01'
CRS-2677: Stop of 'ora.drivers.acfs' on 'db01' succeeded
CRS-2677: Stop of 'ora.crf' on 'db01' succeeded
CRS-2677: Stop of 'ora.mdnsd' on 'db01' succeeded
CRS-2677: Stop of 'ora.gpnpd' on 'db01' succeeded
CRS-2677: Stop of 'ora.evmd' on 'db01' succeeded
CRS-2677: Stop of 'ora.asm' on 'db01' succeeded
CRS-2673: Attempting to stop 'ora.cluster_interconnect.haip' on 'db01'
CRS-2677: Stop of 'ora.cluster_interconnect.haip' on 'db01' succeeded
CRS-2677: Stop of 'ora.ctssd' on 'db01' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on 'db01'
CRS-2677: Stop of 'ora.cssd' on 'db01' succeeded
CRS-2673: Attempting to stop 'ora.gipcd' on 'db01'
CRS-2677: Stop of 'ora.gipcd' on 'db01' succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'db01' has completed
CRS-4133: Oracle High Availability Services has been stopped.
CRS-4123: Starting Oracle High Availability Services-managed resources
CRS-2672: Attempting to start 'ora.mdnsd' on 'db01'
CRS-2672: Attempting to start 'ora.evmd' on 'db01'
CRS-2676: Start of 'ora.evmd' on 'db01' succeeded
CRS-2676: Start of 'ora.mdnsd' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.gpnpd' on 'db01'
CRS-2676: Start of 'ora.gpnpd' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.gipcd' on 'db01'
CRS-2676: Start of 'ora.gipcd' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'db01'
CRS-2676: Start of 'ora.cssdmonitor' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'db01'
CRS-2672: Attempting to start 'ora.diskmon' on 'db01'
CRS-2676: Start of 'ora.diskmon' on 'db01' succeeded
CRS-2789: Cannot stop resource 'ora.diskmon' as it is not running on server 'db01'
CRS-2676: Start of 'ora.cssd' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.cluster_interconnect.haip' on 'db01'
CRS-2672: Attempting to start 'ora.ctssd' on 'db01'
CRS-2676: Start of 'ora.ctssd' on 'db01' succeeded
CRS-2676: Start of 'ora.cluster_interconnect.haip' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.asm' on 'db01'
CRS-2676: Start of 'ora.asm' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.storage' on 'db01'
CRS-2676: Start of 'ora.storage' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.crf' on 'db01'
CRS-2676: Start of 'ora.crf' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.crsd' on 'db01'
CRS-2676: Start of 'ora.crsd' on 'db01' succeeded
CRS-6023: Starting Oracle Cluster Ready Services-managed resources
CRS-6017: Processing resource auto-start for servers: db01
CRS-6016: Resource auto-start has completed for server db01
CRS-6024: Completed start of Oracle Cluster Ready Services-managed resources
CRS-4123: Oracle High Availability Services has been started.
2014/07/19 17:14:48 CLSRSC-343: Successfully started Oracle clusterware stack

CRS-2672: Attempting to start 'ora.ASMNET1LSNR_ASM.lsnr' on 'db01'
CRS-2676: Start of 'ora.ASMNET1LSNR_ASM.lsnr' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.asm' on 'db01'
CRS-2676: Start of 'ora.asm' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.CTRL.dg' on 'db01'
CRS-2676: Start of 'ora.CTRL.dg' on 'db01' succeeded
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'db01'
CRS-2673: Attempting to stop 'ora.crsd' on 'db01'
CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on 'db01'
CRS-2673: Attempting to stop 'ora.CTRL.dg' on 'db01'
CRS-2673: Attempting to stop 'ora.cvu' on 'db01'
CRS-2673: Attempting to stop 'ora.LISTENER_SCAN1.lsnr' on 'db01'
CRS-2673: Attempting to stop 'ora.db01.vip' on 'db01'
CRS-2673: Attempting to stop 'ora.oc4j' on 'db01'
CRS-2673: Attempting to stop 'ora.LISTENER_SCAN2.lsnr' on 'db01'
CRS-2673: Attempting to stop 'ora.LISTENER_SCAN3.lsnr' on 'db01'
CRS-2677: Stop of 'ora.cvu' on 'db01' succeeded
CRS-2677: Stop of 'ora.LISTENER_SCAN2.lsnr' on 'db01' succeeded
CRS-2673: Attempting to stop 'ora.scan2.vip' on 'db01'
CRS-2677: Stop of 'ora.LISTENER_SCAN3.lsnr' on 'db01' succeeded
CRS-2677: Stop of 'ora.LISTENER_SCAN1.lsnr' on 'db01' succeeded
CRS-2673: Attempting to stop 'ora.scan1.vip' on 'db01'
CRS-2673: Attempting to stop 'ora.scan3.vip' on 'db01'
CRS-2677: Stop of 'ora.db01.vip' on 'db01' succeeded
CRS-2677: Stop of 'ora.scan2.vip' on 'db01' succeeded
CRS-2677: Stop of 'ora.scan3.vip' on 'db01' succeeded
CRS-2677: Stop of 'ora.oc4j' on 'db01' succeeded
CRS-2677: Stop of 'ora.scan1.vip' on 'db01' succeeded
CRS-2677: Stop of 'ora.CTRL.dg' on 'db01' succeeded
CRS-2673: Attempting to stop 'ora.asm' on 'db01'
CRS-2677: Stop of 'ora.asm' on 'db01' succeeded
CRS-2673: Attempting to stop 'ora.ASMNET1LSNR_ASM.lsnr' on 'db01'
CRS-2677: Stop of 'ora.ASMNET1LSNR_ASM.lsnr' on 'db01' succeeded
CRS-2673: Attempting to stop 'ora.ons' on 'db01'
CRS-2677: Stop of 'ora.ons' on 'db01' succeeded
CRS-2673: Attempting to stop 'ora.net1.network' on 'db01'
CRS-2677: Stop of 'ora.net1.network' on 'db01' succeeded
CRS-2792: Shutdown of Cluster Ready Services-managed resources on 'db01' has completed
CRS-2677: Stop of 'ora.crsd' on 'db01' succeeded
CRS-2673: Attempting to stop 'ora.evmd' on 'db01'
CRS-2673: Attempting to stop 'ora.gpnpd' on 'db01'
CRS-2673: Attempting to stop 'ora.mdnsd' on 'db01'
CRS-2673: Attempting to stop 'ora.drivers.acfs' on 'db01'
CRS-2677: Stop of 'ora.drivers.acfs' on 'db01' succeeded
CRS-2677: Stop of 'ora.gpnpd' on 'db01' succeeded
CRS-2677: Stop of 'ora.mdnsd' on 'db01' succeeded
CRS-2677: Stop of 'ora.evmd' on 'db01' succeeded
CRS-2673: Attempting to stop 'ora.crf' on 'db01'
CRS-2673: Attempting to stop 'ora.ctssd' on 'db01'
CRS-2673: Attempting to stop 'ora.storage' on 'db01'
CRS-2677: Stop of 'ora.storage' on 'db01' succeeded
CRS-2673: Attempting to stop 'ora.asm' on 'db01'
CRS-2677: Stop of 'ora.crf' on 'db01' succeeded
CRS-2677: Stop of 'ora.asm' on 'db01' succeeded
CRS-2673: Attempting to stop 'ora.cluster_interconnect.haip' on 'db01'
CRS-2677: Stop of 'ora.cluster_interconnect.haip' on 'db01' succeeded
CRS-2677: Stop of 'ora.ctssd' on 'db01' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on 'db01'
CRS-2677: Stop of 'ora.cssd' on 'db01' succeeded
CRS-2673: Attempting to stop 'ora.gipcd' on 'db01'
CRS-2677: Stop of 'ora.gipcd' on 'db01' succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'db01' has completed
CRS-4133: Oracle High Availability Services has been stopped.
CRS-4123: Starting Oracle High Availability Services-managed resources
CRS-2672: Attempting to start 'ora.mdnsd' on 'db01'
CRS-2672: Attempting to start 'ora.evmd' on 'db01'
CRS-2676: Start of 'ora.evmd' on 'db01' succeeded
CRS-2676: Start of 'ora.mdnsd' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.gpnpd' on 'db01'
CRS-2676: Start of 'ora.gpnpd' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.gipcd' on 'db01'
CRS-2676: Start of 'ora.gipcd' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'db01'
CRS-2676: Start of 'ora.cssdmonitor' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'db01'
CRS-2672: Attempting to start 'ora.diskmon' on 'db01'
CRS-2676: Start of 'ora.diskmon' on 'db01' succeeded
CRS-2789: Cannot stop resource 'ora.diskmon' as it is not running on server 'db01'
CRS-2676: Start of 'ora.cssd' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.cluster_interconnect.haip' on 'db01'
CRS-2672: Attempting to start 'ora.ctssd' on 'db01'
CRS-2676: Start of 'ora.ctssd' on 'db01' succeeded
CRS-2676: Start of 'ora.cluster_interconnect.haip' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.asm' on 'db01'
CRS-2676: Start of 'ora.asm' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.storage' on 'db01'
CRS-2676: Start of 'ora.storage' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.crf' on 'db01'
CRS-2676: Start of 'ora.crf' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.crsd' on 'db01'
CRS-2676: Start of 'ora.crsd' on 'db01' succeeded
CRS-6023: Starting Oracle Cluster Ready Services-managed resources
CRS-6017: Processing resource auto-start for servers: db01
CRS-2672: Attempting to start 'ora.scan2.vip' on 'db01'
CRS-2672: Attempting to start 'ora.scan3.vip' on 'db01'
CRS-2672: Attempting to start 'ora.scan1.vip' on 'db01'
CRS-2672: Attempting to start 'ora.oc4j' on 'db01'
CRS-2672: Attempting to start 'ora.db01.vip' on 'db01'
CRS-2672: Attempting to start 'ora.cvu' on 'db01'
CRS-2672: Attempting to start 'ora.ons' on 'db01'
CRS-2676: Start of 'ora.cvu' on 'db01' succeeded
CRS-2676: Start of 'ora.scan2.vip' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.LISTENER_SCAN2.lsnr' on 'db01'
CRS-2676: Start of 'ora.scan3.vip' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.LISTENER_SCAN3.lsnr' on 'db01'
CRS-2676: Start of 'ora.scan1.vip' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.LISTENER_SCAN1.lsnr' on 'db01'
CRS-2676: Start of 'ora.db01.vip' on 'db01' succeeded
CRS-2676: Start of 'ora.ons' on 'db01' succeeded
CRS-2676: Start of 'ora.LISTENER_SCAN2.lsnr' on 'db01' succeeded
CRS-2676: Start of 'ora.LISTENER_SCAN3.lsnr' on 'db01' succeeded
CRS-2676: Start of 'ora.LISTENER_SCAN1.lsnr' on 'db01' succeeded
CRS-2676: Start of 'ora.oc4j' on 'db01' succeeded
CRS-6016: Resource auto-start has completed for server db01
CRS-6024: Completed start of Oracle Cluster Ready Services-managed resources
CRS-4123: Oracle High Availability Services has been started.
2014/07/19 17:22:53 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded
[softlayer@db01 ~]$ ssh db02
[softlayer@db02 ~]$ echo | sudo /u01/app/12.1.0/grid/root.sh
Performing root user operation for Oracle 12c

The following environment variables are set as:
    ORACLE_OWNER= grid
    ORACLE_HOME=  /u01/app/12.1.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/12.1.0/grid/crs/install/crsconfig_params
2014/07/19 17:24:07 CLSRSC-363: User ignored prerequisites during installation

OLR initialization - successful
2014/07/19 17:24:33 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.conf'

CRS-4133: Oracle High Availability Services has been stopped.
CRS-4123: Oracle High Availability Services has been started.
CRS-4133: Oracle High Availability Services has been stopped.
CRS-4123: Oracle High Availability Services has been started.
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'db02'
CRS-2673: Attempting to stop 'ora.drivers.acfs' on 'db02'
CRS-2677: Stop of 'ora.drivers.acfs' on 'db02' succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'db02' has completed
CRS-4133: Oracle High Availability Services has been stopped.
CRS-4123: Starting Oracle High Availability Services-managed resources
CRS-2672: Attempting to start 'ora.mdnsd' on 'db02'
CRS-2672: Attempting to start 'ora.evmd' on 'db02'
CRS-2676: Start of 'ora.evmd' on 'db02' succeeded
CRS-2676: Start of 'ora.mdnsd' on 'db02' succeeded
CRS-2672: Attempting to start 'ora.gpnpd' on 'db02'
CRS-2676: Start of 'ora.gpnpd' on 'db02' succeeded
CRS-2672: Attempting to start 'ora.gipcd' on 'db02'
CRS-2676: Start of 'ora.gipcd' on 'db02' succeeded
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'db02'
CRS-2676: Start of 'ora.cssdmonitor' on 'db02' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'db02'
CRS-2672: Attempting to start 'ora.diskmon' on 'db02'
CRS-2676: Start of 'ora.diskmon' on 'db02' succeeded
CRS-2789: Cannot stop resource 'ora.diskmon' as it is not running on server 'db02'
CRS-2676: Start of 'ora.cssd' on 'db02' succeeded
CRS-2672: Attempting to start 'ora.cluster_interconnect.haip' on 'db02'
CRS-2672: Attempting to start 'ora.ctssd' on 'db02'
CRS-2676: Start of 'ora.ctssd' on 'db02' succeeded
CRS-2676: Start of 'ora.cluster_interconnect.haip' on 'db02' succeeded
CRS-2672: Attempting to start 'ora.asm' on 'db02'
CRS-2676: Start of 'ora.asm' on 'db02' succeeded
CRS-2672: Attempting to start 'ora.storage' on 'db02'
CRS-2676: Start of 'ora.storage' on 'db02' succeeded
CRS-2672: Attempting to start 'ora.crf' on 'db02'
CRS-2676: Start of 'ora.crf' on 'db02' succeeded
CRS-2672: Attempting to start 'ora.crsd' on 'db02'
CRS-2676: Start of 'ora.crsd' on 'db02' succeeded
CRS-6017: Processing resource auto-start for servers: db02
CRS-2673: Attempting to stop 'ora.LISTENER_SCAN1.lsnr' on 'db01'
CRS-2672: Attempting to start 'ora.ASMNET1LSNR_ASM.lsnr' on 'db02'
CRS-2672: Attempting to start 'ora.ons' on 'db02'
CRS-2677: Stop of 'ora.LISTENER_SCAN1.lsnr' on 'db01' succeeded
CRS-2673: Attempting to stop 'ora.scan1.vip' on 'db01'
CRS-2677: Stop of 'ora.scan1.vip' on 'db01' succeeded
CRS-2672: Attempting to start 'ora.scan1.vip' on 'db02'
CRS-2676: Start of 'ora.scan1.vip' on 'db02' succeeded
CRS-2672: Attempting to start 'ora.LISTENER_SCAN1.lsnr' on 'db02'
CRS-2676: Start of 'ora.ons' on 'db02' succeeded
CRS-2676: Start of 'ora.ASMNET1LSNR_ASM.lsnr' on 'db02' succeeded
CRS-2672: Attempting to start 'ora.asm' on 'db02'
CRS-2676: Start of 'ora.LISTENER_SCAN1.lsnr' on 'db02' succeeded
CRS-2676: Start of 'ora.asm' on 'db02' succeeded
CRS-2672: Attempting to start 'ora.proxy_advm' on 'db02'
CRS-2676: Start of 'ora.proxy_advm' on 'db02' succeeded
CRS-6016: Resource auto-start has completed for server db02
CRS-6024: Completed start of Oracle Cluster Ready Services-managed resources
CRS-4123: Oracle High Availability Services has been started.
2014/07/19 17:32:13 CLSRSC-343: Successfully started Oracle clusterware stack

2014/07/19 17:32:31 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded
[softlayer@db02 ~]$ exit
logout
Connection to db02 closed.
[softlayer@db01 ~]$


[2:39 $1.320] スクリプトの実行が完了したら [OK] ボタンをクリックします。



[2:46 $1.320] しばらく待って、実行が完了したら [Close] ボタンをクリックします。



[2:47 $1.320] Oracle Database のインストーラを起動します。oracle アカウントで起動する必要があります。


[softlayer@db01 ~]$ sudo su - oracle -c /u01/installer/database/runInstaller



[I wish to receive security updates via My Oracle Support] のチェックを外し、[Next] ボタンをクリックします。



警告が出ます。[Yes] ボタンをクリックします。



[Skip software updates] を選択し、[Next] ボタンをクリックします。



[Install database software only] を選択し、[Next] ボタンをクリックします。



[Oracle Real Application Clusters database installation] を選択し、[Next] ボタンをクリックします。



db01db02 にチェックを入れ、[Next] ボタンをクリックします。



JapaneseEnglish を選択し、[Next] ボタンをクリックします。






[Standard Edition] を選択し、[Next] ボタンをクリックします。



[Oracle base] に 「/u01/app/oracle」、[Software location] に 「/u01/app/oracle/product/12.1.0/dbhome_1」 が入力されていることを確認し、[Next] ボタンをクリックします。



グループを指定します。デフォルト状態で問題ないはずです。以下のようになっていることを確認し、[Next] ボタンをクリックします。



[2:50 $1.320] 最終確認画面が出てきます。[Install] ボタンをクリックします。



[2:58 $1.320] しばらくすると、root にて実行すべきスクリプトがリストアップされるので順番に実行します。ここの部分は VNC 画面内の端末ではなく、ポート転送している端末側で操作してください。


[softlayer@db01 ~]$ echo | sudo /u01/app/oracle/product/12.1.0/dbhome_1/root.sh
Performing root user operation for Oracle 12c

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/12.1.0/dbhome_1

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.
[softlayer@db01 ~]$ ssh db02
[softlayer@db02 ~]$ echo | sudo /u01/app/oracle/product/12.1.0/dbhome_1/root.sh
Performing root user operation for Oracle 12c

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/12.1.0/dbhome_1

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.
[softlayer@db02 ~]$ exit
logout
Connection to db02 closed.


スクリプトの実行が完了したら [OK] ボタンをクリックします。



[Close] ボタンをクリックします。



ここまでで、インストーラーを使った作業は終わりです。インストーラーを削除します。


[softlayer@db01 ~]$ sudo rm -rf /u01/installer/



[2:59 $1.320] ASM ディスグループを作成します。1つ目は、Grid Infrastructure のインストール時に作成しました。
asmca を起動します。grid アカウントで起動する必要があります。


[softlayer@db01 ~]$ sudo su - grid -c /u01/app/12.1.0/grid/bin/asmca



CTRL ディスクグループが表示されます。
[Create] ボタンをクリックします。



[Disk Group Name] に 「DATA」 と入力し、DATA1DATA2DATA3 のみチェックし、[OK] ボタンをクリックします。
[Redundancy] が [Normal] の場合、LUN が最低で2つ必要となります。LUN のサイズが 100GB であることも確認してください。



作成が完了したら [OK] ボタンをクリックします。



[Create] ボタンをクリックします。



[Disk Group Name] に 「FRA」 と入力し、FRA1FRA2FRA3 をチェックし、[OK] ボタンをクリックします。



作成が完了したら [OK] ボタンをクリックします。



[Exit] ボタンをクリックします。



[Yes] ボタンをクリックします。



[3:02 $1.388] orcl データベースを作成します。
dbca を起動します。oracle アカウントで起動する必要があります。


[softlayer@db01 ~]$ sudo su - oracle -c /u01/app/oracle/product/12.1.0/dbhome_1/bin/dbca



[Create Database] を選択し、[Next] ボタンをクリックします。



[Advanced Mode] を選択し、[Next] ボタンをクリックします。



[Database Type] として 「Oracle Real Application Clusters (RAC) database」 を選択し、[Configuration Type] として 「Policy-Managed」 を選択し、[Select Template] として 「Custom Database」 を選択し、[Next] ボタンをくり
今回はバックアップ設計をほとんど考えていないので [Configuration Type] として 「Policy-Managed」 を選択しています(インストールが簡単です)が、あとで各種ファイルの配置場所を選べなくなります。スナップショット機能を使ったバックアップもできません。



[Global Database Name] に 「orcl」 を入力し、[Create As Container Database] のチェックを外し、[Next] ボタンをクリックします。
Container Database は 12c の新機能です。Cloud 対応機能ということらしいです。12c の c にあたる機能です。時間があれば、試してみてください。Cloud 事業者以外が使うとは思えない機能かもしれませんし、ポータブル性が重宝され、意外と使われる機能となるかもしれません。DBA は保守的な人が多いので、普及するにしても先の話のような気がします。
今回は見送ります。



[Create New Server pool for this database] を選択し、[Server pool Name] に 「srvpool1」、[Cardinality] に 「2」 を入力し、[Next] ボタンをクリックします。



[Configure Enterprise Manager (EM) Database Express] をチェックし、[Run Cluster Verification Utility (CVU) Checks Periodically] をチェックし、[Register with Enterprise Manager (EM) Cloud Control] のチェックを外し、[Next] ボタンをクリックします。



パスワードを設定します。今回は、[Use the Same Administrative Password for All Accounts] を選択し、「oracle」 をパスワードとして2か所に入力し、[Next] ボタンをクリックします。



[Database Files] の [Storage Type] にて 「Automatic Storage Management (ASM)」 を選択します。Standard Edition RAC を組む場合は必須です。ライセンス条件となっています。
[Use Common Location for All Database Files] を選択し、[Database File Locations] に 「+DATA」 と入力し、[Use Oracle Managed Files] にチェックを入れます。[Configuration Type] として 「Policy-Managed」 を選択した場合、Oracle Managed Files を使うことが必須となります。ちなみに、私は、本番環境で Oracle Managed Files を使ったことがありません。どの案件でも、ファイル名の命名を Oracle に任したりせず、管理者が命名する方がしっくりくるようです。こういうところでも、DBA の保守的な性格が出てきます。
[Recovery Related Files] の [Storage Type] にて 「Automatic Storage Management (ASM)」 を選択します。ライセンス的には必須ではありませんが、今回はバックアップ設計について手を抜いているので ASM を選択します。
[Specify Fast Recovery Area] をチェックし、[Fast Recovery Area] に 「+FRA」 を、[Fast Recovery Area Size] に 「150 G Bytes」 を入力します。
[Enable Archiving] をチェックし、[Next] ボタンをクリックします。



全てのチェックを外し、[Next] ボタンをクリックします。グレーアウトされているオプションは Standard Edition では使えない機能です。



自動メモリ管理を設定します。
db01、db02 サーバにて、「df -m /dev/shm」 を実行し、「Available」 の値が小さい方よりも小さい値をメモリサイズとすることにします。今回は、4GB のメモリを発注したところ 8GB のメモリが支給されたこともあり、「4096MB」とします。少なめですがデフォルト値をそのまま採用してもよいです。
[Typical Settings] を選択し、[Memory Size (SGA and PGA)] にメモリサイズを入力し、[Use Automatic Memory Management] をチェックし、[Character Sets] タブをクリックします。



[Use Unicode (AL32UTF8)] を選択し、[National Character Set] にて 「AL16UTF16 -Unicode UTF-16 Universal character set」 を選択し、[Default Language] にて 「Japanese」 を選択し、[Default Territory] にて 「Japan」 を選択し、[Next] ボタンをクリックします。



[Create Database] をチェックし、[Save as a Database Template] のチェックを外し、[Generate Database Creation Scripts] をチェックし、[DestinationDirectory] に 「/u01/app/oracle/admin/orcl/scripts」 と入力し、[Next] ボタンをクリックします。



[3:09 $1.388] 最終確認画面が出てきます。[Finish] をクリックします。



[OK] ボタンをクリックします。



[3:24 $1.948] しばらく待つと、データベースの作成が完了します。
[Exit] をクリックします。



[Close] をクリックします。



このあとは、パッチを適用することになりますが、試用ではライセンス的にパッチを適用できないと思いますので省略します。


[3:25 $1.948] [System]-[Log Out softlayer...] メニューをクリックし、ログアウトします。ログアウトの確認画面が出てくるので、[Log Out] ボタンをクリックします。
UltraVNC Viewer を終了します。
以下のコマンドで vnc サーバを終了します。


[softlayer@db01 ~]$ sudo /etc/init.d/vncserver stop
Shutting down VNC server: 1:softlayer                      [  OK  ]
[softlayer@db01 ~]$ sudo /etc/init.d/haldaemon stop
Stopping HAL daemon:                                       [  OK  ]
[softlayer@db01 ~]$ sudo /etc/init.d/messagebus stop
Stopping system message bus:                               [  OK  ]
[softlayer@db01 ~]$ #sudo init 3
[softlayer@db01 ~]$ exit
logout
Connection to db01 closed.
[softlayer@iscsi01 ~]$


※ 「sudo init 3」は実行すべきではないと考えています。副作用が大きすぎるような気がしています。chkconfig コマンドで off にしているサービスを rc.local から起動するように変更していることからもお勧めできません。この後の運用フェーズで X Window を使うことを予定している場合、/etc/inittab を書き換え、runlevel の初期値を 5 に変更しておいた方がよいのではないかと考えます。


[3:27 $1.948] grid アカウント、oracle アカウントの環境変数を設定します。


[softlayer@iscsi01 ~]$ ssh -A db01
[softlayer@db01 ~]$ cat << 'EOF' | sudo tee /home/grid/.bash_profile
# .bash_profile
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/12.1.0/grid
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/jdk/bin:$PATH:$HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_LANG=English_JAPAN.UTF8
export LANG=C
EOF
[softlayer@db01 ~]$ cat << 'EOF' | sudo tee /home/oracle/.bash_profile
# .bash_profile
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/jdk/bin:$PATH:$HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_LANG=English_JAPAN.UTF8
export LANG=C
EOF
[softlayer@db01 ~]$ ssh db02
[softlayer@db02 ~]$ cat << 'EOF' | sudo tee /home/grid/.bash_profile
# .bash_profile
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/12.1.0/grid
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/jdk/bin:$PATH:$HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_LANG=English_JAPAN.UTF8
export LANG=C
EOF
[softlayer@db02 ~]$ cat << 'EOF' | sudo tee /home/oracle/.bash_profile
# .bash_profile
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/jdk/bin:$PATH:$HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_LANG=English_JAPAN.UTF8
export LANG=C
EOF
[softlayer@db02 ~]$ exit
logout
Connection to db02 closed.
[softlayer@db01 ~]$ exit
logout
Connection to db01 closed.
[softlayer@iscsi01 ~]$



[3:28 $1.948] iscsi01 から接続してみます。何度か実行すると接続先が異なっていることがわかります。


[softlayer@iscsi01 ~]$ echo 'select instance_name from v$instance;' | NLS_LANG=English_JAPAN.UTF8 LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib sqlplus64 system/oracle@rac-scan:1521/orcl

SQL*Plus: Release 12.1.0.1.0 Production on Sun Jul 20 22:58:42 2014

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

Last Successful login time: Sun Jul 20 2014 22:58:41 +09:00

Connected to:
Oracle Database 12c Release 12.1.0.1.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options

SQL>
INSTANCE_NAME
------------------------------------------------
orcl_1

SQL> Disconnected from Oracle Database 12c Release 12.1.0.1.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options



[3:29 $1.948] Enterprise Manager Database Express 12c を開きます。

Adobe Flash が必要なので、インストールします。


[softlayer@iscsi01 ~]$ curl -O http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm
[softlayer@iscsi01 ~]$ sudo yum -y localinstall adobe-release-x86_64-1.0-1.noarch.rpm
[softlayer@iscsi01 ~]$ sudo yum -y install flash-plugin


[3:32 $1.948] vnc サーバを起動します。


[softlayer@iscsi01 ~]$ sudo init 5
[softlayer@iscsi01 ~]$ sudo /etc/init.d/messagebus start
[softlayer@iscsi01 ~]$ sudo /etc/init.d/haldaemon start
[softlayer@iscsi01 ~]$ sudo /etc/init.d/vncserver start


(その2)の [0:49 $0.068] にて Teraterm にてポート転送設定をしましたが、そちらが残っていない場合は、再度ポート転送設定を行ってください。

VNC ビューアを起動します。
[VNC Server:] 欄に「127.0.0.1:5901」と入力し、[Connect] ボタンをクリックします。
[VNC Authentication] 画面が出るので、パスワードを入力し、[Log On] ボタンをクリックします。


firefox を起動し、https://db01:5500/em にアクセスします。

Untrusted Connection という警告が出ます。
[I Understand the Risks] をクリックし、[Add Exception] ボタンをクリックします。
[Add Security Exception] ウィンドウが表示されます。
[Confirm Security Exception] ボタンをクリックします。

ログイン画面が出ます。
[User Name] に 「system」を、[Password] に 「oracle」 を入力し、[Login] ボタンをクリックします。

以下のようにログインできれば OK です。



https://db02:5500/em にもアクセスし、同様に接続できることを確認します。


[3:35 $1.948] この後のシナリオは、考えていません。
各自が好きなように操作してみてください。ワン・コインの予算で、4時間以上残っています。野口英世さんとのお別れが許容できるのであれば12時間以上残っています。

サーバをリセットするとか、ファイアウォール設定を変更してスプリットブレイン状態を作り出すとか、重要なファイルを削除するとか、好き放題できます。今までやってみようと思いながら、壊れることが心配でやれなかったことでも思い切ってやれます。


[8:13 $4.528] 時間いっぱいまで Oracle RAC を堪能した後で、  [8:18 $5.088] となる前までにサーバをキャンセルします。今の為替 ($1 = ¥101) であればワンコインの出費で収まります。
物理サーバのキャンセルは管理ポータルから実行してください。

iscsi01 サーバをキャンセルする前に、追加 HDD を Portable Storage として Detach して残しておけば、多少の課金は続いてしまいますが、次回同じことをするときに少しは手間を省ける(余計に面倒? な)はずです。


今回はバックアップ設計を省略した関係で、そのまま本番環境用とはなりません(しっかりとしたバックアップ設計をしていないデータベースが欲しい顧客はいないはずです)。パッチもあてていません。結果の確認、ログの確認もできていません。障害テストもしていません。ストレージは間に合わせのものになっています。asmlib を使いましたが、udev を利用して警告をなくすべきかもしれません。詳細設計書、テスト仕様書も作っていません。
これらの点を除き、メモリを追加した物理サーバで構築すれば、本番環境で使えるものとなっていると考えてよいと思います(チューニングの余地は残っています。ローカル HDD も RAID を組みたいと考えるのが普通だと思います。/u01 用のパーティションを別途用意すべき、という考えもあり、細かいところで修正はあると思います)。
SoftLayer の iSCSI Storage への置き換えについては、IP アドレスとパスワードを変更するだけで容易に実現可能なはずです。


別の切り口でリクエストがあれば、また連載をしてみたいと思います。
ご愛読、ありがとうございました。

0 件のコメント:

コメントを投稿