*[[Oracle]]/ORACLE 11g RAC環境構築(旧) [#f92fd489] VMwareWorkstation(VMware Playerでも可能と思う) で CentOS 5.10 x64 + Oracle 11gR2 での RAC環境構築になります。 #contents ~ **Oracleの入手 [#ob133b3c] バイナリダウンロード先(2014/09/06時点)~ http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linx8664soft-100572.html~ 以下の3ファイルをDL~ ・linux.x64_11gR2_database_1of2.zip~ ・linux.x64_11gR2_database_2of2.zip~ ・linux.x64_11gR2_grid.zip~ ~ #br **CnetOS5.10のHW構成 [#nd350a03] |BGCOLOR(#f0f8ff):''デバイス''|BGCOLOR(#f0f8ff):''概要''| |メモリ|2GB| |プロセッサ|2| |ハードディスク(SCSI)|30GB| |NIC1|ブリッジ(eth0)| |NIC2|ホストオンリー(eth1)| ~ #br **StarWindで、iSCSI用のDISK作成 [#nfa15b46] |BGCOLOR(#f0f8ff):''ターゲット''|BGCOLOR(#f0f8ff):''容量''| |data1|3GB| |data2|3GB| |fra|1GB| |fra|1GB| ※ 作成方法は[[Storage]]参照~ ※ アーカイブログモードを有効にした場合、フラッシュリカバリー領域(fra)のDISKを 2GB以上にしないと容量足りなくなるかも~ ※ data と fra で分ける必要もなく、1つのみでも大丈夫かもしれない ~ #br **CentOS 5.10 のインストール [#u7dc3507] 以下の要領で2台インストールする~ VMWare Toolsもインストールしておくこと(GUIでインストールする際、解像度が足りなくて下の方にあるボタンが選択できない為)~ ***選択するインストールパッケージ [#oa11ebdf] -デスクトップ環境~ GNOMEデスクトップ環境~ ~ -開発~ 開発ツール~ 開発ライブラリ~ ~ -ベースシステム~ X Window System~ ベース~ ~ ***IPアドレスの設定 [#sdbec5ab] |BGCOLOR(#f0f8ff):NIC|BGCOLOR(#f0f8ff):ホスト名|BGCOLOR(#f0f8ff):IPアドレス|BGCOLOR(#f0f8ff):ホスト名|BGCOLOR(#f0f8ff):IPアドレス| |eth0(パブリック)|orac1.com|192.168.11.21|orac2.com|192.168.11.22| |eth1(プライベート)|orac1i.com|192.168.100.21|orac2i.com|192.168.100.22| |VIP(仮想NIC)|orac1v.com|192.168.11.31|orac2v.com|192.168.11.32| パブリックは実際にOracleに接続する際に使用。プライベートはRAC間での通信のみに使用。~ ***ユーザー作成 [#c05354f9] 行わないこと ~ #br **CentOS設定 [#q8de8f89] ***/etc/hostsの設定 [#y51c992c] # Physical IP 192.168.11.21 orac1.com orac1 192.168.11.22 orac2.com orac2 # RAC-SCAN 192.168.11.23 orac-cluster-scan.com orac-cluster-scan # Private IP 192.168.100.21 orac1i.com orac1i 192.168.100.22 orac2i.com orac2i # Virtual IP 192.168.11.31 orac1v.com orac1v 192.168.11.32 orac2v.com orac2v ***追加パッケージのインストール [#g58c0a7b] mount -t iso9660 -r /dev/cdrom /mnt cd /mnt/CentOS rpm -ihv compat-libstdc++-33-3.2.3-61.x86_64.rpm rpm -ihv compat-libstdc++-33-3.2.3-61.i386.rpm rpm -ihv libaio-devel-0.3.106-5.x86_64.rpm rpm -ihv libaio-devel-0.3.106-5.i386.rpm rpm -ihv sysstat-7.0.2-12.el5.x86_64.rpm rpm -ihv unixODBC-libs-2.2.11-10.el5.i386.rpm rpm -ihv unixODBC-libs-2.2.11-10.el5.x86_64.rpm rpm -ihv unixODBC-2.2.11-10.el5.x86_64.rpm rpm -ihv unixODBC-2.2.11-10.el5.i386.rpm rpm -ihv unixODBC-devel-2.2.11-10.el5.i386.rpm rpm -ihv unixODBC-devel-2.2.11-10.el5.x86_64.rpm rpm -ihv pdksh-5.2.14-37.el5_8.1.x86_64.rpm ***ユーザーとグループ作成 [#jc149c37] groupadd -g 501 oinstall groupadd -g 502 dba groupadd -g 503 oper groupadd -g 504 asmadmin groupadd -g 505 asmdba groupadd -g 506 asmoper useradd -u 501 -g oinstall -G asmdba,asmoper,asmadmin grid passwd grid useradd -u 502 -g oinstall -G dba,asmdba oracle passwd oracle ***ディレクトリ作成 [#r3ef606f] mkdir -p /u01/app/oracle mkdir -p /u01/app/oracle/oradata mkdir -p /u01/app/oracle/fast_recovery_area chown -R oracle /u01 mkdir -p /u01/app/grid chown oracle /u01/app/grid mkdir -p /u01/app/11.2.0/grid chown -R oracle /u01/app/11.2.0 mkdir -p /u01/app/oraInventory chown oracle /u01/app/oraInventory chgrp -R oinstall /u01 chmod -R 775 /u01 ***/etc/security/limits.conf [#f27a4f8f] oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 ***/etc/sysctl.conf [#tb239618] fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 4294967296 kernel.shmmax = 68719476736 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 カーネルパラメータ反映 sysctl -p ***NTP設定 [#q5642680] chkconfig ntpd on /etc/sysconfig/ntpd ※以下の通り変更 OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid" ↓変更 OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid" ~ #br **iSCSI DISKのマウント [#fca266a7] ***マウント順番を揃える為に既存のiscsiサービスを停止させておく [#w9872c30] chkconfig iscsi off ***iSCSIのマウントスクリプトを作成し設定 [#a0440698] vi /etc/init.d/iscsic ※以下の内容で保存する(starwindサーバーのIPアドレスが、192.168.11.20 の場合の記述となります。必要に応じてIPアドレスを変更して下さい) #!/bin/bash # # Startup script for the iscsic # chkconfig: 12345 99 01 # description: iscsi SAN RETVAL=0 start() { echo -n $"target login $prog: " iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:127.0.0.1-data1 -p 192.168.11.20 --login iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:127.0.0.1-data2 -p 192.168.11.20 --login iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:127.0.0.1-fra1 -p 192.168.11.20 --login iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:127.0.0.1-fra2 -p 192.168.11.20 --login echo } stop() { echo -n $"logout $prog: " iscsiadm -m discovery -t sendtargets -p 192.168.11.20 | awk '{print $2}' > /tmp/iscsi_tmp.cmd while read line do iscsiadm -m node -T $line --logout done < /tmp/iscsi_tmp.cmd /etc/init.d/rawdevices stop echo } status() { iscsiadm -m session echo } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; status) status ;; *) echo $"Usage: $0 {start|stop|restart|status}" RETVAL=1 esac exit $RETVAL ***サービスに登録する [#v65990cd] chmod 755 iscsic chkconfig --add iscsic service iscsic start ***DISKの初期化 [#m08ff252] fdisk /dev/sdb n ⇒ p ⇒ 1 ⇒ Enter x 2回 ⇒ w の順番で/dev/sdb〜sdeまで実行する ※DB1号機のみでOK ***/etc/udev/rules.d/60-raw.rules [#j4f1e497] ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N" ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw2 %N" ACTION=="add", KERNEL=="sdd1", RUN+="/bin/raw /dev/raw/raw3 %N" ACTION=="add", KERNEL=="sde1", RUN+="/bin/raw /dev/raw/raw4 %N" ***/etc/udev/rules.d/61-raw-permission.rules [#m46e5a21] KERNEL=="raw1", MODE="0640", OWNER="oracle", GROUP="oinstall" KERNEL=="raw2", MODE="0640", OWNER="oracle", GROUP="oinstall" KERNEL=="raw3", MODE="0660", OWNER="oracle", GROUP="dba" KERNEL=="raw4", MODE="0660", OWNER="oracle", GROUP="dba" ここで一旦OSをリブートさせる。 ~ ***DISK初期化 [#fb9c09e1] fdisk -l dd if=/dev/zero of=/dev/raw/raw1 bs=1024k count=3000 dd if=/dev/zero of=/dev/raw/raw2 bs=1024k count=3000 dd if=/dev/zero of=/dev/raw/raw3 bs=1024k count=1000 dd if=/dev/zero of=/dev/raw/raw4 bs=1024k count=1000 ~ #br **Grid Infrastructureのインストール [#m9d61106] 使用ファイル~ linux.x64_11gR2_grid.zip ***インストールの実行 [#l1878e19] oracleユーザーでGUIログインし、linux.x64_11gR2_grid.zip 解凍後 ./runInstaller を実行する~ -インストール・オプション~ クラスタ用のGrid Infrastructureのインストールおよび構成 -インストールタイプ~ 拡張インストール -Gridプラグ・アンド・プレイ設定~ クラスタ名:orac-cluster SCAN名 :orac-cluster-scan SCANポート:1521 ※GNSの構成のチェックを外す -クラスタ・ノード編集~ パブリックホスト 仮想ホスト名 orac1.com orac1v.com orac2.com orac2v.com 「SSH接続」をクリック、Oracleユーザーのパスワードを入力し「設定」~ ※テスト接続に成功したら次へ~ ~ -ネットワーク・インターフェース 192.168.11.0 パブリック 192.168.100.0 プライベート -記憶域オプションの情報 Oracle自動ストレージ管理(OracleASM) -ASMディスク・グループの作成 ディスク・グループ名:DATA 冗長性 :外部 AUサイズ :1MB 候補ディスク :5GBのRAWデバイス2つを選択する -ASMパスワードの設定~ パスワード、同じパスワード使用 ? の moreを開くと、入力可能になる -障害の分散のサポート~ IPMIは使用しない -権限付きオペレーティング・システム・グループ~ システムグループは デフォルトのまま(多分以下になる) asmdba oinstall oinstall -インストール場所の指定~ Oracleベース:/u01/app/grid ソフトウェア:/u01/app/11.2.0/grid ※Oracle Cluster Verificationで失敗するが無視する。~ ~ #br **FRAディスク追加 [#icea7c95] ***ASMCAの起動 [#oebe58b1] /u01/app/11.2.0/grid/bin/asmca ※ディスクグループタブで、新規作成する ~ #br **CentOSのユーザー環境定義 [#dcad1ec6] -/root/.bash_profile~ -/home/grid/.bash_profile~ export GRID_BASE=/u01/app/grid export GRID_HOME=/u01/app/11.2.0/grid export PATH=$PATH:$GRID_HOME/bin -/home/oracle/.bash_profile export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 export ORACLE_SID=orcl export ORACLE_UNQNAME=orcl export PATH=$PATH:$ORACLE_HOME/bin export NLS_LANG=JAPANESE_JAPAN.AL32UTF8 ※DBインストール後に設定してたがここで設定しても問題ないと思う~ ~ #br **データベースソフトウェアインストール [#p6382965] 使用ファイル~ linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip ***インストール実行 [#l62482e4] oracleユーザーでGUIログインし、./runInstaller を実行する。~ ~ -セキュリティ・アップデートの作成~ ・電子メールは空 ・以下のチェックを外す セキュリティ・アップデートをMy Oracle Support経由で受け取ります -インストール・オプションの選択~ データベースソフトウェアのみインストール -Gridインストール・オプション~ Oracle Real Aplication Clustersデータベースのインストール を選択 ノードは、すべて選択 「SSH接続」で接続することを確認する -データベース・エディション~ Enterprise Edition -インストール場所の指定~ Oracleベース /u01/app/oracle ソフトウェアの場所 /u01/app/oracle/product/11.2.0/dbhome_1 ~ #br **データベースの作成作成 [#p62a5e9f] ***DBCA起動 [#xd43e4ed] oracleユーザーでGUIログインし実行~ /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbca -ようこそ~ Oracle Real Application Clustersデーターベース -操作~ データーベースの作成 -データベース識別子~ 構成タイプ:管理者管理型 GDB :orcl SID :orcl クラスタ :すべて選択 -データベースファイルの位置~ Oracle Managed Filesの使用 └ データベース領域 +DATA -管理オプション~ EnterPriseの構成 にチェック -データベース・ファイルの位置~ Oracle Managed Filesの使用 +DATA を選択 ※パスワードは、GRIDインストール時に設定したものを入力 -リカバリ構成~ アーカイブ化有効 領域 +FRA -初期化パラメータ~ データベース・キャラクタ・セット Unicodeを選択 ※Enterprise Managerの起動時にエラーが発生した旨のメッセージが表示されても問題ない ~ #br **動作確認 [#nf425d85] # crs_stat -t Name Type Target State Host ------------------------------------------------------------ ora.DATA.dg ora....up.type ONLINE ONLINE orac1 ora.FRA.dg ora....up.type ONLINE ONLINE orac1 ora....ER.lsnr ora....er.type ONLINE ONLINE orac1 ora....N1.lsnr ora....er.type ONLINE ONLINE orac1 ora.asm ora.asm.type ONLINE ONLINE orac1 ora.eons ora.eons.type ONLINE ONLINE orac1 ora.gsd ora.gsd.type OFFLINE OFFLINE ora....network ora....rk.type ONLINE ONLINE orac1 ora.oc4j ora.oc4j.type OFFLINE OFFLINE ora.ons ora.ons.type ONLINE ONLINE orac1 ora....SM1.asm application ONLINE ONLINE orac1 ora....C1.lsnr application ONLINE ONLINE orac1 ora.orac1.gsd application OFFLINE OFFLINE ora.orac1.ons application ONLINE ONLINE orac1 ora.orac1.vip ora....t1.type ONLINE ONLINE orac1 ora....SM2.asm application ONLINE ONLINE orac2 ora....C2.lsnr application ONLINE ONLINE orac2 ora.orac2.gsd application OFFLINE OFFLINE ora.orac2.ons application ONLINE ONLINE orac2 ora.orac2.vip ora....t1.type ONLINE ONLINE orac2 ora.orcl.db ora....se.type ONLINE ONLINE orac1 ora.scan1.vip ora....ip.type ONLINE ONLINE orac1 $ sqlplus sys/<DB設定時のパス>@orcl as sysdb SQL> select instance_name,status from v$instance; $ emctl start dbconsole EMへのログインは、 sys / <DB設定時のパス> SYSDBA権限 ASMへのログインは、sys / <ASM設定時のパス> ASMDBA権限 ***DEFAULTプロファイルのパスワード期限を無期限にする [#r517fe86] 11gから有効期限が180日で設定されるようになってるため、変更しないと色々面倒。~ ALTER PROFILE "DEFAULT" LIMIT PASSWORD_LIFE_TIME UNLIMITED PASSWORD_GRACE_TIME UNLIMITED;