2012年1月30日 (月)

AWRレポート、AWR SQLレポート一括取得スクリプトを作ったよ。

Statspackレポートもそうなのですが、AWRレポート/AWR SQLレポートも個別に取得していると凄ーく辛いんですよね。一日分出力するとか、AWRレポートで処理時間の長いSQL文のAWR SQLレポートを個別に取得しようとなると...

ただでさえ忙しいのに、AWRレポート取得するのに時間掛けたくないですよね。

ということで、やっつけで作ったのですが、そのまま載せるのもあれなんで、やっつけで作った感じを多少減らしてgithubに公開しました。;)

https://github.com/discus/Oracle-AWR-batch-generation-script/blob/master/awrreport_batch.sql


もっといい感じに改造してくれるといいな〜とかとか... :)

Oracle11g R1/R2 Enterprise Edition、HTML形式で出力します。(RAC環境では試してないので多分だめかと。)。
AWRを利用するには追加ライセンスが必要なのでご注意を


使い方は・・

SQL*plusを起動し、select any dictionaryシステム権限、dbms_repositoryパッケージの実行権限が付与されたユーザで接続して実行するだけ。
SYSTEMユーザでやる事が多いけど、所変わればなんとやらなので・・・そこんとこよろしく。(w


一括取得なので実行当日を含めてn日分のAWRレポートを取得し、同時に処理時間の長いTop20のAWR SQLレポートも取得します。
レポートは各スナップショット間(今のところ固定)で取得します。

指定するパラメータは、以下の3つ。

Enter snap_id for starting AWR report generation. [NULL] : 
AWRレポートを取得する最初のSNAP_IDを指定します。 NULLがデフォルトでほとんどの場合デフォルトのままで事足りると思います。


Enter number of days for reporting period. [1] : 

一括取得する日数を指定します。当日を含みます。
当日分のAWRレポートを出力するのであれば、デフォルト値の1のままでOKです。


Enter suffix for AWR reports filename. [NULL] : test

保存するAWRレポートのファイル名に付加するsuffixを指定します。
試験名とか設定するといいですよね。

"test"と指定した場合

awrrpt_nnnn_nnnn_test.htmlや
awrsqrpt_nnnn_nnnn_test_sqlid.html

の形式で保存します。(nnnnはSNAP_ID)


実行例1)当日分の全レポートを取得する例

SYSTEM> 
SYSTEM> !ls -l awr*.sql
-rw-r--r-- 1 oracle oinstall 6065 1月 29 18:23 awrreport_batch.sql

SYSTEM> @awrreport_batch
--
-- Oracle AWR and AWR SQL report batch generation script
--
-- ***** This script always generate html format AWR reports. *****
--
Enter snap_id for starting AWR report generation. [NULL] :
Enter number of days for reporting period. [1] :
Enter suffix for AWR reports filename. [NULL] : test
--
--
--
clear break compute;
repfooter off;
ttitle off;
btitle off;

・・・中略・・・

<p />
<br /><a class="awr" href="#top">Back to Top</a><p />
</body></html>

SYSTEM>


実行例2)当日分かつsnap_id=291以降で一括取得。(事前にsnap_idを調べておいてね)

SYSTEM> 
SYSTEM> @awrreport_batch
--
-- Oracle AWR and AWR SQL report batch generation script
--
-- ***** This script always generate html format AWR reports. *****
--
Enter snap_id for starting AWR report generation. [NULL] : 291
Enter number of days for reporting period. [1] :
Enter suffix for AWR reports filename. [NULL] : test
--
--
--
clear break compute;
repfooter off;
ttitle off;
btitle off;

・・・中略・・・

<p />
<br /><a class="awr" href="#top">Back to Top</a><p />
</body></html>

SYSTEM>
SYSTEM>
SYSTEM> !ls -l *.html
-rw-r--r-- 1 oracle oinstall 379083 1月 29 22:23 awrrpt_291_292_test.html
-rw-r--r-- 1 oracle oinstall 11899 1月 29 22:23 awrsqrpt_291_292_test_0c83z9rqx45hu.html
-rw-r--r-- 1 oracle oinstall 11899 1月 29 22:23 awrsqrpt_291_292_test_0h3mfbzk6uyw0.html
-rw-r--r-- 1 oracle oinstall 11897 1月 29 22:23 awrsqrpt_291_292_test_2p7t0mw7zvu5z.html

・・・中略・・・

-rw-r--r-- 1 oracle oinstall 11899 1月 29 22:23 awrsqrpt_291_292_test_bhtycgwkxhfj9.html
-rw-r--r-- 1 oracle oinstall 11900 1月 29 22:23 awrsqrpt_291_292_test_bpaggvtfkar9k.html
-rw-r--r-- 1 oracle oinstall 11899 1月 29 22:23 awrsqrpt_291_292_test_c50hdbyuwhfn6.html
-rw-r--r-- 1 oracle oinstall 11892 1月 29 22:23 awrsqrpt_291_292_test_g3f3cw3zy5aat.html

SYSTEM>

なお、Oracleインスタンスが再起動された期間でawrrpt.sqlなどを実行すると、レポートが作成できずエラーでSQL*Plusも終了してしまいますが、本スクリプトでは該当部分のレポートはスキップするようにしてあります。:)

Instance     DB Name      Snap Id   Snap Started       Level
------------ ------------ --------- ------------------ -----
lampeye LAMPEYE 274 29 1月 2012 09:33 1
275 29 1月 2012 10:00 1
276 29 1月 2012 10:30 1
277 29 1月 2012 11:00 1
278 29 1月 2012 11:30 1
279 29 1月 2012 12:00 1
280 29 1月 2012 12:30 1
281 29 1月 2012 13:00 1
282 29 1月 2012 13:30 1
283 29 1月 2012 14:00 1
284 29 1月 2012 14:30 1
285 29 1月 2012 15:00 1
286 29 1月 2012 15:30 1
287 29 1月 2012 16:00 1
288 29 1月 2012 16:30 1
289 29 1月 2012 17:00 1
290 29 1月 2012 17:30 1

291 29 1月 2012 18:31 1 ←再起動されてる
292 29 1月 2012 18:34 1

293 29 1月 2012 22:26 1 ←再起動されてる


Enjoy!

| | | コメント (2) | トラックバック (0)

2011年11月 8日 (火)

オープンソースカンファレンス2011.DB に参加した


osc2011db

OSC.DBって随分ご無沙汰してたと思ったら、前回参加したOSC.DBは、2007年でしたか。息子ちゃんが生まれた年です:)

OSC.DBも2008年以来、久々に開催でしたし、久々にお会いできた方々もいて :) でした。


全てのセッションには参加できなかったので、午前中だけ。

参加したセッションは

  • PostgreSQL 9.1 and more - 日本PostgreSQLユーザ会/永安 悟史
  • OSSDB MySQL - 日本MySQLユーザ会/とみた まさひろ・須藤 功平
  • Windowsで使う! Firebird !! - Firebird日本ユーザー会/木村 明治と 愉快な仲間

とOSC.DBではおなじみのユーザ(ー)会のセッションでした。

PostgreSQL 9.1 は Insight outで聞けなかったところ?を駆け足で聴いた感じ。
(9.1からサポートされたIndes only scanはOracleでもよく使うチューニング方法ですね。あとは、カスケードレプリケーションとか、pg_basebackup関連とか)

MySQLは、MySQL5.6の話とストレージエンジンである groongaストレージエンジン関連をこれまた駆け足で。
(InnoDBオプティマイザ統計情報の永続化、デッドロックをエラーログに出力とか、groongaストレージエンジンには、Spiderエンジンの斯波さんも関わっているとか、MariaDBにバンドルされることになったとか、http://labs.mysql.com/ とか)

30分ぐらいだとどうしても駆け足になってしまいますよね。皆さん早口ですよね。
(いままでで一番高速な語りは、大規模Web サイトでのMySQL導入方法および事例紹介」セミナーの松信さんだったように思います。速すぎて日本語聞き取れねーと思ったのは人生初。おおげさかw)

お腹が減ってきたランチ前のセッションは、Firebird日本ユーザー会。ユーザーなんですよユーザじゃなくて。

木村さんと、林さんの軽快なトークが炸裂(アドリブだったらしいw) したFirefoxじゃなくてFirebirdの話。
(ブラジルではFirebird関連イベントで800人ぐらい軽く集まるらしい。すげー)


そして、ほぼパーフェクトな記録発見。 Thx (やっぱ、iPhoneだけだとメモれないというかつぶやききれないw のだ)
http://emasaka.blog65.fc2.com/blog-entry-952.html


| | | コメント (0) | トラックバック (0)

2010年10月31日 (日)

VirtualBox de RAC (Oracle11g R1編)#2

VirtualBox de RAC (Oracle11g R1編)の続きです。
試していて気付いた問題点やハマった点が幾つかあったので備忘録として残しておきますね。

まず最初はCentOS5.5でのiscsidの問題。

この問題、iscsiデバイスを利用しているCentOS5.5をshutdown/rebootすると停止時に以下のようなメッセージを表示した後、いきなりHALTしてしまう。Openfiler側が起動しっぱなりしの場合は、大量のゾンビセッションが残ってしまい 気付かないと大変なことになってしまうという、なかなかスリリングな事象なのでご用心を。

私の場合、停止時のエラーメッセージに気付き、Openfiler側のセッションがゾンビだらけで驚いた!〜っていうとこで気付いた。

ググってみたら、これは、Red hat Linux/CentOS 5.5でのバグということが判明。
暫定的な対処方法はいつくかあるが、私の環境では、/etc/init.d/iscsiを書き換え、run level 0/1/6でなにもしないで抜ける部分をコメントアウトして対処した。

ちなみに、run level 0/1/6以外ならiscsiは正しく動作してます。以下、stop/startで正しくiscsiが実行されてLogout/Logonが成功している状態。

[root@discus164  ˜]# service iscsi stop
Logging out of session [sid: 1, target: iqn.2006-01.com.openfiler:asm1, portal: 192.168.2.92,3260]
Logging out of session [sid: 2, target: iqn.2006-01.com.openfiler:asm2, portal: 192.168.2.92,3260]
Logging out of session [sid: 3, target: iqn.2006-01.com.openfiler:asm4, portal: 192.168.2.92,3260]
Logging out of session [sid: 4, target: iqn.2006-01.com.openfiler:crs2, portal: 192.168.2.92,3260]
Logging out of session [sid: 5, target: iqn.2006-01.com.openfiler:asm3, portal: 192.168.2.92,3260]
Logging out of session [sid: 6, target: iqn.2006-01.com.openfiler:crs1, portal: 192.168.2.92,3260]
Logout of [sid: 1, target: iqn.2006-01.com.openfiler:asm1, portal: 192.168.2.92,3260]: successful
Logout of [sid: 2, target: iqn.2006-01.com.openfiler:asm2, portal: 192.168.2.92,3260]: successful
Logout of [sid: 3, target: iqn.2006-01.com.openfiler:asm4, portal: 192.168.2.92,3260]: successful
Logout of [sid: 4, target: iqn.2006-01.com.openfiler:crs2, portal: 192.168.2.92,3260]: successful
Logout of [sid: 5, target: iqn.2006-01.com.openfiler:asm3, portal: 192.168.2.92,3260]: successful
Logout of [sid: 6, target: iqn.2006-01.com.openfiler:crs1, portal: 192.168.2.92,3260]: successful
Stopping iSCSI daemon:
[root@discus164 ˜]# service iscsi start
iscsid が停止していますが PID ファイルが残っています
Starting iSCSI daemon: [ OK ]
[ OK ]
iSCSI ターゲットを設定中: Logging in to [iface: default, target: iqn.2006-01.com.openfiler:asm1, portal: 192.168.2.92,3260]
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:asm2, portal: 192.168.2.92,3260]
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:asm4, portal: 192.168.2.92,3260]
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:crs2, portal: 192.168.2.92,3260]
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:asm3, portal: 192.168.2.92,3260]
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:crs1, portal: 192.168.2.92,3260]
Login to [iface: default, target: iqn.2006-01.com.openfiler:asm1, portal: 192.168.2.92,3260]: successful
Login to [iface: default, target: iqn.2006-01.com.openfiler:asm2, portal: 192.168.2.92,3260]: successful
Login to [iface: default, target: iqn.2006-01.com.openfiler:asm4, portal: 192.168.2.92,3260]: successful
Login to [iface: default, target: iqn.2006-01.com.openfiler:crs2, portal: 192.168.2.92,3260]: successful
Login to [iface: default, target: iqn.2006-01.com.openfiler:asm3, portal: 192.168.2.92,3260]: successful
Login to [iface: default, target: iqn.2006-01.com.openfiler:crs1, portal: 192.168.2.92,3260]: successful
[ OK ]
[root@discus164 ˜]#


この場合はなんの問題もないわけです。が…

Status_ok


Iscsi_stop


Iscsi_after_stop


Iscsi_start


Iscsi_after_start



ところが、対処前のCentOS5.5では、shutdown/reboot時に以下のログが表示されLogoutできずOpenfiler側のセッションがゾンビ化する。

Unmounting pipe file systems:                              [  OK  ]
connection2:0: ping timeout of 5 secs expired, recv timeout 5, last rx 4300342437, last ping 4300347437, now 4300352437
connection2:0: detected conn error (1011)
connection1:0: ping timeout of 5 secs expired, recv timeout 5, last rx 4300342437, last ping 4300347437, now 4300352439
connection1:0: detected conn error (1011)
connection4:0: ping timeout of 5 secs expired, recv timeout 5, last rx 4300342437, last ping 4300347437, now 4300352449
connection4:0: detected conn error (1011)
connection3:0: ping timeout of 5 secs expired, recv timeout 5, last rx 4300342437, last ping 4300347437, now 4300352463
connection3:0: detected conn error (1011)
connection5:0: ping timeout of 5 secs expired, recv timeout 5, last rx 4300342437, last ping 4300347437, now 4300352472
connection5:0: detected conn error (1011)
connection6:0: ping timeout of 5 secs expired, recv timeout 5, last rx 4300342437, last ping 4300347437, now 4300352474
connection6:0: detected conn error (1011)
Unmounting file systems: [ OK ]
Halting system...

スクリーンショットは以下
Iscsi_eror



前述の問題の対処として/etc/init.d/iscsiを修正する方法を選択した。diffは以下のとおり。

[root@discus164 ˜]# diff -u /etc/init.d/iscsi.org /etc/init.d/iscsi
--- /etc/init.d/iscsi.org 2010-03-31 22:26:39.000000000 +0900
+++ /etc/init.d/iscsi 2010-10-31 01:33:12.000000000 +0900
@@ -35,10 +35,10 @@

# If this is a final shutdown/halt, do nothing since
# lvm/dm, md, power path, etc do not always handle this
- if [ "$RUNLEVEL" = "6" -o "$RUNLEVEL" = "0" -o "$RUNLEVEL" = "1" ]; then
- success
- return
- fi
+ #if [ "$RUNLEVEL" = "6" -o "$RUNLEVEL" = "0" -o "$RUNLEVEL" = "1" ]; then
+ # success
+ # return
+ #fi

# don't turn off iscsi if root is possibly on a iscsi disk
rootopts=$(awk '{ if ($1 !˜ /^[ \t]*#/ && $2 == "/") { print $4; }}' /etc/mtab)

修正後は以下のとおり問題なくiscsiのセッションがlogoutされている ;)
Iscsi_ok



参考:

Stray Penguin - Linux Memo (iSCSi) - シャットダウン/リブート時のSCSI cache エラー
Red Hat Bugzilla – Bug 583218





これまでのあらずじ
Mac de Oracle - 10万円未満 de RAC (11g編)#28

VirtualBox de RAC (Oracle11g R1編) #1

| | | コメント (0) | トラックバック (0)

2010年9月11日 (土)

OSC 2010 Tokyo / Fall @明星大学

OSC 2010 Tokyo / Fallに久々に参加。ただし、次世代ブラウザで見る HTML.next の世界 〜 IE9 や Firefox 4 で何が変わるのか?だけですけどね。MySQLがライトブルーな世界から、Black and RedなOracleカラーになってるとか〜って基本はライトブルーなんだろーけど (^^;;;;

この時は、息子ちゃんとうちの奥さんもいっしょでした。

2


Photo_3



フォクスケもVersion4登場間近で頑張ってますね〜
16002268754a2c5c8647a6b0ef2223fccd0

| | | コメント (0) | トラックバック (0)

2010年5月31日 (月)

IEって遅いんだよー。ってことをあまり気にしてない方へ。

speed/validity selectors test for frameworks.っていう有名なサイトがあるんだけど、具体的にどのぐらいの差になんの? なんてあまり情報が載ってるところはないので自分で確認できる範囲で新旧CPUとブラウザで比較してみました。なにかの参考になるとは思います。jQueryでだけですけどね。


12


IE6/7のデータを載せてないのですが、jQuery1.2.6(Slicktestのオリジナルでテストされてるやつね)で、他のプラウザと処理結果の違うところがいくつか発生するので載せるかどうか考えてるところ。注釈付きで載せるかな〜。まあ、IE8ですらこの遅さだからIE6/7はもっと遅いんだけどね。 2010/5/31追記
8-Jun-2010:Safari5及びChrome5リリースされたのでデータ追記。また、Safari5はMacOS X 10.5以上でリリースされたためMacOS X 10.4では同時期のWebkitで計測したでたを追加
9-Jun-2010:MacOS X 10.6.3/Chrome5.0.375.70にアップデートされたので結果を追加。
9-Jun-2010:Intel MacOS X Safari5がインストール直後にSafari4より遅かったが、cacheクリア、resetで早くなったので追記


注)各ブラウザで同テストを10回実行して、最大値、最小値を除いた平均値を載せてあります。

CPU毎にいろいろなブラウザでSlickSpeed TestのjQueryのライブラリを1.3以降にして比較してみた。
IEは8.0でもダントツで遅いのがはっきり分かりますね。またOSの影響よりCPUのクロック数での違いが大きい事も分かりますよね。
1CPUのクロック数が早いほうが処理速度がいいって結果からも分かります。実際、Windowsだと、IEでテスト中にタスクマネージャを見ると1CPUが100%になるのが確認できますよー。(ネタが集まったらまた情報を載せる予定。)

CPU/OS Browser Version jQuery1.3.2 jQuery1.4.2
Intel Core2 Duo 2Ghz /
WindowsXP
4.0.5 36ms 43ms
3.6.3 61ms 80ms
10.52 50ms 50ms
8.0 277ms 375ms
IBM PowerPC G4 1Ghz /
MacOS X 10.5.8
4.0.5 102ms 148ms
5.0 81ms 99ms
3.6.3 139ms 131ms
10.52 127ms 124ms
Intel Core2 duo 2.2Ghz /
MacOS X 10.6.3
4.0.5 35ms 44ms
5.0
(6533.16)
Install直後
40ms 49ms
5.0
(6533.16)
clear cache and reset後
34ms 38ms
5.0beta 39ms 40ms
5.0.375.55 49ms 47ms
5.0.375.70 39ms 38ms
3.6.3 63ms 63ms
10.52 57ms 54ms
IBM PowerPC G5 2.7Ghz /
MacOS X 10.4.11
4.0.5 42ms 54ms
Webkit r60742(5-Jun) 38ms 43ms
3.6.3 52ms 48ms
10.52 45ms 46ms
AMD Athlon XP 2200+ /
Windows XP
4.0.5 96ms 114ms
5.0 85ms 110ms
4.1 64ms 60ms
5.0 67ms 66ms
3.6.3 95ms 95ms
10.52 65ms 63ms
8.0 255ms 238ms
AMD Athlon MP 2800+ /
Windows XP
4.0.5 73ms 89ms
5.0 68ms 84ms
4.1 49ms 46ms
5.0 47ms 45ms
3.6.3 73ms 72ms
10.52 56ms 53ms
8.0 240ms 255ms
Intel Pentium M 1Ghz /
CentOS 5.4
3.6.3 101ms 100ms
10.10 118ms 117ms

| | | コメント (0) | トラックバック (0)

2009年4月21日 (火)

OracleがSunを買収...その2

今日のうちのブログを参照したremote host数で日本オラクルさんがTop3に!
なんて話は置いといて。

「OracleはSunの輝きを永久に奪う」という記事が載っていて、その記事を読んでいたらイメージが浮かんでしまったのでOracle HQ by space.Boyの画像を元に作ってみた。Sun MicrosystemsがOracleの影にぼんやりと写り込むようなことだけにはなって欲しくないです。(取り上げた記事とは逆に買収を歓迎するような記事も多々ありますけどね。)

ところで用賀のSBSタワーは今後どうなるの? Oracle-sun!、Oracleさん!、教えて!


6

Creative Commons License
この作品は、クリエイティブ・コモンズ・ライセンスの下でライセンスされています。

| | | コメント (0) | トラックバック (0)

2009年4月 2日 (木)

ちょいと迷惑だったストアドファンクション(おまけ)

〜〜〜〜し〜〜し〜〜でぃ〜〜っ。む、ぶん!
やけに耳の残っちゃうんだよな〜。あの声とアクセント

なんて関係ない話はおいといて。。と



以前、
ちょいと迷惑だったストアドファンクション
ちょいと迷惑だったストアドファンクション(つづき)

ということを書いていたが、ちょいと迷惑だったストアドファンクションの例外ハンドラーで問題解決の手がかりとするためログ出力が実装されていたらどうするの? っていうこともあるのでおまけのおまけということで書いておきます。

以前の例では例外ハンドラーをバッサリ切り捨ててしまったのですが、例外ハンドラーで問題解決の手がかりとするためのログ出力が実装されていて例外ハンドラーを取り除くことが出来ない場合、例外名無しのRAISE文を使えば解決できますよ。:)

ちょいと迷惑だったストアドファンクションの例外ハンドラーで問題解決の手がかりとするためのログ出力を実装していたらという例・・・・(赤太字部分)

尚、この例ではオープンソースのPL/SQL向けロギングフレームワークLog4PLSQLを利用している。

CREATE OR REPLACE
PACKAGE inconvenient_package
AS
TYPE employeesType IS TABLE OF emp%ROWTYPE INDEX BY BINARY_INTEGER;
TYPE membersType IS RECORD (
deptNo dept.deptNo%TYPE
,deptName dept.dName%TYPE
,employees employeesType
);
FUNCTION inconvenient_function(iDeptNo IN dept.deptNo%TYPE)
RETURN membersType;
END inconvenient_package;
/
show errors


CREATE OR REPLACE
PACKAGE BODY inconvenient_package
AS
FUNCTION inconvenient_function(iDeptNo IN dept.deptNo%TYPE)
RETURN membersType
AS
members membersType;
Log4PlsqlCtx plogparam.log_ctx := plog.init(pDBMS_OUTPUT => TRUE); -- Log4PLSQL setting
BEGIN
SELECT
deptNo
,dName
INTO
members.deptNo
,members.deptName
FROM
dept
WHERE
deptNo = iDeptNo
;
--
SELECT *
BULK COLLECT INTO
members.employees
FROM
emp
WHERE
deptno = iDeptNo
;
RETURN members;
EXCEPTION
WHEN NO_DATA_FOUND THEN
plog.warn(Log4PlsqlCtx, sqlerrm()); -- Log4PLSQL warnning
RETURN NULL;
END inconvenient_function;
END inconvenient_package;
/
show errors


変更前ファンクションの例外ハンドラー部分にある"RETURN NULL;"を"RAISE;"(例外名無しのRAISE文)に変更するだけ。

CREATE OR REPLACE
PACKAGE BODY inconvenient_package
AS
FUNCTION inconvenient_function(iDeptNo IN dept.deptNo%TYPE)
RETURN membersType
AS
members membersType;
Log4PlsqlCtx plogparam.log_ctx := plog.init(pDBMS_OUTPUT => TRUE); -- Log4PLSQL setting
BEGIN
SELECT
deptNo
,dName
INTO
members.deptNo
,members.deptName
FROM
dept
WHERE
deptNo = iDeptNo
;
--
SELECT *
BULK COLLECT INTO
members.employees
FROM
emp
WHERE
deptno = iDeptNo
;
RETURN members;
EXCEPTION
WHEN NO_DATA_FOUND THEN
plog.warn(Log4PlsqlCtx, sqlerrm()); -- Log4PLSQL warnning
RAISE;
END inconvenient_function;
END inconvenient_package;
/


例外ハンドラー内で例外名を省略すると該当する例外がさらに外側のブロックへスローされます。詳細はマニュアル(Oracle Database PL/SQL Language Reference 11g Release 1 : RIASE statement)及び、Oracle Database PL/SQL Language Reference 11g Release 1 : How PL/SQL Exceptions Propagate参照のこと。

SCOTT> set linesize 132
SCOTT> set serveroutput on
SCOTT> l
1 DECLARE
2 members inconvenient_package.membersType;
3 Log4PlsqlCtx plogparam.log_ctx := plog.init(pDBMS_OUTPUT => TRUE);
4 BEGIN
5 BEGIN
6 members := inconvenient_package.inconvenient_function(99);
7 DBMS_OUTPUT.PUT_LINE(
8 'Dept name/id:'
9 ||members.deptname
10 ||'/'||TO_CHAR(members.deptno)
11 );
12 FOR i IN members.employees.FIRST..members.employees.LAST LOOP
13 DBMS_OUTPUT.PUT_LINE(' -- '||members.employees(i).ename);
14 END LOOP;
15 EXCEPTION
16 WHEN NO_DATA_FOUND THEN
17 plog.warn(Log4PlsqlCtx, sqlerrm());
18 END;
19* END;
SCOTT> /
12:35:27:02-WARN-block-->SCOTT.INCONVENIENT_PACKAGE ORA-01403: データが見つかりません。
12:35:27:03-WARN-block ORA-01403: データが見つかりません。

PL/SQLプロシージャが正常に完了しました。

SCOTT> l
1 DECLARE
2 members inconvenient_package.membersType;
3 Log4PlsqlCtx plogparam.log_ctx := plog.init(pDBMS_OUTPUT => TRUE);
4 BEGIN
5 BEGIN
6 members := inconvenient_package.inconvenient_function(10);
7 DBMS_OUTPUT.PUT_LINE(
8 'Dept name/id:'
9 ||members.deptname
10 ||'/'||TO_CHAR(members.deptno)
11 );
12 FOR i IN members.employees.FIRST..members.employees.LAST LOOP
13 DBMS_OUTPUT.PUT_LINE(' -- '||members.employees(i).ename);
14 END LOOP;
15 EXCEPTION
16 WHEN NO_DATA_FOUND THEN
17 plog.warn(Log4PlsqlCtx, sqlerrm());
18 END;
19* END;
SCOTT> /
Dept name/id:ACCOUNTING/10
-- CLARK
-- KING
-- MILLER

PL/SQLプロシージャが正常に完了しました。

SCOTT>

| | | コメント (0) | トラックバック (0)

2009年1月26日 (月)

10日後は何日?、翌月末日って何日?

ichii386さん「相対的な日付って」記事に背骨というか脊髄反応的にコメントした勢いで、今日の10日後は何日?翌月末日って何日?の算出を幾つかやってみた。(「オリジナルの記事は今月末を求めているんですけど・・・・」・・・・ハイ、私が読み間違えて”翌月末”と勘違いしてました。今気付いたよ。w)

なんでgnuとphpだけなの? という突っ込みはなしで…。
なんでFirebirdが無いのかとか、CachéでSQLを使わないでMUMPSというかM言語というかCaché ObjectScriptなのかとか、Oracle11gなのに、MySQLは5.0PostgreSQLは7.4.9なのかとか、というツッコミはなしで...w

前提:
今日は1月24日として、10日後、翌月末日を算出します。

まずはPowerPC版のは古いのしかなかったのでCaché 5.2 for MacOSX(PowerPC)
MUMPS(M言語)がCachéで拡張?されてObjectiveになっちゃってObjectScriptと呼ばれているのには少々戸惑うけど、そこは昔取った杵柄。SQLも使えるけどM言語の方が作り易かったので。。w
ObjectScriptだと日付レベルで何日前とか何日後という計算は簡単なのだが、何ヶ月後とかいう計算は面倒なので。
(算出方法は翌々月の1日の前日が翌月末という考え方です。)

G5Server:˜ discus$ csession cache -U user

USER>
USER>w !,$zversion

Cache for UNIX (Mac OS X/32-bit) 5.2 (Build 329U_su) Wed Jun 21 2006 11:29:29 EDT
USER>
USER>
USER>w !,$zd($h+10,3)

2009-02-03
USER>s now=$h, y=$e($zd(now),7,10), m=$e($zd(now),1,2) w !,$zd($zdh($s(m<11:y_m+2_"01", m>10:y+1_m-10_"01"),5)-1,3)

2009-02-28
USER>
USER>halt
G5Server:˜ discus$

次は、Oracle11g EE 11.1.0.6.0 for Linux(x86)
OracleのSQLだとlast_day()や期間リテラルで簡単に算出できる。お気楽モード :-)

G5Server:˜ discus$ sqlplus /nolog

SQL*Plus: Release 10.1.0.3.0 - Production on 土 1月 24 13:53:33 2009

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

> conn scott/tiger@lampeye
接続されました。
SCOTT> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
PL/SQL Release 11.1.0.6.0 - Production
CORE 11.1.0.6.0 Production
TNS for Linux: Version 11.1.0.6.0 - Production
NLSRTL Version 11.1.0.6.0 - Production

SCOTT>
SCOTT> alter session set nls_date_format = 'yyyy-mm-dd';

セッションが変更されました。

SCOTT> select sysdate + interval '10' day from dual;

SYSDATE+IN
----------
2009-02-03

SCOTT> select last_day(sysdate + interval '1' month) from dual;

LAST_DAY(S
----------
2009-02-28

SCOTT>
SCOTT> exit
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing optionsとの接続が切断されました。
G5Server:˜ discus$

お次は、MySQL Community Server 5.0.67 for MacOSX(PowerPC)版
MySQL5.0でもOracleと同様にlast_day()と期間リテラルだけで算出できます。こちらもOracle同様、余計なことを悩まなくてすみますね。(^^)

G5Server:˜ discus$ mysql --version
mysql Ver 14.12 Distrib 5.0.67, for apple-darwin8.11.0 (powerpc) using readline 5.1
G5Server:˜ discus$ mysql -u scott -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 177
Server version: 5.0.67 MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> select curdate() + interval 10 day;
+-----------------------------+
| curdate() + interval 10 day |
+-----------------------------+
| 2009-02-03 |
+-----------------------------+
1 row in set (0.00 sec)

mysql> select last_day(curdate() + interval 1 month);
+----------------------------------------+
| last_day(curdate() + interval 1 month) |
+----------------------------------------+
| 2009-02-28 |
+----------------------------------------+
1 row in set (0.00 sec)

mysql>
mysql> exit
Bye
G5Server:˜ discus$

最後にPosgreSQL 7.4.9 for MacOSX(PowerPC)版
10日後は期間リテラルで単純に算出可能だが、OracleやMySQLとは異なりlast_day()のような関数が無い(マニュアルをみたけど該当する関数が見当たらない)ので翌々月1日の前日で算出してみた。

G5Server:˜ discus$ psql -U scott postgresql749
Password:
Welcome to psql 7.4.9, the PostgreSQL interactive terminal.

Type: \copyright for distribution terms
\h for help with SQL commands
\? for help on internal slash commands
\g or terminate with semicolon to execute query
\q to quit

postgresql749=#
postgresql749=# select version();
version
-------------------------------------------------------------------------------------------------------------------------
PostgreSQL 7.4.9 on powerpc-apple-darwin8.3.0, compiled by GCC gcc (GCC) 3.3 20030304 (Apple Computer, Inc. build 1809)
(1 row)

postgresql749=# select cast(current_date + interval '10 day' as date);
date
------------
2009-02-03
(1 row)

postgresql749=# select cast(to_date(to_char(current_date + interval'2 months','yyyymm')||'01','yyyymmdd') - interval '1 day' as date);
date
------------
2009-02-28
(1 row)


postgresql749=# \q
G5Server:˜ discus$


CachéではObjectScript(M言語)を使ったので脇に置いといて、他の3つのデータベースのSQLでは期間リテラル(interval)の書き方が微妙に異なる点は知っておいたほうがいいかも。



今日も息子は保育園でバイバイせず結構泣いてた、最近、保育園にくるとパパもママもSee Ya! といっていなくなってしまうことに気付いた模様。いずれ慣れるだろうけど。。

| | | コメント (0) | トラックバック (0)

2008年12月 4日 (木)

Sun Tech Days 2008 in Tokyo 2日目

Sun Tech Days 2008 in Tokyo 2日目は(J)Ruby and Railsにだけ。JRuby関連で知らなかったことと知っているところ半々という内容だったので今後の参考になる内容だった、私にとってはいろいろな遊びのネタになりそう。

ところで、Sunの方のMac率、かなり高いよね。GoslingからしてMacBookだし(^^)

頂いたノベルティは「ブログ de ノベルティ」にて。

| | | コメント (0) | トラックバック (0)

2008年12月 3日 (水)

Sun Tech Days 2008 in Tokyo 1日目

今日はSun Tech Days 2008 in Tokyo 1日目に行って来た。
受講セッションは、Key note、Java SE 6 Update 10 and Deployment、Java Persistence APIs
そしてなぜかレセプションも。というのも、うちの奥さんがレセプションの終わり頃なら帰れるよん。というメールをくれたので、うちの子供を連れて行けばレセプションへ参加できる状況になったから。(子育て中の身では時間調整やらなんやらで、こちらの思う通りにはなかなか出来ないのだが、子育ての負荷分散に貢献している妻にも感謝。ベコリ)

そんな苦労などおかまいなしの息子は、展示会会場のSun方たちに愛想振りまいて大はしゃぎ。うちの息子は基本的に人見知りしないので・・・相手の顔をじ〜〜〜〜〜っと見てから、ニッコリ。最近はその次に何故かニコニコしながら拍手を始めます。(場の雰囲気作りが上手いのは息子の特技のようです。w)

余計な話が多くなったのでこの辺で・・

いつものように頂いたノベルティは「ブログ de ノベルティ」にて。

追記:
そういえばSun Tech Daysに中学生が参加していたなぁ。私はうちの子供に気を取られて話すチャンスなかったけどレセプションで目の前を歩いてたっけ。
将来、この業界で仕事しちゃう少年かもね

あ、忘れてた。VirtualBoxの話をブースで聞いたこともあり少々遊んでみたくなった。NetBeans6.5も良さげなのでそれも後であそんでみようかと・・


Img_0250

何故アナグリグ?
D-Traceで取得した情報をJMonkey Engineを利用して3Dで可視化するデモの為だったんです。個人的にはJavaFXの高速デモの方が面白かったのですがね。

Img_0247

Goslingさんのプレゼン。前の方の頭が見切れて上手く撮影できず。そしてお約束のT-シャツ。しかしゲットできず。
Img_0249

レセプションの軽食の一部。。。
Img_0252

さて妻も六本木に着いたようなので帰宅しますか〜
Img_0265

ここ最近、子育ての負荷分散を妻と実践?実験?しているのだが、実際にやってみると、地下鉄のエレベータもまだまだ未整備なことが気になったりいろいろ気付くことは多い。そういえば、この手のこのコンファレンスに参加しているエンジニアの方々にも小さい子供を育てているおとうさん、おかあさんは沢山いると思うので、子育て中のおとうさん、おかあさん応援セッションみたいな枠があってもいいんじゃないかと。
その時間帯とその前後くらいの時間は託児ルームも開設してあったら便利かも・・・と勝手に想像してたりして。

| | | コメント (1) | トラックバック (0)

2008年11月26日 (水)

Greeさん主催のオープンソーステクノロジー勉強会へ参加してきた。

昨日は、Greeさん主催のオープンソーステクノロジー勉強会へ参加してきた。
http://labs.gree.jp/Top/Study/20081125/Report.html

今回のお題は「Hadoopの概要と最新の動向」「HadoopとEC2による、『安くて簡単』大規模データ処理」

前半は「Hadoopの概要と最新動向」/太田一樹さん
後半は「HadoopとAmazon EC2による安くて簡単大規模データ処理」/blogeye開発者の大蔵勉さん


勉強会の模様はustreamでも配信されている。
http://www.ustream.tv/channel/gree_ost

Free TV : Ustream

Hadoop(Hadoop Distributed file systemとHadoop mapReduce)はGoogleのGFS(Google File System)とMapReduceというGoogleの大規模分散ファイルシステムと分散掲載フレームワークのクローンだという程度の知識しかなかったのだが話を来てみるとこれがなかなか興味深い。
いつもはデータベース(RDBとかORDBばかり)と戯れていることもあるが、久々に右脳を刺激された感じ。(^^;

勉強会にはお約束の懇親会ですが、うちの最優先課題である1歳になったばかりの息子の世話を妻と私でどのようにすれば最適に負荷”分散”できるかをいろいろ実験中だったこともあり息子と妻が六本木ヒルズのスタバで待機させていたので早々に撤収。次回は懇親会も参加できるように子育ての負荷分散方式をもう少し考えなきゃ・・・w

追記:
子づれで思い出したのだが、大きなベビーカーで六本木に向う途中千代田線から日比谷線への乗り換えに霞ヶ関駅を選んでしまった私の調査不足もあるのだが<、子育て支援だなんだかんだと言っている割にお国のお膝元である霞ヶ関駅で千代田線側だけにしかエレベータが無いのは問題だよ。日比谷線に乗るのにエスカレータと階段でベビーカーを担ぐなんて・・・プンプンのプン!
Google Map + Street Viewで東京などの地下鉄まで見れると便利かも。エレベータまでの経路も一目瞭然になれば便利かも・・

| | | コメント (1) | トラックバック (0)

2008年10月20日 (月)

Mac de Oracle - 10万円未満 de RAC (11g編)#28

今回はTransparent Application Failover (TAF)を簡単な方法で確認

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成 その1その2その3
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成 その1その2その3
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)☆項番19.で確認してしまったので削除



22.簡単なTransparent Application Failover (TAF)の確認

1.TAFの設定。
Oracle Database Net Servicesリファレンス 11g リリース1(11.1) - FAILOVER_MODE等のマニュアル参照のこと。(11/30:リンク先変更。オラクルさんのオンラインマニュアルのURL変更が激し過ぎ。なんとかして〜
USのOTNのマニュアルはリンク切れしてないのに...)
G5Server:˜ discus$ tail -16 $TNS_ADMIN/tnsnames.ora
RACTAF =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = discus1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = discus2-vip)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.macdeoracle.info)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 180)
(DELAY = 5)
)

)
)
2.scottユーザでログインして表などを問い合わせておく。
G5Server:˜ discus$ sqlplus /nolog

SQL*Plus: Release 10.1.0.3.0 - Production on 月 10月 20 01:08:31 2008

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

> conn scott/tiger@orcl
接続されました。
SCOTT>
SCOTT> select count(*) from user_objects;

COUNT(*)
----------
5

ここでorcl2をabortで停止(その間に行っていた操作は「3.orcl2の強制停止と接続先の確認」を参照のこと)。

orcl2に接続されていたscottユーザでは特にエラーもなくクエリを発行できる。この時既にfailoverしorcl1からorcl2へセッションが引き継がれている。

SCOTT> select count(*) from user_objects;

COUNT(*)
----------
5

SCOTT>
3.orcl2の強制停止と接続先の確認

orcl2をabortで強制停止、scootの接続がfailoverしたことを確認。
[oracle@discus1 ˜]$ 
[oracle@discus1 ˜]$
[oracle@discus1 ˜]$ sqlplus /nolog

SQL*Plus: Release 11.1.0.6.0 - Production on 月 10月 20 01:14:52 2008

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

SQL> conn sys@orcl1 as sysdba
パスワードを入力してください:
接続されました。
SQL>
SYS> l
1 select
2 instance_name
3 ,username
4 ,failover_type
5 ,failover_method
6 ,failed_over
7 from
8 gv$session sess join gv$instance inst
9 on sess.inst_id = inst.inst_id
10 where
11* sess.username = 'SCOTT'
SYS> /

INSTANCE_NAME USERNAME FAILOVER_TYPE FAILOVER_M FAI
---------------- ------------------------------ ------------- ---------- ---
orcl2 SCOTT SELECT BASIC NO

SYS> !srvctl status database -d orcl
インスタンスorcl1はノードdiscus1で実行中です。
インスタンスorcl2はノードdiscus2で実行中です。

SYS> !srvctl stop instance -d orcl -i orcl2 -o abort

SYS> !srvctl status database -d orcl
インスタンスorcl1はノードdiscus1で実行中です。
インスタンスorcl2はノードdiscus2で実行されていません。

SYS> l
1 select
2 instance_name
3 ,username
4 ,failover_type
5 ,failover_method
6 ,failed_over
7 from
8 gv$session sess join gv$instance inst
9 on sess.inst_id = inst.inst_id
10 where
11* sess.username = 'SCOTT'
SYS> /

INSTANCE_NAME USERNAME FAILOVER_TYPE FAILOVER_M FAI
---------------- ------------------------------ ------------- ---------- ---
orcl1 SCOTT SELECT BASIC YES

SYS>


Oracle11g for Linux x86(CentOS5.2)とiSCSI(Openfiler2.3)を使った安価なOracle11g R1 RAC構築完

| | | コメント (0) | トラックバック (0)

Mac de Oracle - 10万円未満 de RAC (11g編)#27

今回はOracle Clusterwareプロセス・モニター・デーモンの構成

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成 その1その2その3
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成 その1その2その3
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)☆項番19.で確認してしまったので削除



21.Oracle Clusterwareプロセス・モニター・デーモンの構成

以下のマニュアルを参考に。
Oracle Clusterware Installation Guide 11g Release 1 (11.1) for Linux
 - 7.1.2 Configure Input/Output Fencing

Oracle Clusterware Installation Guide 11g Release 1 (11.1) for Linux
 - 7.1.2.3 Configuring Oracle Clusterware Process Monitor Daemon
Cluster Database/ASMなどを停止(全ノード)
G5Server:˜ discus$ ssh root@discus1
root@discus1's password:
Last login: Sat Oct 18 18:32:53 2008 from 192.168.1.19
[root@discus1 ˜]# su - oracle
[oracle@discus1 ˜]$ srvctl stop database -d orcl
[oracle@discus1 ˜]$ srvctl stop asm -n discus2
[oracle@discus1 ˜]$ srvctl stop asm -n discus1
[oracle@discus1 ˜]$ srvctl stop nodeapps -n discus2
[oracle@discus1 ˜]$ srvctl stop nodeapps -n discus1
[oracle@discus1 ˜]$ echo $ORA_CRS_HOME
/u01/app/crs
[oracle@discus1 ˜]$ exit
logout
rootユーザでRACの停止を確認(全てOFFLINEであればOK)
[root@discus1 ˜]# 
[root@discus1 ˜]# /u01/app/crs/bin/crs_stat
NAME=ora.discus1.ASM1.asm
TYPE=application
TARGET=OFFLINE
STATE=OFFLINE

NAME=ora.discus1.LISTENER_DISCUS1.lsnr
TYPE=application
TARGET=OFFLINE
STATE=OFFLINE

NAME=ora.discus1.gsd
TYPE=application
TARGET=OFFLINE
STATE=OFFLINE

・・・・中略・・・・

NAME=ora.orcl.db
TYPE=application
TARGET=OFFLINE
STATE=OFFLINE

NAME=ora.orcl.orcl1.inst
TYPE=application
TARGET=OFFLINE
STATE=OFFLINE

NAME=ora.orcl.orcl2.inst
TYPE=application
TARGET=OFFLINE
STATE=OFFLINE
crsの状態確認
[root@discus1 ˜]# 
[root@discus1 ˜]# /u01/app/crs/bin/crsctl check cluster
discus1 ONLINE
discus2 ONLINE
[root@discus1 ˜]#
crsの停止(RAC全ノードのrootユーザで実施)
[root@discus1 ˜]# 
[root@discus1 ˜]# /u01/app/crs/bin/crsctl check crs
Cluster Synchronization Services appears healthy
Cluster Ready Services appears healthy
Event Manager appears healthy
[root@discus1 ˜]#
[root@discus1 ˜]#
[root@discus1 ˜]# /u01/app/crs/bin/crsctl stop crs
Stopping resources.
This could take several minutes.
Successfully stopped Oracle Clusterware resources
Stopping Cluster Synchronization Services.
Shutting down the Cluster Synchronization Services daemon.
Shutdown request successfully issued.
[root@discus1 ˜]#
[root@discus1 ˜]#
[root@discus1 ˜]# /u01/app/crs/bin/crsctl check crs
Failure 1 contacting Cluster Synchronization Services daemon
Cannot communicate with Cluster Ready Services
Cannot communicate with Event Manager
[root@discus1 ˜]#
oprocdの停止手順が書いてあるがcrsを停止するとoprocdも停止するのでこの操作は不要なのでは?(マニュアルバグ?)とりあえずマニュアル通りにやったが・・・。(RAC全ノードのrootユーザで実施)
[root@discus1 ˜]# 
[root@discus1 ˜]# /u01/app/crs/bin/oprocd stop
Oct 20 02:53:05.858 | ERR | failed to connect to daemon, errno(111)
[root@discus1 ˜]#
[root@discus1 ˜]#
[root@discus1 ˜]# ps -ef | grep oprocd
root 23327 21934 0 02:54 pts/1 00:00:00 grep oprocd
[root@discus1 ˜]#
diagwaitパラメータを13秒に変更する。(この操作はRACを構成する1ノードから行う。)
[root@discus1 ˜]# /u01/app/crs/bin/crsctl set css diagwait 13 -force
Configuration parameter diagwait is now set to 13.
[root@discus1 ˜]#
crsの起動(RAC全ノードのrootユーザで実施)
[root@discus1 ˜]# 
[root@discus1 ˜]# /u01/app/crs/bin/crsctl start crs
Attempting to start Oracle Clusterware stack
The CRS stack will be started shortly
[root@discus1 ˜]#
[root@discus1 ˜]# /u01/app/crs/bin/crsctl check crs
Cluster Synchronization Services appears healthy
Cluster Ready Services appears healthy
Event Manager appears healthy
[root@discus1 ˜]#
[root@discus1 ˜]# ps -ef | grep oprocd
root 24758 22215 0 02:56 ? 00:00:00 /bin/sh /etc/init.d/init.cssd oprocd
root 25125 24758 0 02:56 ? 00:00:00 /u01/app/crs/bin/oprocd run -t 1000 -m 10000 -hsi 5:10:50:75:90 -f
root 26140 21934 0 02:57 pts/1 00:00:00 grep oprocd
[root@discus1 ˜]#
[root@discus1 ˜]# /u01/app/crs/bin/oprocd check
Oct 19 03:16:49.630 | INF | daemon running in fatal mode
[root@discus1 ˜]#

次回へつづく

| | | コメント (0) | トラックバック (0)

2008年10月19日 (日)

Mac de Oracle - 10万円未満 de RAC (11g編)#26

今回はClusterの開始と停止の確認

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成 その1その2その3
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成 その1その2その3
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)☆項番19.で確認してしまったので削除



20.Clusterの開始と停止の確認

下記はdiscus1で実施例。(ついでなのでEnterprise Manager Enterprise Managerの停止、起動も確認。)
[oracle@discus1 ˜]$ 
[oracle@discus1 ˜]$ emctl stop dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.1.0.6.0
Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
https://discus1.macdeoracle.jp:1158/em/console/aboutApplication
Stopping Oracle Enterprise Manager 11g Database Control ...
... Stopped.
[oracle@discus1 ˜]$ srvctl stop database -d orcl
[oracle@discus1 ˜]$ srvctl status database -d orcl
インスタンスorcl1はノードdiscus1で実行されていません。
インスタンスorcl2はノードdiscus2で実行されていません。
[oracle@discus1 ˜]$ srvctl stop asm -n discus2
[oracle@discus1 ˜]$ srvctl status asm -n discus2
ASMインスタンス+ASM2はノードdiscus2で実行されていません。
[oracle@discus1 ˜]$ srvctl stop asm -n discus1
[oracle@discus1 ˜]$ srvctl status asm -n discus1
ASMインスタンス+ASM1はノードdiscus1で実行されていません。
[oracle@discus1 ˜]$ srvctl stop nodeapps -n discus2
[oracle@discus1 ˜]$ srvctl status nodeapps -n discus2
VIPはノードで実行されていません: discus2
GSDはノードで実行されていません: discus2
リスナーはノードで実行されていません:discus2
ONSデーモンはノードで実行されていません: discus2
[oracle@discus1 ˜]$ srvctl stop nodeapps -n discus1
[oracle@discus1 ˜]$ srvctl status nodeapps -n discus1
VIPはノードで実行されていません: discus1
GSDはノードで実行されていません: discus1
リスナーはノードで実行されていません:discus1
ONSデーモンはノードで実行されていません: discus1
[oracle@discus1 ˜]$ exit
logout
Connection to discus1 closed.
G5Server:˜ discus$
G5Server:˜ discus$ ssh root@discus1
root@discus1's password:
Last login: Sun Oct 19 12:17:45 2008 from 192.168.1.19
[root@discus1 ˜]# shutdown -r now

Broadcast message from root (pts/1) (Sun Oct 19 18:33:05 2008):

The system is going down for reboot NOW!
[root@discus1 ˜]# exit
logoutConnection to discus1 closed.
G5Server:˜ discus$ ssh root@discus2
root@discus2's password:
Last login: Sun Oct 19 12:17:55 2008 from 192.168.1.19
[root@discus2 ˜]# shutdown -r now

Broadcast message from root (pts/1) (Sun Oct 19 18:33:19 2008):

The system is going down for reboot NOW!
[root@discus2 ˜]# exit
logout
Connection to discus2 closed.
G5Server:˜ discus$
リブート中〜〜〜〜〜〜そしてリブート後、
Connection to discus2 closed.
G5Server:˜ discus$ ssh oracle@discus1
oracle@discus1's password:
Last login: Sun Oct 19 15:47:12 2008 from 192.168.1.19
[oracle@discus1 ˜]$ srvctl status database -d orcl
インスタンスorcl1はノードdiscus1で実行中です。
インスタンスorcl2はノードdiscus2で実行中です。
[oracle@discus1 ˜]$ srvctl status asm -n discus2
ASMインスタンス+ASM2はノードdiscus2で実行中です。
[oracle@discus1 ˜]$ srvctl status asm -n discus1
ASMインスタンス+ASM1はノードdiscus1で実行中です。
[oracle@discus1 ˜]$ srvctl status nodeapps -n discus2
VIPはノードで実行中です: discus2
GSDはノードで実行中です: discus2
リスナーはノードで実行中です: discus2
ONSデーモンはノードで実行中です: discus2
[oracle@discus1 ˜]$ srvctl status nodeapps -n discus1
VIPはノードで実行中です: discus1
GSDはノードで実行中です: discus1
リスナーはノードで実行中です: discus1
ONSデーモンはノードで実行中です: discus1
[oracle@discus1 ˜]$

次回へつづく

| | | コメント (0) | トラックバック (0)

Mac de Oracle - 10万円未満 de RAC (11g編)#25

今回はOralce RAC ClusterとDatabase構成の確認

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成 その1その2その3
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成 その1その2その3
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)☆項番19.で確認してしまったので削除



20.Oralce RAC ClusterとDatabase構成の確認

[oracle@discus1 ˜]$ srvctl status database -d orcl
インスタンスorcl1はノードdiscus1で実行中です。
インスタンスorcl2はノードdiscus2で実行中です。
[oracle@discus1 ˜]$ srvctl status nodeapps -n discus1
VIPはノードで実行中です: discus1
GSDはノードで実行中です: discus1
リスナーはノードで実行中です: discus1
ONSデーモンはノードで実行中です: discus1
[oracle@discus1 ˜]$ srvctl status nodeapps -n discus2
VIPはノードで実行中です: discus2
GSDはノードで実行中です: discus2
リスナーはノードで実行中です: discus2
ONSデーモンはノードで実行中です: discus2
[oracle@discus1 ˜]$ srvctl status asm -n discus1
ASMインスタンス+ASM1はノードdiscus1で実行中です。
[oracle@discus1 ˜]$ srvctl status asm -n discus2
ASMインスタンス+ASM2はノードdiscus2で実行中です。
[oracle@discus1 ˜]$ srvctl config database
orcl
[oracle@discus1 ˜]$ srvctl config database -d orcl
discus1 orcl1 /u01/app/oracle/product/11.1.0/db_1
discus2 orcl2 /u01/app/oracle/product/11.1.0/db_1
[oracle@discus1 ˜]$ srvctl config nodeapps -n discus1 -a -g -s -l
VIPが存在します。: /discus1-vip/192.168.1.100/255.255.255.0/eth0
GSDが存在します。
ONSデーモンが存在します。
リスナーが存在します。
[oracle@discus1 ˜]$ srvctl config nodeapps -n discus2 -a -g -s -l
VIPが存在します。: /discus2-vip/192.168.1.101/255.255.255.0/eth0
GSDが存在します。
ONSデーモンが存在します。
リスナーが存在します。
[oracle@discus1 ˜]$ srvctl config asm -n discus1
+ASM1 /u01/app/oracle/product/11.1.0/db_1
[oracle@discus1 ˜]$ srvctl config asm -n discus2
+ASM2 /u01/app/oracle/product/11.1.0/db_1

[oracle@discus1 ˜]$ sqlplus /nolog

SQL*Plus: Release 11.1.0.6.0 - Production on 日 10月 19 15:57:38 2008

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

SQL> conn sys@orcl as sysdba
パスワードを入力してください:
接続されました。
SQL> l
1 select name from v$datafile
2 union
3 select member from v$logfile
4 union
5 select name from v$controlfile
6 union
7* select name from v$tempfile
SQL> /

NAME
--------------------------------------------------------------------------------
+FLASH_RECOVERY_AREA/orcl/controlfile/current.268.667323469
+FLASH_RECOVERY_AREA/orcl/onlinelog/group_1.269.667323483
+FLASH_RECOVERY_AREA/orcl/onlinelog/group_2.270.667323497
+FLASH_RECOVERY_AREA/orcl/onlinelog/group_3.271.667336061
+FLASH_RECOVERY_AREA/orcl/onlinelog/group_4.272.667336077
+ORCL_DATA1/orcl/controlfile/current.295.667323465
+ORCL_DATA1/orcl/datafile/apex.302.667323623
+ORCL_DATA1/orcl/datafile/example.303.667323669
+ORCL_DATA1/orcl/datafile/sysaux.299.667323543
+ORCL_DATA1/orcl/datafile/system.298.667323505
+ORCL_DATA1/orcl/datafile/undotbs1.300.667323559

NAME
--------------------------------------------------------------------------------
+ORCL_DATA1/orcl/datafile/undotbs2.304.667323685
+ORCL_DATA1/orcl/datafile/users.305.667323705
+ORCL_DATA1/orcl/datafile/xmldb.306.667323705
+ORCL_DATA1/orcl/onlinelog/group_1.296.667323473
+ORCL_DATA1/orcl/onlinelog/group_2.297.667323489
+ORCL_DATA1/orcl/onlinelog/group_3.307.667336051
+ORCL_DATA1/orcl/onlinelog/group_4.308.667336067
+ORCL_DATA1/orcl/tempfile/temp.301.667323579

19行が選択されました。

SQL>

あとは問題はないだろうね。次回へつづく。

| | | コメント (0) | トラックバック (0)

Mac de Oracle - 10万円未満 de RAC (11g編)#24

今回はOracle Net Serviceの確認

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成 その1その2その3
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成 その1その2その3
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)☆項番19.で確認してしまったので削除



19.Oracle Net Serviceの確認

まずRAC側のtnsnames.oraの内容確認から。ORCL2以下の内容をMacOSXのOracle Instant Client 10g R1のtnsnames.oraへコピーする。
[oracle@discus1 ˜]$ cat $TNS_ADMIN/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.1.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

LISTENERS_ORCL =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = discus1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = discus2-vip)(PORT = 1521))
)

ORCL2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = discus2-vip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.macdeoracle.info)
(INSTANCE_NAME = orcl2)
)
)

ORCL1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = discus1-vip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.macdeoracle.info)
(INSTANCE_NAME = orcl1)
)
)

ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = discus1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = discus2-vip)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.macdeoracle.info)
)
)

[oracle@discus1 ˜]$


コピー内容を確認。
G5Server:˜ discus$ tail -31 $TNS_ADMIN/tnsnames.ora
ORCL2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = discus2-vip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.macdeoracle.info)
(INSTANCE_NAME = orcl2)
)
)

ORCL1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = discus1-vip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.macdeoracle.info)
(INSTANCE_NAME = orcl1)
)
)

ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = discus1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = discus2-vip)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.macdeoracle.info)
)
)

G5Server:˜ discus$

次にOracle Instant Client 10g R1 for MacOSX(PPC)から接続テストを行う。
G5Server:˜ discus$ sqlplus -version

SQL*Plus: Release 10.1.0.3.0 - Production

G5Server:˜ discus$ sqlplus /nolog

SQL*Plus: Release 10.1.0.3.0 - Production on 日 10月 19 10:37:35 2008

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

> !sw_vers
ProductName: Mac OS X Server
ProductVersion: 10.4.11
BuildVersion: 8S169

> !/usr/sbin/system_profiler SPHardwareDataType SPSoftwareDataType | grep -E '((System|Kernel) Version|CPU)'
CPU Type: PowerPC G5 (3.1)
Number Of CPUs: 2
CPU Speed: 2.7 GHz
L2 Cache (per CPU): 512 KB
System Version: Mac OS X Server 10.4.11 (8S169)
Kernel Version: Darwin 8.11.0

>
> conn sys@orcl1 as sysdba
パスワードを入力してください:
接続されました。
SYS> select instance_name from v$instance;

INSTANCE_NAME
----------------
orcl1

SYS> conn sys@orcl2 as sysdba
パスワードを入力してください:
接続されました。
SYS> select instance_name from v$instance;

INSTANCE_NAME
----------------
orcl2

SYS> conn sys@orcl as sysdba
パスワードを入力してください:
接続されました。
SYS> select instance_name from v$instance;

INSTANCE_NAME
----------------
orcl1

SYS> conn sys@orcl as sysdba
パスワードを入力してください:
接続されました。
SYS>: --ロードバランシングされて次はorcl2へ繋がるだろうな・・・・・多分。
SYS> select instance_name from v$instance;

INSTANCE_NAME
----------------
orcl2

SYS> -- gv$instanceビューでracの全インスタンスのチェック
SYS> select
2 inst_id
3 ,instance_number
4 ,instance_name
5 ,host_name
6 ,version
7 ,status
8 ,parallel
9 from
10 gv$instance;

INST_ID INSTANCE_NUMBER INSTANCE_NAME HOST_NAME VERSION STATUS PAR
---------- --------------- ---------------- ------------------------ ----------------- ------------ ---
1 1 orcl1 discus1.macdeoracle.jp 11.1.0.6.0 OPEN YES
2 2 orcl2 discus2.macdeoracle.jp 11.1.0.6.0 OPEN YES

SYS>
SYS> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
PL/SQL Release 11.1.0.6.0 - Production
CORE 11.1.0.6.0 Production
TNS for Linux: Version 11.1.0.6.0 - Production
NLSRTL Version 11.1.0.6.0 - Production

SYS>
同様にintel x86版のMacOSXからも接続確認(^^)。intel x86 mac向けにはOracle Instant Client 10g R2が利用できる。もちろんOracle Instant Client 10g R1(PPC)をRosetta上で動作させてもOKだが。
Macintosh:˜ discus$ sqlplus -version

SQL*Plus: Release 10.2.0.4.0 - Production

Macintosh:˜ discus$ sqlplus /nolog
¥
SQL*Plus: Release 10.2.0.4.0 - Production on 日 10月 19 11:31:45 2008

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

SQL> !sw_vers
ProductName: Mac OS X
ProductVersion: 10.5.5
BuildVersion: 9F33

SQL> !/usr/sbin/system_profiler SPHardwareDataType SPSoftwareDataType | grep -E '((System|Kernel) Version|Processor (Name|Speed))'
Processor Name: Intel Core 2 Duo
Processor Speed: 2.2 GHz
System Version: Mac OS X 10.5.5 (9F33)
Kernel Version: Darwin 9.5.0

SQL> conn sys@orcl as sysdba
Enter password:
Connected.
SQL> select
2 instance_number
3 ,instance_name
4 ,status
5 ,version
6 from
7 gv$instance;

INSTANCE_NUMBER INSTANCE_NAME STATUS VERSION
--------------- ---------------- ------------ -----------------
2 orcl2 OPEN 11.1.0.6.0
1 orcl1 OPEN 11.1.0.6.0

SQL>

Yahoo! 上手く行ったね〜。Oracle11g R1でお遊びRAC環境を構築するにも物理メモリ1GBは載せないとダメね。ということで次回へつづく

追記(2008/10/19)
しまった〜、一番最後に行う予定だったMacOSXのOracle Clientからの接続テストをやっちゃった。w
しかたないので項番24.は削除しておくか。。(^^;;

| | | コメント (0) | トラックバック (0)

Mac de Oracle - 10万円未満 de RAC (11g編)#23

今回はOracle Cluster databaseの作成 その3

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成 その1その2その3
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成 その1その2、その3
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)



18.Oracle Cluster databaseの作成 その3

Cluster Database作成再々チャレンジ。3度目の正直ということで今度は大丈夫。w
iLifeで作成、BGMはGarage Bandのループの組み合わせだけで作成したものをYouTubeへ。。
高画質版はこちらから

ふ〜、上手く行った。(^^。次回へつづく

| | | コメント (0) | トラックバック (0)

2008年10月18日 (土)

Mac de Oracle - 10万円未満 de RAC (11g編)#22

今回はOracle Cluster databaseの作成 その2

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成 その1その2その3
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成 その1、その2
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)



18.Oracle Cluster databaseの作成 その2

さて、前回「ORA-00845: MEMORY_TARGET no support on this system」という既知の落とし穴に落ちてしまったがなんとか脱出、dbcaにて中途半端な状態のデータベースを削除後、Cluster databaseの作成を再開。
今回はASMの作成はすんなりできたものの・・・・こんどこそ物理メモリ512MBという最低限必要とされていた物理メモリサイズの半分ではRAC+ASMのインストールは無理だ・・・という結論に。・・・。
以前シングルインスタンスのOracle11g R1 EEを物理メモリ768MBのDynabookにインストールした経験からギリギリなんとかなるかもと思っていたが、512MBでは無理でしたね、さすがに...。www

Cre_ng_cd1

Cre_ng_cd2

Cre_ng_cd3

Cre_ng_cd4

Cre_ng_cd5

順調に見えたが上記の画面でステータスが全く進まなくなった(そのように見えるがハングしている訳ではない)。原因はORA-04031が連発、バッググラウンドプロセスもまともに動けずエラー終了と再起動を繰り返している様子がalert.logファイルから確認できた。
ということで各512MBのメモリを追加しRAC全ノードの物理メモリを1GBに。
カーネルパラメータshmmax調整後、dbcaにて中途半端な状態のデータベースを削除してからcluster database作成を再開。。結果は次回。。。(^^)
[root@discus1 ˜]# cat /proc/meminfo | grep MemTotal
MemTotal: 1033760 kB
[root@discus1 ˜]#
[root@discus1 ˜]# sysctl -a | grep shmmax
kernel.shmmax = 536870912
[root@discus1 ˜]#
ちなみにOracleの初期化パラメータsga_max_size/memory_max_target/memory_targetは各400M程度に設定する

Cluster Databaseの作成はまだつづく・・・・・・・。

| | | コメント (0) | トラックバック (0)

2008年10月17日 (金)

Mac de Oracle - 10万円未満 de RAC (11g編)#21

今回はOracle Cluster databaseの作成 その1

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成 その1その2その3
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成 その1
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)



18.Oracle Cluster databaseの作成 その1

まず、dbca実行事前チェック。
CentOSで実行出来るよう構成ファイルをカスタマイズしたCVUを利用する。尚、事前にsshのユーザ等価関係を有効にしておくこと。(RACを構成する1ノードから実行する。)
[oracle@discus1 ˜]$ cd /home/oracle/orainstall/clusterware
[oracle@discus1 clusterware]$ ./bin/cluvfy stage -pre dbcfg -n discus1,discus2 -d ${ORACLE_HOME} -verbose

データベース構成の事前チェックを実行しています

ノード到達可能性をチェック中...

チェック: ノード"discus1"からのノード到達可能性
宛先ノード 到達可能ですか
------------------------------------ ------------------------
discus1 はい
discus2 はい
結果: ノード"discus1"からのノード到達可能性チェックに合格しました。


ユーザー等価をチェック中...

チェック: ユーザー"oracle"のユーザー等価
ノード名 コメント
------------------------------------ ------------------------
discus2 合格
discus1 合格
結果: ユーザー"oracle"のユーザー等価チェックに合格しました。

管理権限をチェック中...

・・・・中略・・・・

チェック: サブネット"192.168.1.0"のノード接続性
ソース 宛先 接続しましたか
------------------------------ ------------------------------ ----------------
discus2:eth0 discus2:eth0 はい
discus2:eth0 discus1:eth0 はい
discus2:eth0 discus1:eth0 はい
discus2:eth0 discus1:eth0 はい
discus2:eth0 discus1:eth0 はい
discus1:eth0 discus1:eth0 はい
結果: ノードdiscus2,discus1を持つサブネット"192.168.1.0"のノード接続性チェックに合格しました。

チェック: サブネット"192.168.2.0"のノード接続性
ソース 宛先 接続しましたか
------------------------------ ------------------------------ ----------------
discus2:eth1 discus1:eth1 はい
結果: ノードdiscus2,discus1を持つサブネット"192.168.2.0"のノード接続性チェックに合格しました。

インタフェースがVIPの候補となるサブネット"192.168.1.0"で見つかりました:
discus2 eth0:192.168.1.4 eth0:192.168.1.101
discus1 eth0:192.168.1.3 eth0:192.168.1.100

インタフェースがプライベート・インタコネクトの候補となるサブネット"192.168.2.0"で見つかりました:
discus2 eth1:192.168.2.4
discus1 eth1:192.168.2.3

・・・・中略・・・・

CRS状態をチェック中...

チェック: CRSの状態
ノード名 CRS OK?
------------------------------------ ------------------------
discus2 はい
discus1 はい
結果: CRS状態チェックに合格しました。

CRS整合性チェックに合格しました。

データベース構成の事前チェックは成功しました。
[oracle@discus1 clusterware]$
チェックOKなので、dbcaを起動しCluster database作成を作成する。
今回もMacOSXのxterm(X11)から行う。尚、sshのユーザ等価関係が有効になっていない場合は有効化しておくこと。
G5Server:˜ discus$ ssh -Y oracle@discus1
oracle@discus1's password:
[oracle@discus1 ˜]$
[oracle@discus1 ˜]$ exec /usr/bin/ssh-agent $SHELL
[oracle@discus1 ˜]$ /usr/bin/ssh-add
Enter passphrase for /home/oracle/.ssh/id_rsa:
Identity added: /home/oracle/.ssh/id_rsa (/home/oracle/.ssh/id_rsa)
[oracle@discus1 ˜]$
[oracle@discus1 ˜]$ ssh discus1 hostname
discus1.macdeoracle.jp
[oracle@discus1 ˜]$ ssh discus2 hostname
discus2.macdeoracle.jp
[oracle@discus1 ˜]$
[oracle@discus1 ˜]$ dbca &

・・・中略・・・
あ〜〜〜〜、ダメか?、物理メモリ512MBでは・・・無理しているのは承知だが..?? ASMインスタンスを作成しようとしているところで以下のエラーが出て進む事ができない。。。ここまでか・・・。
ORA-00845: MEMORY_TARGET no support on this system

1

Asmng2

Asmng3

諦めずにログから調査していくと...ありました・・・既知の問題が・・・
どうやらtmpfsを大きく取ってやることで回避できるようだ。。以下のマニュアルを参照のこと。
Oracle Clusterware Installation Guide11g Release 1 (11.1) for Linux
- MEMORY_TARGET not supported on this system
なんとか回避できそうだな・・・ということで、早速tmpfsのサイズを増す。。
Connection to discus1 closed.
G5Server:˜ discus$ ssh root@discus1
root@discus1's password:
Last login: Sat Oct 4 04:08:21 2008 from 192.168.1.19
[root@discus1 ˜]# df -a
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
16790968 11316644 4607612 72% /
proc 0 0 0 - /proc
sysfs 0 0 0 - /sys
devpts 0 0 0 - /dev/pts
/dev/hda1 101086 11816 84051 13% /boot
tmpfs 256984 0 256984 0% /dev/shm
none 0 0 0 - /proc/sys/fs/binfmt_misc
sunrpc 0 0 0 - /var/lib/nfs/rpc_pipefs
configfs 0 0 0 - /sys/kernel/config
ocfs2_dlmfs 0 0 0 - /dlm
/dev/sdc1 2095648 335520 1760128 17% /u02
oracleasmfs 0 0 0 - /dev/oracleasm
[root@discus1 ˜]# umount tmpfs
[root@discus1 ˜]# mount -t tmpfs shmfs -o size=2g /dev/shm
[root@discus1 ˜]# df -a
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
16790968 11316648 4607608 72% /
proc 0 0 0 - /proc
sysfs 0 0 0 - /sys
devpts 0 0 0 - /dev/pts
/dev/hda1 101086 11816 84051 13% /boot
none 0 0 0 - /proc/sys/fs/binfmt_misc
sunrpc 0 0 0 - /var/lib/nfs/rpc_pipefs
configfs 0 0 0 - /sys/kernel/config
ocfs2_dlmfs 0 0 0 - /dlm
/dev/sdc1 2095648 335520 1760128 17% /u02
oracleasmfs 0 0 0 - /dev/oracleasm
shmfs 2097152 0 2097152 0% /dev/shm
[root@discus1 ˜]#
[root@discus1 ˜]# cat /etc/fstab
/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0
LABEL=oracrsfiles /u02 ocfs2 _netdev,datavolume,nointr 0 0
shmfs /dev/shm tmpfs size=2g 0
[root@discus1 ˜]#

・・・・・一旦再起動・・・・・

[root@discus1 ˜]# df -ah
Filesystem サイズ 使用 残り 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
17G 11G 4.4G 72% /
proc 0 0 0 - /proc
sysfs 0 0 0 - /sys
devpts 0 0 0 - /dev/pts
/dev/hda1 99M 12M 83M 13% /boot
tmpfs 2.0G 0 2.0G 0% /dev/shm
shmfs 2.0G 0 2.0G 0% /dev/shm
none 0 0 0 - /proc/sys/fs/binfmt_misc
sunrpc 0 0 0 - /var/lib/nfs/rpc_pipefs
configfs 0 0 0 - /sys/kernel/config
ocfs2_dlmfs 0 0 0 - /dlm
/dev/sdd1 2.0G 328M 1.7G 17% /u02
oracleasmfs 0 0 0 - /dev/oracleasm
[root@discus1 ˜]#
注)上記操作はRAC全ノードのrootユーザで行った


Cluster Databaseの作成は次回へつづく・・・・・・・。

| | | コメント (0) | トラックバック (0)

Mac de Oracle - 10万円未満 de RAC (11g編)#20

今回はTNS Listenerの構成

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成 その1その2その3
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)



17.TNS Listenerの構成

netcaでの構成はRACの1ノードから実行する。
netcaもMacOSXのxterm(X11)から行う。尚、sshのユーザ等価関係が有効になっていない場合は有効化しておくこと。
G5Server:˜ discus$ ssh -Y oracle@discus1
oracle@discus1's password:
[oracle@discus1 ˜]$
[oracle@discus1 ˜]$ exec /usr/bin/ssh-agent $SHELL
[oracle@discus1 ˜]$ /usr/bin/ssh-add
Enter passphrase for /home/oracle/.ssh/id_rsa:
Identity added: /home/oracle/.ssh/id_rsa (/home/oracle/.ssh/id_rsa)
[oracle@discus1 ˜]$
[oracle@discus1 ˜]$ ssh discus1 hostname
discus1.macdeoracle.jp
[oracle@discus1 ˜]$ ssh discus2 hostname
discus2.macdeoracle.jp
[oracle@discus1 ˜]$
[oracle@discus1 ˜]$ netca &

・・・中略・・・


久々にMovie化、iLifeで作成、BGMはGarage Bandのループの組み合わせだけで作成したものをYouTubeへ。。
高画質版はこちらから


確認はRAC全ノードのoracleユーザで実施する。(以下はdiscus1で実施した例)
[oracle@discus1 ˜]$ hostname
discus1.macdeoracle.jp
[oracle@discus1 ˜]$ ps -ef | grep lsnr | grep -v 'grep' | grep -v 'ocfs' | awk '{print $9}'
LISTENER_DISCUS1
[oracle@discus1 ˜]$ $ORA_CRS_HOME/bin/crs_stat ora.discus1.LISTENER_DISCUS1.lsnr
NAME=ora.discus1.LISTENER_DISCUS1.lsnr
TYPE=application
TARGET=ONLINE
STATE=ONLINE on discus1

[oracle@discus1 ˜]$

次回へつづく

| | | コメント (0) | トラックバック (0)

Mac de Oracle - 10万円未満 de RAC (11g編)#19

今回はOracle11g R1 examplesのインストール

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成 その1その2その3
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)



16.Oracle11g R1 examplesのインストール

OUIによるインストールはRACの1ノードから実行する。
Oracle11g R1 exapmlesのインストールもMacOSXのxterm(X11)からOUIを起動して行う。尚、sshのユーザ等価関係が有効になっていない場合は有効化しておくこと。
G5Server:~ discus$ ssh -Y oracle@discus1
oracle@discus1's password:
[oracle@discus1 ˜]$ cd /home/oracle/orainstall/examples
[oracle@discus1 examples]$
[oracle@discus1 examples]$ exec /usr/bin/ssh-agent $SHELL
[oracle@discus1 examples]$ /usr/bin/ssh-add
Enter passphrase for /home/oracle/.ssh/id_rsa:
Identity added: /home/oracle/.ssh/id_rsa (/home/oracle/.ssh/id_rsa)
[oracle@discus1 examples]$
[oracle@discus1 examples]$ ssh discus1 hostname
discus1.macdeoracle.jp
[oracle@discus1 examples]$ ssh discus2 hostname
discus2.macdeoracle.jp
[oracle@discus1 examples]$
[oracle@discus1 examples]$ ./runInstaller &

・・・中略・・・

Copyright (C) 1999, 2007, Oracle. All rights reserved.
MacOSXのxtermからOUIを起動した場合、xterm上のログは文字化けするが起動されるOUIは文字化けしないので特に困ることもない。
久々にMovie化、iLifeで作成、BGMはGarage Bandのループの組み合わせだけで作成したものをYouTubeへ。。

高画質版はこちらからどうぞ。
尚、他のインストールと同様にOUIが実行するCVUでは物理メモリチェック失敗となるが物理メモリ512MBで実行している影響なので無視して続行する。
次回へつづく

| | | コメント (0) | トラックバック (0)

2008年10月16日 (木)

Mac de Oracle - 10万円未満 de RAC (11g編)#18

今回はOracle11g R1 Database softwareのインストール

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成 その1その2その3
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)



15.Oracle11g R1 Database softwareのインストール(ソフトウェアのみインストール)

Oracle databaseインストール事前チェックを手動実行する。CentOS向けに構成ファイルを変更したCVUで行う。物理メモリ及び物理メモリ(512MB)に合わせたカーネルパラメータshmmaxのチェックに失敗するが想定内のことなのでそれ以外のチェック失敗がなければインストールが行える。尚、チェック実施前にsshのユーザ等価関係は有効にしておくこと。
[oracle@discus1 &tilde]$ cd clusterware
[oracle@discus1 clusterware]$ ./bin/cluvfy stage -pre dbinst -n discus1,discus2 -r 11gR1 -verbose

データベース・インストールの事前チェックを実行しています

ノード到達可能性をチェック中...

チェック: ノード"discus1"からのノード到達可能性
宛先ノード 到達可能ですか
------------------------------------ ------------------------
discus1 はい
discus2 はい
結果: ノード"discus1"からのノード到達可能性チェックに合格しました。


ユーザー等価をチェック中...

チェック: ユーザー"oracle"のユーザー等価
ノード名 コメント
------------------------------------ ------------------------
discus2 合格
discus1 合格
結果: ユーザー"oracle"のユーザー等価チェックに合格しました。

・・・中略・・・

システム要件をチェック中: 'database'...

チェック: メモリー合計
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus2 501.92MB (513968KB) 1GB (1048576KB) 失敗
discus1 501.92MB (513968KB) 1GB (1048576KB) 失敗
結果: メモリー合計チェックが失敗しました。

チェック: "/tmp"ディレクトリのディスク空き領域
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus2 10.5GB (11012728KB) 400MB (409600KB) 合格
discus1 8.01GB (8396028KB) 400MB (409600KB) 合格
結果: ディスク空き領域チェックに合格しました。

チェック: スワップ領域
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus2 2GB (2097144KB) 1.5GB (1572864KB) 合格
discus1 2GB (2097144KB) 1.5GB (1572864KB) 合格
結果: スワップ領域チェックに合格しました。

・・・中略・・・

チェック: "shmmax"のカーネル・パラメータ
ノード名 構成済 必須 コメント
------------ ------------------------ ------------------------ ----------
discus2 268435456 536870912 失敗
discus1 268435456 536870912 失敗
結果: "shmmax"のカーネル・パラメータチェックが失敗しました。

チェック: "shmall"のカーネル・パラメータ
ノード名 構成済 必須 コメント
------------ ------------------------ ------------------------ ----------
discus2 2097152 2097152 合格
discus1 2097152 2097152 合格
結果: "shmall"のカーネル・パラメータチェックに合格しました。


・・・中略・・・

チェック: CRSの状態
ノード名 CRS OK?
------------------------------------ ------------------------
discus2 はい
discus1 はい
結果: CRS状態チェックに合格しました。

CRS整合性チェックに合格しました。

データベース・インストールの事前チェックはすべてのノードで失敗しました。
[oracle@discus1 clusterware]$
物理メモリとshmmaxのチェックが失敗しているが、実メモリが少ないことによる影響なので無視して作業を進める。512BMの物理メモリでどこまでいけるか・・・
尚、OUI内のチェックでも同じポイントでチェックが失敗するが同じ問題なので無視してインストールを続ける。(^^)
OUIによるインストールはRACの1ノードから実行する。
Oracle databaseのインストールもMacOSXのxterm(X11)からOUIを起動して行う。尚、sshのユーザ等価関係が有効になっていない場合は有効化しておくこと。
G5Server:~ discus$ ssh -Y oracle@discus1
oracle@discus1's password:
[oracle@discus1 ˜]$ cd /home/oracle/orainstall/database
[oracle@discus1 database]$
[oracle@discus1 database]$ exec /usr/bin/ssh-agent $SHELL
[oracle@discus1 database]$ /usr/bin/ssh-add
Enter passphrase for /home/oracle/.ssh/id_rsa:
Identity added: /home/oracle/.ssh/id_rsa (/home/oracle/.ssh/id_rsa)
[oracle@discus1 database]$
[oracle@discus1 database]$ ssh discus1 hostname
discus1.macdeoracle.jp
[oracle@discus1 database]$ ssh discus2 hostname
discus2.macdeoracle.jp
[oracle@discus1 database]$
[oracle@discus1 database]$ ./runInstaller &

・・・中略・・・

Copyright (C) 1999, 2007, Oracle. All rights reserved.
MacOSXのxterm上では文字化けするがOUI自体は文字化けしないのでご心配なく。
Dbinst1

Dbinst2

Dbinst3

Dbinst4

Dbinst5

Dbinst6

Dbinst7

Dbinst8

Dbinst9

Dbinst10

Dbinst11

インストールの最後でのお約束! root.shの実行。RAC全ノードのrootユーザで実施後、OUIに戻りダイアログを閉じる。
[root@discus1 ~]# /u01/app/oracle/product/11.1.0/db_1/root.sh
Running Oracle 11g root.sh script...

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

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.sh script.
Now product-specific root actions will be performed.
Finished product-specif

Dbinst12

Dbinst13

次回へつづく

| | | コメント (0) | トラックバック (0)

Mac de Oracle - 10万円未満 de RAC (11g編)#17

今回はOracle11g R1 Clusterwareのインストール

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成 その1その2その3
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)



14.Oracle11g R1 Clusterwareのインストール

ということでやっとインストール作業。まずはOracle Clusterwareのインストール。OUIによるインストールはRACの1ノードから実行する。
今回もMacOSXのxterm(X11)でOUIを起動する。
G5Server:~ discus$ ssh -Y oracle@discus1
oracle@discus1's password:
[oracle@discus1 ˜]$ cd /home/oracle/orainstall/clusterware
[oracle@discus1 clusterware]$
[oracle@discus1 clusterware]$ exec /usr/bin/ssh-agent $SHELL
[oracle@discus1 clusterware]$ /usr/bin/ssh-add
Enter passphrase for /home/oracle/.ssh/id_rsa:
Identity added: /home/oracle/.ssh/id_rsa (/home/oracle/.ssh/id_rsa)
[oracle@discus1 clusterware]$
[oracle@discus1 clusterware]$ ssh discus1 hostname
discus1.macdeoracle.jp
[oracle@discus1 clusterware]$ ssh discus2 hostname
discus2.macdeoracle.jp
[oracle@discus1 clusterware]$
[oracle@discus1 clusterware]$ ./runInstaller &

・・・中略・・・

Copyright (C) 1999, 2007, Oracle. All rights reserved.
MacOSXのxterm上では文字化けするがOUI自体は文字化けしないのでご心配なく。
Ocwinst1

Ocwinst2

Ocwinst3

Ocwinst4

Ocwinst5

Ocwinst6

Ocwinst7

Ocwinst8

Ocwinst9

Ocwinst10

Ocwinst11

Ocwinst12

Ocwinst13

Ocwinst14

お約束のorainstRoot.sh及びroot.shスクリプトはRAC全ノードのrootユーザで実行する。
[root@discus1 ˜]# /u01/app/oraInventory/orainstRoot.sh
権限の変更:/u01/app/oraInventory : 770.
グループ名の変更:/u01/app/oraInventory : oinstall.
スクリプトの実行が完了しました
[root@discus1 ˜]# /u01/app/crs/root.sh
WARNING: directory '/u01/app' is not owned by root
Checking to see if Oracle CRS stack is already configured
/etc/oracle does not exist. Creating it now.

Setting the permissions on OCR backup directory
Setting up Network socket directories
Oracle Cluster Registry configuration upgraded successfully
The directory '/u01/app' is not owned by root. Changing owner to root
Successfully accumulated necessary OCR keys.
Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.
node <nodenumber>: <nodename> <private interconnect name> <hostname>
node 1: discus1 discus1-priv discus1
node 2: discus2 discus2-priv discus2
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Now formatting voting device: /u02/oradata/orcl/CSSFile
Now formatting voting device: /u02/oradata/orcl/CSSFile_mirror1
Now formatting voting device: /u02/oradata/orcl/CSSFile_mirror2
Format of 3 voting devices complete.
Startup will be queued to init within 30 seconds.
Adding daemons to inittab
Expecting the CRS daemons to be up within 600 seconds.
Cluster Synchronization Services is active on these nodes.
discus1
Cluster Synchronization Services is inactive on these nodes.
discus2
Local node checking complete. Run root.sh on remaining nodes to start CRS daemons.
[root@discus1 ˜]# ssh root@discus2
root@discus1's password:
[root@discus2 ˜]# /u01/app/oraInventory/orainstRoot.sh
権限の変更:/u01/app/oraInventory : 770.
グループ名の変更:/u01/app/oraInventory : oinstall.
スクリプトの実行が完了しました
[root@discus2 ˜]# /u01/app/crs/root.sh
WARNING: directory '/u01/app' is not owned by root
Checking to see if Oracle CRS stack is already configured
/etc/oracle does not exist. Creating it now.

・・・.中略・・・・

discus1
discus2
Cluster Synchronization Services is active on all the nodes.
Waiting for the Oracle CRSD and EVMD to start
Oracle CRS stack installed and running under init(1M)
Running vipca(silent) for configuring nodeapps

(2)ノードでVIPアプリケーション・リソースを作成しています...
(2)ノードでGSDアプリケーション・リソースを作成しています...
(2)ノードでONSアプリケーション・リソースを作成しています...
(2)ノードでVIPアプリケーション・リソースを起動しています...
(2)ノードでGSDアプリケーション・リソースを起動しています...
(2)ノードでONSアプリケーション・リソースを起動しています...


Done.
[root@discus2 ˜]#
Ocwinst16

Ocwinst17


OUIの最後のCVUでエラーが発生するが既知の問題(CentOS5.2がサポートされていないから)なので無視してOUIを進め、OTN USから別途ダウンロードしCentOS5でも実行できるようカスタマイズしたCVUをOUIを起動したノードで実行し正常であることの確認が取れればOK。
以下はOUIのログ。
-----------------------------------------------------------------------------
コンフィギュレーション・アシスタント"Oracle Cluster Verification Utility"から生成された出力:
Command = /u01/app/crs/bin/cluvfy stage -post crsinst -n discus1,discus2

ERROR:
オペレーティング・システムを識別できません。このオペレーティング・システムに対して正しいソフトウェアが実行中であることを確認してください。
検証を続行できません。


コンフィギュレーション・アシスタント"Oracle Cluster Verification Utility"が失敗しました。
-----------------------------------------------------------------------------
"/u01/app/crs/cfgtoollogs/configToolFailedCommands"スクリプトには、失敗したコマンド、スキップされたコマンド、または取り消されたコマンドがすべて含まれています。
このファイルは、OUI以外でコンフィギュレーション・アシスタントを実行するために使用される場合があります。このスクリプトを実行する前に、
(存在する場合は)パスワードを使用してスクリプトを更新する必要がある場合があります。
-----------------------------------------------------------------------------
[oracle@discus1 clusterware]$ ./bin/cluvfy stage -post crsinst -n discus1,discus2 -verbose

クラスタ・サービス設定の事後チェックを実行しています

ノード到達可能性をチェック中...

チェック: ノード"discus1"からのノード到達可能性
宛先ノード 到達可能ですか
------------------------------------ ------------------------
discus1 はい
discus2 はい
結果: ノード"discus1"からのノード到達可能性チェックに合格しました。


ユーザー等価をチェック中...

チェック: ユーザー"oracle"のユーザー等価
ノード名 コメント
------------------------------------ ------------------------
discus2 合格
discus1 合格
結果: ユーザー"oracle"のユーザー等価チェックに合格しました。

クラスタ・マネージャ整合性をチェック中...


CSSデーモンをチェック中...
ノード名 ステータス
------------------------------------ ------------------------
discus2 実行中
discus1 実行中
結果: "CSS daemon"のデーモン・ステータスチェックに合格しました。

クラスタ・マネージャ整合性チェックに合格しました。

クラスタ整合性をチェック中...

ノード名
------------------------------------
discus1
discus2

クラスタ整合性チェックに合格しました


OCR整合性をチェック中...

非クラスタ構成がないことをチェック中...
すべてのノードにローカル専用の非クラスタ構成がありません。

OCRデバイスの一意性チェックに合格しました。

OCRのバージョンをチェック中...
OCRの正しいバージョン"2"が存在します。

OCRのデータ整合性をチェック中...
OCRのデータ整合性チェックに合格しました。

OCR整合性チェックに合格しました。

CRS整合性をチェック中...

デーモン活性をチェック中...

チェック: "CRS daemon"の活性

・・・・中略・・・・

GSDノード・アプリケーションの存在をチェック中です
ノード名 必須 ステータス コメント
------------ ------------------------ ------------------------ ----------
discus2 いいえ 存在します 合格
discus1 いいえ 存在します 合格
結果: チェックに合格しました。


クラスタ・サービス設定の事後チェックは成功しました。
[oracle@discus1 clusterware]$

最後に全ノードのOracleユーザで以下の確認を行ってOracle clusterwareのインストールは終了。
[oracle@discus1 ˜]$ $ORA_CRS_HOME/bin/olsnodes -n
discus1 1
discus2 2
[oracle@discus1 ˜]$ $ORA_CRS_HOME/bin/crs_stat -t -v
Name Type R/RA F/FT Target State Host
----------------------------------------------------------------------
ora....us1.gsd application 0/5 0/0 ONLINE ONLINE discus1
ora....us1.ons application 0/3 0/0 ONLINE ONLINE discus1
ora....us1.vip application 0/0 0/0 ONLINE ONLINE discus1
ora....us2.gsd application 0/5 0/0 ONLINE ONLINE discus2
ora....us2.ons application 0/3 0/0 ONLINE ONLINE discus2
ora....us2.vip application 0/0 0/0 ONLINE ONLINE discus2
[oracle@discus1 ˜]$ $ORA_CRS_HOME/bin/crsctl check crs
Cluster Synchronization Services appears healthy
Cluster Ready Services appears healthy
Event Manager appears healthy
[oracle@discus1 ˜]$ ls -l /etc/init.d/init.*
-rwxr-xr-x 1 root root 2236 10月 2 21:43 /etc/init.d/init.crs
-rwxr-xr-x 1 root root 5290 10月 2 21:43 /etc/init.d/init.crsd
-rwxr-xr-x 1 root root 49416 10月 2 21:43 /etc/init.d/init.cssd
-rwxr-xr-x 1 root root 3859 10月 2 21:43 /etc/init.d/init.evmd
[oracle@discus1 ˜]$


次回へつづく

| | | コメント (0) | トラックバック (0)

2008年10月15日 (水)

Mac de Oracle - 10万円未満 de RAC (11g編)#16

今回はOracle11g R1 インストール事前作業

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成 その1その2その3
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)



13.Oracle11g R1 インストール事前作業

インストールするOracle製品は、
linux_x86_11gR1_database.zip / linux_x86_11gR1_clusterware.zip / linux_11gR1_examples.zip


及び、cvupack_Linux_x86.zip

CVUのFAQ:
http://www.oracle.com/technology/products/database/clustering/cvu/faq/cvufaq_11g.htmlを参照のこと。

2008/10/16追記
尚、DVDを利用する場合はcvupack_Linux_x86.zipだけを別途ダウンロードし適当なディレクトリで解凍して利用する。DVDを利用する場合、OUIはDatabase/Clusterware/Oracle Clientを選択してインストールすることができるが、本エントリではOracle Database及び、Clusterwareは個々のOUIで個別にインストールしているためrunInstallerのディレクトリが異なっていることに注意してください。
ちなみに1枚のDVDに纏まられているOUIを起動した場合は以下のような画面が現れ、インストールする製品を選択できる。
Oui_dvd

インストールするOracle製品をダウンロードする。
インストールは1つのノードから行うのでRACを構成するいずれか1ノードへダウンロードすればOK。だたDISK容量はそれほど多くないのでunzipしたファイルはどんどん削除。(こちらの事情ですのでインストール上必須ではありません。こんなこと書かなくても大丈夫だと思いますが。)
ただし、cvuqdisk-1.0.1-1.rpmだけはRAC全ノードにダウンロードして個別にインストールする。
[root@discus1 ˜]# su - oracle
[oracle@discus1 ˜]$ mkdir orainstall
[oracle@discus1 ˜]$ cd orainstall
[oracle@discus1 orainstall]$ pwd
/home/oracle/orainstall
[oracle@discus1 orainstall]$ ll
合計 2524844
-rw-r--r-- 1 oracle oinstall 36428926 10月 1 21:12 cvupack_Linux_x86.zip
-rw-r--r-- 1 oracle oinstall 457209469 10月 1 21:41 linux_11gR1_examples.zip
-rw-r--r-- 1 oracle oinstall 244660141 10月 1 21:20 linux_x86_11gR1_clusterware.zip
-rw-r--r-- 1 oracle oinstall 1844572234 10月 1 21:27 linux_x86_11gR1_database.zip
[oracle@discus1 orainstall]$ unzip linux_x86_11gR1_database.zip

・・・・中略・・・

[oracle@discus1 orainstall]$ rm linux_x86_11gR1_database.zip
[oracle@discus1 orainstall]$ unzip linux_11gR1_examples.zip

・・・・中略・・・

[oracle@discus1 orainstall]$ rm linux_11gR1_examples.zip
[oracle@discus1 orainstall]$unzip linux_x86_11gR1_clusterware.zip

・・・・中略・・・

[oracle@discus1 orainstall]$ rm linux_x86_11gR1_clusterware.zip
[oracle@discus1 orainstall]$ ll
合計 35644
drwxr-xr-x 8 oracle oinstall 4096 9月 19 2007 clusterware/
-rw-r--r-- 1 oracle oinstall 36428926 10月 1 21:12 cvupack_Linux_x86.zip
drwxr-xr-x 6 oracle oinstall 4096 9月 19 2007 database/
drwxr-xr-x 6 oracle oinstall 4096 8月 7 2007 examples/
[oracle@discus1 orainstall]$ mv cvupack_Linux_x86.zip ./clusterware
[oracle@discus1 orainstall]$ ll
合計 24
drwxr-xr-x 8 oracle oinstall 4096 9月 19 2007 clusterware/
drwxr-xr-x 6 oracle oinstall 4096 9月 19 2007 database/
drwxr-xr-x 6 oracle oinstall 4096 8月 7 2007 examples/
[oracle@discus1 orainstall]$ cd clusterware
[oracle@discus1 clusterware]$ unzip cvupack_Linux_x86.zip

・・・・中略・・・

inflating: lib/libsrvm11.so
replace rpm/cvuqdisk-1.0.1-1.rpm? [y]es, [n]o, [A]ll, [N]one, [r]ename: n
[oracle@discus1 clusterware]$ rm cvupack_Linux_x86.zip
[oracle@discus1 clusterware]$ ll
合計 112
drwxr-xr-x 2 oracle oinstall 4096 8月 19 15:34 bin/
drwxr-xr-x 6 oracle oinstall 4096 8月 19 15:34 cv/
drwxr-xr-x 8 oracle oinstall 4096 8月 7 2007 doc/
drwxr-xr-x 4 oracle oinstall 4096 8月 4 2007 install/
drwxr-xr-x 3 oracle oinstall 4096 8月 19 15:34 jdk/
drwxr-xr-x 2 oracle oinstall 4096 8月 19 15:34 jlib/
drwxr-xr-x 2 oracle oinstall 4096 8月 19 15:34 lib/
drwxr-xr-x 2 oracle oinstall 4096 9月 19 2007 response/
drwxr-xr-x 2 oracle oinstall 4096 8月 4 2007 rpm/
-rwxr-xr-x 1 oracle oinstall 2912 8月 4 2007 runInstaller*
-rwxr-xr-x 1 oracle oinstall 2990 8月 4 2007 runcluvfy.sh*
drwxr-xr-x 13 oracle oinstall 4096 8月 4 2007 stage/
drwxr-xr-x 2 oracle oinstall 4096 8月 4 2007 upgrade/
-rw-r--r-- 1 oracle oinstall 3824 7月 13 2007 welcome.html
この例ではRACを構成するdiscus1で解凍したcvuqdisk-1.0.1-1.rpmを残りのノードへコピー後、全ノードで個別にインストールする。
[oracle@discus1 clusterware]$ cd rpm
[oracle@discus1 rpm]$ ll
合計 12
-rw-r--r-- 1 oracle oinstall 5339 8月 4 2007 cvuqdisk-1.0.1-1.rpm
[oracle@discus1 rpm]$ scp cvuqdisk-1.0.1-1.rpm discus2:/home/oracle/orainstall/clusterware/rpm
Enter passphrase for key '/home/oracle/.ssh/id_rsa':
cvuqdisk-1.0.1-1.rpm 100% 5339 5.2KB/s 00:00
[oracle@discus1 rpm]$
[root@discus1 rpm]# export CVUQDISK_GRPP=oinstall
[root@discus1 rpm]# rpm -iv cvuqdisk-1.0.1-1.rpm
準備中...
cvuqdisk-1.0.1-1
今回利用するzipファイルを全て展開すると上記のようなdirectory構成になる。cvupack_Linux_x86.zipを利用する理由は、後続作業にてCentOS5.2上でCVUによる事前チェックが行えるようにすることが目的でcvu_configファイルのCV_ORACLE_RELEASEパラメータ及び、CV_ASSUME_DISTIDパラメータをカスタマイズするため。
CV_ORACLE_RELEASEパラメータはコメントアウトされているだけなので#を削除するだけ。
CV_ASSUME_DISTIDパラメータはCentOS5.2をRHEL5と思わせるためにRHEL5へ変更する。
前述の設定を怠ると....
[oracle@discus1 clusterware]$ ./bin/cluvfy stage -pre crsinst -n discus1,discus2 -verbose

ERROR:
オペレーティング・システムを識別できません。このオペレーティング・システムに対して正しいソフトウェアが実行中であることを確認してください。
検証を続行できません。

[oracle@discus1 clusterware]$
というエラーが発生するのでご注意を

[oracle@discus1 clusterware]$ cat ./cv/admin/cvu_config
# Configuration file for Cluster Verification Utility(CVU)
# Version: 011405
#
# NOTE:
# 1._ Any line without a '=' will be ignored
# 2._ Since the fallback option will look into the environment variables,
# please have a component prefix(CV_) for each property to define a
# namespace.
#


#Default Oracle release(10gR1/10gR2/11gR1). If specified here, this release
#will be assumed when -r option is not specified in the command line.
CV_ORACLE_RELEASE=11gR1

#Nodes for the cluster. If CRS home is not installed, this list will be
#picked up when -n all is mentioned in the commandline argument.
#CV_NODE_ALL=

#if enabled, cvuqdisk rpm is required on all nodes on RedHat 3 or Redhat 4
CV_RAW_CHECK_ENABLED=TRUE

# Fallback to this distribution id
CV_ASSUME_DISTID=RHEL5

# Whether X-Windows check should be performed for user equivalence with SSH
#CV_XCHK_FOR_SSH_ENABLED=TRUE

# To override SSH location
#ORACLE_SRVM_REMOTESHELL=/usr/bin/ssh

# To override SCP location
#ORACLE_SRVM_REMOTECOPY=/usr/bin/scp

[oracle@discus1 clusterware]$


さ事前チェックを行う前にsshのユーザ等価は確認しておく。
ここでpasswordを要求されるようならユーザ等価関係が有効になっていないので再度設定するべし。
[oracle@discus1 clusterware]$ ssh discus1 hostname
discus1.macdeoracle.jp
[oracle@discus1 clusterware]$ ssh discus2 hostname
discus2.macdeoracle.jp
[oracle@discus1 clusterware]$


・CVUによるOracle Clusterware事前チェック(RACを構成する1ノードのoracleユーザで実施すればOK)
[oracle@discus1 clusterware]$ pwd
/home/oracle/orainstall/clusterware
[oracle@discus1 clusterware]$ ./bin/cluvfy stage -pre crsinst -n discus1,discus2 -verbose

クラスタ・サービス設定の事前チェックを実行しています

ノード到達可能性をチェック中...

チェック: ノード"discus1"からのノード到達可能性
宛先ノード 到達可能ですか
------------------------------------ ------------------------
discus1 はい
discus2 はい
結果: ノード"discus1"からのノード到達可能性チェックに合格しました。


ユーザー等価をチェック中...

チェック: ユーザー"oracle"のユーザー等価
ノード名 コメント
------------------------------------ ------------------------
discus2 合格
discus1 合格
結果: ユーザー"oracle"のユーザー等価チェックに合格しました。

管理権限をチェック中...

チェック: ユーザー"oracle"の存在
ノード名 ステータス ユーザーID
------------ ------------------------ ------------------------
discus2 存在します 601
discus1 存在します 601
結果: "oracle"のユーザーの存在チェックに合格しました。

チェック: グループ"oinstall"の存在
ノード名 ステータス グループID
------------ ------------------------ ------------------------
discus2 存在します 601
discus1 存在します 601
結果: "oinstall"のグループの存在チェックに合格しました。

チェック: グループ"oinstall"内のユーザー"oracle"[プライマリ]のメンバーシップ
ノード名 ユーザーが存在します グループが存在します グループ内のユーザー プライマリ コメント
---------------- ------------ ------------ ------------ ------------ ------------
discus2 はい はい はい はい 合格
discus1 はい はい はい はい 合格
結果: グループ"oinstall"内のユーザー"oracle"[プライマリ]のメンバーシップ・チェックに合格しました。

管理権限チェックに合格しました。

ノード接続性をチェック中...


・・・・中略・・・・


システム要件をチェック中: 'crs'...

チェック: メモリー合計
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus2 501.92MB (513968KB) 1GB (1048576KB) 失敗
discus1 501.92MB (513968KB) 1GB (1048576KB) 失敗
結果: メモリー合計チェックが失敗しました。

チェック: "/tmp"ディレクトリのディスク空き領域
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus2 11.2GB (11743644KB) 400MB (409600KB) 合格
discus1 8.56GB (8972272KB) 400MB (409600KB) 合格
結果: ディスク空き領域チェックに合格しました。

チェック: スワップ領域
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus2 2GB (2097144KB) 1.5GB (1572864KB) 合格
discus1 2GB (2097144KB) 1.5GB (1572864KB) 合格
結果: スワップ領域チェックに合格しました。

チェック: システム・アーキテクチャ
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus2 i686 i686 合格
discus1 i686 i686 合格
結果: システム・アーキテクチャチェックに合格しました。

チェック: カーネル・バージョン
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus2 2.6.18-92.el5 2.6.9 合格
discus1 2.6.18-92.el5 2.6.9 合格
結果: カーネル・バージョンチェックに合格しました。

・・・・中略・・・・

チェック: "glibc-headers-2.5-12"のパッケージの存在
ノード名 ステータス コメント
------------------------------ ------------------------------ ----------------
discus2 glibc-headers-2.5-24 合格
discus1 glibc-headers-2.5-24 合格
結果: "glibc-headers-2.5-12"のパッケージの存在チェックに合格しました。

チェック: "dba"のグループの存在
ノード名 ステータス グループID
------------ ------------------------ ------------------------
discus2 存在します 602
discus1 存在します 602
結果: "dba"のグループの存在チェックに合格しました。

チェック: "oinstall"のグループの存在
ノード名 ステータス グループID
------------ ------------------------ ------------------------
discus2 存在します 601
discus1 存在します 601
結果: "oinstall"のグループの存在チェックに合格しました。

チェック: "nobody"の既存ユーザー
ノード名 ステータス ユーザーID
------------ ------------------------ ------------------------
discus2 存在します 99
discus1 存在します 99
結果: "nobody"の既存ユーザーチェックに合格しました。

チェック: "オープン・ファイル・ディスクリプタ"のハード・リソース制限
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus2 65536 65536 合格
discus1 65536 65536 合格
結果: "オープン・ファイル・ディスクリプタ"のハード・リソース制限チェックに合格しました。

チェック: "オープン・ファイル・ディスクリプタ"のソフト・リソース制限
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus2 1024 1024 合格
discus1 1024 1024 合格
結果: "オープン・ファイル・ディスクリプタ"のソフト・リソース制限チェックに合格しました。

チェック: "最大ユーザー・プロセス"のハード・リソース制限
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus2 16384 16384 合格
discus1 16384 16384 合格
結果: "最大ユーザー・プロセス"のハード・リソース制限チェックに合格しました。

チェック: "最大ユーザー・プロセス"のソフト・リソース制限
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus2 2047 2047 合格
discus1 2047 2047 合格
結果: "最大ユーザー・プロセス"のソフト・リソース制限チェックに合格しました。

システム要件が失敗しました 'crs'

クラスタ・サービス設定の事前チェックはすべてのノードで失敗しました。
[oracle@discus1 clusterware]$

NGなのはメモリだけなのでこのまま先へ進む。(実メモリが少ないのは承知の上で行っているので)


・CVUによるハードウェアとOSのセットアップチェック。(RACを構成する1ノードのoracleユーザで実施すればOK)
[oracle@discus1 clusterware]$ ./bin/cluvfy stage -post hwos -n discus1,discus2 -verbose

ハードウェアとオペレーティング・システム設定の事後チェックを実行しています

ノード到達可能性をチェック中...

チェック: ノード"discus1"からのノード到達可能性
宛先ノード 到達可能ですか
------------------------------------ ------------------------
discus1 はい
discus2 はい
結果: ノード"discus1"からのノード到達可能性チェックに合格しました。


ユーザー等価をチェック中...

チェック: ユーザー"oracle"のユーザー等価
ノード名 コメント
------------------------------------ ------------------------
discus2 合格
discus1 合格
結果: ユーザー"oracle"のユーザー等価チェックに合格しました。

ノード接続性をチェック中...


ノード"discus2"のインタフェース情報
名前 IPアドレス サブネット ゲートウェイ デフォルト・ゲートウェイ HWアドレス MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
eth0 192.168.1.4 192.168.1.0 0.0.0.0 192.168.1.1 00:08:74:B1:C4:4C 1500
eth1 192.168.2.4 192.168.2.0 0.0.0.0 192.168.1.1 00:01:8E:B3:6E:BA 1500


ノード"discus1"のインタフェース情報
名前 IPアドレス サブネット ゲートウェイ デフォルト・ゲートウェイ HWアドレス MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
eth0 192.168.1.3 192.168.1.0 0.0.0.0 192.168.1.1 00:08:74:B1:C4:50 1500
eth1 192.168.2.3 192.168.2.0 0.0.0.0 192.168.1.1 00:01:8E:B3:76:A3 1500


チェック: サブネット"192.168.1.0"のノード接続性
ソース 宛先 接続しましたか
------------------------------ ------------------------------ ----------------
discus2:eth0 discus1:eth0 はい
結果: ノードdiscus2,discus1を持つサブネット"192.168.1.0"のノード接続性チェックに合格しました。

チェック: サブネット"192.168.2.0"のノード接続性
ソース 宛先 接続しましたか
------------------------------ ------------------------------ ----------------
discus2:eth1 discus1:eth1 はい
結果: ノードdiscus2,discus1を持つサブネット"192.168.2.0"のノード接続性チェックに合格しました。

インタフェースがVIPの候補となるサブネット"192.168.1.0"で見つかりました:
discus2 eth0:192.168.1.4
discus1 eth0:192.168.1.3

インタフェースがプライベート・インタコネクトの候補となるサブネット"192.168.2.0"で見つかりました:
discus2 eth1:192.168.2.4
discus1 eth1:192.168.2.3

結果: ノード接続性チェックに合格しました。


共有記憶域アクセス可能性をチェック中...

Disk 共有ノード(数量: 2)
------------------------------------ ------------------------
/dev/sdc discus2
/dev/sda discus1

Disk 共有ノード(数量: 2)
------------------------------------ ------------------------
/dev/sdb discus2 discus1

Disk 共有ノード(数量: 2)
------------------------------------ ------------------------
/dev/sda discus2
/dev/sdd discus1

Disk 共有ノード(数量: 2)
------------------------------------ ------------------------
/dev/sdd discus2
/dev/sdc discus1

Disk 共有ノード(数量: 2)
------------------------------------ ------------------------
/dev/sde discus2 discus1


共有記憶域チェックはノード"discus2,discus1"で成功しました。

ハードウェアとオペレーティング・システム設定の事後チェックは成功しました。
[oracle@discus1 clusterware]$

ということでメモリ512MB以外は問題なし。想定通りなのでそのまま続行。

次回へつづく<

| | | コメント (0) | トラックバック (0)

Mac de Oracle - 10万円未満 de RAC (11g編)#15

今回はOracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成 その1その2その3
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)

12.Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成

以下のRHEL5 x86用パッケージをインストールする。
oracleasm-2.6.18-92.el5-2.0.4-1.el5.i686.rpm
oracleasm-support-2.0.4-1.el5.i386.rpm
oracleasmlib-2.0.3-1.el5.i386.rpm

インストールガイド:
http://oss.oracle.com/projects/oracleasm/dist/documentation/asm-install.txt

OCFS2の場合と同様に関連するパッケージを一旦MacOSXへダウンロード後、scpにてRAC全ノードへ配布してインストールする。

G5Server:˜ discus$ scp /Users/discus/Desktop/oracleasm-support-2.0.4-1.el5.i386.rpm oracle@discus1:/tmp
oracle@discus1's password:
oracleasm-support-2.0.4-1.el5.i386.rpm                                      100%   22KB  22.4KB/s   00:00   
G5Server:˜ discus$ scp /Users/discus/Desktop/oracleasm-support-2.0.4-1.el5.i386.rpm oracle@discus2:/tmp
oracle@discus2's password:
oracleasm-support-2.0.4-1.el5.i386.rpm                                      100%   22KB  22.4KB/s   00:00   
G5Server:˜ discus$ scp /Users/discus/Desktop/oracleasmlib-2.0.3-1.el5.i386.rpm oracle@discus1:/tmp
oracle@discus1's password:
oracleasmlib-2.0.3-1.el5.i386.rpm                                           100%   13KB  13.3KB/s   00:00   
G5Server:˜ discus$ scp /Users/discus/Desktop/oracleasmlib-2.0.3-1.el5.i386.rpm oracle@discus2:/tmp
oracle@discus2's password:
oracleasmlib-2.0.3-1.el5.i386.rpm                                           100%   13KB  13.3KB/s   00:00   
G5Server:˜ discus$ scp /Users/discus/Desktop/oracleasm-2.6.18-92.el5-2.0.4-1.el5.i686.rpm oracle@discus1:/tmp
oracle@discus1's password:
oracleasm-2.6.18-92.el5-2.0.4-1.el5.i686.rpm                                100%  122KB 122.2KB/s   00:00   
G5Server:˜ discus$ scp /Users/discus/Desktop/oracleasm-2.6.18-92.el5-2.0.4-1.el5.i686.rpm oracle@discus2:/tmp
oracle@discus2's password:
oracleasm-2.6.18-92.el5-2.0.4-1.el5.i686.rpm                                100%  122KB 122.2KB/s   00:00   
G5Server:˜ discus$

配布が完了したらRAC全ノードのrootユーザでインストール及び構成を行う。
(2010/10/13訂正)

[root@discus1 tmp]# ll *.rpm
-rw-r--r-- 1 oracle oinstall  125137 10月  2 00:51 oracleasm-2.6.18-92.el5-2.0.4-1.el5.i686.rpm
-rw-r--r-- 1 oracle oinstall   22936 10月  2 00:50 oracleasm-support-2.0.4-1.el5.i386.rpm
-rw-r--r-- 1 oracle oinstall   13658 10月  2 00:51 oracleasmlib-2.0.3-1.el5.i386.rpm
[root@discus1 tmp]# rpm -qa | grep oracleasm | sort
[root@discus1 tmp]# rpm -Uvh oracleasm-2.6.18-92.el5-2.0.4-1.el5.i686.rpm oracleasm-support-2.0.4-1.el5.i386.rpm oracleasmlib-2.0.3-1.el5.i386.rpm
準備中...                 ########################################### [100%]
1:oracleasm-support      ########################################### [ 33%]
2:oracleasm-2.6.18-92.el5########################################### [ 67%]
3:oracleasmlib           ########################################### [100%]
[root@discus1 tmp]# rpm -qa | grep oracleasm | sort
oracleasm-2.6.18-92.el5-2.0.4-1.el5
oracleasm-support-2.0.4-1.el5
oracleasmlib-2.0.3-1.el5
[root@discus1 tmp]#
[root@discus1 ˜]# /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library
driver.  The following questions will determine whether the driver is
loaded on boot and what permissions it will have.  The current values
will be shown in brackets ('[]').  Hitting

without typing an
answer will keep that current value.  Ctrl-C will abort.

Default user to own the driver interface []: oracle
Default group to own the driver interface []: oinstall
Start Oracle ASM library driver on boot (y/n) [n]: y
Fix permissions of Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration:           [  OK  ]
Creating /dev/oracleasm mount point:                       [  OK  ]
Loading module "oracleasm":                                [  OK  ]
Mounting ASMlib driver filesystem:                         [  OK  ]
Scanning system for ASM disks:                             [  OK  ]
[root@discus1 ˜]#

 

asmディスク作成する。(iscsiとして作成したデバイスへ作成する)。以下の操作はRACを構成する1ノードのrootユーザで実行する。


[root@discus1 ˜]# /etc/init.d/oracleasm createdisk VOL1 /dev/iscsi/asm1/part1
Marking disk "/dev/iscsi/asm1/part1" as an ASM disk:       [  OK  ]
[root@discus1 ˜]# /etc/init.d/oracleasm createdisk VOL2 /dev/iscsi/asm2/part1
Marking disk "/dev/iscsi/asm2/part1" as an ASM disk:       [  OK  ]
[root@discus1 ˜]# /etc/init.d/oracleasm createdisk VOL3 /dev/iscsi/asm3/part1
Marking disk "/dev/iscsi/asm3/part1" as an ASM disk:       [  OK  ]
[root@discus1 ˜]# /etc/init.d/oracleasm createdisk VOL4 /dev/iscsi/asm4/part1
Marking disk "/dev/iscsi/asm4/part1" as an ASM disk:       [  OK  ]
[root@discus1 ˜]#

 

asmディスクの確認。以下の操作はRAC全ノードのrootユーザで実施する。

[root@discus1 ˜]# /etc/init.d/oracleasm scandisks
Scanning system for ASM disks:                             [  OK  ]
[root@discus1 ˜]# /etc/init.d/oracleasm listdisks
VOL1
VOL2
VOL3
VOL4
[root@discus1 ˜]#

次回へつづく

| | | コメント (0) | トラックバック (0)

2008年10月14日 (火)

Mac de Oracle - 10万円未満 de RAC (11g編)#14

今回はOracle Cluster File System (OCFS2)のインストール及び構成 その3

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成 その1その2、その3
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)



11.Oracle Cluster File System (OCFS2)のインストール及び構成 その3

・O2CBの構成
「10万円 de RAC」と同じH/WなのでO2CBのheartbeatのしきい値は以前と同じで81に設定する。configureだけで全て行えるのでocfs2 1.2.3のときより構成は楽。。(Heartbeat dead threshholdに関してはマニュアルP.18 Heartbeat Dead Threshold参照のこと。)
[root@discus1 ocfs2]# /etc/init.d/o2cb offline ocfs2
Stopping O2CB cluster ocfs2: OK
[root@discus1 ocfs2]#
[root@discus1 ocfs2]# /etc/init.d/o2cb unload
Unmounting ocfs2_dlmfs filesystem: OK
Unloading module "ocfs2_dlmfs": OK
Unmounting configfs filesystem: OK
Unloading module "configfs": OK
[root@discus1 ocfs2]#
[root@discus1 ocfs2]# /etc/init.d/o2cb configure
Configuring the O2CB driver.

This will configure the on-boot properties of the O2CB driver.
The following questions will determine whether the driver is loaded on
boot. The current values will be shown in brackets ('[]'). Hitting
<ENTER> without typing an answer will keep that current value. Ctrl-C
will abort.

Load O2CB driver on boot (y/n) [n]: y
Cluster stack backing O2CB [o2cb]:
Cluster to start on boot (Enter "none" to clear) [ocfs2]:
Specify heartbeat dead threshold (>=7) [31]: 81
Specify network idle timeout in ms (>=5000) [30000]:
Specify network keepalive delay in ms (>=1000) [2000]: 3000
Specify network reconnect delay in ms (>=2000) [2000]:
Writing O2CB configuration: OK
Loading filesystem "configfs": OK
Mounting configfs filesystem at /sys/kernel/config: OK
Loading filesystem "ocfs2_dlmfs": OK
Mounting ocfs2_dlmfs filesystem at /dlm: OK
Starting O2CB cluster ocfs2: OK
・OCFS2ファイルシステムのフォーマット
[root@discus1 ˜]# mkfs.ocfs2 -b 4K -C 32K -N 4 -L oracrsfiles /dev/iscsi/crs/part1
mkfs.ocfs2 1.4.1
Cluster stack: classic o2cb
Filesystem label=oracrsfiles
Block size=4096 (bits=12)
Cluster size=32768 (bits=15)
Volume size=2145943552 (65489 clusters) (523912 blocks)
3 cluster groups (tail covers 977 clusters, rest cover 32256 clusters)
Journal size=67108864
Initial number of node slots: 4
Creating bitmaps: done
Initializing superblock: done
Writing system files: done
Writing superblock: done
Writing backup superblock: 1 block(s)
Formatting Journals: done
Formatting slot map: done
Writing lost+found: done
mkfs.ocfs2 successful
事前に作成しておいたマウントポイント/u02へOCFS2ファイルシステムをマウントする。また、/etc/fstabも以下のようの編集する。
[root@discus1 ˜]# mount -t ocfs2 -o datavolume,nointr -L "oracrsfiles" /u02
[root@discus1 ˜]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
configfs on /sys/kernel/config type configfs (rw)
ocfs2_dlmfs on /dlm type ocfs2_dlmfs (rw)
/dev/sde1 on /u02 type ocfs2 (rw,_netdev,datavolume,nointr,heartbeat=local)
[root@discus1 ˜]# vi /etc/fstab

/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0
LABEL=oracrsfiles /u02 ocfs2 _netdev,datavolume,nointr 0 0
[root@discus1 ˜]#


最後に/etc/sysctl.confへ以下の2行を追加(詳細はマニュアルのP.19 Kernel Configuration 参照)。
kernel.panic_on_oops = 1
kernel.panic = 30
[root@discus1 ˜]# vi /etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

・・・・中略・・・・
# for Oracle11g
kernel.sem = 250 32000 100 128
fs.file-max = 65536
kernel.shmall = 2097152
kernel.shmmax = 268435456
kernel.shmmni = 4096
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
kernel.panic_on_oops = 1
kernel.panic = 30

ここでRAC全ノードを再起動する。再起動後、mountコマンドで状態を確認する。
[root@discus1 ˜]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
configfs on /sys/kernel/config type configfs (rw)
ocfs2_dlmfs on /dlm type ocfs2_dlmfs (rw)
/dev/sde1 on /u02 type ocfs2 (rw,_netdev,datavolume,nointr,heartbeat=local)
OCFS2のバージョン確認方法。以前とかわったようだ。以前は/proc/fs/ocfs2/versionで見る事ができたが1.4.1では以下のようにすると確認できる。
[root@discus1 ˜]# mkfs.ocfs2 -V
mkfs.ocfs2 1.4.1
[root@discus1 ˜]#


これでOCFS2に関する作業はひとまず終了。次回へつづく

| | | コメント (0) | トラックバック (0)

Mac de Oracle - 10万円未満 de RAC (11g編)#13

今回はOracle Cluster File System (OCFS2)のインストール及び構成 その2

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成 その1、その2
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)



11.Oracle Cluster File System (OCFS2)のインストール及び構成 その2


・OCFS2の構成

ocfs2consoleというGUIツールが提供されているのでそれを利用する。この操作はRACを構成する全ノードで実施する。(OCFS2の構成もMacOSXのxtermから行う。お約束.w)

Ocfs2console1_2

Ocfs2console2_2

Ocfs2console3_2

Ocfs2console4

Ocfs2console5



2010/10/16訂正
Node Configurationダイアログの画像を訂正。private networkのホスト名として設定したdiscus1-priv/discus2-privではなく、public networkのホスト名として設定したdiscus1/discus2を設定するのが正しい。


Ocfs2console6_ng

Ocfs2console6_ok

Ocfs2console7

OCFS2コンソールで構成後には/etc/ocfs2/cluster.confが作成される。
[root@discus1 ˜]# cat /etc/ocfs2/cluster.conf
node:
ip_port = 7777
ip_address = 192.168.2.3
number = 0
name = discus1
cluster = ocfs2

node:
ip_port = 7777
ip_address = 192.168.2.4
number = 1
name = discus2
cluster = ocfs2

cluster:
node_count = 2
name = ocfs2

[root@discus1 ˜]#
簡単な状況確認及び動作確認。(これをやらなくてもインストール及び構成には支障はありませんが。。。念のため。)
後ほど調整するが、Heatbeat dead threshholdが31(デフォルト)になっていることが確認できる。
[root@discus2 ocfs2]# /etc/init.d/o2cb status
Driver for "configfs": Loaded
Filesystem "configfs": Mounted
Driver for "ocfs2_dlmfs": Loaded
Filesystem "ocfs2_dlmfs": Mounted
Checking O2CB cluster ocfs2: Online
Heartbeat dead threshold = 31
Network idle timeout: 30000
Network keepalive delay: 2000
Network reconnect delay: 2000
Checking O2CB heartbeat: Not active
[root@discus2 ocfs2]#
[root@discus2 ocfs2]# /etc/init.d/o2cb offline ocfs2
Stopping O2CB cluster ocfs2: OK
[root@discus2 ocfs2]#
[root@discus2 ocfs2]# /etc/init.d/o2cb unload
Unmounting ocfs2_dlmfs filesystem: OK
Unloading module "ocfs2_dlmfs": OK
Unmounting configfs filesystem: OK
Unloading module "configfs": OK
[root@discus2 ocfs2]#
[root@discus2 ocfs2]# /etc/init.d/o2cb load
Loading filesystem "configfs": OK
Mounting configfs filesystem at /sys/kernel/config: OK
Loading filesystem "ocfs2_dlmfs": OK
Mounting ocfs2_dlmfs filesystem at /dlm: OK
[root@discus2 ocfs2]#
[root@discus2 ocfs2]# /etc/init.d/o2cb online ocfs2
Starting O2CB cluster ocfs2: OK
[root@discus2 ocfs2]#
[root@discus2 ocfs2]# /etc/init.d/o2cb status
Driver for "configfs": Loaded
Filesystem "configfs": Mounted
Driver for "ocfs2_dlmfs": Loaded
Filesystem "ocfs2_dlmfs": Mounted
Checking O2CB cluster ocfs2: Online
Heartbeat dead threshold = 31

Network idle timeout: 30000

Network keepalive delay: 2000
Network reconnect delay: 2000
Checking O2CB heartbeat: Not active
[root@discus2 ocfs2]#
その3へつづく。




(2010/10/17追記)
ちなみに、add nodeダイアログで「Name」欄にpublic networkに設定したhost名ではなく、private networkに設定したhost名を設定してしまうと、cluster file system(以下の例では “ocfs2”)をonlineにできずエラーが発生する。 add nodeダイアログでは、public networkに指定したhost名を設定しましょうね。(直感的に分かりにくいので注意しましょ!)

[root@discus1 ˜]# /etc/init.d/o2cb status
Driver for "configfs": Loaded
Filesystem "configfs": Mounted
Driver for "ocfs2_dlmfs": Loaded
Filesystem "ocfs2_dlmfs": Mounted
Checking O2CB cluster ocfs2: Offline

[root@discus1 ˜]# /etc/init.d/o2cb unload
Unmounting ocfs2_dlmfs filesystem: OK
Unloading module "ocfs2_dlmfs": OK
Unmounting configfs filesystem: OK
Unloading module "configfs": OK

[root@discus1 ˜]# /etc/init.d/o2cb load
Loading filesystem "configfs": OK
Mounting configfs filesystem at /sys/kernel/config: OK
Loading filesystem "ocfs2_dlmfs": OK
Mounting ocfs2_dlmfs filesystem at /dlm: OK

[root@discus1 ˜]# /etc/init.d/o2cb online ocfs2
Starting O2CB cluster ocfs2: Failed
Cluster ocfs2 created
Node discus1-priv added
Node discus2-priv added
o2cb_ctl: Configuration error discovered while populating cluster ocfs2.
None of its nodes were considered local.
A node is considered local when its node name
in the configuration matches this machine's host name.

| | | コメント (0) | トラックバック (0)

Mac de Oracle - 10万円未満 de RAC (11g編)#12

今回はOracle Cluster File System (OCFS2)のインストール及び構成 その1

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成 その1
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)



11.Oracle Cluster File System (OCFS2)のインストール及び構成 その1

・Oracle Cluster File System (OCFS2)と関連ツールのダウンロード
約2年前はRHEL4向けのOCFS2 1.2.3-1を利用したが今回はCentOS5.2なのでRHEL5向け1.4.1-1を利用する。kernelのリリース毎に個別のパッケージが用意されているので対応するものを利用する。
[oracle@discus1 ˜]$ uname -r
2.6.18-92.el5
[oracle@discus1 ˜]$
今回インストールしたCentOS5.2のkernelは2.6.18-92.el5なので以下のパッケージをインストールする。尚、「10万円 de RAC #20」のようにRAC全ノードからwgetで直接ダウンロードすることも可能なのだが今回は一旦MacOSX側で全てダウンロード後、各RACノードへscpでコピーすることにした。(Macも絡めないとね・・・Mac De Oracleですから。wwww)
http://oss.oracle.com/projects/ocfs2/dist/files/RedHat/RHEL5/i386/1.4.1-1/2.6.18-92.el5/ocfs2-2.6.18-92.el5-1.4.1-1.el5.i686.rpm
http://oss.oracle.com/projects/ocfs2-tools/dist/files/RedHat/RHEL5/i386/1.4.1-1/ocfs2-tools-1.4.1-1.el5.i386.rpm
http://oss.oracle.com/projects/ocfs2-tools/dist/files/RedHat/RHEL5/i386/1.4.1-1/ocfs2console-1.4.1-1.el5.i386.rpm

OCFS2 1.4.1-1のドキュメント(USER'S GUIDE FOR RELEASE 1.4)は以下。
http://oss.oracle.com/projects/ocfs2/dist/documentation/v1.4/ocfs2-1_4-usersguide.pdf
MacでダンロードしたOCFS2関連パッケージをscpでRACの各ノードの/tmpへ配布。(以下はdiscus1の/tmpへscpしている例。)
Welcome to Darwin!
G5Server:˜ discus$
G5Server:˜ discus$ scp /Users/discus/Desktop/ocfs2-2.6.18-92.el5-1.4.1-1.el5.i686.rpm oracle@discus1:/tmp
oracle@discus1's password:
ocfs2-2.6.18-92.el5-1.4.1-1.el5.i686.rpm 100% 303KB 303.0KB/s 00:00
G5Server:˜ discus$ scp /Users/discus/Desktop/ocfs2-tools-1.4.1-1.el5.i386.rpm oracle@discus1:/tmp
oracle@discus1's password:
ocfs2-tools-1.4.1-1.el5.i386.rpm 100% 1396KB 1.4MB/s 00:00
G5Server:˜ discus$ scp /Users/discus/Desktop/ocfs2console-1.4.1-1.el5.i386.rpm oracle@discus1:/tmp
oracle@discus1's password:
ocfs2console-1.4.1-1.el5.i386.rpm 100% 306KB 306.5KB/s 00:00
G5Server:˜ discus$
RACの各ノードでOCFS2関連パーッケージをインストール
G5Server:˜ discus$ ssh root@discus1
root@discus1's password:
Last login: Mon Oct 1 21:00:10 2008 from 192.168.1.19
[root@discus1 ˜]#
[root@discus1 ˜]# cd /tmp
[root@discus1 tmp]# ll *.rpm
-rw-r--r-- 1 oracle oinstall 310243 10月 1 22:07 ocfs2-2.6.18-92.el5-1.4.1-1.el5.i686.rpm
-rw-r--r-- 1 oracle oinstall 1429676 10月 1 22:08 ocfs2-tools-1.4.1-1.el5.i386.rpm
-rw-r--r-- 1 oracle oinstall 313824 10月 1 22:10 ocfs2console-1.4.1-1.el5.i386.rpm
[root@discus1 tmp]# rpm -qa | grep ocfs2 | sort
[root@discus1 tmp]# rpm -Uvh ocfs2-tools-1.4.1-1.el5.i386.rpm
準備中... ########################################### [100%]
1:ocfs2-tools ########################################### [100%]
[root@discus1 tmp]# rpm -Uvh ocfs2-2.6.18-92.el5-1.4.1-1.el5.i686.rpm
準備中... ########################################### [100%]
1:ocfs2-2.6.18-92.el5 ########################################### [100%]
[root@discus1 tmp]# rpm -Uvh ocfs2console-1.4.1-1.el5.i386.rpm
準備中... ########################################### [100%]
1:ocfs2console ########################################### [100%]
[root@discus1 tmp]# rpm -qa | grep ocfs2 | sort
ocfs2-2.6.18-92.el5-1.4.1-1.el5
ocfs2-tools-1.4.1-1.el5
ocfs2console-1.4.1-1.el5
[root@discus1 tmp]#
ファイヤーウォール及びSELinux設定はCentOS5.2インストール後に行っているので特に行はないが、もう一度確認。
MacOSXのxterm(X11)から行っている。MacOSXのxtermから ssh -Y username@hostname でX forwardingが有効になる。

Sec_xterm1

Sec_xterm2

Sec_xterm3

ここで各RACノードを再起動。


長いので次回へ続く

| | | コメント (0) | トラックバック (0)

2008年10月13日 (月)

Mac de Oracle - 10万円未満 de RAC (11g編)#11

今回はOracle RACノード構成ファイルの確認

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)

10.Oracle RACノード構成ファイルの確認。

ここまでの作業で編集したり作成したRACノードの構成ファイル等の確認。内容の確認だけなのでさらりと・・・楽しい部分ではないのでね・・・w。(RACの全ノードで確認する。)

/etc/sysctl.conf
(2010/10/13訂正)

[root@discus1 ˜]#  cat /etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.

・・・・中略・・・・

# for Oracle11g
kernel.sem = 250 32000 100 128
fs.file-max = 6553600
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 268435456
kernel.shmmni = 4096
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
[root@discus1 ˜]#

 

/etc/security/limits.conf

[root@discus1 ˜]# cat /etc/security/limits.conf | grep oracle
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

 

/etc/pam.d/login

[root@discus1 ˜]# cat /etc/pam.d/login | grep pam_limits.so
session  required  /lib/security/pam_limits.so
session  required  pam_limits.so

 

/etc/profile
(2010/10/13訂正)

[root@discus1  ˜]# tail -9 /etc/profile
if [ $USER = "oracle" ]; then
     if [ $SHELL = "/bin/ksh" ]; then
         ulimit -p 16384
         ulimit -n 65536
    else
         ulimit -u 16384 -n 65536
     fi
     umask 022
fi
[root@discus1  ˜]#

 

/etc/hosts

[root@discus1 ˜]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost.localdomain localhost

# Public Networks - (eth0)
192.168.1.3     discus1.macdeoracle.jp  discus1
192.168.1.4     discus2.macdeoracle.jp  discus2
192.168.1.5     arowana.macdeoracle.jp  arowana

# Private Network - (eth1)
192.168.2.3     discus1-priv.macdeoracle.jp     discus1-priv
192.168.2.4     discus2-priv.macdeoracle.jp     discus2-priv
192.168.2.5     arowana-priv.macdeoracle.jp     arowana-priv

# Public Virtual IP(VIP) address for - (eth0)
192.168.1.100   discus1-vip.macdeoracle.jp      discus1-vip
192.168.1.101   discus2-vip.macdeoracle.jp      discus2-vip
[root@discus1 ˜]#

 

/etc/modprobe.conf

[root@discus1 ˜]# cat /etc/modprobe.conf | grep hangcheck-timer
options hangcheck-timer hangcheck_tick=1 hangcheck_margin=55 hangcheck_reboot=1
[root@discus1 ˜]#

 

/etc/rc.local

[root@discus1 ˜]# cat /etc/rc.local | grep hangcheck-timer
/sbin/modprobe hangcheck-timer
[root@discus1 ˜]#

 

/etc/udev/rules.d/55-openiscsi.rules

[root@discus1 ˜]# cat /etc/udev/rules.d/55-openiscsi.rules
KERNEL=="sd*", BUS=="scsi", PROGRAM="/etc/udev/scripts/iscsidev.sh %b",SYMLINK+="iscsi/%c/part%n"

 

/etc/udev/sripts/iscsidev.sh

[root@discus1 ˜]# cat /etc/udev/scripts/iscsidev.sh
#!/bin/sh

# FILE: /etc/udev/scripts/iscsidev.sh

BUS=${1}
HOST=${BUS%%:*}

[ -e /sys/class/iscsi_host ] || exit 1

file="/sys/class/iscsi_host/host${HOST}/device/session*/iscsi_session*/targetname"

target_name=$(cat ${file})

# This is not an open-scsi drive
if [ -z "${target_name}" ]; then
   exit 1
fi

echo "${target_name##*.}"

 

/etc/iscsi/initiatorname.iscsi

[root@discus1 ˜]# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1994-05.jp.macdeoracle:discus1
[root@discus1 ˜]# ssh root@discus2 cat /etc/iscsi/initiatorname.iscsi
root@discus2's password:
InitiatorName=iqn.1994-05.jp.macdeoracle:discus2
[root@discus1 ˜]#

 

iscsid及び、iscsiの自動起動設定の確認

[root@discus1 ˜]# chkconfig --list iscsid
iscsid          0:off   1:off   2:off   3:on    4:on    5:on    6:off
[root@discus1 ˜]# chkconfig --list iscsi
iscsi           0:off   1:off   2:off   3:on    4:on    5:on    6:off
[root@discus1 ˜]#

 

そして最後はOracleユーザの.bash_profile

[oracle@discus1  ˜]$ 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

alias ls="ls -FA"

export JAVA_HOME=/usr/local/java

# User specific environment and startup programs
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1
export ORA_CRS_HOME=/u01/app/crs
export ORACLE_PATH=$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin

# discus1の場合はorcl1 / discus2の場合はorcl2をセット
export ORACLE_SID=orcl1

export PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS10=$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp

次回へつづく。

| | | コメント (0) | トラックバック (0)

Mac de Oracle - 10万円未満 de RAC (11g編)#10

今回はOracle RACノード間リモートアクセスの構成

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)



9.Oracle RACノード間リモートアクセスの構成。

行う操作はマニュアルに記載している内容に沿っているので詳細は以下マニュアルを参照のこと。
Oracle Clusterware Installation Guide 11g Release 1 (11.1) for Linux - 2.11 Configuring SSH on All Cluster Nodes
RAC全ノードのoracleユーザで実施する。
[oracle@discus1 ˜]$ mkdir -p ˜/.ssh
[oracle@discus1 ˜]$ chmod 700 ˜/.ssh
[oracle@discus1 ˜]$ /usr/bin/ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
・・・・以下略・・・・


以下の操作はRACを構成する1ノードのoracleユーザで実施すればOK(この例ではdiscus1から)
[oracle@discus1 ˜]$ touch ˜/.ssh/authorized_keys
[oracle@discus1 ˜]$ cd ˜/.ssh
[oracle@discus1 .ssh]$ ls -l *.pub
-rw-r--r-- 1 oracle oinstall 411 10月 1 21:39 id_rsa.pub
[oracle@discus1 .ssh]$ ssh discus1 cat ˜/.ssh/id_rsa.pub >> ~˜.ssh/authorized_keys
The authenticity of host 'discus1 (192.168.1.3)' can't be established.
RSA key fingerprint is 4c:17:88:23:b0:40:3a:b2:cb:93:07:61:63:4d:12:03.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'discus1,192.168.1.3' (RSA) to the list of known hosts.
oracle@discus1's password:
[oracle@discus1 .ssh]$ ssh discus2 cat ˜/.ssh/id_rsa.pub >> ˜/.ssh/authorized_keys
The authenticity of host 'discus2 (192.168.1.4)' can't be established.
RSA key fingerprint is 15:d7:fe:b0:dd:7f:42:cc:2d:5e:60:e8:a5:06:5b:d2.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'discus2,192.168.1.4' (RSA) to the list of known hosts.
oracle@discus2's password:
[oracle@discus1 .ssh]$ scp ˜/.ssh/authorized_keys discus2:.ssh/authorized_keys
oracle@discus2's password:
authorized_keys 100% 822 0.8KB/s 00:00
[oracle@discus1 .ssh]$


RAC全ノードのoracleユーザで実施する。
[oracle@discus1 .ssh]$ chmod 600 ˜/.ssh/authorized_keys
[oracle@discus1 .ssh]$


以下の操作はRACを構成する1ノードのoracleユーザで実施すればOK(この例ではdiscus1から)
[oracle@discus1 ˜]$ ssh discus1 hostname
root@discus1's password:
discus1.macdeoracle.jp
[oracle@discus1 ˜]$ ssh discus2 hostname
root@discus2's password:
discus2.macdeoracle.jp
[oracle@discus1 ˜]$


sshユーザ等価関係の有効化。以下の操作はRACを構成する1ノードのoracleユーザで実施すればOK(この例ではdiscus1から)
RACのインストールではOUIを実行する前にsshユーザ等価関係の有効化を行っておく必要があるのでお忘れなく。
[oracle@discus1 ˜]$ 
[oracle@discus1 ˜]$ exec /usr/bin/ssh-agent $SHELL
[oracle@discus1 ˜]$ /usr/bin/ssh-add
Enter passphrase for /home/oracle/.ssh/id_rsa:
Identity added: /home/oracle/.ssh/id_rsa (/home/oracle/.ssh/id_rsa)
[oracle@discus1 ˜]$
[oracle@discus1 ˜]$
[oracle@discus1 ˜]$ ssh discus1 hostname
discus1.macdeoracle.jp
[oracle@discus1 ˜]$ ssh discus2 hostname
discus2.macdeoracle.jp
[oracle@discus1 ˜]$

次回へつづく。

| | | コメント (0) | トラックバック (0)

2008年10月12日 (日)

Mac de Oracle - 10万円未満 de RAC (11g編)#8

今回はOracle向けLinuxサーバーの構成(カーネルパラメータの設定)

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)

7.Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)。

Oracle Database Quick Installation Guide 11g Release 1 (11.1) for Linux x86 - 6 Configuring Kernel Parameters / Settting Shell limits for the oracle user

リブートするのが面倒なのでOSのリブートなしで変更したカーネルパラメータ値を反映させたついでに/etc/sysctl.confへも追加。
(2010/10/13訂正。)

[root@discus1 ˜]# sysctl -w fs.file-max=65536 >> /etc/sysctl.conf; tail -1 /etc/sysctl.conf;
fs.file-max = 65536

・・・・中略・・・・

[root@discus1 ˜]# sysctl -w net.core.wmem_max =
1048576 >> /etc/sysctl.conf; tail -1 /etc/sysctl.conf;
net.core.wmem_max =
1048576
[root@discus1 ˜]#

として、今回は以下のように設定。
物理メモリが少な過ぎる(512MBなので)ので・・・キツいかな・・・今回は・・DynaBookの時でさえ768MBだったからな・・)
(2010/10/13訂正。)

[root@discus1 ˜]# 
[root@discus1 ˜]# cat /etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename
# Useful for debugging multi-threaded applications
kernel.core_uses_pid = 1

# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1

# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536

# Controls the default maxmimum size of a mesage queue
kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes
#kernel.shmmax = 4294967295

# Controls the maximum number of shared memory segments, in pages
#kernel.shmall = 268435456

# for Oracle11g
kernel.sem = 250 32000 100 128
fs.file-max = 65536
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 268435456
kernel.shmmni = 4096
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
[root@discus1 ˜]#

 

・Oracleユーザのshell limitの設定
(2010/10/13訂正。バックスラッシュを削除)

[root@discus1 ˜]# cat >> /etc/security/limits.conf <<EOF
> oracle soft nproc 2047
> oracle hard nproc 16384
> oracle soft nofile 1024
> oracle hard nofile 65536
> EOF
[root@discus1 ˜]#
[root@discus1 ˜]# cat >> /etc/pam.d/login  <<EOF
> # added for oracle shell limits
> session  required  /lib/security/pam_limits.so
> session  required  pam_limits.so
> EOF
[root@discus1 ˜]#
[root@discus1 ˜]# cat >> /etc/profile  <<EOF
> if [ $USER = "oracle" ]; then
>     if [ $SHELL = "/bin/ksh" ]; then
>         ulimit -p 16384
>         ulimit -n 65536
>     else
>         ulimit -u 16384 -n 65536
>     fi
>     umask 022
> fi
> EOF
[root@discus1 ˜]#

discus1からOracleのインストールを行うので他のノード時刻をduscus1より少々進めておく。今回はdiscus2を約40秒進めてある。(NTPによる時刻調整はRACインストール後に行えばよいので。)

[root@discus1 ˜]# date
2008年 10月  1日 水曜日 21:23:47 JST
[root@discus1 ˜]#

[root@discus2 ˜]# date
2008年 10月  1日 水曜日 21:24:28 JST
[root@discus2 ˜]#

次回へつづく。

| | | コメント (0) | トラックバック (0)

2008年10月11日 (土)

Mac de Oracle - 10万円未満 de RAC (11g編)#6

今回はOracle RACノード側でiSCSIボリュームの構成の後半。

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1、その2
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)



5.Oracle RACノードでのiSCSIボリュームの構成のつづき。

udevに関連しない操作/確認は「10万円でRAC」の場合と同じなのでそちらも参照のこと。

・fdiskでSCSIデバイスにパーティション作成

/dev/iscsi/asm1/part、/dev/iscsi/asm2/part、/dev/iscsi/asm3/part、/dev/iscsi/asm4/part、/dev/iscsi/crs/partに対して1パーティションを作成し利用可能な全シリンダを割り当てる。
尚、この操作はRACを構成するノードの1ノードでrootユーザとして実施する。
[root@discus1 ˜]# fdisk /dev/iscsi/asm1/part
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
新たに DOS ディスクラベルを作成します。あなたが書き込みを決定するまで、変更は
メモリ内だけに残します。その後はもちろん以前の内容は修復不可能になります。

このディスクのシリンダ数は 22016 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
(例. DOS FDISK, OS/2 FDISK)
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります

コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-22016, default 1): 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-22016, default 22016): 22016

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。
[root@discus1 ˜]#

/dev/iscsi/asm2/part、/dev/iscsi/asm3/part、/dev/iscsi/asm3/partにも同様の操作を繰り返す。
・・・・中略・・・・

[root@discus1 ˜]#
[root@discus1 ˜]# fdisk /dev/iscsi/crs/part
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
新たに DOS ディスクラベルを作成します。あなたが書き込みを決定するまで、変更は
メモリ内だけに残します。その後はもちろん以前の内容は修復不可能になります。
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります

コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-1009, default 1): 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-1009, default 1009): 1009

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。
[root@discus1 ˜]#

・確認

パーティションの作成が済んだらRACの全ノードでrootユーザとしてパーティションが認識されているか確認する。以下はdiscus1から実施したもの
[root@discus1 ˜]#
[root@discus1 ˜]# partprobe
[root@discus1 ˜]#
[root@discus1 ˜]# fdisk -l

Disk /dev/hda: 20.0 GB, 20020396032 bytes
255 heads, 63 sectors/track, 2434 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 2434 19446682+ 8e Linux LVM

Disk /dev/sda: 23.0 GB, 23085449216 bytes
64 heads, 32 sectors/track, 22016 cylinders
Units = シリンダ数 of 2048 * 512 = 1048576 bytes

デバイス Boot Start End Blocks Id System
/dev/sda1 1 22016 22544368 83 Linux

Disk /dev/sdb: 23.0 GB, 23085449216 bytes
64 heads, 32 sectors/track, 22016 cylinders
Units = シリンダ数 of 2048 * 512 = 1048576 bytes

デバイス Boot Start End Blocks Id System
/dev/sdb1 1 22016 22544368 83 Linux

Disk /dev/sdc: 23.0 GB, 23085449216 bytes
64 heads, 32 sectors/track, 22016 cylinders
Units = シリンダ数 of 2048 * 512 = 1048576 bytes

デバイス Boot Start End Blocks Id System
/dev/sdc1 1 22016 22544368 83 Linux

Disk /dev/sdd: 23.0 GB, 23085449216 bytes
64 heads, 32 sectors/track, 22016 cylinders
Units = シリンダ数 of 2048 * 512 = 1048576 bytes

デバイス Boot Start End Blocks Id System
/dev/sdd1 1 22016 22544368 83 Linux

Disk /dev/sde: 2147 MB, 2147483648 bytes
67 heads, 62 sectors/track, 1009 cylinders
Units = シリンダ数 of 4154 * 512 = 2126848 bytes

デバイス Boot Start End Blocks Id System
/dev/sde1 1 1009 2095662 83 Linux
[root@discus1 ˜]#
[root@discus1 ˜]# (cd /dev/disk/by-path; ls -l *openfiler* | awk '{FS=" "; print $9 " " $10 " " $11}')
ip-192.168.2.5:3260-iscsi-iqn.2006-01.com.openfiler:tsn.asm1 -> ../../sdb
ip-192.168.2.5:3260-iscsi-iqn.2006-01.com.openfiler:tsn.asm1-part1 -> ../../sdb1
ip-192.168.2.5:3260-iscsi-iqn.2006-01.com.openfiler:tsn.asm2 -> ../../sdd
ip-192.168.2.5:3260-iscsi-iqn.2006-01.com.openfiler:tsn.asm2-part1 -> ../../sdd1
ip-192.168.2.5:3260-iscsi-iqn.2006-01.com.openfiler:tsn.asm3 -> ../../sdc
ip-192.168.2.5:3260-iscsi-iqn.2006-01.com.openfiler:tsn.asm3-part1 -> ../../sdc1
ip-192.168.2.5:3260-iscsi-iqn.2006-01.com.openfiler:tsn.asm4 -> ../../sda
ip-192.168.2.5:3260-iscsi-iqn.2006-01.com.openfiler:tsn.asm4-part1 -> ../../sda1
ip-192.168.2.5:3260-iscsi-iqn.2006-01.com.openfiler:tsn.crs -> ../../sde
ip-192.168.2.5:3260-iscsi-iqn.2006-01.com.openfiler:tsn.crs-part1 -> ../../sde1
[root@discus1 ˜]#


udevが作成したパーティションに対して新たなデバイス名をruleに従い作成してくれている。(^^..

[root@discus1 ˜]# ls -l /dev/iscsi/*/*
lrwxrwxrwx 1 root root 9 9月 30 17:52 /dev/iscsi/asm1/part -> ../../sdd
lrwxrwxrwx 1 root root 10 9月 30 18:01 /dev/iscsi/asm1/part1 -> ../../sdd1
lrwxrwxrwx 1 root root 9 9月 30 17:52 /dev/iscsi/asm2/part -> ../../sde
lrwxrwxrwx 1 root root 10 9月 30 18:01 /dev/iscsi/asm2/part1 -> ../../sde1
lrwxrwxrwx 1 root root 9 9月 30 17:52 /dev/iscsi/asm3/part -> ../../sdb
lrwxrwxrwx 1 root root 10 9月 30 18:01 /dev/iscsi/asm3/part1 -> ../../sdb1
lrwxrwxrwx 1 root root 9 9月 30 17:52 /dev/iscsi/asm4/part -> ../../sda
lrwxrwxrwx 1 root root 10 9月 30 18:01 /dev/iscsi/asm4/part1 -> ../../sda1
lrwxrwxrwx 1 root root 9 9月 30 17:52 /dev/iscsi/crs/part -> ../../sdc
lrwxrwxrwx 1 root root 10 9月 30 18:01 /dev/iscsi/crs/part1 -> ../../sdc1
[root@discus1 ˜]#

特に問題もなく作成できたようだ。


次回へつづく

| | | コメント (0) | トラックバック (0)

Mac de Oracle - 10万円未満 de RAC (11g編)#5

つづきです。今回はOracle RACノード側でiSCSIボリュームの構成を行う。
  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)

5.Oracle RACノードでのiSCSIボリュームの構成 尚、iscsi-targetがOpenfiler2.3でもiscsi-initiator側の設定手順には違いはないのでUS OTNのBuild Your Own Oracle RAC Clusters on Oracle Enterprise Linux and iSCSI - 11.COnfigure iSCSI Volumes on Oracle Rac Nodesも参照のこと。 注)iscsi-initiatorの構成はOracle RACの全ノードで行うがパーティションの作成は1ノードだけで行う。 ・iscsi-initiator-utilsのインストール
rpmでやるのもいいが今回はyumを使ってiscsi-initiator-utilsパッケージをインストールする。Oracle RACの全ノードのrootユーザで実行する。(以下のdiscus1で実施したログ。)


(20101013訂正というか追記)
以下の例ではiscsidを自動起動にしていますが、CentOS5.5ではiscsiを自動起動にすればiscsi起動・停止時にiscsidの起動・停止も行っているのでCentOS5.5ではiscsidの自動起動は不要。CentOS5.4以前はどうか未確認なので、/etc/rc.d/init.d/iscsiを確認するか、service iscsi start/stopでiSCSI deamonが起動・停止されるか確認するよいかと。
[root@discus1 ˜]# yum list iscsi-initiator-utils
Available Packages
iscsi-initiator-utils.i386               6.2.0.868-0.7.el5      base            
[root@discus1 ˜]# yum -y install iscsi-initiator-utils
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package iscsi-initiator-utils.i386 0:6.2.0.868-0.7.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
iscsi-initiator-utils   i386       6.2.0.868-0.7.el5  base              550 k

Transaction Summary
=============================================================================
Install      1 Package(s)         
Update       0 Package(s)         
Remove       0 Package(s)         

Total download size: 550 k
Downloading Packages:
(1/1): iscsi-initiator-ut 100% |=========================| 550 kB    00:00    
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: iscsi-initiator-utils        ######################### [1/1]

Installed: iscsi-initiator-utils.i386 0:6.2.0.868-0.7.el5
Complete!
[root@discus1 ˜]# service iscsid start
Turning off network shutdown. Starting iSCSI daemon: [  OK  ]
                                                     [  OK  ]

[root@discus1 ˜]# chkconfig iscsid on
[root@discus1 ˜]# chkconfig iscsi on
 
/etc/iscsi/initiatorname.iscsiの設定。
分かり易いIQNにしておいたほうがいいですよ。RACを構成する全ノードで実施
[root@discus1 ˜]# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1994-05.jp.macdeoracle:discus1
[root@discus1 ˜]#

[root@discus2 ˜]# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1994-05.jp.macdeoracle:discus2
[root@discus2 ˜]#
・iscsi-targetの検出
以下のコマンドでiscsi-targetの検出しそのIQNのリストしてくれる。-p にはiscsi-targetのip addressを指定する。以下の例はdiscus1からarowana-privに存在するiscsi-targetを検出した例。尚、この操作はRACの全ノードのrootユーザで実施する。
[root@discus1 ˜]# iscsiadm -m discovery -t sendtargets -p 192.168.2.5
192.168.2.5:3260,1 iqn.2006-01.com.openfiler:tsn.asm1
192.168.2.5:3260,1 iqn.2006-01.com.openfiler:tsn.asm2
192.168.2.5:3260,1 iqn.2006-01.com.openfiler:tsn.asm3
192.168.2.5:3260,1 iqn.2006-01.com.openfiler:tsn.asm4
192.168.2.5:3260,1 iqn.2006-01.com.openfiler:tsn.crs
・iscsi-targetへの手動接続
iscsi-target側では認証設定はしていないので以下のコマンドで手動ログインする。
-Tで接続するiscsi-targetのIQNを指定する。-pはiscsi-targetが起動しているホストのhostname又はip addressを指定する。詳細はこの操作はRACの全ノードのrootユーザで実施する。
[root@discus1 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.asm1 -p 192.168.2.5 -l
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:tsn.asm1, portal: 192.168.2.5,3260]
Login to [iface: default, target: iqn.2006-01.com.openfiler:tsn.asm1, portal: 192.168.2.5,3260]: successful
[root@discus1 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.asm2 -p 192.168.2.5 -l
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:tsn.asm2, portal: 192.168.2.5,3260]
Login to [iface: default, target: iqn.2006-01.com.openfiler:tsn.asm2, portal: 192.168.2.5,3260]: successful
[root@discus1 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.asm3 -p 192.168.2.5 -l
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:tsn.asm3, portal: 192.168.2.5,3260]
Login to [iface: default, target: iqn.2006-01.com.openfiler:tsn.asm3, portal: 192.168.2.5,3260]: successful
[root@discus1 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.asm4 -p 192.168.2.5 -l
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:tsn.asm4, portal: 192.168.2.5,3260]
Login to [iface: default, target: iqn.2006-01.com.openfiler:tsn.asm4, portal: 192.168.2.5,3260]: successful
[root@discus1 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.crs -p 192.168.2.5 -l
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:tsn.crs, portal: 192.168.2.5,3260]
Login to [iface: default, target: iqn.2006-01.com.openfiler:tsn.crs, portal: 192.168.2.5,3260]: successful
[root@discus1 ˜]#
・iscsi-targetへの自動ログインの構成
iscsiadmコマンドでiscsi-targetへの自動ログインができるようにしておく。この操作はRACの全ノードのrootユーザで実施する。
[root@discus1 ˜]# 
[root@discus1 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.asm1 -p 192.168.2.5 --op update -n node.startup -v automatic
[root@discus1 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.asm2 -p 192.168.2.5 --op update -n node.startup -v automatic
[root@discus1 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.asm3 -p 192.168.2.5 --op update -n node.startup -v automatic
[root@discus1 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.asm4 -p 192.168.2.5 --op update -n node.startup -v automatic
[root@discus1 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.crs -p 192.168.2.5 --op update -n node.startup -v automatic
[root@discus1 ˜]#
・ローカルデバイス名の作成
iSCSIでは再起動する度にiscsi-targetにマッピングされるSCSIデバイス名が変ってしまうことがある。(少々面倒)。
ということでudevを利用してデバイス名を固定しておきましょう。そのほうが使い易いですから。
たとえば、ip-192.168.2.5:3260-iscsi-iqn.2006-01.com.openfiler:tsn.asm1が /dev/sdaにマッピングされているが再起動すると/dev/sdbにマッピングされたりすることがある。
[root@discus1 ˜]# (cd /dev/disk/by-path; ls -l *openfiler* | awk '{FS=" "; print $9 " " $10 " " $11}')
ip-192.168.2.5:3260-iscsi-iqn.2006-01.com.openfiler:tsn.asm1 -> ../../sda
ip-192.168.2.5:3260-iscsi-iqn.2006-01.com.openfiler:tsn.asm2 -> ../../sdb
ip-192.168.2.5:3260-iscsi-iqn.2006-01.com.openfiler:tsn.asm3 -> ../../sdc
ip-192.168.2.5:3260-iscsi-iqn.2006-01.com.openfiler:tsn.asm4 -> ../../sdd
ip-192.168.2.5:3260-iscsi-iqn.2006-01.com.openfiler:tsn.crs -> ../../sde
[root@discus1 ˜]#

udevについては以下のドキュメントが参考になるのではないだろうか。
Udev on Fedora(英語) - http://docs.fedoraproject.org/udev/
Writing udev rules(英語) - http://www.reactivated.net/writing_udev_rules.html
日本語訳も見つけたのでメモ代わりに・・(翻訳してくださっている方々に感謝!)
Udev on Fedora(日本語訳) - http://mux03.panda64.net/docs/udev_on_fedora_ja.html
Writing udev rules(日本語訳) - http://www.gentoo.gr.jp/transdocs/udevrules/udevrules.html

udevを利用して固定的なデバイス名をiscsi-targetに割り当てる。内容は元ネタと同じです。(以下の操作はRACの全ノードのrootユーザで実施する。
[root@discus1 ˜]# cat /etc/udev/rules.d/55-openiscsi.rules
KERNEL=="sd*", BUS=="scsi", PROGRAM="/etc/udev/scripts/iscsidev.sh %b",SYMLINK+="iscsi/%c/part%n"
[root@discus1 ˜]#
[root@discus1 ˜]# cd /etc/udev/scripts
[root@discus1 scripts]# ls -l iscsidev.sh
-rwxr-xr-x 1 root root 334  9月 30 17:50 iscsidev.sh
[root@discus1 scripts]# cat iscsidev.sh
#!/bin/sh

# FILE: /etc/udev/scripts/iscsidev.sh

BUS=${1}
HOST=${BUS%%:*}

[ -e /sys/class/iscsi_host ] || exit 1

file="/sys/class/iscsi_host/host${HOST}/device/session*/iscsi_session*/targetname"

target_name=$(cat ${file})

# This is not an open-scsi drive
if [ -z "${target_name}" ]; then
   exit 1
fi

echo "${target_name##*.}"
[root@discus1 scripts]#
[root@discus1 scripts]# chmod 755 iscsidev.sh
[root@discus1 scripts]# cd
[root@discus1 ˜]# service iscsi stop
Logging out of session [sid: 1, target: iqn.2006-01.com.openfiler:tsn.asm1, portal: 192.168.2.5,3260]
Logging out of session [sid: 2, target: iqn.2006-01.com.openfiler:tsn.asm2, portal: 192.168.2.5,3260]
Logging out of session [sid: 3, target: iqn.2006-01.com.openfiler:tsn.asm3, portal: 192.168.2.5,3260]
Logging out of session [sid: 4, target: iqn.2006-01.com.openfiler:tsn.asm4, portal: 192.168.2.5,3260]
Logging out of session [sid: 5, target: iqn.2006-01.com.openfiler:tsn.crs, portal: 192.168.2.5,3260]
Logout of [sid: 1, target: iqn.2006-01.com.openfiler:tsn.asm1, portal: 192.168.2.5,3260]: successful
Logout of [sid: 2, target: iqn.2006-01.com.openfiler:tsn.asm2, portal: 192.168.2.5,3260]: successful
Logout of [sid: 3, target: iqn.2006-01.com.openfiler:tsn.asm3, portal: 192.168.2.5,3260]: successful
Logout of [sid: 4, target: iqn.2006-01.com.openfiler:tsn.asm4, portal: 192.168.2.5,3260]: successful
Logout of [sid: 5, target: iqn.2006-01.com.openfiler:tsn.crs, portal: 192.168.2.5,3260]: successful
Stopping iSCSI daemon: /etc/init.d/iscsi: line 33:  8989 強制終了            /etc/init.d/iscsid stop
[root@discus1 ˜]#                                          [  OK  ]
[root@discus1 ˜]#
[root@discus1 ˜]# service iscsi start
iscsid が停止していますが PID ファイルが残っています
Turning off network shutdown. Starting iSCSI daemon:       [  OK  ]
                                                           [  OK  ]
iSCSI ターゲットを設定中: Logging in to [iface: default, target: iqn.2006-01.com.openfiler:tsn.asm4, portal: 192.168.2.5,3260]
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:tsn.asm1, portal: 192.168.2.5,3260]
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:tsn.asm3, portal: 192.168.2.5,3260]
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:tsn.asm2, portal: 192.168.2.5,3260]
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:tsn.crs, portal: 192.168.2.5,3260]
Login to [iface: default, target: iqn.2006-01.com.openfiler:tsn.asm4, portal: 192.168.2.5,3260]: successful
Login to [iface: default, target: iqn.2006-01.com.openfiler:tsn.asm1, portal: 192.168.2.5,3260]: successful
Login to [iface: default, target: iqn.2006-01.com.openfiler:tsn.asm3, portal: 192.168.2.5,3260]: successful
Login to [iface: default, target: iqn.2006-01.com.openfiler:tsn.asm2, portal: 192.168.2.5,3260]: successful
Login to [iface: default, target: iqn.2006-01.com.openfiler:tsn.crs, portal: 192.168.2.5,3260]: successful
                                                           [  OK  ]
[root@discus1 ˜]#
[root@discus1 ˜]# (cd /dev/disk/by-path; ls -l *openfiler* | awk '{FS=" "; print $9 " " $10 " " $11}')
ip-192.168.2.5:3260-iscsi-iqn.2006-01.com.openfiler:tsn.asm1 -> ../../sda
ip-192.168.2.5:3260-iscsi-iqn.2006-01.com.openfiler:tsn.asm2 -> ../../sdb
ip-192.168.2.5:3260-iscsi-iqn.2006-01.com.openfiler:tsn.asm3 -> ../../sdc
ip-192.168.2.5:3260-iscsi-iqn.2006-01.com.openfiler:tsn.asm4 -> ../../sdd
ip-192.168.2.5:3260-iscsi-iqn.2006-01.com.openfiler:tsn.crs -> ../../sde
[root@discus1 ˜]#
[root@discus1 ˜]# ls -l /dev/iscsi/*/*
lrwxrwxrwx 1 root root  9  9月 30 17:52 /dev/iscsi/asm1/part -> ../../sda
lrwxrwxrwx 1 root root  9  9月 30 17:52 /dev/iscsi/asm2/part -> ../../sdb
lrwxrwxrwx 1 root root  9  9月 30 17:52 /dev/iscsi/asm3/part -> ../../sdc
lrwxrwxrwx 1 root root  9  9月 30 17:52 /dev/iscsi/asm4/part -> ../../sdd
lrwxrwxrwx 1 root root  9  9月 30 17:52 /dev/iscsi/crs/part -> ../../sde
[root@discus1 ˜]#
これでiscsi-targetとローカルデバイス名の固定的なマッピングができた。
iscsi-targetとローカルデバイス名の対応
iscsi-target名ローカルデバイス名
iqn.2006-01.com.openfiler:tsn.asm1 /dev/iscsi/asm1/part
iqn.2006-01.com.openfiler:tsn.asm2 /dev/iscsi/asm2/part
iqn.2006-01.com.openfiler:tsn.asm3 /dev/iscsi/asm3/part
iqn.2006-01.com.openfiler:tsn.asm4 /dev/iscsi/asm4/part
iqn.2006-01.com.openfiler:tsn.crs /dev/iscsi/crs/part
chkconigで確認しておく。念のため。(RACの全ノードで)
(20101013訂正というか追記)
以下の例ではiscsidを自動起動にしていますが、CentOS5.5ではiscsiを自動起動にすればiscsi起動・停止時にiscsidの起動・停止も行っているのでCentOS5.5ではiscsidの自動起動は不要。CentOS5.4以前はどうか未確認なので、/etc/rc.d/init.d/iscsiを確認するか、service iscsi start/stopでiSCSI deamonが起動・停止されるか確認するよいかと。
[root@discus1 ˜]# chkconfig --list iscsid
iscsid          0:off   1:off   2:off   3:on    4:on    5:on    6:off
[root@discus1 ˜]# chkconfig --list iscsi
iscsi           0:off   1:off   2:off   3:on    4:on    5:on    6:off
[root@discus1 ˜]#
上記操作後openfiler storage control centerのiscsi-target-status画面では以下のようなに接続状況を確認できるようになる。

Iscsitargetstatus 次回へつづく 子供寝かしつけようと一緒に横に寝ていると、私が先に寝ちゃうんだなこれが・・・、予定していたことは早起きしてやるようになったりして。。w

| | | コメント (0) | トラックバック (0)

2008年10月10日 (金)

MySQL User Conference 2008

MySQL User Conference 2008が10月30日と31日に開催される。すでに事前受付サイトもオープンしている。ただ30日のiPhone関連セミナーとバッティングしてるんだよな〜。(iPhoneセミナーが受けられようならそちら優先ということで・・・。。なんで行きたいセミナーってバッティングすることが多いのかね。まったく・・・)

| | | コメント (0) | トラックバック (0)

2008年10月 9日 (木)

Mac de Oracle - 10万円未満 de RAC (11g編)#4

つづきです。今回はOpenfiler2.3によるiSCSIボリュームの構成を行う。

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)



4.Openfiler2.3によるiSCSIボリュームの構成

考え方はOpenfiler2.1と同じなのだが管理画面のレイアウトが少々変更されている。

https://hostname or ip address:446/

でOpenfiler Storage Control Centerへアクセスする。

・Openfiler Strorage Control Center へのLogin

Openfiler_login

・管理者パスワードの変更

管理者のアカウントは、openfiler、インストール直後のデフォルトパスワードは。passwordとなっている。(openfiler2.1と同じ。)
ログインするとSystem Overview画面が表示される。

Systemoverview

次にAccountsタブをクリック->Accounts SectionペインAdmin passwordをクリック->Change Administrator Password画面でパスワードを変更する。
Changeadministratorpassword1

Changeadministratorpassword2

Changeadministratorpassword3


・iSCSI target serverの有効化。

ここで一旦ログアウトし新しいパスワードでログインし直してからServicesタブをクリック->Manage Services画面iSCSI target serverModification列にあるEnableをクリックしてiSCSI target serverを起動する。
Manageservice

Manageservice2

iscsi-targetの状態を確認(rootユーザで)

[root@arowana ˜]# service iscsi-target status
ietd (pid 3354) is running...
[root@arowana ˜]#

・ネットワークアクセスの構成

Systemタブをクリック->System sectionペインのNetwork Setupをクリック->Network Access ConfigurationでiSCSIをアクセスするノードを定義する。
Name列には各ノードのhostnameを、Network/Host列にはインターコネクトに利用するIPアドレスを設定する。Netmaskは255.255.255.255、TypeはShareを設定する。

Networkaccessconfiguration1

Networkaccessconfiguration2


・ボリュームグループの構成

今回も以前のように1つのボリュームグループを作成し、そのグループにcrs用の論理ボリューム1つ、ASM用の論理ボリューム4つを作成する。
Volumeタブ->Volume sectionペインでBlock Device Management画面に遷移する

Volumeblockdevicemanagement1

IDEディスクが2本ありiSCSI向けに/dev/hda に69GB、/dev/hdb に19GBの空きがある。各パーティションのサイズは、69GB、19GB、合計で88GBをcrs用の論理ボリュームに2GB、ASM用の4つの論理ボリュームに各21.5GBを割り当てる。

Partitionの作成

/dev/hda に69GB、/dev/hdb に19GBの空きがあるのでそれぞれをパーティションとして割り当てる。
以下の例では/dev/hda4及び/dev/hdb1の2つのパーティションを割り当てた。
Block Device Management画面Edit Diskの各Diskをクリックしてパーティションを追加する。ちなみに、viewをクリックすると作成済みパーティションの一覧が確認できる。

Volumeblockdevicemangementpatitionv

/dev/hda4に約69GBのパーティションを作成している様子。同様の手順で/dev/hdb1に約19GBのパーティションを作成する。Editpartition1

Editpartition2

Editpartition3

Editpartition4

Editpartition5

Editpartition6


Volume Groupの作成

Volumes sectionペインVolume Groupをクリックしてボリュームグループを作成する。
今回はrac1というボリュームグループを作成し前ステップで割り当てた/dev/hda4と/dev/hdb1の2パーティションをボリュームグループrac1へ割り当てる。(どのボリュームグループにも属さないパーティションが自動的にリストされるので必要なパーティションを選択するだけ。)
※作成されたボリュームグループの容量が88GBあることが確認できる。

Createnewvolumegroup1

Createnewvolumegroup2

Createnewvolumegroup3


論理ボリュームの割当

Volumes sectionペインAdd Volumeをクリックして前ステップで作成したボリュームグループへ論理ボリュームを割り当てる。
ボリュームグループrac1に割り当てた88GBをcrs向け論理ボリューム(2GB)及び、ASM向け論理ボリューム(21.5GB*4ボリューム)の5つの論理ボリュームへ割り振る。
各論理ボリュームのFilesystem/Volume typeはiSCSIを選択する。

割り当てた論理ボリューム名及び名称は次の通り。crs:2GB/asm1:21.5GB/asm2:21.5GB/asm3:21.5GB/asm4:21.5GB
Addvolume1

Addvolume2

Addvolume3

Addvolume4

Addvolume5


iSCSI Target Qualified Name(IQN)の設定 (2010/10/4訂正)

今回はiqn.2006-01.com.oepnfiler:arowanaというiSCSI target rualified nameにした。今回は、iqn.2006-01.com.openfiler:tsn.crs/iqn.2006-01.com.openfiler:tsn.asm1/iqn.2006-01.com.openfiler:tsn.asm2/iqn.2006-01.com.openfiler:tsn.asm3/iqn.2006-01.com.openfiler:tsn.asm4という5つのiSCSI Targetを作成した。Volumeタブ->Volumes sectionペイン->iSCSI targets->Target Configurationタブで表示されるVolumes:iSCSI Targets画面で行う。
Setiqn1_ng


Setiqn2_ng


02_volume_iscsi_target


02_volume_iscsi_targets


Network ACLの設定

前操作で設定したIQNに対してNetwork ACLを設定する。ネットワークアクセスの構成で登録したノードがリストされているのでAccess列Allowに変更する。
設定はVolumeタブ->Volumes sectionペイン->iSCSI targets->Network ACLタブで表示される画面で行う。

Networkacl1

Networkacl2


LUN Mapping (2010/10/4訂正)

論理ボリュームの割当操作で割り当てた各論理ボリューム(crs/asm1/asm2/asm3/asm4)をiSCSI Target Qualified Name(IQN)の設定で作成した各iSCSI Target(iqn.2006-01.com.openfiler:tsn.crs/iqn.2006-01.com.openfiler:tsn.asm1/iqn.2006-01.com.openfiler:tsn.asm2/iqn.2006-01.com.openfiler:tsn.asm3/iqn.2006-01.com.openfiler:tsn.asm4)のLUN Id.=0にマッピングしていく、crs/asm1/asm2/asm3/asm4の順で割り当てる。する。

設定はVolumeタブ->Volumes sectionペイン->iSCSI targets->LUN Mappingタブで表示される画面で行う。Map New LUN to target:にリストされている論理ボリュームをMapボタンをクリックしてマッピングするだけ。簡単!。

Lunmapping1_ng


Lunmapping2_ng


03_volume_lun_iscsi_target_mapping_


04_volume_lun_iscsi_target_mapping_


05_volume_lun_iscsi_target_mapping_


06_volume_lun_iscsi_target_mapping_


07_volume_lun_iscsi_target_mapping_

最後にiscsi-targetを再起動して設定完了!


[root@arowana ˜]# service iscsi-target restart
Stopping iSCSI target service: ...... [ OK ]
Starting iSCSI target service: [ OK ]
[root@arowana ˜]# service iscsi-target status
ietd (pid 7455) is running...
[root@arowana ˜]#

再度、Openfiler storage Control Centerにログインし、Status->Status sectionペインiSCSI Targetをクリックすると以下のスクリーンショットのようになる。
これでiSCSI Target側の準備は完了。

Openfiler_fin


ふ〜〜今回は長かった〜〜。:) 次回へつづく

| | | コメント (0) | トラックバック (0)

2008年10月 8日 (水)

Mac de Oracle - 10万円未満 de RAC (11g編)#3

つづきです。今回はOpenfiler2.3をiscsi-targetにするPCへインストールする。

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)



3.Openfiler2.3のインストール

Openfiler2.3は以下のisoイメージをダウンロードして利用する
openfiler-2.3-x86-disc1.iso

ダウンロードしたisoイメージをCDに焼く。MacでisoイメージをCDに焼く方法は以前の記事を参考に。


・インストール
Openfiler2.3のインストールもOpenfiler2.1のインストール手順と全く同じであった。インストールするPCも以前使用したであるためインストール及びネットワーク構成は「10万円 de RAC」のエントリを参照してもらいたい。

但し、以前と比べ改善点があった。Openfiler2.1では同一PCに複数のNICがある場合、より高速なNICをeth0として認識していたようなのだが(そのような結果になっていた)、Openfier2.3ではオンボードのNICをeth0、追加したNICをeth1と認識くれたのでお陰で、以前のように一度認識されたNICの構成を手動で入れ替えるという操作は不要だった。(^^)

参考:openfiler graphical installation


おっと、忘れるところだった。Openfilerをインストールしたマシンを再起動する前にやっておきたい事が1つ。それは・・・自動アップデートを止めておくこと。。
以前、自動更新されiscsi-targetが消えてしまうという事態が発生したためだ。今回も念のためconaryによる自動アップデートを行わないようにしておく。(現時点では自動アップデートは不要なので)

お手軽な方法は、/etc/conaryrcの定義を全てコメントアウトしてしまう方法。

[root@arowana ˜]# cat /etc/conaryrc
#commeted out
#installLabelPath openfiler.rpath.org@ofns:2 conary.rpath.com@rpl:1 raa.rpath.org@rpath:raa-2
#pinTroves kernel.*
#autoResolve True
#includeConfigFile /etc/conary/config.d/*
[root@arowana ˜]#

インストールに成功していれば、ブラウザでhttps://hostname or ip address:446/へアクセスすると以下のようなログイン画面を見る事ができるだろう。

Openfiler_login
次回へつづく

| | | コメント (0) | トラックバック (0)

2008年10月 7日 (火)

Mac de Oracle - 10万円未満 de RAC (11g編)#2

以下に示した内容に沿って書いていこうと考えているが、実際に行った作業で10万円 de RACで書いた内容と同じ部分がほとんど。結局、以前の記事参照なんて部分が多くなりそうだ。。。(^^
Openfiler2.3の管理画面が2.2の頃とは違っているのOpenfiler関連部分が中心になるかもしれません。

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)



2.CentOS5.2のインストール

2台のDELL Optiplex GX260 CPU:P4 2.4Ghz/DISK:20GB(この時点では搭載メモリは512MB)へCentOS5.2をインストールしネットワークの構成まで行う。

・CentOS5.2のダウンロード(CDドライブしかない機種なのでISOイメージをダウンロード)
 CentOS-5.2-i386-bin-1of6.iso
 CentOS-5.2-i386-bin-2of6.iso
 CentOS-5.2-i386-bin-3of6.iso
 CentOS-5.2-i386-bin-4of6.iso
 CentOS-5.2-i386-bin-5of6.iso
 CentOS-5.2-i386-bin-6of6.iso

MacでISOイメージのCDを焼く方法は以前の記事を参考に。

Burn_cds

CentOS5.2になったからといっても特にインストール方法に大きな違いはなく、以前使っていたH/Wを流用していることもありパーティションサイズやネットワーク構成も以前書いた内容と全く同じなので詳細は以前の記事及び、US OTNの記事を参照のこと。
今回、CentOS5.2を使っているがUS OTNの記事ではOracle Enterprise Linuxを利用している。どちらもRHEL5互換なのでインストールするパッケージも同じようだ。まだOracle Enterprise Linuxをインストールした事がないので詳しく書くだけの知識はないのですがね・・・。)

ネットワーク構成について少々追記しておくと。RACを構成する2ノードとも、DHCPは利用せず、固定IP。また、gateway及び、DNSの ipアドレスは、192.168.1.1 とした。(配置図参照のこと。)また、IPv6はOFFにしてある。

RACを構成するノード1 (hostname=discus1.macdeoracle.jp)
device ip address sub-netmask 備考
eth0 192.168.1.3 255.255.255.0 パブリックネットワーク用、100メガビット
eth1 192.168.2.3 255.255.255.0 プライベートネットワーク用、ギガビット
RACを構成するノード2 (hostname=discus2.macdeoracle.jp)
device ip address sub-netmask 備考
eth0 192.168.1.4 255.255.255.0 パブリックネットワーク用、100メガビット
eth1 192.168.2.4 255.255.255.0 プライベートネットワーク用、ギガビット

リリースノートにも記載されているが、SELinuxはPermissiveモードにすること。
また、FirewallはDisableにしておく。


Firewall Selinux

Openfiler2.3をインストールするPCも含めたネットワークの構成は以下。(内容は以前と同じなのですが念のため)

[root@discus1 ˜]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost

# Public Networks - (eth0)
192.168.1.3 discus1.macdeoracle.jp discus1
192.168.1.4 discus2.macdeoracle.jp discus2
192.168.1.5 arowana.macdeoracle.jp arowana

# Private Network - (eth1)
192.168.2.3 discus1-priv.macdeoracle.jp discus1-priv
192.168.2.4 discus2-priv.macdeoracle.jp discus2-priv
192.168.2.5 arowana-priv.macdeoracle.jp arowana-priv

# Public Virtual IP(VIP) address for - (eth0)
192.168.1.100 discus1-vip.macdeoracle.jp discus1-vip
192.168.1.101 discus2-vip.macdeoracle.jp discus2-vip
[root@discus1 ˜]#

次回へつづく

| | | コメント (0) | トラックバック (0)

2008年10月 6日 (月)

Mac de Oracle - 10万円未満 de RAC (11g編)#1

まずは環境から。
前回のシリーズの環境をそのまま流用。但し、各PCのメモリ不足が明確になった時点で各512MB増設し1GBとする。)

Hardware
PC2100 512MBのメモリ2枚(合計2,960円)以外は既存のH/Wを流用したので、現在の価値は5万円にも満たない。。。。はず?!

(1) PC - RAC用 - DELL Optiplex GX260 CPU:P4 2.4Ghz RAM:512MB * 1
  (尚、DBCA実行時にメモリ不足となったので。最終的には各1GBのメモリと搭載させる。)

(2) PC - iSCSI用 - DELL PowerEdge SC600 CPU : P4 1.8Ghz RAM:769MB * 1

(3) DISPLAY - DELL 15inch 液晶ディスプレイ * 1

(4) KEYBOARD, MOUSE -- DELL製 * 2セット

(5) HUB - Corega CG-SW05TXPL(100base for public)
  Corega CG-SW05GTPLB(1000base for interconnect) 各1

注)DISPLAY、Keyboard、mouseはPC数より少ないが必要に応じて繋ぎ替えて利用する。

Software
Oracle11g 11.1.0.6.0 EE for Linux x86
CentOS5.2 - 2.6.18-92.el5
Openfiler2.3 - Final Release
OCFS2(Oracle Cluster File System 2) - 1.4.1-1
Oracle Cluster Verification Utility - Linux x86(Aug 2008)
Oracle ASMLib2.0 for RHEL5
 (oracleasm-support-2.0.4-1.el5.i386
 oracleasmlib-2.0.3-1.el5.i386
 oracleasm-2.6.18-92.el5-2.0.4-1.el5.i686.rpm)


尚、Openfiler2.2(respin 2)及びOracle Enterprise Linuxを利用しているUS OTN記事ー「Build Your Own Oracle RAC Cluster on Oracle Enterprise Linux and iSCSI」も参考にしたが、Openfiler2.2と2.3では管理画面構成が異なる点、Oracle Enterprise Linuxは正式にサポートされているプラットフォームだがCentOS5.2はサポートされていないプラットフォームである点等は異なる。


そして・・・Mac De OracleですからLinuxのインストール以外はMacOSXのxtermから全て行う。(お約束)w

今回はPowerMac G5(PPC)とMacBook Pro(Intel)を利用するが、インストールなど構成はPowerMac G5から行う。
また、MacOSX用Oracle Clientは以下のOracle Instant Clientを利用する。
Oracle Instant Client for MacOSX (PPC) 10.1.0.3.0
Oracle Instant Client for MacOSX (Intel) 10.2.0.4.0

ClientにするMacも含めた配置図は以下の通り。


Racdeoracle11g




バックナンバー
10万円未満 de RAC (Oracle11g R1編)

| | | コメント (0) | トラックバック (0)

2008年10月 5日 (日)

10万円未満 de RAC (Oracle11g R1編)

いや〜予定外だ。。
キールズバーへベルギービールを飲みに行く予定だったのだが・・・。息子が風邪をひいたようでたまにミルクを咳と一緒に嘔吐してしまったり(実際は元気バリバリで少し大人しくしてろよ!という状態なので心配はなさそうなのですがね。)で予定はキャンセル。

ということで今日は予てより準備を進めていたOracle11g R1 for Linux x86Openfiler2.3OCFS2 1.4.1-1Oracle ASMLib 2.0、それにCentOS5.2を使ったRAC構築「10万円 de RAC」改め「10万円未満 de RAC (11g編)」として復活。w。

もちろんCentOS5.2でOracle11g for Linux x86がサポートされていないのはいつも承知のうえなのでサポートされているプラットフォーム以外では手を出したくない方はスルーしてくださいね。:)
また、簡単なテストや動作確認向けのRAC環境ですのでご注意ください。(推奨されない方法で無理矢理インストールしていますので..)

以前の環境と同じH/Wを再利用(但し、メモリだけはキツいので作業の途中で増設しました。)したので現在の価値では5万円もしない環境でRACを構築したことになりますね。


OpenFiler2.3/CentOS5.2/ASMLib 2.0.4を利用している上にマシンも非力なので、OTN USのBuild Your Own Oracle RAC Cluster on Oracle Enterprise Linux and iSCSIという記事より多少チャレンジングな内容になっているかもしれません。:)

今日はここまで。次回へつづく。

| | | コメント (0) | トラックバック (0)

2008年10月 4日 (土)

OSC2008 Tokyo / Fall #2

今日は、OSC2008 Tokyo / Fallの最終日。【2コマ連続:3DBユーザ会特別企画】SMPスケーラビリティを探るというセッション。Sun Microsystemさんから借用しているSPARC T2(8Core/64Threads)搭載マシンでMySQL/PostgreSQL/Firebirdがどの程度スケールするかというセッション。やはり結果を纏めるのは大変らしいです。がこれからが楽しそう?!。(^^) 。

Img_0038

| | | コメント (0) | トラックバック (0)

OSC2008 Tokyo / Fall #1

うちの奥さんも興味のあるセッションがあるということでOSC2008 Tokyo / Fallに子連れで参加。(息子のお守りはロビーで交代でやっていたけど、一昨日あたりに遊びに行った先で風邪をもらってしまったようで少々咳がではじめたので早々に帰宅。とりあえず聞きたかったセッションは聞けたのでOK)
OSC2008 Tokyo / SpringのNOVELLさんのセッションはおもしろかったが、今回は前回セッションが面白過ぎた影響なのか、資料作りが間に合わなかったのか少々物足りなく感じました。ただ現在White Paper作成中とのお話だったので今回書ききれなかった内容はWhite Paperに期待ということで。

あ、しまった。今気付いたんだが、1枚も写真撮ってない。明日(もう今日だけど)は写真撮ってくる予定。

頂いたノベルティはブログ de ノベルティにて。

| | | コメント (0) | トラックバック (0)