2022年4月17日 (日)

Mac Studio 2022 と故障もほぼ無く長生きで良いマシンだった Mac Pro mid2012のGeekbench比較

かなーーーり、久々にMacオンリーのネタですw

左がMac Studio 2022、右がMac Pro mid2012 (ストレージはALL SSDで、GPUもMojave向けに入れ替えたものなのでそれなりに手を入れてありますがw)
真打で登場するMac Proがどうなるのか不明ですが、今まで通りのモジュラー型でパーツを入れ替えつつ使うというのはなさそうな気はしますね。

20220417-92704

20220417-92539

20220417-92623

20220420-101624
(Disk Speet Test / Stress = 1GBで実施)

| | | コメント (0)

2013年8月13日 (火)

Cross Platform Transportable Tablespace #12

ネタとしては地味ですがOracle Database 12cのTransportalbe tablespaceも軽めにチェック

以前のエントリ..2009年か〜〜遠い目
Cross Platform Transportable Tablespace #11


あれ、ちょいとズレてるけどご愛嬌:)

06:59:36 SYS@orcl12c> select * from v$version;

BANNER CON_ID
-------------------------------------------------------------------------------- ----------
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production 0
PL/SQL Release 12.1.0.1.0 - Production 0
CORE 12.1.0.1.0 Production 0
TNS for Linux: Version 12.1.0.1.0 - Production 0
NLSRTL Version 12.1.0.1.0 - Production 0

プラットフォームの情報も変化はない。Mac OSの文字もそのまま..

06:52:31 SYS@pdborcl> select * from v$transportable_platform;

PLATFORM_ID PLATFORM_NAME ENDIAN_FORMAT CON_ID
----------- ----------------------------------------------------------------------------------------------------- -------------- ----------
1 Solaris[tm] OE (32-bit) Big 0
2 Solaris[tm] OE (64-bit) Big 0
7 Microsoft Windows IA (32-bit) Little 0
10 Linux IA (32-bit) Little 0
6 AIX-Based Systems (64-bit) Big 0
3 HP-UX (64-bit) Big 0
5 HP Tru64 UNIX Little 0
4 HP-UX IA (64-bit) Big 0
11 Linux IA (64-bit) Little 0
15 HP Open VMS Little 0
8 Microsoft Windows IA (64-bit) Little 0
9 IBM zSeries Based Linux Big 0
13 Linux x86 64-bit Little 0
16 Apple Mac OS Big 0
12 Microsoft Windows x86 64-bit Little 0
17 Solaris Operating System (x86) Little 0
18 IBM Power Based Linux Big 0
19 HP IA Open VMS Little 0
20 Solaris Operating System (x86-64) Little 0
21 Apple Mac OS (x86-64) Little 0

20行が選択されました。


con_idはお約束で追加されていますが、ビューは大きく変わってないようですね。

12cで試している方のエントリを見つけたのでメモ:
Oracle 12c: Transport tablespaces across platforms




Cross Platform Transportable Tablespace #11

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

2013年3月23日 (土)

R(relation)の線が無いERDを見てて..思いついたこと....でもメンテする気がなけりゃ同じだけどな

ExcelでメンテされてないERDとか、リリース当初からERDのR(relation)の線がない(ヒアリングするrelationは確かにあるんだよ)ERDとか見てて...寂しくなった。
ERD見る意味ないじゃん。というか、なんでそんなERDメンテするのに工数取ってんの?
とか、そんなERDベースにテストデータどうやって作るのさ...急に呼ばれて飛び出てきたのに...
ということをもやもや考えてた日々がしばらくありまして...

Oracle SQL Developer ModelerでリバースエンジニアリングしてERD作ろうと思っても...

そういう所って外部参照制約なんてないんですよ。

そもそも外部参照制約作れないだろって所もあるわけですけど...それはない前提で...

20130323_145704

20130323_145856

ERDをリバースエンジニアリングで作成しようと思うと、エンティティ図になってしまうという残念な結果になるのは目に見えてるわけです。はい。(><)

外部参照制約作成していれば.....

20130323_154430_2

20130323_154436


20130323_154444


20130323_154451_2


20130323_154503

こんな感じですぐにできるので、面倒くさくなくて素敵なんですね。

だた、参照整合性嫌いだし。とか、毎日夜間バッチで整合性チェックしてるからいいの!
ってところは多いわけです。


....で....ある日、電球がピカりんこと光った訳ですよ....


Oracle SQL Developer Data Modelerのリバースエンジニアリングって 、外部参照制約がdisableかつnovalidateで制約が効かない(一部制限あり*1)状態でもERDではrelation作成してくれるかも〜〜〜〜。と。

忘れないうちにすぐ試す!
外部参照制約はdropしないで、disable かつ novalidate済み!


20130323_144207


20130323_144244


20130323_144256


20130323_144311


20130323_144318

できた〜〜〜〜っ!


Enjoy! Oracle SQL Data Modeler and Developer !



*1:
外部参照整合性をdisable かつ novalidateにしていても外部参照整合性が作成されているだけで親表は子表より先にdropできなくなるのでその点はお忘れなく!

試験環境は以下のとおり
Oracle11g R2 for linux x86
Oracle SQL Developer 3.3.20 for OS X
Oracle DataModeler 3.1.4 for OS X

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

2013年2月 3日 (日)

Instant Client v11.2.0.3.0 for Mac OS X (Intel x86) のセットアップ

ディレクトリ掘るのめんどくさいんで、Instant Client 10g for MacOS Xの時と同じくすべて同一フォルダに解凍しちゃってますが....。(^^;;;

....動作確認... :)
20130203_60648


そういえば、Instant ClientのREADME.txtには、Darwin 13.0の文字がありますな。

System name:	Darwin
Release: 11.3.0
Version: Darwin Kernel Version 11.3.0: Thu Jan 12 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64
Machine: x86_64

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

jdk-7u13にアップデート

http://docs.oracle.com/javase/


20130203_61623


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

Instant Client v11.2.0.3.0 for Mac OS X (Intel x86) 32bit and 64bit released !!! :)

Instant Client v11.2.0.3.0 Downloads for Mac OS X (Intel x86) 32bit and 64bit
http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html

Precompiler Downloads - Instant Client Package - (v11.2.0.3.0)
http://www.oracle.com/technetwork/topics/precomp-112010-084940.html


11g R2阪がリリースされるなんて、驚いた。うれしいことですが、驚いたお。

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

2013年1月 4日 (金)

まだ、レガシーブラウザと戦うのですか...

あけましておめでとうございます。


新年最初のエントリは、IE7、IE8との不毛な戦いは、もうやめましょうよ! というか、IE7、IE8を使うというのであれば、無理言わないほうが幸せですよね...という思いを込めて.....


そして、IE9 64bit版が遅い...謎。


Webkit SunSpider 0.9.1 - http://www.webkit.org/perf/sunspider/sunspider.html

20130103_193042



 


Google V8 javascript benchmark suit version 7 - http://v8.googlecode.com/svn/data/benchmarks/v7/run.html 20130103_193310


 


 


Google Octane V1 - http://octane-benchmark.googlecode.com/svn/latest/index.html 20130103_193422


 


 


これら有名なベンチマークとは別にdocument.write()だけを10000回実行してみたのですが...それでも結構な差がでます。
20130103_193153


 


document.write()を10000回実行した状態をDynaTrance AJAX Editionで覗いてみると.....javascriptの実行ではなくHTML DOM APIの処理速度が......深いですよね〜〜この世界は....ほんと。
20130103_182302_2


 


開発が終わってしまったSafari 5.1.7 for Windowsもなんですが.....


 


IE8はこんな状態です.....



計測もしませんでしたが...IE7なんて、こんな状態ですからね....


Img_0638

以上、正月休み中、毎日息子とウルトラマン戦いごっこしていてひらめいたネタでした。

本年もよろしくお願いいたします。



試験環境はVirtualBox4.2.4 for OS X上のWindowsXPとWindows7(64bit)とおまけでOS X Mountain Lion上でも行いました。
どちらのGestOSも4CPUとしてあります。


 


グラフの値は、各テスト、各ブラウザで10回行い最大値、最小値を除いた平均値です。


 


WindowsXP 20130103_194730


 


Windows7(64bit) 20130103_194156


 


ホストOSは、OS X Mountain Lion 20130103_112857


 


 


 

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

2012年12月23日 (日)

やはり、来たね VirtualBoxアップデート :)

この時期に仕事やっつけてないと、クリスマスが大変だものね〜 :) と

https://www.virtualbox.org/wiki/Changelog

20121223_142825

20121223_143046


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

2012年12月15日 (土)

VirtualBoxのゲストさん、いらっしゃ〜〜い

VirtualBox で いろんなGuestOS起動してみた。(MacOS Xは以前書きましたけど、他のOSもまとめて書いておきますね)

HostはMac/OS X Mountain Lionでございます。
20121215_64848

VirtualBoxは、4.2.4でございます。

20121215_65224


GuestOSのみなさま :)

まずは、Mac on Mac から

Mac OS X Leopard 10.5
Macos_x_leopard_105

Oracle Solaris11.1
Oracle_solaris111


HAIKU Alpha4
Haiku_alpha4


OpenSUSE 12.2
Opensuse122


Ubuntu 12.10
Ubuntu1210_2


Fedora 17
Fedora

CentOSとかWindowsもね

CentOS 5 and 6
Centos5_2

Centos6

Windows XP and 7
Windowsxp

Windows7


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

Java 7 Update 10

きてた。

20121215_60343

20121215_60403


avaってなんだw ABBA (違

20121215_60412

20121215_60433

20121215_60443

done.


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

2012年11月10日 (土)

遅まきながら、JDK7 on Maountain Lion

JDK7インストールするのすっかり忘れてた。><

http://www.oracle.com/technetwork/java/javase/downloads/jdk7u9-downloads-1859576.html


20121107_222823

20121107_222826

20121107_222852

以前は「アプリケーション」>「ユーティリティ」フォルダにあったけど、Javaのコントロールパネルはめでたく「システム環境設定」に移動しましたとさ。OS Xだとこの位置の方が自然だよね。
20121107_223054


20121107_223101


20121107_223109


20121107_223114


20121107_223131

これでオッケー。


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

2012年11月 9日 (金)

MacOS X Leopard on VirtualBox 4.2.4 for OS X #3

前回めでたく起動した、MacOS X 10.5 Leopardですが。統合アップデートで10.5.8にしてしまうと仕様通り起動しなくなります。
遊びたい方は、統合アップデートしないのが吉だけど、セキュリティパッチも適用されていない状態なのでネットへのアクセスは控えたほうがいいかなと。

20121108_225444

該当部分を拡大した画像は以下
Unsupported CPUってでてますよね。:)

20121108_225523

ちなみに、Snow Leopard のDVDでインストールしようとする際はUnsupported CPUとでてpanic起こすようになってます。Serverならいいんでしょうけどね。うちにあるDVDはTiger Serverなんで試せないw

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

2012年11月 8日 (木)

MacOS X Leopard on VirtualBox 4.2.4 for OS X #2

起動しないことになってるMacOS X Leopard 10.5だと起動しちゃうんだよね。小細工なしにというネタの2回目。今回は、installから起動まで。:) 言っとくけど不安定だからねw


VMのDVDドライブの設定がパススルーになっていることを確認してね!
で、Leopard のDVDをセットしてからVMを起動すると。

なんと、VirtualBoxのスプラッシュを蹴破って起動するLeopard。 なかなかワイルド!

01
02


しばらすくるとInstallerが起動して見慣れた画面に!

03


Virtual DiskにHFS+のパーティションを1つ作成するので、ディスクユーティリティーを起動します!
起動ボリュームなのでGUIDパーティションを作成します。間違わないと思いますけど。念のため。

04
05
06
07

パーティションができたらディスクユーティリティを終了させます。小細工はしてないですよ:)

08

インストールボリュームを選択して、インストール開始!

09
10
11

あっけなくインストール終了! :)

12

再起動!、さてさて。。。不安定なのでこの部分でcrash reportの出力が繰り返されるようならあきらめて、VMを強制終了後、再起動を繰り返すと、運が良ければ起動しますw

13

運良く起動したら、インストール後の初期設定などをコツコツと。

14

きた〜〜〜〜〜、Leopard 10.5 ! (Serverじゃないよ) 起動しました〜〜〜。

15_2

CPU*6で起動した時の記念スナップ :)

20121108_225948


ちなみに、ディスプレイの解像度が動的に変更できないので、

$ VBoxManage setextradata "your vm name" "VBoxInternal2/EfiGopMode" "4"

とかするといいと思います。ググればこのあたりはすぐ見つかるかと。
your vm nameの箇所には仮想マシン名を指定してね。

ね。ほんとうに小細工なしで起動するでしょ :) 10.5までのLeopardならね。

ではでは。

Enjoy Vitrual Machines! :)

あ、忘れてた、サウンドは出ないので、以下のスレッド参考にしてね。

https://forums.virtualbox.org/viewtopic.php?f=30&t=33358

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

2012年11月 7日 (水)

MacOS X Leopard on VirtualBox 4.2.4 for OS X #1

久々にMac De Oracleらしいネタです。

一応対GuestOSとして対応していることになっているMac OS X Leopard Server とSnow Leopard Serverなのですが、VirtualBoxでうまく起動したという記事は聞いたことないというか見たことないという方は多いかもしれませんね。

ということで、小細工とかしないで起動するのもあるよ。という例を。(不安定感があるのは仕方ないかもw)

ということで今日は、Leopard向けVMの設定だけ。

まずホストOSの情報から.

20121106_222927



ちなみに、VIrtualBox 4.2.4でサポートされているとされているOS X は以下の通り、Parallels Server for Mac 4.0と同じように見えます. これをみるとOS XでゲストOSが必要な場合、Parallels Desktop 8 for Macを使ったほうが楽だと思います。が楽しいですよね。サポートされているOS Xが多くて :)

20121107_63123

・Parallels Server for Mac 4.0のデータはこちら
・Parallels Desktop 8 for Macのデータはこちら

ParallelsのサポートゲストOSを確認してみてもLeopard/Snow LeopardについてはServer版のみにしか対応していないことが確認できますよね。ServerっていうくくりがなくなったLion以降は :) マーク。

でも、でもですね。今回私が試したのは、Leopard 10.5.0。 実はこのリリースだとVirtualBoxで起動しちゃうんです。不安定ですが...
結局のところ何の役にも立たないわけですが、ネタということで、よろしくお願いします。
(なにを、よろしくお願いするんだ〜〜w)

以下、Parallels Desktop 8 でVirtualBox 4.2.4の仮想マシンを変換して起動しようとすると仕様通りの結果になります。

20121107_65533


ホストマシンによっても影響はありそうで今回使用したMacProでは以下の通り。

VirtualBox 4.2.4 for OS X へ Extention Packを追加してあります。
20121106_230843
20121106_230851

Leopardの場合32bitにしてね。

20121106_225513

Leopardで64bitだと、以下のようにkernel panicで起動できない。

20121106_232818

メモリは2GB程度で、CPUは1CPUの時が一番安定して起動します。
メモリサイズを3GBにすると起動しなくなる場合が多くなりました。><
CPUは1CPU/2CPU/6CPUのいずれも起動実績がありますが安定感のあるのは1CPUという感じです。残念。
ちなみに、virtual diskサイズは20GB以上あればいいです。

20121106_225539
20121106_225547
20121106_225557
20121106_225606

LionServer.vdi なのは気にしないでね。
20121106_225614
20121106_225635
20121106_225642
20121106_225652
20121106_225704

そして最後は、これね。

20121106_235001


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

2012年10月29日 (月)

VirtualBox 4.2.4 Released

余裕がなくてアップデート1つ飛ばしてしまった >< 

OS X関連 bug fix含んでいるので更新など...

対応ゲストOS一覧はここ.
https://www.virtualbox.org/wiki/Guest_OSes


https://www.virtualbox.org/wiki/Changelog

20121029_53350
20121029_53427

20121029_53455
20121029_53517
20121029_53541

20121029_55901


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

2012年10月 2日 (火)

Magic Mouseのリンゴマークにも光を!(以前も書いたなw)

Magic Mouseのリンゴマークにも光を! 

Magicmouse Magicmouse_gimmick

4年前にも書いてたw - Mighty Mouseのリンゴマークにも光を

昔のマウスたち....

Cimg4652
Cimg4657

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

2012年9月30日 (日)

あ、Mountain LionにはX11含まれてなかったんだった

Mountain LionにはX11含まれてなかったことを忘れてた><


ということで、ナビゲートされるので以下、XQuartsのサイトからダウンロードするべし。という備忘録

http://xquartz.macosforge.org/landing/

20120930_213625



20120930_214535

20120930_214413

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

2012年9月23日 (日)

随分Mac率高くなって来た

以下の本ブログをアクセスしているプラットフォーム別比率を示しています。
Google Analyticsの値を基にしてNumbersでグラフを作ってみたのですが、ブログ開設当時(ブログ開設一年後からGoogle Analytics利用開始)に比べMacユーザのアクセス数が随分多くなってます :) iOSの伸びが凄いです
20120923_184857

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

2012年9月22日 (土)

VirtualBox 4.2 Released !!!

VirtualBoxリリーススピードがすごいっす。。

VIrutalBox 4.2リリース! グループ化したVMは一括起動できるんで便利ですね〜

一括起動するとする際には、グループ内の並び順で順次起動されてます。この機能が追加されるとたぶん更なる要求があるかもしれませんね。順に起動するだけでなく任意に一括起動とか、各VMの起動間隔したいとか :)

20120922_141057


20120922_141104


2012/9/23更新(相変わらずミスが多い ><)

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

2012年9月11日 (火)

VirtualBox 4.1.22 、 4.2近くに来てるし〜:)

4.1.22 今回は随分間隔短いリリースだな (^^;;;

20120911_84234

4.2.0 も RC4な


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

2012年9月 2日 (日)

Index Only Accessネタのおまけのおまけ

Caché de Index Only Access できるのか?

CachéってSQLもサポートしてるので、Index Only Accessサポートしてるのかな〜と素朴な疑問から調べてみたもののマニュアルには記載されていない。
書かれていなきゃどうなるか、試すのが手っ取り早いですね。
(ダウンロードするにはフォームからリクエストする必要があります。1セッション限定の試用ライセンスのようです。他の制限は該当ページ読んでくださいな。)



OracleのIndex Only Accessは以下のエントリを参考にしてください。

いん!、イン!、Index どっぷり Inde Only Access生活w - Oracle OpenWorld Unconference presented by JPOUG

JPOUG SET EVENTS 20120721 - 「(続)いん!、イン!、Index 大人の事情縛りのSQLチューニング」資料公開

MySQL/PostgreSQLのIndex Only Accessは以下のエントリを参考にしてください。
Index Only Accessネタのおまけ


いつもはMacBook Air使うんですが、今回は都合により母艦のVirtualBoxを使いました (^^;;

MacPro Mid 2012 12Core/24GB (OS X Mountain Lion Server)
VirtualBox4.1.20 for MacOS X
GuestOS:CentOS5.8 x86_64 (CPU数とメモリサイズはMacBook Airのx86環境と同じ)

Caché 2012.1 for Linux x86_64


まず、ターミナルで接続して表、索引、データ登録、他のデータベースで言う統計情報取得から。

[oracle@pleco ˜]$ csession cache -U samples

ノード: pleco.macdeoracle.jp インスタンス: CACHE

SAMPLES>

SAMPLES>d $System.SQL.Shell()
SQL Command Line Shell
----------------------------------------------------

The command prefix is currently set to: <<nothing>>.
Enter q to quit, ? for help.
SAMPLES>>
SAMPLES>>create table tab3(unique_id numeric(10) not null, item_code char(15) not null, data varchar(500), is_delete numeric(1), status_code char(2))
1. create table tab3(unique_id numeric(10) not null, item_code char(15) not null, data varchar(500), is_delete numeric(1), status_code char(2))

0 Rows Affected
statement prepare time: 0.0118s, elapsed execute time: 0.2405s.
---------------------------------------------------------------------------
SAMPLES>>
SAMPLES>>alter table tab3 add constraint tab3_pk primary key(unique_id)
3. alter table tab3 add constraint tab3_pk primary key(unique_id)

0 Rows Affected
statement prepare time: 0.0092s, elapsed execute time: 4.9465s.
---------------------------------------------------------------------------
SAMPLES>>
SAMPLES>>create table tab311 (unique_id numeric(10) not null,sub_item_code char(10),data varchar(500),is_delete numeric(1))
4. create table tab311 (unique_id numeric(10) not null,sub_item_code char(10),data varchar(500),is_delete numeric(1))

0 Rows Affected
statement prepare time: 0.0115s, elapsed execute time: 0.1953s.
---------------------------------------------------------------------------
SAMPLES>>create table tab31 (item_code char(15) not null,sub_item_code char(10),data varchar(500),is_delete numeric(1))
5. create table tab31 (item_code char(15) not null,sub_item_code char(10),data varchar(500),is_delete numeric(1))

0 Rows Affected
statement prepare time: 0.0133s, elapsed execute time: 0.1985s.
---------------------------------------------------------------------------
SAMPLES>>
SAMPLES>>alter table tab31 add constraint tab31_pk primary key(item_code)
7. alter table tab31 add constraint tab31_pk primary key(item_code)

0 Rows Affected
statement prepare time: 0.0102s, elapsed execute time: 0.2589s.
---------------------------------------------------------------------------
SAMPLES>>alter table tab311 add constraint tab311_pk primary key(unique_id)
8. alter table tab311 add constraint tab311_pk primary key(unique_id)

0 Rows Affected
statement prepare time: 0.0116s, elapsed execute time: 0.2627s.
---------------------------------------------------------------------------
SAMPLES>>create index tab311_ix on tab311(sub_item_code)
9. create index tab311_ix on tab311(sub_item_code)

0 Rows Affected
statement prepare time: 0.0111s, elapsed execute time: 0.2870s.
---------------------------------------------------------------------------
SAMPLES>>q

確認は管理ポータルで!(どこみればよいか分からなかったので楽な方法で..)

Desc_tab3

Tab3_indexes_no_index_only

Desc_tab31

Tab31_indexes_no_index_only

Desc_tab311

Tab311_indexes_no_index_only_scan

Oracleなら統計情報取得、他のRDBMSならアナライズ(昔はオラクルもアナライズだったんですけどね)、Cachéの世界では「テーブルチューニング」というそうな。
(管理ポータルから実行しています)
Table_analyze

Tab31_analyze

Tab311_analyze

表と索引ができたのでデータ登録。
これまたOracleとは勝っても違うし、DSMの時代(DIGITAL STANDARD MUMPS)から大きく拡張されてるのでかなり辛いな〜MUMPS思い出すというより別物に近い感じw。あの当時はSQL使えねーしというより必要ねーし、だったしね (^^;;;

以下、データ作成中のログ..
グルグル回しているのは気にしないでねw

[oracle@pleco ˜]$ csession cache -U samples

ノード: pleco.macdeoracle.JP インスタンス: CACHE

SAMPLES>
SAMPLES>
SAMPLES>s rs=##class(%SQL.Statement).%ExecDirect(,"start transaction")
TL1:SAMPLES>s sql="insert into SQLUser.tab3 values(?,to_char((?#500000)+1,'FM099999999999999'),repeat('*',250-length(to_char(?)))||to_char(?),0,'00')"
TL1:SAMPLES>s stmt=##class(%SQL.Statement).%New() s stat=stmt.%Prepare(sql)
TL1:SAMPLES>f i=1:1:1000000 {s rs=stmt.%Execute(i,i,i,i)}
TL1:SAMPLES>s rs=##class(%SQL.Statement).%ExecDirect(,"commit")
SAMPLES>d $System.SQL.Shell()

SQL Command Line Shell
----------------------------------------------------

The command prefix is currently set to: <<nothing>>.
Enter q to quit, ? for help.
SAMPLES>>select count(1) from tab3
7. select count(1) from tab3

Aggregate_1
1000000

1 Rows(s) Affected
statement prepare time: 0.0009s, elapsed execute time: 2.6558s.
---------------------------------------------------------------------------
SAMPLES>>select min(unique_id) as "min", max(unique_id) as "max" from tab3
8. select min(unique_id) as "min", max(unique_id) as "max" from tab3

min max
1 1000000

1 Rows(s) Affected
statement prepare time: 0.1423s, elapsed execute time: 0.0006s.
---------------------------------------------------------------------------
SAMPLES>>select min(item_code) "min",max(item_code) "max" from tab3
9. select min(item_code) "min",max(item_code) "max" from tab3

min max
000000000000001 000000000500000

1 Rows(s) Affected
statement prepare time: 0.1324s, elapsed execute time: 3.4683s.
---------------------------------------------------------------------------
SAMPLES>>
SAMPLES>>q

SAMPLES>halt
[oracle@pleco ˜]$

SAMPLES>d $System.SQL.SetAutoCommit(2)
SAMPLES>s rs=##class(%SQL.Statement).%ExecDirect(,"start transaction")
TL1:SAMPLES>s sql="insert into SQLUser.tab31 values(to_char(?,'FM099999999999999'),to_char((?#500000)+1,'FM0999999999'),repeat('*',250-length(to_char(?)))||to_char(?),0)"
TL1:SAMPLES>s stmt=##class(%SQL.Statement).%New() s stat=stmt.%Prepare(sql)
TL1:SAMPLES>f i=1:1:2000000 {s rs=stmt.%Execute(i,i,i,i)}
TL1:SAMPLES>s rs=##class(%SQL.Statement).%ExecDirect(,"commit")

SAMPLES>d $System.SQL.Shell()
SQL Command Line Shell
----------------------------------------------------

The command prefix is currently set to: <<nothing>>.
Enter q to quit, ? for help.
SAMPLES>>select count(1) from tab31
2. select count(1) from tab31

Aggregate_1
2000000

1 Rows(s) Affected
statement prepare time: 0.1349s, elapsed execute time: 6.0684s.
---------------------------------------------------------------------------
SAMPLES>>select min(item_code) "item_code(MIN)",max(item_code) "item_code(MAX)" from tab31
3. select min(item_code) "item_code(MIN)",max(item_code) "item_code(MAX)" from tab31

item_code(MIN) item_code(MAX)
000000000000001 000000002000000

1 Rows(s) Affected
statement prepare time: 0.1361s, elapsed execute time: 0.0010s.
---------------------------------------------------------------------------
SAMPLES>>select min(sub_item_code) "sub_item_code(MIN)",max(sub_item_code) "sub_item_code(MAX)" from tab31
4. select min(sub_item_code) "sub_item_code(MIN)",max(sub_item_code) "sub_item_code(MAX)" from tab31

sub_item_code(MIN) sub_item_code(MAX)
0000000001 0000500000

1 Rows(s) Affected
statement prepare time: 0.1391s, elapsed execute time: 6.7417s.
---------------------------------------------------------------------------
SAMPLES>>q
SAMPLES>

SAMPLES>d $System.SQL.SetAutoCommit(2)
SAMPLES>s rs=##class(%SQL.Statement).%ExecDirect(,"start transaction")
TL1:SAMPLES>s sql="insert into SQLUser.tab311 values(?,to_char((?#500000)+1,'FM0999999999'),repeat('*',250-length(to_char(?)))||to_char(?),0)"
TL1:SAMPLES>s stmt=##class(%SQL.Statement).%New() s stat=stmt.%Prepare(sql)
TL1:SAMPLES>f i=1:1:2000000 {s rs=stmt.%Execute(i,i,i,i)}
TL1:SAMPLES>s rs=##class(%SQL.Statement).%ExecDirect(,"commit")

SAMPLES>d $System.SQL.Shell()

SQL Command Line Shell
----------------------------------------------------

The command prefix is currently set to: <<nothing>>.
Enter q to quit, ? for help.
SAMPLES>>select count(1) from tab311
5. select count(1) from tab311

Aggregate_1
2000000

1 Rows(s) Affected
statement prepare time: 0.0009s, elapsed execute time: 3.7845s.
---------------------------------------------------------------------------
SAMPLES>>select min(sub_item_code) "sub_item_code(MIN)", max(sub_item_code) "sub_item_code(MAX)" from tab311
6. select min(sub_item_code) "sub_item_code(MIN)", max(sub_item_code) "sub_item_code(MAX)" from tab311

sub_item_code(MIN) sub_item_code(MAX)
0000000001 0000500000

1 Rows(s) Affected
statement prepare time: 0.1558s, elapsed execute time: 0.0004s.
---------------------------------------------------------------------------
SAMPLES>>q


本題からはずれるのですが... SQL使ってるとはいっても、ベースはMUMPSというかM言語だからね〜というお話を。。

tab3表及び主キー制約で作成された索引に対応するglobals。索引を見るとSparse Multidimensional Arrayをうまく利用しているのがよくわかる :)
Cachéの表や索引の実態はSparse Multidimensional Arrayなんだお。

1:      ^User.tab3D    =     1512812
2: ^User.tab3D(512813) = $lb("",1,"000000000000002","***************** ...中略... *******************************1",0,"00")
3: ^User.tab3D(512814) = $lb("",2,"000000000000003","***************** ...中略... *******************************2",0,"00")
4: ^User.tab3D(512815) = $lb("",3,"000000000000004","***************** ...中略... *******************************3",0,"00")
...以下略...

tab3表の主キー索引

1:      ^User.tab3I("tab3pk",1,512813)    =     ""
2: ^User.tab3I("tab3pk",2,512814) = ""
3: ^User.tab3I("tab3pk",3,512815) = ""
...以下略...

次は、tab31表と主キー索引

1:      ^User.tab31D    =     2000000
2: ^User.tab31D(1) = $lb("","000000000000001","0000000002","***************** ...中略... *************************1",0)
3: ^User.tab31D(2) = $lb("","000000000000002","0000000003","***************** ...中略... *************************2",0)
4: ^User.tab31D(3) = $lb("","000000000000003","0000000004","***************** ...中略... *************************3",0)
...以下略...


1:      ^User.tab31I("tab31pk"," 000000000000001",1)    =     ""
2: ^User.tab31I("tab31pk"," 000000000000002",2) = ""
3: ^User.tab31I("tab31pk"," 000000000000003",3) = ""
...以下略...


最後に、tab311表と主キー索引及び、非ユニーク索引に対応したSparse Multidimensional Arrayの内容

1:      ^User.tab311D    =     2000000
2: ^User.tab311D(1) = $lb("",1,"0000000002","********************************* ...中略... ************************1",0)
3: ^User.tab311D(2) = $lb("",2,"0000000003","********************************* ...中略... ************************2",0)
4: ^User.tab311D(3) = $lb("",3,"0000000004","********************************* ...中略... ************************3",0)
...以下略...

1:      ^User.tab311I("tab311ix"," 0000000001",500000)    =     ""
2: ^User.tab311I("tab311ix"," 0000000001",1000000) = ""
3: ^User.tab311I("tab311ix"," 0000000001",1500000) = ""
4: ^User.tab311I("tab311ix"," 0000000001",2000000) = ""
5: ^User.tab311I("tab311ix"," 0000000002",1) = ""
6: ^User.tab311I("tab311ix"," 0000000002",500001) = ""
7: ^User.tab311I("tab311ix"," 0000000002",1000001) = ""
8: ^User.tab311I("tab311ix"," 0000000002",1500001) = ""
9: ^User.tab311I("tab311ix"," 0000000003",2) = ""
10: ^User.tab311I("tab311ix"," 0000000003",500002) = ""
11: ^User.tab311I("tab311ix"," 0000000003",1000002) = ""
12: ^User.tab311I("tab311ix"," 0000000003",1500002) = ""
13: ^User.tab311I("tab311ix"," 0000000004",3) = ""
14: ^User.tab311I("tab311ix"," 0000000004",500003) = ""
15: ^User.tab311I("tab311ix"," 0000000004",1000003) = ""
16: ^User.tab311I("tab311ix"," 0000000004",1500003) = ""
...以下略...


実行するクエリはOracle/MySQL/PostgreSQLで実行したものと同じです。

select
t1.unique_id,
t1.item_code,
(
select
max(t3.unique_id)
from
tab31 t2 join tab311 t3
on
t2.sub_item_code = t3.sub_item_code
and t3.is_delete = 0
where
t2.item_code = t1.item_code
and t2.is_delete = 0
) current_sub_item
from
tab3 t1
where
t1.unique_id between 1 and 10000
and t1.is_delete = 0
and t1.status_code = '00'


以下、管理ポータルのSQL実行プラン表示で取得した実行計画とコスト。
Index Only AccessではないのでCacheのSQLの世界で表アクセスを意味するオペレーションである、Read Master mapがスカラー問合せ部分に現れている。
ちなみに、索引アクセスを意味するオペレーションは、Read index mapのようだ。

実行プランが以下に表示されます:
クエリ文字列

SELECT t1 . unique_id , t1 . item_code , ( SELECT MAX ( t3 . unique_id ) FROM tab31 t2 JOIN tab311 t3 ON t2 . sub_item_code = t3 . sub_item_code AND t3 .
is_delete = ? WHERE t2 . item_code = t1 . item_code AND t2 . is_delete = ? ) current_sub_item FROM tab3 t1 WHERE t1 . unique_id BETWEEN ? AND ? AND t1 .
is_delete = ? AND t1 . status_code = ?

クエリプラン
相対コスト = 74082

Call module B, which populates bitmap temp-file A.
Read bitmap temp-file A, looping on ID.
For each row:
Read master map SQLUser.tab3.IDKEY, using the given idkey value.
Output the row.

module B
Read index map SQLUser.tab3.tab3_pk, looping on unique_id (with a range condition) and ID.
For each row:
Add ID bit to bitmap temp-file A.

subquery
Call module E.
Determine subquery result.

module E
Read index map SQLUser.tab31.tab31_pk, using the given %SQLUPPER(item_code), and looping on ID.
For each row:
Read master map SQLUser.tab31.IDKEY, using the given idkey value.
Read index map SQLUser.tab311.tab311_ix, using the given %SQLUPPER(sub_item_code), and looping on ID.
For each row:
Read master map SQLUser.tab311.IDKEY, using the given idkey value.
Accumulate the max(unique_id).


では、Index Only Accessによるチューニング。 Covering Indexを2つ作成します。(Oracle/MySQL/PostgreSQLで作成した索引と同じ名称にしてあります)

[oracle@pleco ˜]$ csession cache -U samples

ノード: pleco.macdeoracle.JP インスタンス: CACHE

SAMPLES>d $System.SQL.Shell()
SQL Command Line Shell
----------------------------------------------------

The command prefix is currently set to: <<nothing>>.
Enter q to quit, ? for help.
SAMPLES>>create index tab31_demo_ix on tab31(item_code, is_delete, sub_item_code)
1. create index tab31_demo_ix on tab31(item_code, is_delete, sub_item_code)

0 Rows Affected
statement prepare time: 4.8277s, elapsed execute time: 9.6483s.
---------------------------------------------------------------------------
SAMPLES>>create index tab311_demo_ix on tab311(sub_item_code, is_delete, unique_id)
2. create index tab311_demo_ix on tab311(sub_item_code, is_delete, unique_id)

0 Rows Affected
statement prepare time: 0.0130s, elapsed execute time: 8.6777s.
---------------------------------------------------------------------------
SAMPLES>>

索引は正しく作成されています。(管理ポータルから確認した結果)
Tab31_indexes_index_only

Tab311_indexes_inde_only

お〜〜〜〜〜っ!。 CacheのSQLワールドでもIndex Only Accessになってる〜〜〜。 (ヒントのような仕組みはないようなのですが、狙い通りの索引が利用されていますね)
スカラー副問合せの実行計画から Read Master Map(表に対応するSparse Multidimensional Array)をアクセスする操作が消え、Read index Map(索引に対応するSparse Multidimensional Array)をアクセスする操作だけになっていることが確認できた。 :)

以下、管理ポータルの「SQL実行」>「実行計画」で取得した実行計画

クエリプラン
相対コスト = 74082

Call module B, which populates bitmap temp-file A.
Read bitmap temp-file A, looping on ID.
For each row:
Read master map SQLUser.tab3.IDKEY, using the given idkey value.
Output the row.

module B
Read index map SQLUser.tab3.tab3_pk, looping on unique_id (with a range condition) and ID.
For each row:
Add ID bit to bitmap temp-file A.

subquery
Call module E.
Determine subquery result.

module E
Read index map SQLUser.tab31.tab31_demo_ix, using the given %SQLUPPER(item_code) and is_delete, and looping on %SQLUPPER(sub_item_code) and ID.
For each row:
Read index map SQLUser.tab311.tab311_demo_ix, using the given %SQLUPPER(sub_item_code) and is_delete, and looping on unique_id and ID.
For each row:
Accumulate the max(unique_id).

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

2012年6月23日 (土)

Mac OS X Lion (Server) で Hyper-Threading を ON/OFFする方法

Mac OS X Lion (Server) でHyper-ThreadingのON/OFFを試してみた。

Terminalからnvramコマンドたたけばできるのね。脳のシワ1つ増えたw

(sudo nvram -h でヘルプでるから!)

HTを止めて、12coreで動作させてみる。
設定内容を確認しとく

discus-mother:˜ oracle$ sudo nvram -p
SystemAudioVolume 0
EFIBluetoothDelay %b8%0b
fmm-computer-name discus_mother
discus-mother:˜ oracle$

SMT=0を設定するとHTをOFFにできる。設定内容も確認しておくよ。

discus-mother:˜ oracle$ sudo nvram SMT=0
discus-mother:˜ oracle$ sudo nvram -p
SMT 0
fmm-computer-name discus_mother
EFIBluetoothDelay %b8%0b
SystemAudioVolume 0
discus-mother:˜ oracle$

設定内容を反映させるには再起動が必要なのでお忘れなく。
(いったん起動してから、再び、起動音とともに再起動、ようするに、2度起動音がでるので驚かないでね)

アプリケーション>ユーティリティ>アクティビティモニター>⌘2 でCPU使用率フローティングウィンドウを表示して確認!
確かに12CPUに見える。次いでなので軽く負荷をかけてみた :)


20120622_235639


再び、HTをONにして24CPUにしてみる。

discus-mother:˜ oracle$ sudo nvram -d SMT
discus-mother:˜ oracle$ sudo nvram -p
SystemAudioVolume 0
EFIBluetoothDelay %b8%0b
fmm-computer-name discus_mother
discus-mother:˜ oracle$

ここで再起動。

CPU使用率フローティングウィンドウ。こんどは思いきって負荷をかけてみた。お〜〜〜〜〜っw




20120623_01129

20120621_03925


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

2012年6月 7日 (木)

VirtualBox 4.1.16 released

https://www.virtualbox.org/wiki/Changelog

https://www.virtualbox.org/wiki/Downloads

Mac OS X hosts: addressed issues running on Mountain Lion Preview 3 と Moutain Lion対応も順調のようですな〜 :)


20120602_75941

とりあえず、MacOS X Lion阪はアップデートdone.

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

MacOS X Lion で HP Photosmart C6175をスキャナーとして使う方法

久々にというか、MacOS X Lionにしてから初めて HP Photosmart C6175 をスキャナーとして使おうとしてハマった。

Mac OS X LionになってからApple Software Update経由でプリンタドライバが提供されるようになり、以前使ってたPhotosmartのユーティリティが無くなってしまった。ので をスキャナとして利用する方法がわかりにくい… ><

としばしぼーーーぜん。

あ、マニュアル見ればいいよね! とHPさん(HPはHOME PAGEの略じゃないからね!)のページを見てみると…

http://h10025.www1.hp.com/ewfrf/wc/document?docname=c02942039&lc=ja&cc=jp&dlc=ja&product=1153493#N979

このページだと「システム環境設定」>「プリントとスキャン」からスキャナーとして使えるような記載に読めるような読めないような…わかりずら〜〜〜い。
(あ、ちなみに私のは、Mac OS X Lion 10.7.4です)

いろいろ試してみたものの実際にはそのようなペインは無いんです。はい。

と、再び、ぼ〜〜〜〜〜ぜん…

ではどうするか、Mac OS X にはイメージキャプチャというアプリケーションが付属しています! それを使えばいいの! (キリっ

20120607_03750


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

2012年5月 6日 (日)

VirtualBox 4.1.14 と OS X Mountain Lion対応? 4.1.15がリリースされてた

今気づいたけど、4.1.14だけだと思ったら、MacOS X Mountain Lion対応の VirtualBox 4.1.15も出てたのね。:)

https://www.virtualbox.org/wiki/Downloads

20120506_183804


20120506_190633


とりあえずアップデート

20120506_185041


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

2012年4月 7日 (土)

VirtualBox 4.1.12 released

https://www.virtualbox.org/wiki/Changelog

20120407_194045

おやおや、今気づいたけど、VirtualBoxについてのダイアログ。バー部分が角張ってるよね。4.1.10から上部だけ角張ってる。

4.1.8まではラウンドだったのに…気になる

以下、4.1.8

20111220_12335


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

2012年3月16日 (金)

VirtualBox 4.1.10 released - あれ前回は 4.1.8だったけど一つ飛んだね

https://www.virtualbox.org/

少々時間空いたな〜と思っていたら、4.1.8の次は、一つ飛ばして4.1.10ですね。:)

20120316_163833

Oracle OpenWorld Tokyo 2012 Unconference当日のデモ環境は VirtualBox4.1.10で、GuestOSはCentOS5.8、データベースはOracle11g R2で。もちろんホストOSはOS Xですよ:)

Unconference_jpoug

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

2012年1月14日 (土)

shutdown immeidateしない、ほかの理由に遭遇! (FYI)


ず〜〜〜〜っと、追記しようと思ってたんだけど書いてなかったので、徹夜明けで早起きした次いでなんで書いておきます。

もう一年近く前のネタなんだけどね。「shutdown immeidateしない、ほかの理由に遭遇!」

> yoheia-a さんありがとう :)

私か書いた記事がキッカケで調べなきゃいけなくなったらしいんだけどね。 ;)

http://d.hatena.ne.jp/yohei-a/20110627/1309180675




shutdown immeidateしない、ほかの理由に遭遇!
shutdown immeidateしない、ほかの理由に遭遇! #2
shutdown immeidateしない、ほかの理由に遭遇! #3
shutdown immeidateしない、ほかの理由に遭遇! おまけ
shutdown immeidateしない、ほかの理由に遭遇! おまけのおまけ(でた〜最近、よくあるパターンw)

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

2012年1月 4日 (水)

Dashboard de Aquarium v1.6 released!

Dashboard de Aquarium v1.6をリリースしました。前回修正した(つもりだった)Snow Leopard以降で発生する問題点の再修正(単純に修正方法がまずかった)しました。
(Dashboard de Aquarium v1.6 released.
What's new in this version : Fixed bug.)

Picture_2_2

Download Dashboard De Aquarium v1.6 Now!

Download! v1.6 dashboard_de_aquarium.zip (997KB)

日本語(Japanese):
"Mac OS X 10.4 Tiger以降が必要です。ダウンロードにSafariを使用する場合は、はじめにダウンロードのリンクをクリックしてください。次にダウンロードの完了後、ウィジェットを表示し、プラスボタンをクリックしてウィジェットバーを表示させ、ダウンロードしたウィジェットを追加してください。Safari以外のブラウザを使用する場合は、はじめにダウンロードのリンクをクリックしてください。次にダウンロードの完了後、解凍したウィジェットを /ライブラリ/Widgets/ フォルダに配置してください。ウィジェットを表示し、プラスボタンをクリックしてウィジェットバーを表示させ、ダウンロードしたウィジェットを追加してください。"

English:
"Mac OS X 10.4 Tiger or later is required. If you’re using Safari, click the download link. When the widget download is complete, show Dashboard, click the Plus sign to display the Widget Bar and click the widget’s icon in the Widget Bar to open it. If you’re using a browser other than Safari, click the download link. When the widget download is complete, unarchive it and place it in /Library/Widgets/ in your home folder. show Dashboard, click the Plus sign to display the Widget Bar and click the widget’s icon in the Widget Bar to open it."


動作確認した機種とMacOSXのバージョンは以下の通り。
(H/W models and the version of Mac OS X that I checked the operation as follows.)

System Requirements : MacOSX Tiger 10.4 or later -- Freeware.

PowerBook G4 1Ghz - MacOSX 10.5.8 (Leopard)
MacBookAir 1.86Ghz Core 2 Duo - MacOSX 10.7.2 (Lion)

Note: 国際化対応しています。言語環境が日本語であればメニューやボタンのテキストは日本語で表示されます。
Screen_shot_20100601_at_221756 Screen_shot_20100601_at_221810
Screen_shot_20100601_at_221821 Screen_shot_20100601_at_221832
Screen_shot_20100601_at_221840 Screen_shot_20100601_at_221915
Screen_shot_20100601_at_221936 Screen_shot_20100601_at_221946_2
20120104_153510

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

2011年12月20日 (火)

VIrtualBox 4.1.8 released :)

クリスマス前にリリース! されてたのでupdate. Linuxのは後で。

https://www.virtualbox.org/wiki/Downloads

20111220_12000


20111220_12335


特に問題なく起動したし:)

20111220_12543


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

2011年12月14日 (水)

PL/SQL de Conditional Compile #6

随分前にPL/SQL de Conditional Compile #5ってエントリ書いてたのを思い出して、11g R1/R2用のを見てみたらソースに丁寧なコメント(マニュアルよりいいんじゃね?w )が書かれていてうれしくなった。

オラクルさんとして見せたくない部分は見えないようになっているけど、見せても問題ないところはコードが見える(all_sourceビュー)わけで、それはそれでうれしいわけです。はい。マニュアルが意外に不親切だったりするので。

(マニュアル、良くなりましたよ。昔より。 > 褒めておかないとね、だれとなくw。)...文字サイズも多くしておきましたw

● Oracle11g R1 11.1 の DBMS_DB_VERSION

package dbms_db_version is
version constant pls_integer := 11; -- RDBMS version number
release constant pls_integer := 1; -- RDBMS release number

/* The following boolean constants follow a naming convention. Each
constant gives a name for a boolean expression. For example,
ver_le_9_1 represents version <= 9 and release <= 1
ver_le_10_2 represents version <= 10 and release <= 2
ver_le_10 represents version <= 10

A typical usage of these boolean constants is

$if dbms_db_version.ver_le_10 $then
version 10 and ealier code
$elsif dbms_db_version.ver_le_11 $then
version 11 code
$else
version 12 and later code
$end

This code structure will protect any reference to the code
for version 12. It also prevents the controlling package
constant dbms_db_version.ver_le_11 from being referenced
when the program is compiled under version 10. A similar
observation applies to version 11. This scheme works even
though the static constant ver_le_11 is not defined in
version 10 database because conditional compilation protects
the $elsif from evaluation if the dbms_db_version.ver_le_10 is
TRUE.
*/

ver_le_9_1 constant boolean := FALSE;
ver_le_9_2 constant boolean := FALSE;
ver_le_9 constant boolean := FALSE;
ver_le_10_1 constant boolean := FALSE;
ver_le_10_2 constant boolean := FALSE;
ver_le_10 constant boolean := FALSE;
ver_le_11_1 constant boolean := TRUE;
ver_le_11 constant boolean := TRUE;

end dbms_db_version;


● Oracle11g R2 11.2 の DBMS_DB_VERSION

package dbms_db_version is
version constant pls_integer := 11; -- RDBMS version number
release constant pls_integer := 2; -- RDBMS release number

/* The following boolean constants follow a naming convention. Each
constant gives a name for a boolean expression. For example,
ver_le_9_1 represents version <= 9 and release <= 1
ver_le_10_2 represents version <= 10 and release <= 2
ver_le_10 represents version <= 10

A typical usage of these boolean constants is

$if dbms_db_version.ver_le_10 $then
version 10 and ealier code
$elsif dbms_db_version.ver_le_11 $then
version 11 code
$else
version 12 and later code
$end

This code structure will protect any reference to the code
for version 12. It also prevents the controlling package
constant dbms_db_version.ver_le_11 from being referenced
when the program is compiled under version 10. A similar
observation applies to version 11. This scheme works even
though the static constant ver_le_11 is not defined in
version 10 database because conditional compilation protects
the $elsif from evaluation if the dbms_db_version.ver_le_10 is
TRUE.
*/

ver_le_9_1 constant boolean := FALSE;
ver_le_9_2 constant boolean := FALSE;
ver_le_9 constant boolean := FALSE;
ver_le_10_1 constant boolean := FALSE;
ver_le_10_2 constant boolean := FALSE;
ver_le_10 constant boolean := FALSE;
ver_le_11_1 constant boolean := FALSE;
ver_le_11_2 constant boolean := TRUE;
ver_le_11 constant boolean := TRUE;

end dbms_db_version;

version 12 and later codeなんて箇所、いいですね〜w



PL/SQL de Conditional Compile #1
PL/SQL de Conditional Compile #2
PL/SQL de Conditional Compile #3
PL/SQL de Conditional Compile #4
PL/SQL de Conditional Compile #5

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

2011年11月 9日 (水)

VirtualBox 4.1.6 released - Update done

https://www.virtualbox.org/wiki/Changelog

出かけるまえにVirtualBox4.1.6 へUpdate done


virtualbox416_inst


virtualbox416_splash


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

2011年10月 5日 (水)

VIrtualBox 4.1.4 released

http://www.virtualbox.org/wiki/Changelog


LinuxとMacのVirtualBoxを4.1.4アップデートするなど。毎月一回のお約束:)

VirtualBox4.1.4 about


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

2011年8月16日 (火)

VirtualBox 4.1.2 released! 月1ペースか。:)

http://www.virtualbox.org/wiki/Changelog

ほんと良いペースですねー。


20110816_230112


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

CentOS6.0 on VirtualBox4.1.0 for MacOS X(Snow Leopard) - Can't mount VBoxGuestAdditions.iso as Virtual CD/DVD-ROM

MacOS XのVirtualBoxでGuest Additionsがインストールできないというか VBoxGuestAdditions.isoファイルを仮想CD/DVDとしてマウントできないなー、なんて状態になったら、これから紹介する方法で解決できますよ。というお話です。:)

VirtualBox for MacOS Xは他のアプリケーションと同様にアプリケーション・パッケージ形式なのでVirtualBoxアプリケーションアイコンを右クリックし、「ボップアップメニュー」>「パッケージの内容を表示」を選択します。

Menu




でFinderに表示されたVirtualBoxパッケージないを開いていくと Contents/MacOS/VBoxGuestAdditions.iso というファイルが見つかります。これがGuest Additions用の.iso形式ファイル。これがなぜかマウントできないんだな。以前はマウントできてたのに…

Iso


この VBoxGuestAdditions.iso をDesktopなどアクセスしやすい場所にコピーしちゃいます。

あとはいつものように、CD/DVD-ROMとしてマウントして…


Mount


Mount2


コマンドを打つだけ。:)


[discus@angelfish VBOXADDITIONS_4.1.0_73009]$ su -
パスワード:
[root@angelfish &]# cd /media
[root@angelfish media]# ll
合計 2
dr-xr-xr-x. 4 discus root 2048 7月 19 19:43 2011 VBOXADDITIONS_4.1.0_73009
[root@angelfish media]# cd VBOXADDITIONS_4.1.0_73009
[root@angelfish VBOXADDITIONS_4.1.0_73009]# ll
合計 41440
dr-xr-xr-x. 3 discus root 2048 7月 19 19:43 2011 32Bit
dr-xr-xr-x. 2 discus root 2048 7月 19 19:43 2011 64Bit
-r-xr-xr-x. 1 discus root 647 8月 14 00:58 2010 AUTORUN.INF
-r-xr-xr-x. 1 discus root 7525824 7月 19 19:38 2011 VBoxLinuxAdditions.run
-r-xr-xr-x. 1 discus root 14235136 7月 19 19:42 2011 VBoxSolarisAdditions.pkg
-r-xr-xr-x. 1 discus root 13097968 7月 19 19:30 2011 VBoxWindowsAdditions-amd64.exe
-r-xr-xr-x. 1 discus root 7277968 7月 19 19:25 2011 VBoxWindowsAdditions-x86.exe
-r-xr-xr-x. 1 discus root 278832 7月 19 19:24 2011 VBoxWindowsAdditions.exe
-r-xr-xr-x. 1 discus root 6966 7月 19 19:36 2011 autorun.sh
-r-xr-xr-x. 1 discus root 5523 7月 19 19:36 2011 runasroot.sh
[root@angelfish VBOXADDITIONS_4.1.0_73009]# sh ./VBoxLinuxAdditions.run
Verifying archive integrity... All good.
Uncompressing VirtualBox 4.1.0 Guest Additions for Linux.........
VirtualBox Guest Additions installer
Removing existing VirtualBox DKMS kernel modules [ OK ]
Removing existing VirtualBox non-DKMS kernel modules [ OK ]
Building the VirtualBox Guest Additions kernel modules
Building the main Guest Additions module [ OK ]
Building the shared folder support module [ OK ]
Building the OpenGL support module [ OK ]
Doing non-kernel setup of the Guest Additions [ OK ]
Starting the VirtualBox Guest Additions [ OK ]
Installing the Window System drivers
Installing X.Org Server 1.7 modules [ OK ]
Setting up the Window System to use the Guest Additions [ OK ]
You may need to restart the hal service and the Window System (or just restart
the guest system) to enable the Guest Additions.

Installing graphics libraries and desktop services componen[ OK ]
[root@angelfish VBOXADDITIONS_4.1.0_73009]#

このお遊びの続きはいずれまた。

2011/8/16追記
実は、こんな事しなくてもちゃんとマウンドできた><。

VirtualBoxの「メニュー」>「デバイス」>「Guest Addtionsのインストール(I)...」でマウントできるじゃないですかー。失礼しました。 m(_ _)m

20110816_230742



これまでのあらずじ…

CentOS6.0 on VirtualBox4.1.0 for MacOS X(Snow Leopard)

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

2011年8月15日 (月)

CentOS6.0 on VirtualBox4.1.0 for MacOS X(Snow Leopard)

まだLionじゃなくて、Snow Leopardなのですが…

VirtualBox4.1.0でCentOS6.0をGuestOSとして構築してみた。この続きは暇を見て…。
20110815_03357

20110815_71248

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

2011年7月22日 (金)

Lionがでたとおもったら、VirtualBox 4.1も出てたのね。

http://www.virtualbox.org/wiki/Changelog

20110722_13624

Lion入れるより先にVirtualBox 4.1にしてみたw

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

2011年7月17日 (日)

VirtualBox 4.0.12 リリース、活発だな〜 :)

気づいたら、4.0.12がリリースされてる。:) すげ〜活発な。  アップデートdone.

20110717_83523

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

2011年6月29日 (水)

VirtualBox 4.0.10リリース、MacOS X Lion向けbug fixもあるね

MacOS X Lion向けbug fixもあるね〜

20110628_235215

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

2011年5月17日 (火)

VirtualBox 4.0.8でました〜

VirtualBox 4.0.8がリリースされたので早速アップデート :)

Mac OS X関連のbug fixも含まれてますねー。
http://www.virtualbox.org/wiki/Downloads

Changelog for VirtualBox 4.0.8

  • Mac OS X hosts: fixed incompatibility with recent Mac OS X versions in 64-bit mode (bug #8474)
  • Mac OS X hosts: fixed incompatibility with hosts with more than 16 cores (bug #8389)
  • Mac OS X hosts: fixed painting corruptions on a second monitor in 64-bit mode (bug #7606)
  • GUI: restored functionality to set an empty host key to disallow any host key combination (4.0.6 regression; bug #8793)
  • VBoxManage: added controlvm screenshotpng subcommand for saving the screenshot of a running VM in PNG format
  • VBoxHeadless: fixed potential crash during shutdown (Windows hosts only)
  • NAT: built-in services use the correct Ethernet addresses in Ethernet header and in ARP requests
  • Host-only networking: fixed adapter reference counting
  • E1000: fixed rare guest crashes with Linux SMP guests (bug #8755)
  • SATA: fixed guest disk corruption under rare circumstances (only relevant for guests with more than 2GB RAM; bug #8826)
  • Storage: fixed data corruption after a snapshot was taken with asynchronous I/O enabled (bug #8498)
  • Floppy: several improvement
  • HPET: another fix for time jumps (bug #8707)
  • USB: removed assumption that string descriptors are null-terminated (Windows hosts only)
  • 3D support: fixed a potential crash when resizing the guest window
  • 3D support: fixed GNOME 3 rendering under Ubuntu 11.04 and Fedora 15
  • Snapshots: fixed another bug which could lose entries in the media registry when restoring a snapshot (bug #8363)
  • Shared Folders: don't stop mounting the other valid folders if one host folder is inaccessible (4.0.6 regression)
  • Linux Additions: check whether gcc and make are installed before building kernel modules (bug #8795)
  • Solaris Additions: added support for X.Org Server 1.10
  • Guest Additions: fixed inappropriate Guest Additions update notification when using vendor-specific
  • version suffixes (bug #8844)

20110517_50809


20110517_50844


20110517_50852


20110517_50906


20110517_50924_2
20110517_50938


20110517_51357

各Guest OSのGuest Additions scriptの実行もお忘れなく!

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

2011年4月 3日 (日)

VirtualBox de Oracle Linux 6

http://blogs.oracle.com/linux/2011/02/oracle_linux_6_dvds_now_available.html

ってことだったので、VirtualBox 使ってお試し環境作っておいた。問題もなくinstall done…

20110402_214835

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

2011年3月11日 (金)

IE9テスト用Windows7 64bit環境をVirtualBox VMで

うちの奥さんが関わっているサイトでもIE9対応とかありそうだし、私もいろいろ確認したいこともあり、VirtualBox4.x for LInux x86_64でWindow7 64bit 環境を作った。VMのおかげてでいろいろ楽できるな〜。

以下、MacBook AirのTerminalからX forwording使って接続した様子。:) MacOS/Linux/Windowsの共演w

20110311_60558

Screenshot20110311

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

2011年2月17日 (木)

shutdown immeidateしない、ほかの理由に遭遇! おまけのおまけ(でた〜最近、よくあるパターンw)

さて、前回のおまけで終了〜。 のつもりだったがリスナー経由の時は問題ないな〜と気づいて気が変わり。おまけのおまけとなりましたw


前回まではBEQで繋いでたな〜、と思ってリスナー経由の専用サーバー接続で同じことを試してみたらshutdown immeidateが待機させられない事に気づいた。

お〜〜〜〜っ。oracleのサーバープロセスがdefunctにならないっつーことは…

ということで、早速試してみた。

※1つめの端末でSQL*Plusを起動してOracleをスタートアップ(なお事前にリスナーは起動済みです)

[oracle@lampeye ˜]$ sqlplus /nolog

SQL*Plus: Release 11.1.0.7.0 - Production on 水 2月 16 23:10:11 2011

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

23:10:11 > conn / as sysdba
接続されました。
23:21:54 SYS> startup
ORACLEインスタンスが起動しました。

Total System Global Area 1603411968 bytes
Fixed Size 2160112 bytes
Variable Size 436210192 bytes
Database Buffers 1157627904 bytes
Redo Buffers 7413760 bytes
データベースがマウントされました。
データベースがオープンされました。
23:22:04 SYS>

※2つめの端末でSQL*Plusを起動してリスナー経由(この例では専用サーバー接続)でOracleへ接続後、host command(!)でshellへ入っておく。

[oracle@lampeye ˜]$ 
[oracle@lampeye ˜]$ sqlplus /nolog

SQL*Plus: Release 11.1.0.7.0 - Production on 水 2月 16 23:22:45 2011

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

23:22:45 > conn scott/tiger@lampeye
接続されました。
23:22:53 SCOTT> !
[oracle@lampeye ˜]$

※この状態で、プロセスツリーをチェックしてみると…Bequeath Protocol接続の時は、PID=5398の子プロセスとしてOracleのサーバープロセスがforkされていたのに、居ないのよ…

[oracle@lampeye ˜]$ ps -ef | grep gnome-terminal
oracle 4976 1 0 23:08 ? 00:00:01 gnome-terminal
oracle 5440 5031 0 23:23 pts/3 00:00:00 grep gnome-terminal
[oracle@lampeye ˜]$
[oracle@lampeye ˜]$ pstree -p 4976 -ual
gnome-terminal,4976,oracle
├─bash,4982
│ └─sqlplus,5154
│ └─oracle,5376 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
├─bash,5007
│ └─sqlplus,5398
│ └─bash,5413
├─bash,5031
│ └─pstree,5441 -p 4976 -ual
├─bash,5161
├─gnome-pty-helpe,4981
└─{gnome-terminal},4983
[oracle@lampeye ˜]$

※じゃ、どこに行ったのよ…と、調べてみると…リスナー経由だとサーバープロセスの親プロセスはINIT

23:29:17 SYS> select s.username,p.username,p.spid from v$process p join v$session s on p.addr = s.paddr where s.username='SCOTT'

USERNAME USERNAME SPID
------------------------------ --------------- ------------------------
SCOTT oracle 5400

経過: 00:00:00.01
23:29:18 SYS>

[oracle@lampeye ˜]$ ps -f -p 5400
UID PID PPID C STIME TTY TIME CMD
oracle 5400 1 0 23:22 ? 00:00:00 oraclelampeye (LOCAL=NO)
[oracle@lampeye ˜]$

※これならshutdown immeidateは待たされずに実行される!

23:35:22 SYS> 
23:35:22 SYS> shutdown immediate
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
23:35:33 SYS>

ということは、SQL*PlusからBequeath Protocol接続の場合、host commandでshellへ入ったままにしているとshutdown immeidateが待機させられるのな…


じゃ、sqlnet.ora に BEQUEATH_DETACH=yes を設定すれば回避できそーな気がする
Oracle Database Net Servicesリファレンス 11g リリース1(11.1)- 5.2.1 BEQUEATH_DETACH

早速、検証…

sqlnet.oraにBEQUEATH_DETACH=yesを追記。

[oracle@lampeye ˜]$ 
[oracle@lampeye ˜]$ cat $ORACLE_HOME/network/admin/sqlnet.ora
# sqlnet.ora Network Configuration File: /opt/u01/app/oracle/product/11.1.0/db_1/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
BEQUEATH_DETACH=yes

[oracle@lampeye ˜]$

※1つめの端末でSQL*Plusを起動し、Oracleをstartup…

[oracle@lampeye ˜]$ sqlplus /nolog

SQL*Plus: Release 11.1.0.7.0 - Production on 水 2月 16 23:39:14 2011

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

23:39:14 > conn / as sysdba
アイドル・インスタンスに接続しました。
23:39:17 SYS> startup
ORACLEインスタンスが起動しました。

Total System Global Area 1603411968 bytes
Fixed Size 2160112 bytes
Variable Size 436210192 bytes
Database Buffers 1157627904 bytes
Redo Buffers 7413760 bytes
データベースがマウントされました。
データベースがオープンされました。
23:39:26 SYS>


※2つめの端末でSQL*Plusを起動、BEQ接続でSCOTTユーザへ接続後、host command(!)でshellへ入っておく…

[oracle@lampeye ˜]$ sqlplus /nolog

SQL*Plus: Release 11.1.0.7.0 - Production on 水 2月 16 23:39:39 2011

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

23:39:39 > conn scott/tiger
接続されました。
23:39:45 SCOTT> !
[oracle@lampeye ˜]$


※この状態でプロセスツリーを見てみると…お〜〜〜、SQL*Plusの子プロセスではなくなっている…

[oracle@lampeye ˜]$ pstree -p 4976 -ual 
gnome-terminal,4976,oracle
├─bash,4982
│ └─sqlplus,5596
├─bash,5007
│ └─sqlplus,5664
│ └─bash,5686
├─bash,5031
│ └─pstree,5711 -p 4976 -ual
├─bash,5161
├─gnome-pty-helpe,4981
└─{gnome-terminal},4983
[oracle@lampeye ˜]$

※じゃ〜、どこの子になっちゃったのか調べてみましょう…

23:41:08 SYS> select s.username,p.username,p.spid from v$process p join v$session s on p.addr = s.paddr where s.username IN ('SYS','SCOTT');

USERNAME USERNAME SPID
------------------------------ --------------- ------------------------
SYS oracle 5685
SCOTT oracle 5666

経過: 00:00:00.03
23:41:40 SYS>

お〜、やはり、SQL*Plusの子じゃなくて、INITの養子となってしまったようですw

[oracle@lampeye ˜]$ ps -f -p 5685 5666
UID PID PPID C STIME TTY STAT TIME CMD
oracle 5666 1 0 23:39 ? Ss 0:00 oraclelampeye (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle 5685 1 0 23:40 ? Ss 0:00 oraclelampeye (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
[oracle@lampeye ˜]$

これなら、shutdown immeidateも待たされないでしょうね :)

23:42:52 SYS> shutdown immediate
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
23:43:07 SYS>

immeidateしない、ほかの理由に遭遇! ネタはこれで、ほんとにほんとのおしまい :)



shutdown immeidateしない、ほかの理由に遭遇!
shutdown immeidateしない、ほかの理由に遭遇! #2
shutdown immeidateしない、ほかの理由に遭遇! #3
shutdown immeidateしない、ほかの理由に遭遇! おまけ

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

2011年2月 8日 (火)

shutdown immeidateしない、ほかの理由に遭遇!

別途検証して別エントリにする予定だけど(遠征先で時間ないので…)、この状態でshutdown immeidateが待機するとshutdown timeoutしないというのも特徴みたい…

Oracleのバージョンは11g R2 11.2.0.1.0 for Linux (32bit)だけどUnix/Linux系なら発生するよ、きっと。

そういえば、以前こんなエントリ書いてましたっけ「shutdown timeout

では、早速再現テスト。

まず、SQL*Plusを起動、SYSユーザに接続してOracleインスタンスを起動します…

[oracle@leaffish ˜]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on 火 2月 8 00:46:11 2011

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

00:46:11 > conn / as sysdba
アイドル・インスタンスに接続しました。
00:46:16 SYS> startup
ORACLEインスタンスが起動しました。

Total System Global Area 422670336 bytes
Fixed Size 1336960 bytes
Variable Size 373295488 bytes
Database Buffers 41943040 bytes
Redo Buffers 6094848 bytes
データベースがマウントされました。
データベースがオープンされました。
00:47:17 SYS>


別端末でSQL*Plusを起動してSYSTEMユーザまたはSYSユーザに接続.
(別途詳しく検証する予定だけど、今のところSYSTEM/SYSユーザ以外では発生してないので)

[oracle@leaffish ˜]$ 
[oracle@leaffish ˜]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on 火 2月 8 00:50:18 2011

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

00:50:18 > conn system
パスワードを入力してください:
接続されました。
00:50:23 SYSTEM>


次にOracleを起動したSQL*PlusのSYSユーザでshutdown immeidateを発行する…

00:51:22 SYS> shutdown immediate
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
00:51:34 SYS>


この状態だとOracleインスタンスは正常にshutdown immeidateで停止できる。あたりまえだけど。

では、再現テストですよん。

では次のパターンはどうか?

前述した手順と同じく、SYSで接続してOracleインスタンスを起動する…

[oracle@leaffish ˜]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on 火 2月 8 00:54:47 2011

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

00:54:47 > conn / as sysdba
アイドル・インスタンスに接続しました。
00:54:52 SYS> startup
ORACLEインスタンスが起動しました。

Total System Global Area 422670336 bytes
Fixed Size 1336960 bytes
Variable Size 373295488 bytes
Database Buffers 41943040 bytes
Redo Buffers 6094848 bytes
データベースがマウントされました。
データベースがオープンされました。
00:55:46 SYS>


前述した手順と同様に、別端末でSQL*Plusを起動し、SYSTEMユーザ(SYSユーザでもいいよ)へ接続する。
さらに、! (SQL*Plusのhost command)でshellに入っておく…。ここがポイント

[oracle@leaffish ˜]$ 
[oracle@leaffish ˜]$
[oracle@leaffish ˜]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on 火 2月 8 01:01:42 2011

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

01:01:42 > conn system
パスワードを入力してください:
接続されました。
01:01:47 SYSTEM> !
[oracle@leaffish ˜]$


shutdow immeidateの待機を再現させますよー、Oracleインスタンスを起動したSQL*PlusのSYSユーザでshutdown immeidate文を発行する…

01:03:04 SYS> 
01:03:05 SYS> shutdown immediate


いつまでたってもOracleインスタンスは停止しない。この例では載せていないがマニュアルに記載されているshutdown timeoutも1時間たっても2時間たっても発生しないようだ…(別途検証予定)


アラートログを確認してみると…5分毎に、”SHUTDOWN: Active processes prevent shutdown operation”というログを出力し続けてる…

Tue Feb 08 01:03:07 2011
Shutting down instance (immediate)
Shutting down instance: further logons disabled
Stopping background process QMNC
Stopping background process MMNL
Stopping background process MMON
License high water mark = 2
All dispatchers and shared servers shutdown
Tue Feb 08 01:08:17 2011
SHUTDOWN: Active processes prevent shutdown operation
Tue Feb 08 01:13:24 2011
SHUTDOWN: Active processes prevent shutdown operation
Tue Feb 08 01:18:31 2011
SHUTDOWN: Active processes prevent shutdown operation
Tue Feb 08 01:23:37 2011
SHUTDOWN: Active processes prevent shutdown operation
Tue Feb 08 01:28:43 2011
SHUTDOWN: Active processes prevent shutdown operation


プロセスのトレースファイルで最新のものでファイルサイズが増えつつけているものがある…
tailでのぞいてみると…

PID=3542のOSプロセスをkillできずにループしているように見える…

[oracle@leaffish trace]$ ll -lrt

・・・中略・・・

-rw-r----- 1 oracle oinstall 61 2月 8 01:00 discus_mman_3483.trm
-rw-r----- 1 oracle oinstall 863 2月 8 01:00 discus_mman_3483.trc
-rw-r----- 1 oracle oinstall 61 2月 8 01:00 discus_dbrm_3477.trm
-rw-r----- 1 oracle oinstall 904 2月 8 01:00 discus_dbrm_3477.trc
-rw-r----- 1 oracle oinstall 45 2月 8 01:01 discus_ora_3539.trm
-rw-r----- 1 oracle oinstall 669 2月 8 01:01 discus_ora_3539.trc
-rw-r----- 1 oracle oinstall 235323 2月 8 01:08 alert_discus.log
-rw-r----- 1 oracle oinstall 6420 2月 8 01:12 discus_ora_3513.trm
-rw-r----- 1 oracle oinstall 60565 2月 8 01:12 discus_ora_3513.trc
[oracle@leaffish trace]$
[oracle@leaffish trace]$ tail -f discus_ora_3513.trc
ksukia: Starting kill, flags = 1
ksukia: killed 0 out of 1 processes.

*** 2011-02-08 01:13:15.641
ksukia: Starting kill, flags = 1
ksukia: killed 0 out of 1 processes.

*** 2011-02-08 01:13:16.663
ksukia: Starting kill, flags = 1
ksukia: killed 0 out of 1 processes.

*** 2011-02-08 01:13:17.678
ksukia: Starting kill, flags = 1
ksukia: Attempt 119 to re-kill process OS PID=3542.
ksukia: killed 1 out of 1 processes.

*** 2011-02-08 01:13:18.699
ksukia: Starting kill, flags = 1
ksukia: killed 0 out of 1 processes.

*** 2011-02-08 01:13:19.709
ksukia: Starting kill, flags = 1
ksukia: killed 0 out of 1 processes.

*** 2011-02-08 01:13:20.735
ksukia: Starting kill, flags = 1
ksukia: killed 0 out of 1 processes.

*** 2011-02-08 01:13:21.750
ksukia: Starting kill, flags = 1
ksukia: killed 0 out of 1 processes.

*** 2011-02-08 01:13:22.756
ksukia: Starting kill, flags = 1
ksukia: Attempt 120 to re-kill process OS PID=3542.
ksukia: killed 1 out of 1 processes.

*** 2011-02-08 01:13:23.779
ksukia: Starting kill, flags = 1
ksukia: killed 0 out of 1 processes.

*** 2011-02-08 01:13:24.790
ksukia: Starting kill, flags = 1
ksukia: killed 0 out of 1 processes.
ksukia: Starting kill, flags = 1
ksukia: killed 0 out of 1 processes.

*** 2011-02-08 01:13:25.821
ksukia: Starting kill, flags = 1
ksukia: killed 0 out of 1 processes.

[oracle@leaffish trace]$

killできないと繰り返しログに吐かれているプロセス PID=3542とは何者?…
psとpstreeコマンドでみてみると…

SQL*Plusの!(host command)でshellに入る生成されるプロセスらしい…、このプロセスSYSTEMユーザやSYSユーザ以外接続している場合はなぜか今のところ生成されいないように見える…

この<defunct>なプロセスは何屋さん? shutdown immediateをimmediateじゃない状態にするのは大量のundoデータだけじゃないのね〜><

それもSQL*Plusの!(host command)は便利なので、私も多用していまして、ついつい、SQL*Plusに接続して、!でshellに入って、SQL*Plusから入ったのを忘れてさらに、SQL*Plus起動して、!でshellに入って…なんてことやってしまうことは多々あります。><

これが原因で、shutdown immeidateが待機させられるなんて〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜><。

[oracle@leaffish ˜]$ ps -ef | grep 3542
oracle 3542 3541 0 01:01 ? 00:00:00 [oracle] <defunct>
oracle 3785 3056 0 01:24 pts/5 00:00:00 grep 3542
[oracle@leaffish ˜]$
[oracle@leaffish ˜]$ pstree -up oracle

・・・中略・・・

gnome-terminal(2806)─┬─bash(2812)───sqlplus(3398)───oracle(3513)
├─bash(2909)───tail(3055)
├─bash(2937)
├─bash(3031)───sqlplus(3541)─┬─bash(3543)
│ └─oracle(3542)
├─bash(3056)───pstree(3772)
├─gnome-pty-helpe(2811)
└─{gnome-terminal}(2813)

・・・以下略・・・


もう少し検証してみましょう! 

shellからだけexitしてみるも……Oracleはまだ停止しない…

01:01:42 > conn system
パスワードを入力してください:
接続されました。
01:01:47 SYSTEM> !
[oracle@leaffish ˜]$ exit
exit

01:30:56 SYSTEM>


じゃ、SQL*Plusからもexitしよう

01:01:42 > conn system
パスワードを入力してください:
接続されました。
01:01:47 SYSTEM> !
[oracle@leaffish ˜]$ exit
exit

01:30:56 SYSTEM> exit
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing optionsとの接続が切断されました。
[oracle@leaffish ˜]$


次の瞬間……

データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
01:32:10 SYS>

なんだと〜〜〜〜〜〜〜〜。いつからこーなんだー。 怖くてSQL*Plusから!(host command)でshellに入れないじゃないか〜〜〜><


次回へつづく。



shutdown immeidateしない、ほかの理由に遭遇!
shutdown immeidateしない、ほかの理由に遭遇! #2
shutdown immeidateしない、ほかの理由に遭遇! #3
shutdown immeidateしない、ほかの理由に遭遇! おまけ

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

2011年1月30日 (日)

CentOS5.5のVirtualBox4.0のWindowsXP ProfessionalのVirtualPC2007のWindowsXPのIE7(長過ぎw)

うちの奥さんがIE7以上の動作確認などもしたいということだったので、タイミングよく公開されたInternet Explorer Application Compatibility VPC ImageのXP向けIE7とVirtualPCを使ってIE7のテスト環境を作ってみた。

CentOS5.5(HostOS)のVirtualBox4.0のWindowsXP Professional(GuestOS)のVirtualPC2007に前述のWindowsXP+IE7(英語版+日本語フォント)の環境になっとります。これで奥さん用IE7確認環境のできあがり。

フォント追加がめんどくさいので日本語フォントを含んだのもあるといいんですけどね〜 :)

Version1

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

2011年1月 9日 (日)

CentOS5.5のVirtualBoxも4.0にアップデートした

MacOS X版VirtualBoxにつづき、CentOS5.5のVirtualBoxも3.2から4.0にアップデートした。

ついでなので、CentOS5.5のVirtualBoxのSolaris10をMacOS XのTerminalからX11 forwadingを使ってMac側で起動してみた。(どんな次いでだw)

まず最初はCentOSのVirtualBoxを3.2から4.0へアップデート。MacOS Xの場合特に気にすることもないのだが、Linuxの場合、3.2がインストールされたままだと4.0でアップデートできないので、一旦、VirtualBox 3.2はアンインストールする必要がある。アンインストールがうまくいったら4.0をインストールがうまくいく。(新規で4.0をインストールする場合は気にする必要ないですよ…)

ちなみに、うちのは64bit版です ;)

[root@lampeye Desktop]# cat /etc/redhat-release
CentOS release 5.5 (Final)
[root@lampeye Desktop]#
[root@lampeye Desktop]# uname -r
2.6.18-194.26.1.el5
[root@lampeye Desktop]#
[root@lampeye Desktop]# rpm -e VirtualBox-3.2-3.2.12_68302_rhel5-1.x86_64
[root@lampeye Desktop]# rpm -ivh VirtualBox-4.0-4.0.0_69151_rhel5-1.x86_64.rpm
警告: VirtualBox-4.0-4.0.0_69151_rhel5-1.x86_64.rpm: ヘッダ V4 DSA signature: NOKEY, key ID 98ab5139
準備中... ########################################### [100%]
1:VirtualBox-4.0 ########################################### [100%]

Creating group 'vboxusers'. VM users must be member of that group!

No precompiled module for this kernel found -- trying to build one. Messages
emitted during module compilation will be logged to /var/log/vbox-install.log.

Stopping VirtualBox kernel modules [ OK ]
Uninstalling old VirtualBox DKMS kernel modules [ OK ]
Trying to register the VirtualBox kernel modules using DKMS [失敗]
(Failed, trying without DKMS)
Recompiling VirtualBox kernel modules [ OK ]
Starting VirtualBox kernel modules [ OK ]


[root@lampeye Desktop]#

ちゃんとやっとこうかな〜と思って、やり直しておいた(2011/1/10更新)

[root@lampeye Desktop]# cat /etc/redhat-release
CentOS release 5.5 (Final)
[root@lampeye Desktop]#
[root@lampeye Desktop]# uname -r
2.6.18-194.26.1.el5
[root@lampeye Desktop]#
[root@lampeye Desktop]# wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc
[root@lampeye Desktop]# rpm --import oracle_vbox.asc
[root@lampeye Desktop]# rpm --checksig VirtualBox-4.0-4.0.0_69151_rhel5-1.x86_64.rpm
VirtualBox-4.0-4.0.0_69151_rhel5-1.x86_64.rpm: (sha1) dsa sha1 md5 gpg OK
[root@lampeye Desktop]# rpm -e VirtualBox-3.2-3.2.12_68302_rhel5-1.x86_64
[root@lampeye Desktop]# rpm -ivh VirtualBox-4.0-4.0.0_69151_rhel5-1.x86_64.rpm
準備中... ########################################### [100%]
1:VirtualBox-4.0 ########################################### [100%]

Creating group 'vboxusers'. VM users must be member of that group!

No precompiled module for this kernel found -- trying to build one. Messages
emitted during module compilation will be logged to /var/log/vbox-install.log.

Stopping VirtualBox kernel modules [ OK ]
Uninstalling old VirtualBox DKMS kernel modules [ OK ]
Trying to register the VirtualBox kernel modules using DKMS [失敗]
(Failed, trying without DKMS)
Recompiling VirtualBox kernel modules [ OK ]
Starting VirtualBox kernel modules [ OK ]
[root@lampeye Desktop]#

これで3.2から4.0へ移行は完了! :)

では本題、MacOS XのTerminalからX11 forwordingを使ってCentOS5.5のVirtualBox4.0を起動し、GuestOSとしてSolaris10を起動してみます。(なお、このVM、以前、MacOS XのVirtualBox3.2で作成したものをCentOS5.5にコピーというか移動したもの…)

discus:˜ discus$
discus:˜ discus$
discus:˜ discus$ ssh -Y discus@lampeye
discus@lampeye's password:
Warning: No xauth data; using fake authentication data for X11 forwarding.
Last login: Sun Jan 9 11:19:09 2011 from 192.168.1.30
[discus@lampeye ˜]$
[discus@lampeye ˜]$ VirtualBox &
[1] 4796
[discus@lampeye ˜]$

20110109_112433

20110109_112116


20110109_112218

うまくいくもんですね〜 :)




VirtualBox 4.0にアップデートした

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

2011年1月 6日 (木)

VirtualBox 4.0にアップデートした

VirtualBox4.0にアップデートしてみたMacOS Xのだけだけど。あとでLinuxのもやるよー

20110106_233143

20110106_233148

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

VirtualBox de Oracle11g R2 RAC #23

VirtualBox de Oracle11g R2 RACのつづき。

さて、いよいよVirtualBox de Oracle11g R2 RACの最終回。簡単なTAFのテスト!

  1. ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
  2. Linux (CentOS 5.5 x86_64)のインストール
  3. Openfiler2.3 x86のインストール
  4. Openfiler2.3 x86によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2その3
  6. Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. Oracle RACノード間リモートアクセスの構成とntpの構成
    sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた)
  9. ローカルネームサーバの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
  12. Oracle11g R2 11.2.0.1.0 RACインストール事前作業
  13. Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
  14. Oracle11g R2 11.2.0.1.0 Database softwareのインストール
  15. Oracle11g R2 11.2.0.1.0 examplesのインストール
  16. Oracle Cluster databaseの作成
  17. Net Serviceの確認
  18. Oralce Grid InsfastructureとDatabase構成の確認
  19. Clusterの開始と停止の確認
  20. 簡単なTransparent Application Failover (TAF)の確認

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

MacOS X Snow LeopardにあるOracle Instant Client 10g R2 for MacOS Xのtnsnames.oraを編集し以下の定義を追加しておきました!

ORCLTAF =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = discus-rac64-scan.macdeoracle.jp)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.macdeoracle.info)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 180)
(DELAY = 5)
)
)
)

TAF定義の接続識別子で接続します。

discus:˜ oracle$ 
discus:˜ oracle$ sqlplus /nolog

SQL*Plus: Release 10.2.0.4.0 - Production on 木 1月 6 04:47:16 2011

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

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

COUNT(*)
----------
0


orcl1インスタンスで、sysユーザで接続し、セッションの状態を確認してみます。

[oracle@discus164 ˜]$ 
[oracle@discus164 ˜]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on 木 1月 6 04:48:42 2011

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

SYS>
SYS>
SYS> conn / as sysdba
接続されました。
SYS>
SYS> 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'
12 /

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

SYS>


SCOTTはorcl1インスタンスに接続されクエリが実行されたようですね!
failoverさせるため、orcl1インスタンスをabortで強制停止してみます。

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

SYS> !srvctl stop instance -d orcl -i orcl1 -o abort
SYS>
SYS> !srvctl status database -d orcl
インスタンスorcl1はノードdiscus164で実行されていません。
インスタンスorcl2はノードdiscus264で実行中です。

SYS>
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> /
select
*
行1でエラーが発生しました。:
ORA-03135: 接続が失われました
プロセスID: 5563
セッションID: 13、シリアル番号: 25


おっと〜、sysユーザでorcl1インスタンスに接続していたのでした〜。exitしちゃいます。


SCOTTユーザで、failoverさせるためクエリを再実行します。

SCOTT> r
1* select count(*) from user_objects

COUNT(*)
----------
0

SCOTT>


インスタンス:orcl2へ接続し直し確認。お〜うまくいけてますね!
orcl1のセッションだったscottユーザのセッションがfailoverしorcl2のセッションになっています。また今回設定したTAFのモードではクエリはエラーにはならず、生存インスタンスへ透過的にfailoverされます。

[oracle@discus264 ˜]$ 
[oracle@discus264 ˜]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on 木 1月 6 04:55:48 2011

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

> conn / as sysdba
接続されました。
SYS> 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'
12 /


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

SYS>


ちなみにcrsctl status resource -tで確認すると

・・・中略・・・
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE discus264
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE discus164
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE discus164
ora.discus164.vip
1 ONLINE ONLINE discus164
ora.discus264.vip
1 ONLINE ONLINE discus264
ora.oc4j
1 OFFLINE OFFLINE
ora.orcl.db
1 OFFLINE OFFLINE Instance Shutdown
2 ONLINE ONLINE discus264 Open
ora.scan1.vip
1 ONLINE ONLINE discus264
ora.scan2.vip
1 ONLINE ONLINE discus164
ora.scan3.vip
1 ONLINE ONLINE discus164
[grid@discus164 ˜]$

となっています。今回のようにデータベースインスタンスだけを停止した場合はこんな状態になるんですね。:)


ついでなので更新トランザクションも試してみましょうかね。
停止したデータベースインスタンスを起動し、scottユーザでupdate文を実行します。

discus:˜ oracle$ 
discus:˜ oracle$ sqlplus scott/tiger@orcltaf

SQL*Plus: Release 10.2.0.4.0 - Production on 木 1月 6 05:20:27 2011

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

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP
and Data Mining options
に接続されました。
SCOTT>
SCOTT>
SCOTT> insert into hoge values('abc');

1行が作成されました。

SCOTT>


orcl2インスタンスにsysユーザで接続して状態を確認してみます。
scottユーザはorcl1インスタンスに接続してinsert文を実行したようですね。まだ、failoverしていません。

SYS> 
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 NO


では、先ほどと同じようにorcl1インスタンスを強制停止してみます

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

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


scottユーザで再度insert文を実行してみました。TAF特有のエラーメッセージが返されましたね。

SCOTT> r
1* insert into hoge values('abc')
insert into hoge values('abc')
*
行1でエラーが発生しました。:
ORA-25402: トランザクションをロールバックしてください。


セッションの状態を確認してみると…セッションはfailoverしています!

SYS> r
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'

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


scottユーザのトランザクションをロールバック後、リトライしてみると…

SCOTT> 
SCOTT> rollback;

ロールバックが完了しました。

SCOTT> insert into hoge values('abc');

1行が作成されました。

SCOTT>
SCOTT>

うまくいきましたね :)


ということで、VirtualBox de Oracle11g R2 RAC for Linux x86_64環境のできあがり〜。(完)






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

VirtualBox de RAC (Oracle11g R1編) #1
VirtualBox de RAC (Oracle11g R1編) #2



VirtualBox de Oracle11g R2 RAC #1
VirtualBox de Oracle11g R2 RAC #2 - 事前調査など…
VirtualBox de Oracle11g R2 RAC #3
VirtualBox de Oracle11g R2 RAC #4
VirtualBox de Oracle11g R2 RAC #5
VirtualBox de Oracle11g R2 RAC #6
VirtualBox de Oracle11g R2 RAC #7
VirtualBox de Oracle11g R2 RAC #8
VirtualBox de Oracle11g R2 RAC #9
VirtualBox de Oracle11g R2 RAC #10
VirtualBox de Oracle11g R2 RAC #11
VirtualBox de Oracle11g R2 RAC #12
VirtualBox de Oracle11g R2 RAC #13
VirtualBox de Oracle11g R2 RAC #14
VirtualBox de Oracle11g R2 RAC #15
VirtualBox de Oracle11g R2 RAC #16
VirtualBox de Oracle11g R2 RAC #17
VirtualBox de Oracle11g R2 RAC #18
VirtualBox de Oracle11g R2 RAC #19
VirtualBox de Oracle11g R2 RAC #20
VirtualBox de Oracle11g R2 RAC #21
VirtualBox de Oracle11g R2 RAC #22




VirtualBox de Oracle11g R2 RAC #16 - 番外編

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

2011年1月 5日 (水)

VirtualBox de Oracle11g R2 RAC #22

VirtualBox de Oracle11g R2 RACのつづき。

ラス前です :) cluster databaseの起動停止確認。

  1. ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
  2. Linux (CentOS 5.5 x86_64)のインストール
  3. Openfiler2.3 x86のインストール
  4. Openfiler2.3 x86によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2その3
  6. Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. Oracle RACノード間リモートアクセスの構成とntpの構成
    sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた)
  9. ローカルネームサーバの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
  12. Oracle11g R2 11.2.0.1.0 RACインストール事前作業
  13. Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
  14. Oracle11g R2 11.2.0.1.0 Database softwareのインストール
  15. Oracle11g R2 11.2.0.1.0 examplesのインストール
  16. Oracle Cluster databaseの作成
  17. Net Serviceの確認
  18. Oralce Grid InsfastructureとDatabase構成の確認
  19. Clusterの開始と停止の確認
  20. 簡単なTransparent Application Failover (TAF)の確認

Clusterの開始と停止の確認

Grid Infrastructureは自動起動にしてますが、手動起動、停止を確認しておきます。

rootユーザにてcrsctlコマンドでclusterを起動します。データベースインスタンスはOracle所有者でsrvctlコマンドを利用して起動してみます。
(ちなみに、rootユーザには、grid infrastructureのHOMEのbinへパスを通してあります。)

[root@discus164 ˜]# 
[root@discus164 ˜]# crsctl check cluster -all
**************************************************************
discus164:
CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4530: Communications failure contacting Cluster Synchronization Services daemon
CRS-4534: Cannot communicate with Event Manager
**************************************************************
discus264:
CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4530: Communications failure contacting Cluster Synchronization Services daemon
CRS-4534: Cannot communicate with Event Manager
**************************************************************
[root@discus164 ˜]#
[root@discus164 ˜]# crsctl start cluster -all
CRS-2672: 'ora.cssdmonitor'('discus164')の起動を試行しています
CRS-2672: 'ora.cssdmonitor'('discus264')の起動を試行しています
CRS-2676: 'ora.cssdmonitor'('discus264')の起動が成功しました
CRS-2676: 'ora.cssdmonitor'('discus164')の起動が成功しました
CRS-2672: 'ora.cssd'('discus164')の起動を試行しています
CRS-2672: 'ora.cssd'('discus264')の起動を試行しています
CRS-2672: 'ora.diskmon'('discus264')の起動を試行しています
CRS-2672: 'ora.diskmon'('discus164')の起動を試行しています
CRS-2676: 'ora.diskmon'('discus264')の起動が成功しました
CRS-2676: 'ora.diskmon'('discus164')の起動が成功しました
CRS-2676: 'ora.cssd'('discus164')の起動が成功しました
CRS-2676: 'ora.cssd'('discus264')の起動が成功しました
CRS-2672: 'ora.ctssd'('discus164')の起動を試行しています
CRS-2672: 'ora.ctssd'('discus264')の起動を試行しています
CRS-2676: 'ora.ctssd'('discus164')の起動が成功しました
CRS-2672: 'ora.evmd'('discus164')の起動を試行しています
CRS-2676: 'ora.ctssd'('discus264')の起動が成功しました
CRS-2672: 'ora.evmd'('discus264')の起動を試行しています
CRS-2672: 'ora.asm'('discus164')の起動を試行しています
CRS-2672: 'ora.asm'('discus264')の起動を試行しています
CRS-2676: 'ora.evmd'('discus264')の起動が成功しました
CRS-2676: 'ora.evmd'('discus164')の起動が成功しました
CRS-2676: 'ora.asm'('discus164')の起動が成功しました
CRS-2672: 'ora.crsd'('discus164')の起動を試行しています
CRS-2676: 'ora.asm'('discus264')の起動が成功しました
CRS-2672: 'ora.crsd'('discus264')の起動を試行しています
CRS-2676: 'ora.crsd'('discus164')の起動が成功しました
CRS-2676: 'ora.crsd'('discus264')の起動が成功しました
[root@discus164 ˜]#
[root@discus164 ˜]# crsctl check cluster -all
**************************************************************

discus164:
CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
**************************************************************
discus264:
CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
**************************************************************
[root@discus164 ˜]#
[root@discus164 ˜]# crsctl status resource -w 'TYPE co ora' -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRS.dg
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.DATA.dg
OFFLINE OFFLINE discus164
OFFLINE OFFLINE discus264
ora.FRA.dg
OFFLINE OFFLINE discus164
OFFLINE OFFLINE discus264
ora.LISTENER.lsnr
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.asm
ONLINE ONLINE discus164 Started
ONLINE ONLINE discus264 Started
ora.eons
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.gsd
OFFLINE OFFLINE discus164
OFFLINE OFFLINE discus264
ora.net1.network
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.ons
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.registry.acfs
ONLINE ONLINE discus164
ONLINE ONLINE discus264
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE discus264
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE discus164
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE discus164
ora.discus164.vip
1 ONLINE ONLINE discus164
ora.discus264.vip
1 ONLINE ONLINE discus264
ora.oc4j
1 OFFLINE OFFLINE
ora.orcl.db
1 OFFLINE OFFLINE
2 OFFLINE OFFLINE
ora.scan1.vip
1 ONLINE ONLINE discus264
ora.scan2.vip
1 ONLINE ONLINE discus164
ora.scan3.vip
1 ONLINE ONLINE discus164
[root@discus164 ˜]#

データベースインスタンスを起動します。

[root@discus164 ˜]# su - oracle
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl start database -d orcl
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl status database -d orcl
インスタンスorcl1はノードdiscus164で実行中です。
インスタンスorcl2はノードdiscus264で実行中です。
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ exit
logout

[root@discus164 ˜]#
[root@discus164 ˜]# crsctl status resource ora.orcl.db
NAME=ora.orcl.db
TYPE=ora.database.type
TARGET=ONLINE , ONLINE
STATE=ONLINE on discus164, ONLINE on discus264

[root@discus164 ˜]#

起動しましたね :)

最後に、データベースインスタンスは起動したままの状態で、clusterを停止/起動し、再び、データベースインスタンスが起動した状態になるかを確認しておきます。
Oracle Restartってんでしたっけ? この機能。

まず、データベースインスタンスは起動したまま、Grid Infrastructureを停止(全ノードを停止)します。

[root@discus164 ˜]# crsctl stop cluster -all
CRS-2673: 'ora.crsd'('discus164')の停止を試行しています
CRS-2673: 'ora.crsd'('discus264')の停止を試行しています
CRS-2790: 'discus264'上にある、Cluster Ready Services管理下のリソースのシャットダウンを開始しています
CRS-2673: 'ora.LISTENER.lsnr'('discus264')の停止を試行しています
CRS-2790: 'discus164'上にある、Cluster Ready Services管理下のリソースのシャットダウンを開始しています
CRS-2673: 'ora.LISTENER.lsnr'('discus164')の停止を試行しています
CRS-2673: 'ora.LISTENER_SCAN2.lsnr'('discus164')の停止を試行しています
CRS-2673: 'ora.LISTENER_SCAN3.lsnr'('discus164')の停止を試行しています
CRS-2673: 'ora.CRS.dg'('discus164')の停止を試行しています
CRS-2673: 'ora.LISTENER_SCAN1.lsnr'('discus264')の停止を試行しています
CRS-2673: 'ora.orcl.db'('discus164')の停止を試行しています
CRS-2673: 'ora.CRS.dg'('discus264')の停止を試行しています
CRS-2673: 'ora.orcl.db'('discus264')の停止を試行しています
CRS-2673: 'ora.registry.acfs'('discus264')の停止を試行しています
CRS-2673: 'ora.registry.acfs'('discus164')の停止を試行しています
CRS-2677: 'ora.LISTENER.lsnr'('discus264')の停止が成功しました
CRS-2673: 'ora.discus264.vip'('discus264')の停止を試行しています
CRS-2677: 'ora.LISTENER_SCAN1.lsnr'('discus264')の停止が成功しました
CRS-2673: 'ora.scan1.vip'('discus264')の停止を試行しています
CRS-2677: 'ora.discus264.vip'('discus264')の停止が成功しました
CRS-2677: 'ora.scan1.vip'('discus264')の停止が成功しました
CRS-2677: 'ora.LISTENER_SCAN3.lsnr'('discus164')の停止が成功しました
CRS-2673: 'ora.scan3.vip'('discus164')の停止を試行しています
CRS-2677: 'ora.LISTENER.lsnr'('discus164')の停止が成功しました
CRS-2673: 'ora.discus164.vip'('discus164')の停止を試行しています
CRS-2677: 'ora.LISTENER_SCAN2.lsnr'('discus164')の停止が成功しました
CRS-2673: 'ora.scan2.vip'('discus164')の停止を試行しています
CRS-2677: 'ora.scan3.vip'('discus164')の停止が成功しました
CRS-2677: 'ora.discus164.vip'('discus164')の停止が成功しました
CRS-2677: 'ora.scan2.vip'('discus164')の停止が成功しました
CRS-2677: 'ora.registry.acfs'('discus264')の停止が成功しました
CRS-2677: 'ora.registry.acfs'('discus164')の停止が成功しました
CRS-2677: 'ora.CRS.dg'('discus264')の停止が成功しました
CRS-2677: 'ora.CRS.dg'('discus164')の停止が成功しました
CRS-2677: 'ora.orcl.db'('discus264')の停止が成功しました
CRS-2673: 'ora.DATA.dg'('discus264')の停止を試行しています
CRS-2673: 'ora.FRA.dg'('discus264')の停止を試行しています
CRS-2677: 'ora.FRA.dg'('discus264')の停止が成功しました
CRS-2677: 'ora.orcl.db'('discus164')の停止が成功しました
CRS-2673: 'ora.DATA.dg'('discus164')の停止を試行しています
CRS-2673: 'ora.FRA.dg'('discus164')の停止を試行しています
CRS-2677: 'ora.DATA.dg'('discus264')の停止が成功しました
CRS-2673: 'ora.asm'('discus264')の停止を試行しています
CRS-2677: 'ora.asm'('discus264')の停止が成功しました
CRS-2673: 'ora.eons'('discus264')の停止を試行しています
CRS-2673: 'ora.ons'('discus264')の停止を試行しています
CRS-2677: 'ora.DATA.dg'('discus164')の停止が成功しました
CRS-2677: 'ora.ons'('discus264')の停止が成功しました
CRS-2673: 'ora.net1.network'('discus264')の停止を試行しています
CRS-2677: 'ora.net1.network'('discus264')の停止が成功しました
CRS-2677: 'ora.FRA.dg'('discus164')の停止が成功しました
CRS-2673: 'ora.asm'('discus164')の停止を試行しています
CRS-2677: 'ora.asm'('discus164')の停止が成功しました
CRS-2677: 'ora.eons'('discus264')の停止が成功しました
CRS-2792: 'discus264'上にある、Cluster Ready Services管理下のリソースのシャットダウンが完了しました
CRS-2673: 'ora.eons'('discus164')の停止を試行しています
CRS-2673: 'ora.ons'('discus164')の停止を試行しています
CRS-2677: 'ora.crsd'('discus264')の停止が成功しました
CRS-2673: 'ora.cssdmonitor'('discus264')の停止を試行しています
CRS-2673: 'ora.ctssd'('discus264')の停止を試行しています
CRS-2673: 'ora.evmd'('discus264')の停止を試行しています
CRS-2673: 'ora.asm'('discus264')の停止を試行しています
CRS-2677: 'ora.cssdmonitor'('discus264')の停止が成功しました
CRS-2677: 'ora.evmd'('discus264')の停止が成功しました
CRS-2677: 'ora.ctssd'('discus264')の停止が成功しました
CRS-2677: 'ora.asm'('discus264')の停止が成功しました
CRS-2673: 'ora.cssd'('discus264')の停止を試行しています
CRS-2677: 'ora.cssd'('discus264')の停止が成功しました
CRS-2673: 'ora.diskmon'('discus264')の停止を試行しています
CRS-2677: 'ora.diskmon'('discus264')の停止が成功しました
CRS-2675: 'ora.ons'('discus164')の停止に失敗しました
CRS-2679: 'ora.ons'('discus164')のクリーニングを試行しています
CRS-2681: 'ora.ons'('discus164')のクリーニングが成功しました
CRS-2673: 'ora.net1.network'('discus164')の停止を試行しています
CRS-2677: 'ora.net1.network'('discus164')の停止が成功しました
CRS-2677: 'ora.eons'('discus164')の停止が成功しました
CRS-2792: 'discus164'上にある、Cluster Ready Services管理下のリソースのシャットダウンが完了しました
CRS-2677: 'ora.crsd'('discus164')の停止が成功しました
CRS-2673: 'ora.cssdmonitor'('discus164')の停止を試行しています
CRS-2673: 'ora.ctssd'('discus164')の停止を試行しています
CRS-2673: 'ora.evmd'('discus164')の停止を試行しています
CRS-2673: 'ora.asm'('discus164')の停止を試行しています
CRS-2677: 'ora.cssdmonitor'('discus164')の停止が成功しました
CRS-2677: 'ora.evmd'('discus164')の停止が成功しました
CRS-2677: 'ora.asm'('discus164')の停止が成功しました
CRS-2677: 'ora.ctssd'('discus164')の停止が成功しました
CRS-2673: 'ora.cssd'('discus164')の停止を試行しています
CRS-2677: 'ora.cssd'('discus164')の停止が成功しました
CRS-2673: 'ora.diskmon'('discus164')の停止を試行しています
CRS-2677: 'ora.diskmon'('discus164')の停止が成功しました
[root@discus164 ˜]#
[root@discus164 ˜]# crsctl check cluster -all
**************************************************************
discus164:
CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4530: Communications failure contacting Cluster Synchronization Services daemon
CRS-4534: Cannot communicate with Event Manager
**************************************************************
discus264:
CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4530: Communications failure contacting Cluster Synchronization Services daemon
CRS-4534: Cannot communicate with Event Manager
**************************************************************
[root@discus164 ˜]#
[root@discus164 ˜]# su - oracle
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl status database -d orcl
PRCD-1027 : データベースorclの取得に失敗しました
PRCR-1070 : リソース ora.orcl.dbが登録されているかどうかの確認に失敗しました
Cannot communicate with crsd
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ exit
logout


では、起動しま〜す。

[oracle@discus164 ˜]$ 
[root@discus164 ˜]# crsctl start cluster -all
CRS-2672: 'ora.cssdmonitor'('discus164')の起動を試行しています
CRS-2672: 'ora.cssdmonitor'('discus264')の起動を試行しています
CRS-2676: 'ora.cssdmonitor'('discus164')の起動が成功しました
CRS-2672: 'ora.cssd'('discus164')の起動を試行しています
CRS-2676: 'ora.cssdmonitor'('discus264')の起動が成功しました
CRS-2672: 'ora.cssd'('discus264')の起動を試行しています
CRS-2672: 'ora.diskmon'('discus264')の起動を試行しています
CRS-2672: 'ora.diskmon'('discus164')の起動を試行しています
CRS-2676: 'ora.diskmon'('discus264')の起動が成功しました
CRS-2676: 'ora.diskmon'('discus164')の起動が成功しました
CRS-2676: 'ora.cssd'('discus264')の起動が成功しました
CRS-2672: 'ora.ctssd'('discus264')の起動を試行しています
CRS-2676: 'ora.cssd'('discus164')の起動が成功しました
CRS-2672: 'ora.ctssd'('discus164')の起動を試行しています
CRS-2676: 'ora.ctssd'('discus264')の起動が成功しました
CRS-2676: 'ora.ctssd'('discus164')の起動が成功しました
CRS-2672: 'ora.evmd'('discus264')の起動を試行しています
CRS-2672: 'ora.evmd'('discus164')の起動を試行しています
CRS-2672: 'ora.asm'('discus264')の起動を試行しています
CRS-2672: 'ora.asm'('discus164')の起動を試行しています
CRS-2676: 'ora.evmd'('discus264')の起動が成功しました
CRS-2676: 'ora.evmd'('discus164')の起動が成功しました
CRS-2676: 'ora.asm'('discus164')の起動が成功しました
CRS-2672: 'ora.crsd'('discus164')の起動を試行しています
CRS-2676: 'ora.asm'('discus264')の起動が成功しました
CRS-2672: 'ora.crsd'('discus264')の起動を試行しています
CRS-2676: 'ora.crsd'('discus164')の起動が成功しました
CRS-2676: 'ora.crsd'('discus264')の起動が成功しました
[root@discus164 ˜]#
[root@discus164 ˜]# crsctl status resource -w 'TYPE co ora' -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRS.dg
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.DATA.dg
ONLINE ONLINE discus164
OFFLINE OFFLINE discus264
ora.FRA.dg
ONLINE ONLINE discus164
OFFLINE OFFLINE discus264
ora.LISTENER.lsnr
ONLINE ONLINE discus164
ONLINE OFFLINE discus264
ora.asm
ONLINE ONLINE discus164 Started
ONLINE ONLINE discus264 Started
ora.eons
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.gsd
OFFLINE OFFLINE discus164
OFFLINE OFFLINE discus264
ora.net1.network
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.ons
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.registry.acfs
ONLINE ONLINE discus164
ONLINE ONLINE discus264
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE discus164
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE discus164
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE discus164
ora.discus164.vip
1 ONLINE ONLINE discus164
ora.discus264.vip
1 ONLINE INTERMEDIATE discus164 FAILED OVER
ora.oc4j
1 OFFLINE OFFLINE
ora.orcl.db
1 ONLINE OFFLINE
2 ONLINE OFFLINE
ora.scan1.vip
1 ONLINE ONLINE discus164
ora.scan2.vip
1 ONLINE ONLINE discus164
ora.scan3.vip
1 ONLINE ONLINE discus164


ora.LISTENER_SCAN1.lsnr/ora.discus264.vipの両リソースがノードdiscus164からノードdiscus264へ移動し、ノードdiscus164でデータベースインスタンスが起動しました…

・・・中着・・・
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE discus264
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE discus164
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE discus164
ora.discus164.vip
1 ONLINE ONLINE discus164
ora.discus264.vip
1 ONLINE ONLINE discus264
ora.oc4j
1 OFFLINE OFFLINE
ora.orcl.db
1 ONLINE ONLINE discus164 Open
2 ONLINE OFFLINE
ora.scan1.vip
1 ONLINE ONLINE discus264
ora.scan2.vip
1 ONLINE ONLINE discus164
ora.scan3.vip
1 ONLINE ONLINE discus164


最後にノードdiscus264でもデータベースインスタンスが起動し、crsctl stop cluster -allで停止する以前の状況になっています。 :)

・・・中略・・・
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE discus264
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE discus164
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE discus164
ora.discus164.vip
1 ONLINE ONLINE discus164
ora.discus264.vip
1 ONLINE ONLINE discus264
ora.oc4j
1 OFFLINE OFFLINE
ora.orcl.db
1 ONLINE ONLINE discus164 Open
2 ONLINE ONLINE discus264 Open
ora.scan1.vip
1 ONLINE ONLINE discus264
ora.scan2.vip
1 ONLINE ONLINE discus164
ora.scan3.vip
1 ONLINE ONLINE discus164


ということで起動/停止の確認終了!

次回へつづく。






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

VirtualBox de RAC (Oracle11g R1編) #1
VirtualBox de RAC (Oracle11g R1編) #2



VirtualBox de Oracle11g R2 RAC #1
VirtualBox de Oracle11g R2 RAC #2 - 事前調査など…
VirtualBox de Oracle11g R2 RAC #3
VirtualBox de Oracle11g R2 RAC #4
VirtualBox de Oracle11g R2 RAC #5
VirtualBox de Oracle11g R2 RAC #6
VirtualBox de Oracle11g R2 RAC #7
VirtualBox de Oracle11g R2 RAC #8
VirtualBox de Oracle11g R2 RAC #9
VirtualBox de Oracle11g R2 RAC #10
VirtualBox de Oracle11g R2 RAC #11
VirtualBox de Oracle11g R2 RAC #12
VirtualBox de Oracle11g R2 RAC #13
VirtualBox de Oracle11g R2 RAC #14
VirtualBox de Oracle11g R2 RAC #15
VirtualBox de Oracle11g R2 RAC #16
VirtualBox de Oracle11g R2 RAC #17
VirtualBox de Oracle11g R2 RAC #18
VirtualBox de Oracle11g R2 RAC #19
VirtualBox de Oracle11g R2 RAC #20
VirtualBox de Oracle11g R2 RAC #21




VirtualBox de Oracle11g R2 RAC #16 - 番外編

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

VirtualBox de Oracle11g R2 RAC #21

VirtualBox de Oracle11g R2 RACのつづき。

  1. ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
  2. Linux (CentOS 5.5 x86_64)のインストール
  3. Openfiler2.3 x86のインストール
  4. Openfiler2.3 x86によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2その3
  6. Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. Oracle RACノード間リモートアクセスの構成とntpの構成
    sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた)
  9. ローカルネームサーバの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
  12. Oracle11g R2 11.2.0.1.0 RACインストール事前作業
  13. Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
  14. Oracle11g R2 11.2.0.1.0 Database softwareのインストール
  15. Oracle11g R2 11.2.0.1.0 examplesのインストール
  16. Oracle Cluster databaseの作成
  17. Net Serviceの確認
  18. Oralce Grid InsfastructureとDatabase構成の確認
  19. Clusterの開始と停止の確認
  20. 簡単なTransparent Application Failover (TAF)の確認

Oralce Grid InsfastructureとDatabase構成の確認

OUIやらなんやらがいろいろと構成してくれたりしてくれてるので確認方法の確認って感じですが…

Oracle所有者にて実行…

[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl status database -d orcl
インスタンスorcl1はノードdiscus164で実行中です。
インスタンスorcl2はノードdiscus264で実行中です。
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl status instance -d orcl -n discus164
インスタンスorcl1はノードdiscus164で実行中です。
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl status instance -d orcl -n discus264
インスタンスorcl2はノードdiscus264で実行中です。
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl status nodeapps
VIP discus164-vipは有効です
VIP discus164-vipはノードで実行中です: discus164
VIP discus264-vipは有効です
VIP discus264-vipはノードで実行中です: discus264
ネットワークは有効です
ネットワークはノードで実行中です: discus164
ネットワークはノードで実行中です: discus264
GSDは無効です
GSDはノードで実行されていません: discus164
GSDはノードで実行されていません: discus264
ONSは有効です
ONSデーモンはノードで実行中です: discus164
ONSデーモンはノードで実行中です: discus264
eONSは有効です
eONSデーモンはノードで実行中です:discus164
eONSデーモンはノードで実行中です:discus264
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl status vip -n discus164
VIP discus164-vipは有効です
VIP discus164-vipはノードで実行中です: discus164
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl status vip -n discus264
VIP discus264-vipは有効です
VIP discus264-vipはノードで実行中です: discus264
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl status asm -a
ASMはdiscus164,discus264で実行中です
ASMは有効です。
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl status listener -n discus164
リスナーLISTENERはノードで有効です: discus164
リスナーLISTENERはノードで実行中です: discus164
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl status listener -n discus264
リスナーLISTENERはノードで有効です: discus264
リスナーLISTENERはノードで実行中です: discus264
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl status scan
SCAN VIP scan1は有効です
SCAN VIP scan1はノードdiscus264で実行されています
SCAN VIP scan2は有効です
SCAN VIP scan2はノードdiscus164で実行されています
SCAN VIP scan3は有効です
SCAN VIP scan3はノードdiscus164で実行されています
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl status scan_listener
SCANリスナーLISTENER_SCAN1は有効です
SCANリスナーLISTENER_SCAN1はノードdiscus264で実行されています
SCANリスナーLISTENER_SCAN2は有効です
SCANリスナーLISTENER_SCAN2はノードdiscus164で実行されています
SCANリスナーLISTENER_SCAN3は有効です
SCANリスナーLISTENER_SCAN3はノードdiscus164で実行されています
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl status srvpool -a
サーバー・プール名: Free
アクティブ・サーバー数: 0
アクティブ・サーバー名:
サーバー・プール名: Generic
アクティブ・サーバー数: 2
アクティブ・サーバー名: discus164,discus264
NAME=discus164 STATE=ONLINE
NAME=discus264 STATE=ONLINE
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl status server -n discus164,discus264 -a
サーバー名: discus164
サーバーの状態: ONLINE
アクティブなサーバー・プール: Generic ora.orcl
サーバーの状態の詳細:
サーバー名: discus264
サーバーの状態: ONLINE
アクティブなサーバー・プール: Generic ora.orcl
サーバーの状態の詳細:
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl status oc4j
OC4Jは無効です
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl status diskgroup -g DATA -a
ディスク・グループDATAはdiscus164,discus264で実行中です
ディスク・グループDATAは有効です
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl status diskgroup -g CRS -a
ディスク・グループCRSはdiscus164,discus264で実行中です
ディスク・グループCRSは有効です
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl status diskgroup -g FRA -a
ディスク・グループFRAはdiscus164,discus264で実行中です
ディスク・グループFRAは有効です
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$

構成の確認…

[oracle@discus164 ˜]$ 
[oracle@discus164 ˜]$ srvctl config database -d orcl -a
一意のデータベース名: orcl
データベース名: orcl
Oracleホーム: /u01/app/oracle/product/11.2.0/dbhome_1
Oracleユーザー: oracle
spfile: +DATA/orcl/spfileorcl.ora
ドメイン: macdeoracle.info
開始オプション: open
停止オプション: immediate
データベース・ロール: PRIMARY
管理ポリシー: AUTOMATIC
サーバー・プール: orcl
データベース・インスタンス: orcl1,orcl2
ディスク・グループ: DATA,FRA
サービス:
データベースは有効です
データベースは管理者によって管理されています
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl config nodeapps -a -g -s
VIPが存在します。:discus164
VIPが存在します。: /discus164-vip/192.168.1.190/255.255.255.0/eth0
VIPが存在します。:discus264
VIPが存在します。: /discus264-vip/192.168.1.191/255.255.255.0/eth0
GSDが存在します。
ONSデーモンは存在します。ローカル・ポート6100、リモート・ポート6200
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl config asm -a
ASMホーム: /u01/app/11.2.0/grid
ASMリスナー: LISTENER
ASMは有効です。
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl config listener -a
名前: LISTENER
ネットワーク: 1、所有者: grid
ホーム: <CRS home>
ノードdiscus264,discus164の/u01/app/11.2.0/grid
エンド・ポイント: TCP:1521
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl config scan
SCAN名: discus-rac64-scan.macdeoracle.jp、ネットワーク: 1/192.168.1.0/255.255.255.0/eth0
SCAN VIP名: scan1、IP: /discus-rac64-scan.macdeoracle.jp/192.168.1.200
SCAN VIP名: scan2、IP: /discus-rac64-scan.macdeoracle.jp/192.168.1.201
SCAN VIP名: scan3、IP: /discus-rac64-scan.macdeoracle.jp/192.168.1.202
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl config scan_listener
SCANリスナーLISTENER_SCAN1は存在します。ポート: TCP:1521
SCANリスナーLISTENER_SCAN2は存在します。ポート: TCP:1521
SCANリスナーLISTENER_SCAN3は存在します。ポート: TCP:1521
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ srvctl config srvpool
サーバー・プール名: Free
重要度: 0、最小: 0、最大: -1
候補サーバー名:
サーバー・プール名: Generic
重要度: 0、最小: 0、最大: -1
候補サーバー名: discus164,discus264
[oracle@discus164 ˜]$


Grid Infrastructureユーザにて実行…

[grid@discus164 ˜]$ crsctl check cluster -all
**************************************************************
discus164:
CRS-4537: Cluster Ready Servicesがオンラインです
CRS-4529: Cluster Synchronization Servicesがオンラインです
CRS-4533: イベント・マネージャがオンラインです
**************************************************************
discus264:
CRS-4537: Cluster Ready Servicesがオンラインです
CRS-4529: Cluster Synchronization Servicesがオンラインです
CRS-4533: イベント・マネージャがオンラインです
**************************************************************
[grid@discus164 ˜]$
[grid@discus164 ˜]$ crsctl check crs
CRS-4638: Oracle高可用性サービスがオンラインです
CRS-4537: Cluster Ready Servicesがオンラインです
CRS-4529: Cluster Synchronization Servicesがオンラインです
CRS-4533: イベント・マネージャがオンラインです
[grid@discus164 ˜]$
[grid@discus164 ˜]$ crsctl check ctss
CRS-4700: クラスタ時刻同期化サービスはオブザーバ・モードになっています。
[grid@discus164 ˜]$
[grid@discus164 ˜]$ crsctl check css
CRS-4529: Cluster Synchronization Servicesがオンラインです
[grid@discus164 ˜]$
[grid@discus164 ˜]$
[grid@discus164 ˜]$ crsctl status serverpool
NAME=Free
ACTIVE_SERVERS=

NAME=Generic
ACTIVE_SERVERS=discus164 discus264

NAME=ora.orcl
ACTIVE_SERVERS=discus164 discus264

[grid@discus164 ˜]$
[grid@discus164 ˜]$
[grid@discus164 ˜]$ crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 8f431fe5d1304fd9bf6ad331d3aef536 (ORCL:CRSVOL1) [CRS]
1の投票ディスクを検出しました。
[grid@discus164 ˜]$
[grid@discus164 ˜]$ crsctl status resource -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRS.dg
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.DATA.dg
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.FRA.dg
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.LISTENER.lsnr
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.asm
ONLINE ONLINE discus164 Started
ONLINE ONLINE discus264 Started
ora.eons
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.gsd
OFFLINE OFFLINE discus164
OFFLINE OFFLINE discus264
ora.net1.network
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.ons
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.registry.acfs
ONLINE ONLINE discus164
ONLINE ONLINE discus264
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE discus264
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE discus164
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE discus164
ora.discus164.vip
1 ONLINE ONLINE discus164
ora.discus264.vip
1 ONLINE ONLINE discus264
ora.oc4j
1 OFFLINE OFFLINE
ora.orcl.db
1 ONLINE ONLINE discus164 Open
2 ONLINE ONLINE discus264 Open
ora.scan1.vip
1 ONLINE ONLINE discus264
ora.scan2.vip
1 ONLINE ONLINE discus164
ora.scan3.vip
1 ONLINE ONLINE discus164

[grid@discus164 ˜]$


あれ、perlでエラーメッセージでてるけどご愛嬌 :)

[grid@discus164 ˜]$ asmcmd
ASMCMD>
ASMCMD>
ASMCMD> lsdg -g
Use of uninitialized value in string comparison (cmp) at /u01/app/11.2.0/grid/lib/asmcmdbase.pm line 3420, <STDIN> line 42.
Use of uninitialized value in string comparison (cmp) at /u01/app/11.2.0/grid/lib/asmcmdbase.pm line 3420, <STDIN> line 42.
Use of uninitialized value in string comparison (cmp) at /u01/app/11.2.0/grid/lib/asmcmdbase.pm line 3420, <STDIN> line 42.
Use of uninitialized value in string comparison (cmp) at /u01/app/11.2.0/grid/lib/asmcmdbase.pm line 3420, <STDIN> line 42.
Use of uninitialized value in string comparison (cmp) at /u01/app/11.2.0/grid/lib/asmcmdbase.pm line 3420, <STDIN> line 42.
Use of uninitialized value in string comparison (cmp) at /u01/app/11.2.0/grid/lib/asmcmdbase.pm line 3420, <STDIN> line 42.
Inst_ID State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
1 MOUNTED EXTERN N 512 4096 1048576 4092 3694 0 3694 0 N CRS/
2 MOUNTED EXTERN N 512 4096 1048576 4092 3694 0 3694 0 N CRS/
1 MOUNTED NORMAL N 512 4096 1048576 43006 37436 0 18718 0 N DATA/
2 MOUNTED NORMAL N 512 4096 1048576 43006 37436 0 18718 0 N DATA/
1 MOUNTED NORMAL N 512 4096 1048576 43006 42336 0 21168 0 N FRA/
2 MOUNTED NORMAL N 512 4096 1048576 43006 42336 0 21168 0 N FRA/
ASMCMD>
ASMCMD> lsct -g
Instance_ID DB_Name Status Software_Version Compatible_version Instance_Name Disk_Group
1 +ASM CONNECTED 11.2.0.1.0 11.2.0.1.0 +ASM1 CRS
1 +ASM CONNECTED 11.2.0.1.0 11.2.0.1.0 +ASM1 DATA
2 +ASM CONNECTED 11.2.0.1.0 11.2.0.1.0 +ASM2 CRS
2 +ASM CONNECTED 11.2.0.1.0 11.2.0.1.0 +ASM2 DATA
1 orcl CONNECTED 11.2.0.1.0 11.2.0.0.0 orcl1 DATA
1 orcl CONNECTED 11.2.0.1.0 11.2.0.0.0 orcl1 FRA
2 orcl CONNECTED 11.2.0.1.0 11.2.0.0.0 orcl2 DATA
2 orcl CONNECTED 11.2.0.1.0 11.2.0.0.0 orcl2 FRA
ASMCMD>
ASMCMD> ls -g
Use of uninitialized value in string comparison (cmp) at /u01/app/11.2.0/grid/lib/asmcmdbase.pm line 3420, <STDIN> line 46.
Use of uninitialized value in string comparison (cmp) at /u01/app/11.2.0/grid/lib/asmcmdbase.pm line 3420, <STDIN> line 46.
Use of uninitialized value in string comparison (cmp) at /u01/app/11.2.0/grid/lib/asmcmdbase.pm line 3420, <STDIN> line 46.
Use of uninitialized value in string comparison (cmp) at /u01/app/11.2.0/grid/lib/asmcmdbase.pm line 3420, <STDIN> line 46.
Use of uninitialized value in string comparison (cmp) at /u01/app/11.2.0/grid/lib/asmcmdbase.pm line 3420, <STDIN> line 46.
Use of uninitialized value in string comparison (cmp) at /u01/app/11.2.0/grid/lib/asmcmdbase.pm line 3420, <STDIN> line 46.
Inst_ID Name
1 CRS/
2 CRS/
1 DATA/
2 DATA/
1 FRA/
2 FRA/
ASMCMD>
ASMCMD> lsof
DB_Name Instance_Name Path
+ASM +ASM1 +crs.255.4294967295
orcl orcl1 +data/orcl/controlfile/current.256.739409625
orcl orcl1 +data/orcl/datafile/sysaux.260.739409693
orcl orcl1 +data/orcl/datafile/system.259.739409647
orcl orcl1 +data/orcl/datafile/undotbs1.261.739409729
orcl orcl1 +data/orcl/datafile/undotbs2.263.739409753
orcl orcl1 +data/orcl/datafile/users.264.739409767
orcl orcl1 +data/orcl/onlinelog/group_1.257.739409631
orcl orcl1 +data/orcl/onlinelog/group_2.258.739409637
orcl orcl1 +data/orcl/onlinelog/group_3.265.739412213
orcl orcl1 +data/orcl/onlinelog/group_4.266.739412217
orcl orcl1 +data/orcl/tempfile/temp.262.739409741
orcl orcl1 +fra/orcl/controlfile/current.256.739409629
orcl orcl1 +fra/orcl/onlinelog/group_1.257.739409635
orcl orcl1 +fra/orcl/onlinelog/group_2.258.739409643
orcl orcl1 +fra/orcl/onlinelog/group_3.259.739412215
orcl orcl1 +fra/orcl/onlinelog/group_4.260.739412225
ASMCMD>

最後にSQL*Plusから

SYS> l
1 select
2 inst_id
3 ,instance_name
4 ,parallel
5 ,status
6 ,database_status
7 ,active_state
8 ,host_name
9 from
10* gv$instance
SYS>
SYS> /

INST_ID INSTANCE_NAME PAR STATUS DATABASE_STATUS ACTIVE_ST HOST_NAME
---------- ---------------- --- ------------ ----------------- --------- ------------------------------
1 orcl1 YES OPEN ACTIVE NORMAL discus164.macdeoracle.jp
2 orcl2 YES OPEN ACTIVE NORMAL discus264.macdeoracle.jp

SYS>


次回へつづく。






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

VirtualBox de RAC (Oracle11g R1編) #1
VirtualBox de RAC (Oracle11g R1編) #2



VirtualBox de Oracle11g R2 RAC #1
VirtualBox de Oracle11g R2 RAC #2 - 事前調査など…
VirtualBox de Oracle11g R2 RAC #3
VirtualBox de Oracle11g R2 RAC #4
VirtualBox de Oracle11g R2 RAC #5
VirtualBox de Oracle11g R2 RAC #6
VirtualBox de Oracle11g R2 RAC #7
VirtualBox de Oracle11g R2 RAC #8
VirtualBox de Oracle11g R2 RAC #9
VirtualBox de Oracle11g R2 RAC #10
VirtualBox de Oracle11g R2 RAC #11
VirtualBox de Oracle11g R2 RAC #12
VirtualBox de Oracle11g R2 RAC #13
VirtualBox de Oracle11g R2 RAC #14
VirtualBox de Oracle11g R2 RAC #15
VirtualBox de Oracle11g R2 RAC #16
VirtualBox de Oracle11g R2 RAC #17
VirtualBox de Oracle11g R2 RAC #18
VirtualBox de Oracle11g R2 RAC #19
VirtualBox de Oracle11g R2 RAC #20




VirtualBox de Oracle11g R2 RAC #16 - 番外編

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

VirtualBox de Oracle11g R2 RAC #20

VirtualBox de Oracle11g R2 RACのつづき。

データベースも無事?作成できたので、今回はNet Serviceの確認を。

  1. ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
  2. Linux (CentOS 5.5 x86_64)のインストール
  3. Openfiler2.3 x86のインストール
  4. Openfiler2.3 x86によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2その3
  6. Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. Oracle RACノード間リモートアクセスの構成とntpの構成
    sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた)
  9. ローカルネームサーバの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
  12. Oracle11g R2 11.2.0.1.0 RACインストール事前作業
  13. Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
  14. Oracle11g R2 11.2.0.1.0 Database softwareのインストール
  15. Oracle11g R2 11.2.0.1.0 examplesのインストール
  16. Oracle Cluster databaseの作成
  17. Net Serviceの確認
  18. Oralce Grid InsfastructureとDatabase構成の確認
  19. Clusterの開始と停止の確認
  20. 簡単なTransparent Application Failover (TAF)の確認

Net Serviceの確認

まず、クライアントになるMacOS X Snow LeopardのOracle10g R2 Instant Client側の設定(tnsnames.ora)から。

tnsnames.oraにVirtualBox上に構築したRACに接続するため以下ように定義した。
接続識別子ORCLはVirtualBox上に構築した際、自動生成された部分を複製し、残り2つの定義はRACの各ノードを個別に狙って接続するため接続識別子ORCL1/ORCL2を定義した。

discus:˜ oracle$ diff -u $TNS_ADMIN/tnsnames.ora.org $TNS_ADMIN/tnsnames.ora
--- /Users/Shared/instantclient_10_2/tnsnames.ora.org 2011-01-04 22:34:28.000000000 +0900
+++ /Users/Shared/instantclient_10_2/tnsnames.ora 2011-01-04 22:57:31.000000000 +0900
@@ -10,3 +10,32 @@
)
)

+# Oracle11g R2 11.2.0.1.0 RAC for Linux x86_64 / VirtualBox
+ORCL =
+ (DESCRIPTION =
+ (ADDRESS = (PROTOCOL = TCP)(HOST = discus-rac64-scan.macdeoracle.jp)(PORT = 1521))
+ (CONNECT_DATA =
+ (SERVER = DEDICATED)
+ (SERVICE_NAME = orcl.macdeoracle.info)
+ )
+ )
+
+ORCL2 =
+ (DESCRIPTION =
+ (ADDRESS = (PROTOCOL = TCP)(HOST = discus-rac64-scan.macdeoracle.jp)(PORT = 1521))
+ (CONNECT_DATA =
+ (SERVER = DEDICATED)
+ (SERVICE_NAME = orcl.macdeoracle.info)
+ (INSTANCE_NAME = orcl2)
+ )
+ )
+
+ORCL1 =
+ (DESCRIPTION =
+ (ADDRESS = (PROTOCOL = TCP)(HOST = discus-rac64-scan.macdeoracle.jp)(PORT = 1521))
+ (CONNECT_DATA =
+ (SERVER = DEDICATED)
+ (SERVICE_NAME = orcl.macdeoracle.info)
+ (INSTANCE_NAME = orcl1)
+ )
+ )
discus:˜ oracle$


接続テスト

事前にscan vipがどのような状態か確認しておく。

[oracle@discus164 ˜]$ srvctl status scan
SCAN VIP scan1は有効です
SCAN VIP scan1はノードdiscus264で実行されています
SCAN VIP scan2は有効です
SCAN VIP scan2はノードdiscus164で実行されています
SCAN VIP scan3は有効です
SCAN VIP scan3はノードdiscus164で実行されています
[oracle@discus164 ˜]$

[root@discus164 ˜]# crsctl status resource -w 'TYPE co scan' -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE discus264
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE discus164
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE discus164
ora.scan1.vip
1 ONLINE ONLINE discus264
ora.scan2.vip
1 ONLINE ONLINE discus164
ora.scan3.vip
1 ONLINE ONLINE discus164
[root@discus164 ˜]#

MacOS X Snow LeopardのSQL*PlusからVirtualBox上のOracle11g R2 11.2.0.1.0 RACへの接続テスト。

discus:˜ oracle$ sqlplus /nolog

SQL*Plus: Release 10.2.0.4.0 - Production on 火 1月 4 23:16:53 2011

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

SQL> -- ロードバランシングで適当なインスタンスへ接続される。この場合インスタンス2に接続した
SQL> conn scott/tiger@orcl
接続されました。
SQL> select instance_name from v$instance;

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

SQL> -- 2度目はインスタンス1に接続した。(うまくいってる!)
SQL> conn scott/tiger@orcl
接続されました。
SQL> select instance_name from v$instance;

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

SQL> -- インスタンス1(orcl1)を狙った接続! OK.
SQL> conn scott/tiger@orcl1
接続されました。
SQL> select instance_name from v$instance;

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

SQL> -- 念のためもう一度。狙ったインスタンスへ接続している。
SQL> conn scott/tiger@orcl1
接続されました。
SQL> select instance_name from v$instance;

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

SQL> -- インスタンス2(orcl2)を狙った接続! OK.
SQL> conn scott/tiger@orcl2
接続されました。
SQL> select instance_name from v$instance;

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

SQL> -- 念のためもう一度!。狙ったインスタンスへ接続している。
SQL> conn scott/tiger@orcl2
接続されました。
SQL> select instance_name from v$instance;

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

SQL>


リモートからのも接続OK :)


以下、RACインスタンスのバージョン情報、Client側情報としてSQL*Plusのバージョン及び、OSのバージョン情報。

SQL> select * from gv$version; 

INST_ID BANNER
---------- --------------------------------------------------------------------------------
2 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
2 PL/SQL Release 11.2.0.1.0 - Production
2 CORE 11.2.0.1.0 Production
2 TNS for Linux: Version 11.2.0.1.0 - Production
2 NLSRTL Version 11.2.0.1.0 - Production
1 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
1 PL/SQL Release 11.2.0.1.0 - Production
1 CORE 11.2.0.1.0 Production
1 TNS for Linux: Version 11.2.0.1.0 - Production
1 NLSRTL Version 11.2.0.1.0 - Production

10行が選択されました。

SQL> !sqlplus -v

SQL*Plus: Release 10.2.0.4.0 - Production

SQL> !system_profiler SPSoftwareDataType | grep 'System Version'
System Version: Mac OS X 10.6.5 (10H574)

SQL>

次回へつづく。






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

VirtualBox de RAC (Oracle11g R1編) #1
VirtualBox de RAC (Oracle11g R1編) #2



VirtualBox de Oracle11g R2 RAC #1
VirtualBox de Oracle11g R2 RAC #2 - 事前調査など…
VirtualBox de Oracle11g R2 RAC #3
VirtualBox de Oracle11g R2 RAC #4
VirtualBox de Oracle11g R2 RAC #5
VirtualBox de Oracle11g R2 RAC #6
VirtualBox de Oracle11g R2 RAC #7
VirtualBox de Oracle11g R2 RAC #8
VirtualBox de Oracle11g R2 RAC #9
VirtualBox de Oracle11g R2 RAC #10
VirtualBox de Oracle11g R2 RAC #11
VirtualBox de Oracle11g R2 RAC #12
VirtualBox de Oracle11g R2 RAC #13
VirtualBox de Oracle11g R2 RAC #14
VirtualBox de Oracle11g R2 RAC #15
VirtualBox de Oracle11g R2 RAC #16
VirtualBox de Oracle11g R2 RAC #17
VirtualBox de Oracle11g R2 RAC #18
VirtualBox de Oracle11g R2 RAC #19




VirtualBox de Oracle11g R2 RAC #16 - 番外編

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

2011年1月 4日 (火)

VirtualBox de Oracle11g R2 RAC #19

VirtualBox de Oracle11g R2 RACのつづき。

いよいよデータベースの作成です。 :)

  1. ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
  2. Linux (CentOS 5.5 x86_64)のインストール
  3. Openfiler2.3 x86のインストール
  4. Openfiler2.3 x86によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2その3
  6. Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. Oracle RACノード間リモートアクセスの構成とntpの構成
    sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた)
  9. ローカルネームサーバの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
  12. Oracle11g R2 11.2.0.1.0 RACインストール事前作業
  13. Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
  14. Oracle11g R2 11.2.0.1.0 Database softwareのインストール
  15. Oracle11g R2 11.2.0.1.0 examplesのインストール
  16. Oracle Cluster databaseの作成
  17. Net Serviceの確認
  18. Oralce Grid InsfastructureとDatabase構成の確認
  19. Clusterの開始と停止の確認
  20. 簡単なTransparent Application Failover (TAF)の確認

Oracle Cluster databaseの作成


Screenshot981

映像を見てもお分かりだと思いますが、VirtualBox上でクラスタデータベースを作成するとほぼ100%、DBCAの最後のダイアログを表示後DBCAを起動したVMが固まります。
Oracle11g R1 RACをVirtualBox上で構築した時と同じ症状です。DBCAのダイアログ上、データベースは作成されましたと表示されているのでそれを信じるばかり (^^;;;

念のため1時間ほど放置したあと、固まったVMは強制終了、残るノードはCentOSをシャットダウンします。その後、Openfiler、RACの両ノードを起動します。(ノード間の処理で固まっているようで実は処理に時間を要していることがなんどかあったので…念のため)

grid infrastructureユーザからcrsctlコマンドで状態を確認した結果は以下。(ちなみに、VM再起動後の状態)

[grid@discus164 ˜]$ crsctl status resource -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRS.dg
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.DATA.dg
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.FRA.dg
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.LISTENER.lsnr
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.asm
ONLINE ONLINE discus164 Started
ONLINE ONLINE discus264 Started
ora.eons
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.gsd
OFFLINE OFFLINE discus164
OFFLINE OFFLINE discus264
ora.net1.network
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.ons
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.registry.acfs
ONLINE ONLINE discus164
ONLINE ONLINE discus264
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE discus264
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE discus164
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE discus164
ora.discus164.vip
1 ONLINE ONLINE discus164
ora.discus264.vip
1 ONLINE ONLINE discus264
ora.oc4j
1 OFFLINE OFFLINE
ora.orcl.db
1 ONLINE ONLINE discus164 Open
2 ONLINE ONLINE discus264 Open
ora.scan1.vip
1 ONLINE ONLINE discus264
ora.scan2.vip
1 ONLINE ONLINE discus164
ora.scan3.vip
1 ONLINE ONLINE discus164
[grid@discus164 ˜]$


[oracle@discus164 ˜]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on 火 11月 30 14:54:50 2010

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

SQL> conn / as sysdba
パスワードを入力してください:
接続されました。
SQL> set linesize 132
SQL> select * from gv$version;

INST_ID BANNER
---------- --------------------------------------------------------------------------------
1 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
1 PL/SQL Release 11.2.0.1.0 - Production
1 CORE 11.2.0.1.0 Production
1 TNS for Linux: Version 11.2.0.1.0 - Production
1 NLSRTL Version 11.2.0.1.0 - Production
2 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
2 PL/SQL Release 11.2.0.1.0 - Production
2 CORE 11.2.0.1.0 Production
2 TNS for Linux: Version 11.2.0.1.0 - Production
2 NLSRTL Version 11.2.0.1.0 - Production

10行が選択されました。

SQL>

ふ〜、なんとかできたようですね。 とりあえず遊べそうです。

次回へつづく。 Grid Infrastructure周りはもっと調べないと…覚える必要のあることはまだまだ多い (^^;;

Oracle Clusterware管理およびデプロイメント・ガイド 11gリリース2(11.2非推奨のサブプログラムまたはコマンド…このマニュアルもちゃんと読んでおかないとな。><






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

VirtualBox de RAC (Oracle11g R1編) #1
VirtualBox de RAC (Oracle11g R1編) #2



VirtualBox de Oracle11g R2 RAC #1
VirtualBox de Oracle11g R2 RAC #2 - 事前調査など…
VirtualBox de Oracle11g R2 RAC #3
VirtualBox de Oracle11g R2 RAC #4
VirtualBox de Oracle11g R2 RAC #5
VirtualBox de Oracle11g R2 RAC #6
VirtualBox de Oracle11g R2 RAC #7
VirtualBox de Oracle11g R2 RAC #8
VirtualBox de Oracle11g R2 RAC #9
VirtualBox de Oracle11g R2 RAC #10
VirtualBox de Oracle11g R2 RAC #11
VirtualBox de Oracle11g R2 RAC #12
VirtualBox de Oracle11g R2 RAC #13
VirtualBox de Oracle11g R2 RAC #14
VirtualBox de Oracle11g R2 RAC #15
VirtualBox de Oracle11g R2 RAC #16
VirtualBox de Oracle11g R2 RAC #17
VirtualBox de Oracle11g R2 RAC #18

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

2011年1月 3日 (月)

VirtualBox de Oracle11g R2 RAC #18

VirtualBox de Oracle11g R2 RACのつづきです。

インストールしなくてもいいんだけどいろいろと試したくなったときは便利なので、次いでにexamplesもインストール。

  1. ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
  2. Linux (CentOS 5.5 x86_64)のインストール
  3. Openfiler2.3 x86のインストール
  4. Openfiler2.3 x86によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2その3
  6. Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. Oracle RACノード間リモートアクセスの構成とntpの構成
    sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた)
  9. ローカルネームサーバの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
  12. Oracle11g R2 11.2.0.1.0 RACインストール事前作業
  13. Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
  14. Oracle11g R2 11.2.0.1.0 Database softwareのインストール
  15. Oracle11g R2 11.2.0.1.0 examplesのインストール
  16. Oracle Cluster databaseの作成
  17. Net Serviceの確認
  18. Oralce Grid InsfastructureとDatabase構成の確認
  19. Clusterの開始と停止の確認
  20. 簡単なTransparent Application Failover (TAF)の確認

Oracle11g R2 11.2.0.1.0 examplesのインストール

[oracle@discus164 database]$ 
[oracle@discus164 database]$
[oracle@discus164 database]$ cd ../examples
[oracle@discus164 examples]$ ll
合計 48
drwxr-xr-x 7 oracle oinstall 4096 8月 12 2009 doc
drwxr-xr-x 4 oracle oinstall 4096 8月 15 2009 install
drwxrwxr-x 2 oracle oinstall 4096 8月 15 2009 response
-rwxr-xr-x 1 oracle oinstall 3230 8月 15 2009 runInstaller
drwxr-xr-x 12 oracle oinstall 4096 8月 15 2009 stage
-rw-r--r-- 1 oracle oinstall 3419 8月 18 2009 welcome.html
[oracle@discus164 examples]$

[oracle@discus164 examples]$ ./runInstaller
Oracle Universal Installerを起動中です...
・・・中略・・・

Screenshot391

Screenshot621

Screenshot631

Screenshot641

Screenshot651

Screenshot661

Screenshot671

次回へつづく。






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

VirtualBox de RAC (Oracle11g R1編) #1
VirtualBox de RAC (Oracle11g R1編) #2



VirtualBox de Oracle11g R2 RAC #1
VirtualBox de Oracle11g R2 RAC #2 - 事前調査など…
VirtualBox de Oracle11g R2 RAC #3
VirtualBox de Oracle11g R2 RAC #4
VirtualBox de Oracle11g R2 RAC #5
VirtualBox de Oracle11g R2 RAC #6
VirtualBox de Oracle11g R2 RAC #7
VirtualBox de Oracle11g R2 RAC #8
VirtualBox de Oracle11g R2 RAC #9
VirtualBox de Oracle11g R2 RAC #10
VirtualBox de Oracle11g R2 RAC #11
VirtualBox de Oracle11g R2 RAC #12
VirtualBox de Oracle11g R2 RAC #13
VirtualBox de Oracle11g R2 RAC #14
VirtualBox de Oracle11g R2 RAC #15
VirtualBox de Oracle11g R2 RAC #16
VirtualBox de Oracle11g R2 RAC #17

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

VirtualBox de Oracle11g R2 RAC #17

VirtualBox de Oracle11g R2 RACのつづきです。

つづいてOracle11g R2 11.2.0.1.0 Database Installのインストール。
データベースは作成しないでソフトウェアだけのインストールを行います。

  1. ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
  2. Linux (CentOS 5.5 x86_64)のインストール
  3. Openfiler2.3 x86のインストール
  4. Openfiler2.3 x86によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2その3
  6. Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. Oracle RACノード間リモートアクセスの構成とntpの構成
    sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた)
  9. ローカルネームサーバの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
  12. Oracle11g R2 11.2.0.1.0 RACインストール事前作業
  13. Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
  14. Oracle11g R2 11.2.0.1.0 Database softwareのインストール
  15. Oracle11g R2 11.2.0.1.0 examplesのインストール
  16. Oracle Cluster databaseの作成
  17. Net Serviceの確認
  18. Oralce Grid InsfastructureとDatabase構成の確認
  19. Clusterの開始と停止の確認
  20. 簡単なTransparent Application Failover (TAF)の確認

ASMディスクグループの作成

Grid Infrastructureのインストール同様、Oracle所有者でもsshはパスフレーズありであらかじめ作成しておきます。OUIが作ってくれるだろうということを期待してね。

と、その前に、asmcaでOracleデータファイル及び、フラッシュ・リカバリ・エリア向けASMディスクグループを作成しておきました。
データファイル向けに+DATA、フラッシュ・リカバリ・エリア向けに+FRAというASMディスクグループを作成します。


Oracle11g R2 11.2.0.1.0 Database softwareのインストール

次に、Oracle Database 11g R2 11.2.0.1.0をインストールします。データベースは作成せず、別途dbcaを利用してデータベースを作成します。

省略していますが、お約束、root.shの実行もお忘れなく!



次回へつづく。






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

VirtualBox de RAC (Oracle11g R1編) #1
VirtualBox de RAC (Oracle11g R1編) #2



VirtualBox de Oracle11g R2 RAC #1
VirtualBox de Oracle11g R2 RAC #2 - 事前調査など…
VirtualBox de Oracle11g R2 RAC #3
VirtualBox de Oracle11g R2 RAC #4
VirtualBox de Oracle11g R2 RAC #5
VirtualBox de Oracle11g R2 RAC #6
VirtualBox de Oracle11g R2 RAC #7
VirtualBox de Oracle11g R2 RAC #8
VirtualBox de Oracle11g R2 RAC #9
VirtualBox de Oracle11g R2 RAC #10
VirtualBox de Oracle11g R2 RAC #11
VirtualBox de Oracle11g R2 RAC #12
VirtualBox de Oracle11g R2 RAC #13
VirtualBox de Oracle11g R2 RAC #14
VirtualBox de Oracle11g R2 RAC #15
VirtualBox de Oracle11g R2 RAC #16

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

VirtualBox de Oracle11g R2 RAC #16

VirtualBox de Oracle11g R2 RACのつづきです。

いよいよOracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール♪

  1. ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
  2. Linux (CentOS 5.5 x86_64)のインストール
  3. Openfiler2.3 x86のインストール
  4. Openfiler2.3 x86によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2その3
  6. Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. Oracle RACノード間リモートアクセスの構成とntpの構成
    sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた)
  9. ローカルネームサーバの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
  12. Oracle11g R2 11.2.0.1.0 RACインストール事前作業
  13. Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
  14. Oracle11g R2 11.2.0.1.0 Database softwareのインストール
  15. Oracle11g R2 11.2.0.1.0 examplesのインストール
  16. Oracle Cluster databaseの作成
  17. Net Serviceの確認
  18. Oralce Grid InsfastructureとDatabase構成の確認
  19. Clusterの開始と停止の確認
  20. 簡単なTransparent Application Failover (TAF)の確認

Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール

今回、確かめたかったこともあり、意図的にパスフレーズ付きでsshを手動構成しておいた。
その結果は…CVUの検査はパスするもののOUI上ではsshの構成がNGとなりOUIからsshの構成を行った。その後は問題なくインストールできた :) 便になったねOUI.

[grid@discus164 grid]$ ./runInstaller 
[1] 4417
[grid@discus164 grid]$ Oracle Universal Installerを起動中です...

一時領域の確認中: 120MBを超えている必要があります. 実際 32846MB 問題なし
スワップ領域の確認中: 150MBを超えている必要があります. 実際 5951MB 問題なし
モニターの確認中: 少なくとも256色表示するよう設定されている必要があります. 実際 16777216 問題なし
Oracle Universal Installerの起動を準備中 /tmp/OraInstall2010-11-29_01-51-19PM. お待ちください...


Root_shell



インストールの後半で、上記画面が表示されたら、いつものお約束、orainstRoot.shの実行とroot.shスクリプトの実行です!
RACを構成する全ノードのrootユーザで。最初にOUIを実行したノードで実行。成功したら以後残りのノードで実施(残りのノードでは平行実行可能だとか…今回は2ノードなので確認できず…)。

まず、OUIを実行したノードで実行!

[root@discus164 ˜]#
[root@discus164 ˜]# /u01/app/oraInventory/orainstRoot.sh
権限を変更中 /u01/app/oraInventory.
グループの読取り/書込み権限を追加中。
全ユーザーの読取り/書込み/実行権限を削除中。

グループ名の変更 /u01/app/oraInventory 宛先 oinstall.
スクリプトの実行が完了しました。

[root@discus164 ˜]#
[root@discus164 ˜]#
[root@discus164 ˜]# /u01/app/11.2.0/grid/root.sh
Running Oracle 11g root.sh script...

The following environment variables are set as:
ORACLE_OWNER= grid
ORACLE_HOME= /u01/app/11.2.0/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...

・・・中略・・・

profile reader pa cert TP
profile reader peer cert TP
peer user cert
pa user cert
Adding daemon to inittab
CRS-4123: Oracle High Availability Services has been started.
ohasd is starting
ADVM/ACFS is not supported on centos-release-5-5.el5.centos

CRS-2672: 'ora.gipcd'('discus164')の起動を試行しています

・・・中略・・・

CRS-2676: 'ora.ctssd'('discus164')の起動が成功しました

ASMは正常に作成され、起動しました。

ディスク・グループCRSは正常に作成されました。

clscfg: -install mode specified
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
CRS-2672: 'ora.crsd'('discus164')の起動を試行しています
CRS-2676: 'ora.crsd'('discus164')の起動が成功しました
CRS-4256: Updating the profile
Successful addition of voting disk 5d6c953bf3aa4fe6bfff2a0f9b1e0d37.
Successfully replaced voting disk group with +CRS.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 5d6c953bf3aa4fe6bfff2a0f9b1e0d37 (ORCL:CRSVOL1) [CRS]
Located 1 voting disk(s).
CRS-2673: 'ora.crsd'('discus164')の停止を試行しています

・・・中略・・・

CRS-2676: 'ora.asm'('discus164')の起動が成功しました
CRS-2672: 'ora.CRS.dg'('discus164')の起動を試行しています
CRS-2676: 'ora.CRS.dg'('discus164')の起動が成功しました

discus164 2010/11/29 14:21:13 /u01/app/11.2.0/grid/cdata/discus164/backup_20101129_142113.olr
Configure Oracle Grid Infrastructure for a Cluster ... succeeded
クラスタウェアのインベントリ・プロパティの更新中
Oracle Universal Installerを起動中です...

スワップ領域の確認中: 500MBを超えている必要があります. 実際 5951MB 問題なし
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /u01/app/oraInventory
'UpdateNodeList'が成功しました。
[root@discus164 ˜]#

ADVM/ACFS is not supported on centos-release-5-5.el5.centosという気になるメッセージがあったがこれはCentOSが正式にサポートされていないことが影響している。
一昨年暮れのエントリだけど、以下のブログが参考になるかも。

参考:
http://brianbontrager.blogspot.com/2009/09/learning-asm-breakin-rules-or-running.html

2011/1/4追記:
http://ivan.kartik.sk/index.php?show_article=49
リリースを偽装する方法もあるんだけどね。後者の方が楽は楽だけど元に戻すのが面倒だから今回はパスした。

簡単にリカバル方法がよくわかんなかったんでOracle Grid Infrastructureを一旦deinstallした。(これが一番わかりやすい!)
Oracle Grid Infrastructureをdeinstallコマンドで削除した記録は別途書くとして、一旦deinstallしたと思ってください!!!

ということで、OUIでOracle Grid Infrastractureをインストール。

orainstRoot.shを実行したところで、前述の参考ブログに記載されていたCentOS向け手当を行う。手当を行ってからroot.shを実行する。

orainstRoot.shを実行したところで、前述の参考ブログに記載されていたCentOS向け手当を行う。手当を行ってからroot.shを実行する。

CentOS上へのOracle Grid Infrastructureインストールでは大切(らしい)なので2度、書きましたよw

Oracle Grid Infrastructureユーザの$ORACLE_HOME/lib/osds_acfslib.pmの278行目以下にCentOSも正常に処理できるよう修正を加える。

[grid@discus164 ˜]$ su -
パスワード:
[root@discus164 ˜]# cd /u01/app/11.2.0/grid/lib
[root@discus164 lib]#
[root@discus164 lib]# cp -p osds_acfslib.pm osds_acfslib.pm.org
[root@discus164 lib]#
[root@discus164 lib]# vi osds_acfslib.pm
[root@discus164 lib]#
[root@discus164 lib]# diff -u osds_acfslib.pm osds_acfslib.pm.org
--- osds_acfslib.pm 2010/11/29 17:19:00.000000000 +0900
+++ osds_acfslib.pm.org 2009-07-02 11:13:48.000000000 +0900
@@ -278,8 +278,7 @@
# OK, now check to see if we support this release
$supported = 0;
if (($release =˜ /enterprise-release-5/) ||
- ($release =˜ /redhat-release-5/) ||
- ($release =˜ /centos-release-5/))
+ ($release =˜ /redhat-release-5/))
{
# Redhat 5
$supported = 1;
[root@discus164 lib]#

多分上記の修正だけで対処できると思うのだが、自信がないので以下のこともやっておいた… 写経になっております。m(_ _)m (RACを構成する全ノードのrootユーザで実施)

[root@discus164 ˜]# mkdir /lib/modules/2.6.18-194.17.1.el5/extra/usm
[root@discus164 ˜]#
[root@discus164 ˜]#
[root@discus164 ˜]# ls /u01/app/11.2.0/grid/install/usm/EL5/x86_64/2.6.18-8/2.6.18-8.el5-x86_64/bin/*ko
/u01/app/11.2.0/grid/install/usm/EL5/x86_64/2.6.18-8/2.6.18-8.el5-x86_64/bin/oracleacfs.ko
/u01/app/11.2.0/grid/install/usm/EL5/x86_64/2.6.18-8/2.6.18-8.el5-x86_64/bin/oracleadvm.ko
/u01/app/11.2.0/grid/install/usm/EL5/x86_64/2.6.18-8/2.6.18-8.el5-x86_64/bin/oracleoks.ko
[root@discus164 ˜]#
[root@discus164 ˜]#
[root@discus164 ˜]# cp /u01/app/11.2.0/grid/install/usm/EL5/x86_64/2.6.18-8/2.6.18-8.el5-x86_64/bin/*ko /lib/modules/2.6.18-194.17.1.el5/extra/usm
[root@discus164 ˜]# chmod 744 /lib/modules/2.6.18-194.17.1.el5/extra/usm
[root@discus164 ˜]#
[root@discus164 ˜]# depmod
[root@discus164 ˜]#
[root@discus164 ˜]# cp /u01/app/11.2.0/grid/install/usm/EL5/x86_64/2.6.18-8/2.6.18-8.el5-x86_64/bin/acfsdbg /sbin
[root@discus164 ˜]# chmod 755 /sbin/acfsdbg


ここまでの作業を終えたらOUIでOracle Grid InfrastructureをOUIでインストールする。手順は前述の映像を見てくださいね。

お約束のorainstRoot.shそれに続いて、root.shをOUIを起動したノードで実施、その後、残りのノードでも同様にrootユーザで実施する。

root.shの実行。こんどは大丈夫でしょうか〜〜〜〜。

[root@discus164 grid]# ./root.sh
Running Oracle 11g root.sh script...

The following environment variables are set as:
ORACLE_OWNER= grid
ORACLE_HOME= /u01/app/11.2.0/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
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.
2010-11-29 17:23:44: Parsing the host name
2010-11-29 17:23:44: Checking for super user privileges
2010-11-29 17:23:44: User has super user privileges

Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
Creating trace directory
LOCAL ADD MODE
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
root wallet
root wallet cert
root cert export
peer wallet
profile reader wallet
pa wallet
peer wallet keys
pa wallet keys
peer cert request
pa cert request
peer cert
pa cert
peer root cert TP
profile reader root cert TP
pa root cert TP
peer pa cert TP
pa peer cert TP
profile reader pa cert TP
profile reader peer cert TP
peer user cert
pa user cert
Adding daemon to inittab
CRS-4123: Oracle High Availability Services has been started.
ohasd is starting
CRS-2672: 'ora.gipcd'('discus164')の起動を試行しています
CRS-2672: 'ora.mdnsd'('discus164')の起動を試行しています
CRS-2676: 'ora.gipcd'('discus164')の起動が成功しました
CRS-2676: 'ora.mdnsd'('discus164')の起動が成功しました
CRS-2672: 'ora.gpnpd'('discus164')の起動を試行しています
CRS-2676: 'ora.gpnpd'('discus164')の起動が成功しました
CRS-2672: 'ora.cssdmonitor'('discus164')の起動を試行しています
CRS-2676: 'ora.cssdmonitor'('discus164')の起動が成功しました
CRS-2672: 'ora.cssd'('discus164')の起動を試行しています
CRS-2672: 'ora.diskmon'('discus164')の起動を試行しています
CRS-2676: 'ora.diskmon'('discus164')の起動が成功しました
CRS-2676: 'ora.cssd'('discus164')の起動が成功しました
CRS-2672: 'ora.ctssd'('discus164')の起動を試行しています
CRS-2676: 'ora.ctssd'('discus164')の起動が成功しました

ASMは正常に作成され、起動しました。

ディスク・グループCRSは正常に作成されました。

clscfg: -install mode specified
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
CRS-2672: 'ora.crsd'('discus164')の起動を試行しています
CRS-2676: 'ora.crsd'('discus164')の起動が成功しました
CRS-4256: Updating the profile
Successful addition of voting disk 8f431fe5d1304fd9bf6ad331d3aef536.
Successfully replaced voting disk group with +CRS.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 8f431fe5d1304fd9bf6ad331d3aef536 (ORCL:CRSVOL1) [CRS]
Located 1 voting disk(s).
CRS-2673: 'ora.crsd'('discus164')の停止を試行しています
CRS-2677: 'ora.crsd'('discus164')の停止が成功しました
CRS-2673: 'ora.asm'('discus164')の停止を試行しています
CRS-2677: 'ora.asm'('discus164')の停止が成功しました
CRS-2673: 'ora.ctssd'('discus164')の停止を試行しています
CRS-2677: 'ora.ctssd'('discus164')の停止が成功しました
CRS-2673: 'ora.cssdmonitor'('discus164')の停止を試行しています
CRS-2677: 'ora.cssdmonitor'('discus164')の停止が成功しました
CRS-2673: 'ora.cssd'('discus164')の停止を試行しています
CRS-2677: 'ora.cssd'('discus164')の停止が成功しました
CRS-2673: 'ora.gpnpd'('discus164')の停止を試行しています
CRS-2677: 'ora.gpnpd'('discus164')の停止が成功しました
CRS-2673: 'ora.gipcd'('discus164')の停止を試行しています
CRS-2677: 'ora.gipcd'('discus164')の停止が成功しました
CRS-2673: 'ora.mdnsd'('discus164')の停止を試行しています
CRS-2677: 'ora.mdnsd'('discus164')の停止が成功しました
CRS-2672: 'ora.mdnsd'('discus164')の起動を試行しています
CRS-2676: 'ora.mdnsd'('discus164')の起動が成功しました
CRS-2672: 'ora.gipcd'('discus164')の起動を試行しています
CRS-2676: 'ora.gipcd'('discus164')の起動が成功しました
CRS-2672: 'ora.gpnpd'('discus164')の起動を試行しています
CRS-2676: 'ora.gpnpd'('discus164')の起動が成功しました
CRS-2672: 'ora.cssdmonitor'('discus164')の起動を試行しています
CRS-2676: 'ora.cssdmonitor'('discus164')の起動が成功しました
CRS-2672: 'ora.cssd'('discus164')の起動を試行しています
CRS-2672: 'ora.diskmon'('discus164')の起動を試行しています
CRS-2676: 'ora.diskmon'('discus164')の起動が成功しました
CRS-2676: 'ora.cssd'('discus164')の起動が成功しました
CRS-2672: 'ora.ctssd'('discus164')の起動を試行しています
CRS-2676: 'ora.ctssd'('discus164')の起動が成功しました
CRS-2672: 'ora.asm'('discus164')の起動を試行しています
CRS-2676: 'ora.asm'('discus164')の起動が成功しました
CRS-2672: 'ora.crsd'('discus164')の起動を試行しています
CRS-2676: 'ora.crsd'('discus164')の起動が成功しました
CRS-2672: 'ora.evmd'('discus164')の起動を試行しています
CRS-2676: 'ora.evmd'('discus164')の起動が成功しました
CRS-2672: 'ora.asm'('discus164')の起動を試行しています
CRS-2676: 'ora.asm'('discus164')の起動が成功しました
CRS-2672: 'ora.CRS.dg'('discus164')の起動を試行しています
CRS-2676: 'ora.CRS.dg'('discus164')の起動が成功しました
CRS-2672: 'ora.registry.acfs'('discus164')の起動を試行しています
CRS-2676: 'ora.registry.acfs'('discus164')の起動が成功しました

discus164 2010/11/29 17:30:15 /u01/app/11.2.0/grid/cdata/discus164/backup_20101129_173015.olr
パッケージインストールの準備中...
cvuqdisk-1.0.7-1
Configure Oracle Grid Infrastructure for a Cluster ... succeeded
クラスタウェアのインベントリ・プロパティの更新中
Oracle Universal Installerを起動中です...

スワップ領域の確認中: 500MBを超えている必要があります. 実際 5951MB 問題なし
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /u01/app/oraInventory
'UpdateNodeList'が成功しました。
[root@discus164 grid]#

お〜〜、でけた。

では、他のノードでも実行
残りのノードでも同様の操作実施後root.sh実行

[root@discus264 grid]# ./root.sh
Running Oracle 11g root.sh script...

The following environment variables are set as:
ORACLE_OWNER= grid
ORACLE_HOME= /u01/app/11.2.0/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
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.
2010/11/29 17:45:30: Parsing the host name
2010/11/29 17:45:30: Checking for super user privileges
2010/11/29 17:45:30: User has super user privileges
Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
Creating trace directory
LOCAL ADD MODE
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Adding daemon to inittab
CRS-4123: Oracle High Availability Services has been started.
ohasd is starting
CRS-4402: CSSデーモンが排他モードで開始されましたが、ノードdiscus164、番号1のアクティブCSSデーモンが検出されたため中断します
CRS-2673: 'ora.cssdmonitor'('discus264')の停止を試行しています
CRS-2677: 'ora.cssdmonitor'('discus264')の停止が成功しました
CRS-2673: 'ora.gpnpd'('discus264')の停止を試行しています
CRS-2677: 'ora.gpnpd'('discus264')の停止が成功しました
CRS-2673: 'ora.gipcd'('discus264')の停止を試行しています
CRS-2677: 'ora.gipcd'('discus264')の停止が成功しました
CRS-2673: 'ora.mdnsd'('discus264')の停止を試行しています
CRS-2677: 'ora.mdnsd'('discus264')の停止が成功しました
An active cluster was found during exclusive startup, restarting to join the cluster
CRS-2672: 'ora.mdnsd'('discus264')の起動を試行しています
CRS-2676: 'ora.mdnsd'('discus264')の起動が成功しました
CRS-2672: 'ora.gipcd'('discus264')の起動を試行しています
CRS-2676: 'ora.gipcd'('discus264')の起動が成功しました
CRS-2672: 'ora.gpnpd'('discus264')の起動を試行しています
CRS-2676: 'ora.gpnpd'('discus264')の起動が成功しました
CRS-2672: 'ora.cssdmonitor'('discus264')の起動を試行しています
CRS-2676: 'ora.cssdmonitor'('discus264')の起動が成功しました
CRS-2672: 'ora.cssd'('discus264')の起動を試行しています
CRS-2672: 'ora.diskmon'('discus264')の起動を試行しています
CRS-2676: 'ora.diskmon'('discus264')の起動が成功しました
CRS-2676: 'ora.cssd'('discus264')の起動が成功しました
CRS-2672: 'ora.ctssd'('discus264')の起動を試行しています
CRS-2676: 'ora.ctssd'('discus264')の起動が成功しました
CRS-2672: 'ora.drivers.acfs'('discus264')の起動を試行しています
CRS-2676: 'ora.drivers.acfs'('discus264')の起動が成功しました
CRS-2672: 'ora.asm'('discus264')の起動を試行しています
CRS-2676: 'ora.asm'('discus264')の起動が成功しました
CRS-2672: 'ora.crsd'('discus264')の起動を試行しています
CRS-2676: 'ora.crsd'('discus264')の起動が成功しました
CRS-2672: 'ora.evmd'('discus264')の起動を試行しています
CRS-2676: 'ora.evmd'('discus264')の起動が成功しました

discus264 2010/11/29 17:48:45 /u01/app/11.2.0/grid/cdata/discus264/backup_20101129_174845.olr
パッケージインストールの準備中...
cvuqdisk-1.0.7-1
Configure Oracle Grid Infrastructure for a Cluster ... succeeded
クラスタウェアのインベントリ・プロパティの更新中
Oracle Universal Installerを起動中です...

スワップ領域の確認中: 500MBを超えている必要があります. 実際 5951MB 問題なし
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /u01/app/oraInventory
'UpdateNodeList'が成功しました。
[root@discus264 grid]#


root.sh実行おわり!


Grid Infrastructureインストール後の簡単な確認(RACを構成する全ノードのgrid infrastructureユーザ及び、rootユーザで実施)

crsの状態確認(RACを構成する全ノードのGrid Infrastructureユーザで

[grid@discus164 ˜]$ crsctl check crs
CRS-4638: Oracle高可用性サービスがオンラインです
CRS-4537: Cluster Ready Servicesがオンラインです
CRS-4529: Cluster Synchronization Servicesがオンラインです
CRS-4533: イベント・マネージャがオンラインです
[grid@discus164 ˜]$

[grid@discus264 ˜]$ crsctl check crs
CRS-4638: Oracle高可用性サービスがオンラインです
CRS-4537: Cluster Ready Servicesがオンラインです
CRS-4529: Cluster Synchronization Servicesがオンラインです
CRS-4533: イベント・マネージャがオンラインです
[grid@discus264 ˜]$


clusterノードの確認(RACを構成する全ノードのGrid Infrastructureユーザで)

[grid@discus164 ˜]$ olsnodes -n
discus164 1
discus264 2
[grid@discus164 ˜]$

[grid@discus264 ˜]$ olsnodes -n
discus164 1
discus264 2
[grid@discus264 ˜]$

リスナーの確認(RACを構成する全ノード

[grid@discus164 ˜]$ ps -ef | grep lsnr | grep -v 'grep' | grep -v 'ocfs' | awk '{print $9}'
LISTENER_SCAN2
LISTENER_SCAN3
LISTENER
[grid@discus164 ˜]$

[grid@discus264 ˜]$ ps -ef | grep lsnr | grep -v 'grep' | grep -v 'ocfs' | awk '{print $9}'
LISTENER_SCAN1
LISTENER
[grid@discus264 ˜]$

以下、OUIを実行したノードから確認しとけばOKかな
ASMは起動してるかな〜(Grid Infrastructureユーザで

[grid@discus164 ˜]$ srvctl status asm -a
ASMはdiscus164,discus264で実行中です
ASMは有効です。
[grid@discus164 ˜]$

rootユーザでcrsctlコマンド実行してますが、Grid Infrastructureホームのbinにパス通しているだけです :) 楽なので。
Oracle Cluster Registry (OCR) - rootユーザで実施

[root@discus164 grid]# ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 3
Total space (kbytes) : 262120
Used space (kbytes) : 2364
Available space (kbytes) : 259756
ID : 1391852321
Device/File Name : +CRS
Device/File integrity check succeeded

Device/File not configured

Device/File not configured

Device/File not configured

Device/File not configured

Cluster registry integrity check succeeded

Logical corruption check succeeded

[root@discus164 grid]#


Voting Diskの確認(Grid Infrastructureユーザで

[grid@discus164 ˜]$ crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 5d6c953bf3aa4fe6bfff2a0f9b1e0d37 (ORCL:CRSVOL1) [CRS]
1の投票ディスクを検出しました。
[grid@discus164 ˜]$

[grid@discus164 ~]$ crsctl status resource -w 'TYPE co ora' -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRS.dg
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.LISTENER.lsnr
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.asm
ONLINE ONLINE discus164 Started
ONLINE ONLINE discus264 Started
ora.eons
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.gsd
OFFLINE OFFLINE discus164
OFFLINE OFFLINE discus264
ora.net1.network
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.ons
ONLINE ONLINE discus164
ONLINE ONLINE discus264
ora.registry.acfs
ONLINE ONLINE discus164
ONLINE ONLINE discus264
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE discus264
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE discus164
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE discus164
ora.discus164.vip
1 ONLINE ONLINE discus164
ora.discus264.vip
1 ONLINE ONLINE discus264
ora.oc4j
1 OFFLINE OFFLINE
ora.scan1.vip
1 ONLINE ONLINE discus264
ora.scan2.vip
1 ONLINE ONLINE discus164
ora.scan3.vip
1 ONLINE ONLINE discus164
[grid@discus164 ~]$


root.shのバックアップが推奨されているので、これはやっといた。

Back Up the root.sh Script

Oracle recommends that you back up the root.sh script after you
complete an installation. If you install other products
in the same Oracle home directory, then the installer updates
the contents of the existing root.sh script during the installation.
If you require information contained in the original root.sh script,
then you can recover it from the root.sh file copy.

Back up the root.sh file on both Oracle RAC nodes as root:

[grid@discus164 ˜]$ su -
パスワード:
[root@discus164 ˜]# cd /u01/app/11.2.0/grid
[root@discus164 grid]# ls -l root.sh
-rwxr-x--- 1 grid oinstall 723 11月 29 14:10 root.sh
[root@discus164 grid]# cp -p root.sh root.sh.discus164_after_install20101129
[root@discus164 grid]#

[grid@discus264 ˜]$ su -
パスワード:
[root@discus264 ˜]# cd /u01/app/11.2.0
[root@discus264 11.2.0]# cd grid
[root@discus264 grid]# ls -l root.sh
-rwxr-x--- 1 grid oinstall 723 11月 29 14:12 root.sh
[root@discus264 grid]# cp -p root.sh root.sh.discus264_after_install20101129
[root@discus264 grid]#


Install Cluster Health Management Software が推奨されてるけど。別途時間があったらやる→TODO


次回へつづく。






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

VirtualBox de RAC (Oracle11g R1編) #1
VirtualBox de RAC (Oracle11g R1編) #2



VirtualBox de Oracle11g R2 RAC #1
VirtualBox de Oracle11g R2 RAC #2 - 事前調査など…
VirtualBox de Oracle11g R2 RAC #3
VirtualBox de Oracle11g R2 RAC #4
VirtualBox de Oracle11g R2 RAC #5
VirtualBox de Oracle11g R2 RAC #6
VirtualBox de Oracle11g R2 RAC #7
VirtualBox de Oracle11g R2 RAC #8
VirtualBox de Oracle11g R2 RAC #9
VirtualBox de Oracle11g R2 RAC #10
VirtualBox de Oracle11g R2 RAC #11
VirtualBox de Oracle11g R2 RAC #12
VirtualBox de Oracle11g R2 RAC #13
VirtualBox de Oracle11g R2 RAC #14
VirtualBox de Oracle11g R2 RAC #15

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

2011年1月 2日 (日)

VirtualBox de Oracle11g R2 RAC #15

VirtualBox de Oracle11g R2 RACのつづきです。

今回はOracle11g R2 11.2.0.1.0 RACインストール事前作業。

  1. ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
  2. Linux (CentOS 5.5 x86_64)のインストール
  3. Openfiler2.3 x86のインストール
  4. Openfiler2.3 x86によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2その3
  6. Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. Oracle RACノード間リモートアクセスの構成とntpの構成
    sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた)
  9. ローカルネームサーバの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
  12. Oracle11g R2 11.2.0.1.0 RACインストール事前作業
  13. Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
  14. Oracle11g R2 11.2.0.1.0 Database softwareのインストール
  15. Oracle11g R2 11.2.0.1.0 examplesのインストール
  16. Oracle Cluster databaseの作成
  17. Net Serviceの確認
  18. Oralce Grid InsfastructureとDatabase構成の確認
  19. Clusterの開始と停止の確認
  20. 簡単なTransparent Application Failover (TAF)の確認

Oracle11g R2 11.2.0.1.0 RACインストール事前作業

以下、Linux 64bit版をダウンロード
Oracle11g R2 11.2.0.1.0 for Linux (64bit)
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip

Oracle11g R2 Grid Infrastructure for Linux (64bit)
linux.x64_11gR2_grid.zip

Oracle11g R2 Examples for Linux (64bit)
linux.x64_11gR2_examples.zip


ダウンロードした、Oracle Grid Infrastructureをgrid infrastructureユーザで解凍

[grid@discus164 oracle]$ ll
合計 1029240
-rw-r--r-- 1 grid oinstall 1052897657 11月 25 10:51 linux.x64_11gR2_grid.zip
[grid@discus164 oracle]$ unzip linux.x64_11gR2_grid.zip

・・・中略・・・

extracting: grid/install/addLangs.sh
inflating: grid/runInstaller
inflating: grid/welcome.html
inflating: grid/runcluvfy.sh
[grid@discus164 oracle]$


ダウンロードしたOracle11g R2 11.2.0.1.0とexamplesをOracle所有者で解凍

[oracle@discus164 oracle]$ ll
合計 2840744
-rw-r--r-- 1 oracle oinstall 1239269270 11月 25 10:56 linux.x64_11gR2_database_1of2.zip
-rw-r--r-- 1 oracle oinstall 1111416131 11月 25 10:57 linux.x64_11gR2_database_2of2.zip
-rw-r--r-- 1 oracle oinstall 555366950 11月 25 10:57 linux.x64_11gR2_examples.zip
[oracle@discus164 oracle]$ unzip linux.x64_11gR2_database_1of2.zip

・・・中略・・・

extracting: database/install/addLangs.sh
inflating: database/runInstaller
inflating: database/welcome.html
[oracle@discus164 oracle]$
[oracle@discus164 oracle]$ unzip linux.x64_11gR2_database_2of2.zip

・・・中略・・・

inflating: database/stage/Components/oracle.sysman.console.db/11.2.0.1.0/1/DataFiles/filegroup13.jar
inflating: database/stage/Components/oracle.sysman.console.db/11.2.0.1.0/1/DataFiles/filegroup8.jar
inflating: database/stage/Components/oracle.sysman.console.db/11.2.0.1.0/1/DataFiles/filegroup9.jar
[oracle@discus164 oracle]$
[oracle@discus164 oracle]$ unzip linux.x64_11gR2_examples.zip

・・・中略・・・

extracting: examples/install/addLangs.sh
inflating: examples/runInstaller
inflating: examples/welcome.html
[oracle@discus164 oracle]$


cvudiskパッケージのインストール(RACを構成する全ノードのrootユーザで)

[grid@discus164 ˜]$ cd ./software/oracle/grid/rpm
[grid@discus164 rpm]$ su
パスワード:
[root@discus164 rpm]# ll
合計 12
-rw-rw-r-- 1 grid oinstall 8173 7月 15 2009 cvuqdisk-1.0.7-1.rpm
[root@discus164 rpm]# CVUQDISK_GRP=oinstall; export CVUQDISK_GRP
[root@discus164 rpm]# rpm -iv cvuqdisk-1.0.7-1.rpm
パッケージインストールの準備中...
cvuqdisk-1.0.7-1
[root@discus164 rpm]#


CVUによる事前チェック(RACを構成する全ノードのOracle Grid Infrastructureユーザで実施)
-fixupオプションを付加すると修正用スクリプトが作成されますが、下記例では付加していません。(修正スクリプトを作成させた方が楽ですけどね。)

今回は全ログを省略なしで!w

[grid@discus164 grid]$ pwd
/home/grid/software/oracle/grid
[grid@discus164 grid]$ ll
合計 76
drwxr-xr-x 9 grid oinstall 4096 8月 17 2009 doc
drwxr-xr-x 4 grid oinstall 4096 12月 3 11:05 install
drwxrwxr-x 2 grid oinstall 4096 8月 15 2009 response
drwxrwxr-x 2 grid oinstall 4096 8月 15 2009 rpm
-rwxr-xr-x 1 grid oinstall 3227 8月 15 2009 runInstaller
-rwxrwxr-x 1 grid oinstall 3795 1月 29 2009 runcluvfy.sh
drwxrwxr-x 2 grid oinstall 4096 8月 15 2009 sshsetup
drwxr-xr-x 14 grid oinstall 4096 8月 15 2009 stage
-rw-r--r-- 1 grid oinstall 4228 8月 18 2009 welcome.html
[grid@discus164 grid]$
[grid@discus164 grid]$
[grid@discus164 grid]$ ./runcluvfy.sh stage -pre crsinst -n discus164,discus264 -verbose

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

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

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


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

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

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

ホスト構成ファイルをチェック中...
ノード名 ステータス コメント
------------ ------------------------ ------------------------
discus264 合格
discus164 合格

ホスト構成ファイルの検証に成功しました


ノード"discus264"のインタフェース情報
名前 IPアドレス サブネット ゲートウェイ デフォルト・ゲートウェイ HWアドレス MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
eth0 192.168.1.91 192.168.1.0 0.0.0.0 192.168.1.1 08:00:27:CC:3B:97 1500
eth1 192.168.3.91 192.168.3.0 0.0.0.0 192.168.1.1 08:00:27:2F:97:0D 1500
eth2 192.168.2.91 192.168.2.0 0.0.0.0 192.168.1.1 08:00:27:AD:F8:40 1500


ノード"discus164"のインタフェース情報
名前 IPアドレス サブネット ゲートウェイ デフォルト・ゲートウェイ HWアドレス MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
eth0 192.168.1.90 192.168.1.0 0.0.0.0 192.168.1.1 08:00:27:B1:38:96 1500
eth1 192.168.3.90 192.168.3.0 0.0.0.0 192.168.1.1 08:00:27:FC:A5:8E 1500
eth2 192.168.2.90 192.168.2.0 0.0.0.0 192.168.1.1 08:00:27:47:E9:2C 1500


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


チェック: サブネット"192.168.1.0"のTCP接続性
ソース 宛先 接続しましたか
------------------------------ ------------------------------ ----------------
discus164:192.168.1.90 discus264:192.168.1.91 合格
結果: サブネット"192.168.1.0"のTCP接続性チェックに合格しました


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


チェック: サブネット"192.168.3.0"のTCP接続性
ソース 宛先 接続しましたか
------------------------------ ------------------------------ ----------------
discus164:192.168.3.90 discus264:192.168.3.91 合格
結果: サブネット"192.168.3.0"のTCP接続性チェックに合格しました


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


チェック: サブネット"192.168.2.0"のTCP接続性
ソース 宛先 接続しましたか
------------------------------ ------------------------------ ----------------
discus164:192.168.2.90 discus264:192.168.2.91 合格
結果: サブネット"192.168.2.0"のTCP接続性チェックに合格しました


VIPの候補となるサブネット"192.168.1.0"で見つかったインタフェースは次のとおりです:
discus264 eth0:192.168.1.91
discus164 eth0:192.168.1.90

プライベート・インターコネクトの候補となるサブネット"192.168.3.0"で見つかったインタフェースは次のとおりです:
discus264 eth1:192.168.3.91
discus164 eth1:192.168.3.90

プライベート・インターコネクトの候補となるサブネット"192.168.2.0"で見つかったインタフェースは次のとおりです:
discus264 eth2:192.168.2.91
discus164 eth2:192.168.2.90

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


チェック: メモリー合計
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 3.86GB (4051640.0KB) 1.5GB (1572864.0KB) 合格
discus164 3.86GB (4051640.0KB) 1.5GB (1572864.0KB) 合格
結果: メモリー合計チェックに合格しました

チェック: 使用可能なメモリー
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 3.5GB (3673300.0KB) 50MB (51200.0KB) 合格
discus164 3.34GB (3498792.0KB) 50MB (51200.0KB) 合格
結果: 使用可能なメモリーチェックに合格しました

チェック: スワップ領域
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 5.81GB (6094840.0KB) 3.86GB (4051640.0KB) 合格
discus164 5.81GB (6094840.0KB) 3.86GB (4051640.0KB) 合格
結果: スワップ領域チェックに合格しました

チェック: "discus264:/tmp"のディスク空き領域
パス ノード名 マウント・ポイント 使用可能 必須 コメント
---------------- ------------ ------------ ------------ ------------ ------------
/tmp discus264 / 37.78GB 1GB 合格
結果: "discus264:/tmp"のディスク空き領域チェックに合格しました

チェック: "discus164:/tmp"のディスク空き領域
パス ノード名 マウント・ポイント 使用可能 必須 コメント
---------------- ------------ ------------ ------------ ------------ ------------
/tmp discus164 / 33.62GB 1GB 合格
結果: "discus164:/tmp"のディスク空き領域チェックに合格しました

チェック: "grid"の既存ユーザー
ノード名 ステータス コメント
------------ ------------------------ ------------------------
discus264 存在します 合格
discus164 存在します 合格
結果: "grid"の既存ユーザーチェックに合格しました

チェック: "oinstall"のグループの存在
ノード名 ステータス コメント
------------ ------------------------ ------------------------
discus264 存在します 合格
discus164 存在します 合格
結果: "oinstall"のグループの存在チェックに合格しました

チェック: "dba"のグループの存在
ノード名 ステータス コメント
------------ ------------------------ ------------------------
discus264 存在します 合格
discus164 存在します 合格
結果: "dba"のグループの存在チェックに合格しました

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

チェック: グループ"dba"内のユーザー"grid"のメンバーシップ
ノード名 ユーザーが存在します グループが存在します グループ内のユーザー コメント
---------------- ------------ ------------ ------------ ----------------
discus264 はい はい いいえ 失敗
discus164 はい はい いいえ 失敗
結果: グループ"dba"内のユーザー"grid"のメンバーシップ・チェックが失敗しました

チェック: 実行レベル
ノード名 実行レベル 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 5 3,5 合格
discus164 5 3,5 合格
結果: 実行レベルチェックに合格しました

チェック: "最大オープン・ファイル記述子数"の強い制限
ノード名 タイプ 使用可能 必須 コメント
---------------- ------------ ------------ ------------ ----------------
discus264 強い 65536 65536 合格
discus164 強い 65536 65536 合格
結果: "最大オープン・ファイル記述子数"の強い制限チェックに合格しました

チェック: "最大オープン・ファイル記述子数"の弱い制限
ノード名 タイプ 使用可能 必須 コメント
---------------- ------------ ------------ ------------ ----------------
discus264 弱い 1024 1024 合格
discus164 弱い 1024 1024 合格
結果: "最大オープン・ファイル記述子数"の弱い制限チェックに合格しました

チェック: "最大ユーザー・プロセス"の強い制限
ノード名 タイプ 使用可能 必須 コメント
---------------- ------------ ------------ ------------ ----------------
discus264 強い 16384 16384 合格
discus164 強い 16384 16384 合格
結果: "最大ユーザー・プロセス"の強い制限チェックに合格しました

チェック: "最大ユーザー・プロセス"の弱い制限
ノード名 タイプ 使用可能 必須 コメント
---------------- ------------ ------------ ------------ ----------------
discus264 弱い 2047 2047 合格
discus164 弱い 2047 2047 合格
結果: "最大ユーザー・プロセス"の弱い制限チェックに合格しました

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

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

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

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

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

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

チェック: "shmmax"のカーネル・パラメータ
ノード名 構成済 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 68719476736 536870912 合格
discus164 68719476736 536870912 合格
結果: "shmmax"のカーネル・パラメータチェックに合格しました

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

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

チェック: "file-max"のカーネル・パラメータ
ノード名 構成済 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 6815744 6815744 合格
discus164 6815744 6815744 合格
結果: "file-max"のカーネル・パラメータチェックに合格しました

チェック: "ip_local_port_range"のカーネル・パラメータ
ノード名 構成済 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 between 9000 & 65500 between 9000 & 65500 合格
discus164 between 9000 & 65500 between 9000 & 65500 合格
結果: "ip_local_port_range"のカーネル・パラメータチェックに合格しました

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

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

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

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

チェック: "aio-max-nr"のカーネル・パラメータ
ノード名 構成済 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 1048576 1048576 合格
discus164 1048576 1048576 合格
結果: "aio-max-nr"のカーネル・パラメータチェックに合格しました

チェック: "make-3.80"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 make-3.81-3.el5 make-3.80 合格
discus164 make-3.81-3.el5 make-3.80 合格
結果: "make-3.80"のパッケージの存在チェックに合格しました

チェック: "binutils-2.15.92.0.2"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 binutils-2.17.50.0.6-14.el5 binutils-2.15.92.0.2 合格
discus164 binutils-2.17.50.0.6-14.el5 binutils-2.15.92.0.2 合格
結果: "binutils-2.15.92.0.2"のパッケージの存在チェックに合格しました

チェック: "gcc-3.4.6"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 gcc-4.1.2-48.el5 gcc-3.4.6 合格
discus164 gcc-4.1.2-48.el5 gcc-3.4.6 合格
結果: "gcc-3.4.6"のパッケージの存在チェックに合格しました

チェック: "libaio-0.3.105 (i386)"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 libaio-0.3.106-5 (i386) libaio-0.3.105 (i386) 合格
discus164 libaio-0.3.106-5 (i386) libaio-0.3.105 (i386) 合格
結果: "libaio-0.3.105 (i386)"のパッケージの存在チェックに合格しました

チェック: "libaio-0.3.105 (x86_64)"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 libaio-0.3.106-5 (x86_64) libaio-0.3.105 (x86_64) 合格
discus164 libaio-0.3.106-5 (x86_64) libaio-0.3.105 (x86_64) 合格
結果: "libaio-0.3.105 (x86_64)"のパッケージの存在チェックに合格しました

チェック: "glibc-2.3.4-2.41 (i686)"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 glibc-2.5-49.el5_5.6 (i686) glibc-2.3.4-2.41 (i686) 合格
discus164 glibc-2.5-49.el5_5.6 (i686) glibc-2.3.4-2.41 (i686) 合格
結果: "glibc-2.3.4-2.41 (i686)"のパッケージの存在チェックに合格しました

チェック: "glibc-2.3.4-2.41 (x86_64)"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 glibc-2.5-49.el5_5.6 (x86_64) glibc-2.3.4-2.41 (x86_64) 合格
discus164 glibc-2.5-49.el5_5.6 (x86_64) glibc-2.3.4-2.41 (x86_64) 合格
結果: "glibc-2.3.4-2.41 (x86_64)"のパッケージの存在チェックに合格しました

チェック: "compat-libstdc++-33-3.2.3 (i386)"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 compat-libstdc++-33-3.2.3-61 (i386) compat-libstdc++-33-3.2.3 (i386) 合格
discus164 compat-libstdc++-33-3.2.3-61 (i386) compat-libstdc++-33-3.2.3 (i386) 合格
結果: "compat-libstdc++-33-3.2.3 (i386)"のパッケージの存在チェックに合格しました

チェック: "compat-libstdc++-33-3.2.3 (x86_64)"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 compat-libstdc++-33-3.2.3-61 (x86_64) compat-libstdc++-33-3.2.3 (x86_64) 合格
discus164 compat-libstdc++-33-3.2.3-61 (x86_64) compat-libstdc++-33-3.2.3 (x86_64) 合格
結果: "compat-libstdc++-33-3.2.3 (x86_64)"のパッケージの存在チェックに合格しました

チェック: "elfutils-libelf-0.97 (x86_64)"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 elfutils-libelf-0.137-3.el5 (x86_64) elfutils-libelf-0.97 (x86_64) 合格
discus164 elfutils-libelf-0.137-3.el5 (x86_64) elfutils-libelf-0.97 (x86_64) 合格
結果: "elfutils-libelf-0.97 (x86_64)"のパッケージの存在チェックに合格しました

チェック: "elfutils-libelf-devel-0.97"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 elfutils-libelf-devel-0.137-3.el5 elfutils-libelf-devel-0.97 合格
discus164 elfutils-libelf-devel-0.137-3.el5 elfutils-libelf-devel-0.97 合格
結果: "elfutils-libelf-devel-0.97"のパッケージの存在チェックに合格しました

チェック: "glibc-common-2.3.4"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 glibc-common-2.5-49.el5_5.6 glibc-common-2.3.4 合格
discus164 glibc-common-2.5-49.el5_5.6 glibc-common-2.3.4 合格
結果: "glibc-common-2.3.4"のパッケージの存在チェックに合格しました

チェック: "glibc-devel-2.3.4 (x86_64)"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 glibc-devel-2.5-49.el5_5.6 (x86_64) glibc-devel-2.3.4 (x86_64) 合格
discus164 glibc-devel-2.5-49.el5_5.6 (x86_64) glibc-devel-2.3.4 (x86_64) 合格
結果: "glibc-devel-2.3.4 (x86_64)"のパッケージの存在チェックに合格しました

チェック: "glibc-headers-2.3.4"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 glibc-headers-2.5-49.el5_5.6 glibc-headers-2.3.4 合格
discus164 glibc-headers-2.5-49.el5_5.6 glibc-headers-2.3.4 合格
結果: "glibc-headers-2.3.4"のパッケージの存在チェックに合格しました

チェック: "gcc-c++-3.4.6"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 gcc-c++-4.1.2-48.el5 gcc-c++-3.4.6 合格
discus164 gcc-c++-4.1.2-48.el5 gcc-c++-3.4.6 合格
結果: "gcc-c++-3.4.6"のパッケージの存在チェックに合格しました

チェック: "libaio-devel-0.3.105 (i386)"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 libaio-devel-0.3.106-5 (i386) libaio-devel-0.3.105 (i386) 合格
discus164 libaio-devel-0.3.106-5 (i386) libaio-devel-0.3.105 (i386) 合格
結果: "libaio-devel-0.3.105 (i386)"のパッケージの存在チェックに合格しました

チェック: "libaio-devel-0.3.105 (x86_64)"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 libaio-devel-0.3.106-5 (x86_64) libaio-devel-0.3.105 (x86_64) 合格
discus164 libaio-devel-0.3.106-5 (x86_64) libaio-devel-0.3.105 (x86_64) 合格
結果: "libaio-devel-0.3.105 (x86_64)"のパッケージの存在チェックに合格しました

チェック: "libgcc-3.4.6 (i386)"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 libgcc-4.1.2-48.el5 (i386) libgcc-3.4.6 (i386) 合格
discus164 libgcc-4.1.2-48.el5 (i386) libgcc-3.4.6 (i386) 合格
結果: "libgcc-3.4.6 (i386)"のパッケージの存在チェックに合格しました

チェック: "libgcc-3.4.6 (x86_64)"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 libgcc-4.1.2-48.el5 (x86_64) libgcc-3.4.6 (x86_64) 合格
discus164 libgcc-4.1.2-48.el5 (x86_64) libgcc-3.4.6 (x86_64) 合格
結果: "libgcc-3.4.6 (x86_64)"のパッケージの存在チェックに合格しました

チェック: "libstdc++-3.4.6 (i386)"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 libstdc++-4.1.2-48.el5 (i386) libstdc++-3.4.6 (i386) 合格
discus164 libstdc++-4.1.2-48.el5 (i386) libstdc++-3.4.6 (i386) 合格
結果: "libstdc++-3.4.6 (i386)"のパッケージの存在チェックに合格しました

チェック: "libstdc++-3.4.6 (x86_64)"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 libstdc++-4.1.2-48.el5 (x86_64) libstdc++-3.4.6 (x86_64) 合格
discus164 libstdc++-4.1.2-48.el5 (x86_64) libstdc++-3.4.6 (x86_64) 合格
結果: "libstdc++-3.4.6 (x86_64)"のパッケージの存在チェックに合格しました

チェック: "libstdc++-devel-3.4.6 (x86_64)"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 libstdc++-devel-4.1.2-48.el5 (x86_64) libstdc++-devel-3.4.6 (x86_64) 合格
discus164 libstdc++-devel-4.1.2-48.el5 (x86_64) libstdc++-devel-3.4.6 (x86_64) 合格
結果: "libstdc++-devel-3.4.6 (x86_64)"のパッケージの存在チェックに合格しました

チェック: "sysstat-5.0.5"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 sysstat-7.0.2-3.el5_5.1 sysstat-5.0.5 合格
discus164 sysstat-7.0.2-3.el5_5.1 sysstat-5.0.5 合格
結果: "sysstat-5.0.5"のパッケージの存在チェックに合格しました

チェック: "unixODBC-2.2.11 (i386)"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 unixODBC-2.2.11-7.1 (i386) unixODBC-2.2.11 (i386) 合格
discus164 unixODBC-2.2.11-7.1 (i386) unixODBC-2.2.11 (i386) 合格
結果: "unixODBC-2.2.11 (i386)"のパッケージの存在チェックに合格しました

チェック: "unixODBC-2.2.11 (x86_64)"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 unixODBC-2.2.11-7.1 (x86_64) unixODBC-2.2.11 (x86_64) 合格
discus164 unixODBC-2.2.11-7.1 (x86_64) unixODBC-2.2.11 (x86_64) 合格
結果: "unixODBC-2.2.11 (x86_64)"のパッケージの存在チェックに合格しました

チェック: "unixODBC-devel-2.2.11 (i386)"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 unixODBC-devel-2.2.11-7.1 (i386) unixODBC-devel-2.2.11 (i386) 合格
discus164 unixODBC-devel-2.2.11-7.1 (i386) unixODBC-devel-2.2.11 (i386) 合格
結果: "unixODBC-devel-2.2.11 (i386)"のパッケージの存在チェックに合格しました

チェック: "unixODBC-devel-2.2.11 (x86_64)"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 unixODBC-devel-2.2.11-7.1 (x86_64) unixODBC-devel-2.2.11 (x86_64) 合格
discus164 unixODBC-devel-2.2.11-7.1 (x86_64) unixODBC-devel-2.2.11 (x86_64) 合格
結果: "unixODBC-devel-2.2.11 (x86_64)"のパッケージの存在チェックに合格しました

チェック: "pdksh-5.2.14"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 pdksh-5.2.14-36.el5 pdksh-5.2.14 合格
discus164 pdksh-5.2.14-36.el5 pdksh-5.2.14 合格
結果: "pdksh-5.2.14"のパッケージの存在チェックに合格しました

チェック: "expat-1.95.7 (x86_64)"のパッケージの存在
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 expat-1.95.8-8.3.el5_5.3 (x86_64) expat-1.95.7 (x86_64) 合格
discus164 expat-1.95.8-8.3.el5_5.3 (x86_64) expat-1.95.7 (x86_64) 合格
結果: "expat-1.95.7 (x86_64)"のパッケージの存在チェックに合格しました

UID値0を持つ複数のユーザーをチェック中
結果: UID値0を持つ複数のユーザーのチェックに合格しました

チェック: 現行のグループID
結果: 現行のグループIDチェックに合格しました
コア・ファイル名パターンの一貫性をチェック中...
コア・ファイル名パターンの一貫性チェックに合格しました。

ユーザー"grid"が"root"グループにないことを確認中
ノード名 ステータス コメント
------------ ------------------------ ------------------------
discus264 存在しません 合格
discus164 存在しません 合格
結果: ユーザー"grid"は"root"グループの一部ではありません。チェックに合格しました

デフォルトのユーザー・ファイル作成マスクのチェック
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
discus264 0022 0022 合格
discus164 0022 0022 合格
結果: デフォルトのユーザー・ファイル作成マスクのチェックに合格しました

ネットワーク・タイム・プロトコル(NTP)を使用してクロック同期のチェックを開始中...

NTP構成ファイルのチェックが開始されました...
NTP構成ファイル"/etc/ntp.conf"はすべてのノードで使用できます
NTP構成ファイルのチェックに合格しました

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

チェック: "ntpd"の活性
ノード名 実行中ですか
------------------------------------ ------------------------
discus264 はい
discus164 はい
結果: "ntpd"の活性チェックに合格しました

NTPデーモンのコマンドラインのslewオプション"-x"をチェック中
チェック: NTPデーモン・コマンド・ライン
ノード名 Slewオプションが設定されているか
------------------------------------ ------------------------
discus264 はい
discus164 はい
結果:
NTPデーモンのslewオプションのチェックに合格しました

ファイル"/etc/sysconfig/ntpd"内のNTPデーモンのブート時構成のslewオプション"-x"をチェック中

チェック: NTPデーモンのブート時構成
ノード名 Slewオプションが設定されているか
------------------------------------ ------------------------
discus264 はい
discus164 はい
結果:
NTPデーモンのブート時構成のslewオプションのチェックに合格しました

NTP共通タイム・サーバーのチェックが開始されました...
NTPタイム・サーバー"210.173.160.86"は、NTPデーモンが実行されているすべてのノードで共通です
NTPタイム・サーバー"210.173.176.251"は、NTPデーモンが実行されているすべてのノードで共通です
PRVF-5408 : NTPタイム・サーバー"210.173.160.56"は、次のノード"discus264"でのみ共通です
共通NTPタイム・サーバーのチェックに合格しました

NTPタイム・サーバーからのクロック時間オフセットのチェックが開始されました...
ノード"[discus264, discus164]"をチェック中...
チェック: NTP タイム・サーバーからのクロック時間オフセット

タイム・サーバー: 210.173.160.86
時間オフセット制限: 1000.0 ミリ秒
ノード名 時間オフセット ステータス
------------ ------------------------ ------------------------
discus264 -428.02 合格
discus164 0.164 合格
タイム・サーバー"210.173.160.86"の時間オフセットは、ノード"[discus264, discus164]"の許容限界内です。

タイム・サーバー: 210.173.176.251
時間オフセット制限: 1000.0 ミリ秒
ノード名 時間オフセット ステータス
------------ ------------------------ ------------------------
discus264 -427.36 合格
discus164 0.417 合格
タイム・サーバー"210.173.176.251"の時間オフセットは、ノード"[discus264, discus164]"の許容限界内です。
クロック時間オフセットのチェックに合格しました

結果: ネットワーク・タイム・プロトコル(NTP)を使用したクロック同期のチェックに合格しました


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

「結果: グループ"dba"内のユーザー"grid"のメンバーシップ・チェックが失敗しました」という箇所は無視可能というかマニュアルにもGrid Infrastructureユーザをdbaグループに属させる必要があると記載されていないので無視でOK.


次に、H/WとOSの設定の事前チェック(RACを構成する全ノードのOracle Grid Infrastructureユーザで実施)

[grid@discus164 grid]$ pwd
/home/grid/software/oracle/grid
[grid@discus164 grid]$ ll
合計 76
drwxr-xr-x 9 grid oinstall 4096 8月 17 2009 doc
drwxr-xr-x 4 grid oinstall 4096 12月 3 11:05 install
drwxrwxr-x 2 grid oinstall 4096 8月 15 2009 response
drwxrwxr-x 2 grid oinstall 4096 8月 15 2009 rpm
-rwxr-xr-x 1 grid oinstall 3227 8月 15 2009 runInstaller
-rwxrwxr-x 1 grid oinstall 3795 1月 29 2009 runcluvfy.sh
drwxrwxr-x 2 grid oinstall 4096 8月 15 2009 sshsetup
drwxr-xr-x 14 grid oinstall 4096 8月 15 2009 stage
-rw-r--r-- 1 grid oinstall 4228 8月 18 2009 welcome.html
[grid@discus164 grid]$
[grid@discus164 grid]$
[grid@discus164 grid]$ ./runcluvfy.sh stage -post hwos -n discus164,discus264 -verbose

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

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

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


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

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

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

ホスト構成ファイルをチェック中...
ノード名 ステータス コメント
------------ ------------------------ ------------------------
discus264 合格
discus164 合格

ホスト構成ファイルの検証に成功しました


ノード"discus264"のインタフェース情報
名前 IPアドレス サブネット ゲートウェイ デフォルト・ゲートウェイ HWアドレス MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
eth0 192.168.1.91 192.168.1.0 0.0.0.0 192.168.1.1 08:00:27:CC:3B:97 1500
eth1 192.168.3.91 192.168.3.0 0.0.0.0 192.168.1.1 08:00:27:2F:97:0D 1500
eth2 192.168.2.91 192.168.2.0 0.0.0.0 192.168.1.1 08:00:27:AD:F8:40 1500


ノード"discus164"のインタフェース情報
名前 IPアドレス サブネット ゲートウェイ デフォルト・ゲートウェイ HWアドレス MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
eth0 192.168.1.90 192.168.1.0 0.0.0.0 192.168.1.1 08:00:27:B1:38:96 1500
eth1 192.168.3.90 192.168.3.0 0.0.0.0 192.168.1.1 08:00:27:FC:A5:8E 1500
eth2 192.168.2.90 192.168.2.0 0.0.0.0 192.168.1.1 08:00:27:47:E9:2C 1500


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


チェック: サブネット"192.168.1.0"のTCP接続性
ソース 宛先 接続しましたか
------------------------------ ------------------------------ ----------------
discus164:192.168.1.90 discus264:192.168.1.91 合格
結果: サブネット"192.168.1.0"のTCP接続性チェックに合格しました


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


チェック: サブネット"192.168.3.0"のTCP接続性
ソース 宛先 接続しましたか
------------------------------ ------------------------------ ----------------
discus164:192.168.3.90 discus264:192.168.3.91 合格
結果: サブネット"192.168.3.0"のTCP接続性チェックに合格しました


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


チェック: サブネット"192.168.2.0"のTCP接続性
ソース 宛先 接続しましたか
------------------------------ ------------------------------ ----------------
discus164:192.168.2.90 discus264:192.168.2.91 合格
結果: サブネット"192.168.2.0"のTCP接続性チェックに合格しました


VIPの候補となるサブネット"192.168.1.0"で見つかったインタフェースは次のとおりです:
discus264 eth0:192.168.1.91
discus164 eth0:192.168.1.90

プライベート・インターコネクトの候補となるサブネット"192.168.3.0"で見つかったインタフェースは次のとおりです:
discus264 eth1:192.168.3.91
discus164 eth1:192.168.3.90

プライベート・インターコネクトの候補となるサブネット"192.168.2.0"で見つかったインタフェースは次のとおりです:
discus264 eth2:192.168.2.91
discus164 eth2:192.168.2.90

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


UID値0を持つ複数のユーザーをチェック中
結果: UID値0を持つ複数のユーザーのチェックに合格しました

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

次回へつづく。






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

VirtualBox de RAC (Oracle11g R1編) #1
VirtualBox de RAC (Oracle11g R1編) #2



VirtualBox de Oracle11g R2 RAC #1
VirtualBox de Oracle11g R2 RAC #2 - 事前調査など…
VirtualBox de Oracle11g R2 RAC #3
VirtualBox de Oracle11g R2 RAC #4
VirtualBox de Oracle11g R2 RAC #5
VirtualBox de Oracle11g R2 RAC #6
VirtualBox de Oracle11g R2 RAC #7
VirtualBox de Oracle11g R2 RAC #8
VirtualBox de Oracle11g R2 RAC #9
VirtualBox de Oracle11g R2 RAC #10
VirtualBox de Oracle11g R2 RAC #11
VirtualBox de Oracle11g R2 RAC #12
VirtualBox de Oracle11g R2 RAC #13
VirtualBox de Oracle11g R2 RAC #14

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

2011年1月 1日 (土)

VirtualBox de Oracle11g R2 RAC #14

VirtualBox de Oracle11g R2 RACのつづきです。

今回は、ASMlibのインストール及び構成です。(やっと半分w)

  1. ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
  2. Linux (CentOS 5.5 x86_64)のインストール
  3. Openfiler2.3 x86のインストール
  4. Openfiler2.3 x86によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2その3
  6. Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. Oracle RACノード間リモートアクセスの構成とntpの構成
    sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた)
  9. ローカルネームサーバの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
  12. Oracle11g R2 11.2.0.1.0 RACインストール事前作業
  13. Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
  14. Oracle11g R2 11.2.0.1.0 Database softwareのインストール
  15. Oracle11g R2 11.2.0.1.0 examplesのインストール
  16. Oracle Cluster databaseの作成
  17. Net Serviceの確認
  18. Oralce Grid InsfastructureとDatabase構成の確認
  19. Clusterの開始と停止の確認
  20. 簡単なTransparent Application Failover (TAF)の確認

Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成

[root@discus164 tmp]# uname -a
Linux discus164.macdeoracle.jp 2.6.18-194.17.1.el5 #1 SMP Wed Sep 29 12:50:31 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux


CentOS5.5 2.6.18-194.17.1.el5 x86_64なので、以下のasmパッケージをRACを構成する全ノードでインストール、構成する。

oracleasm-support-2.1.3-1.el5.x86_64.rpm
oracleasmlib-2.0.4-1.el5.x86_64.rpm
oracleasm-2.6.18-194.17.1.el5-2.0.5-1.el5.x86_64.rpm

ダウンロード(RACを構成する全ノードのrootユーザで)CentOS5.5 x86_64ですが、ダウンロードするのはrhel5 amd64版でOK

[root@discus164 tmp]# wget http://oss.oracle.com/projects/oracleasm-support/dist/files/RPMS/rhel5/amd64/2.1.3/oracleasm-support-2.1.3-1.el5.x86_64.rpm
--2010-11-24 16:19:15-- http://oss.oracle.com/projects/oracleasm-support/dist/files/RPMS/rhel5/amd64/2.1.3/oracleasm-support-2.1.3-1.el5.x86_64.rpm
oss.oracle.com をDNSに問いあわせています... 141.146.12.120
oss.oracle.com|141.146.12.120|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 90444 (88K) [application/x-rpm]
`oracleasm-support-2.1.3-1.el5.x86_64.rpm' に保存中

100%[=================================================================================================>] 90,444 105K/s 時間 0.8s

2010-11-24 16:19:17 (105 KB/s) - `oracleasm-support-2.1.3-1.el5.x86_64.rpm' へ保存完了 [90444/90444]

[root@discus164 tmp]# wget http://download.oracle.com/otn_software/asmlib/oracleasmlib-2.0.4-1.el5.x86_64.rpm
--2010-11-24 16:19:30-- http://download.oracle.com/otn_software/asmlib/oracleasmlib-2.0.4-1.el5.x86_64.rpm
download.oracle.com をDNSに問いあわせています... 203.77.186.253, 203.77.186.254
download.oracle.com|203.77.186.253|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 14176 (14K) [text/plain]
`oracleasmlib-2.0.4-1.el5.x86_64.rpm' に保存中

100%[=================================================================================================>] 14,176 --.-K/s 時間 0.01s

2010-11-24 16:19:30 (1.33 MB/s) - `oracleasmlib-2.0.4-1.el5.x86_64.rpm' へ保存完了 [14176/14176]

[root@discus164 tmp]# wget
http://oss.oracle.com/projects/oracleasm/dist/files/RPMS/rhel5/amd64/2.0.5/2.6.18-194.17.1.el5/oracleasm-2.6.18-194.17.1.el5-2.0.5-1.el5.x86_64.rpm
--2010-11-24 16:19:44-- http://oss.oracle.com/projects/oracleasm/dist/files/RPMS/rhel5/amd64/2.0.5/2.6.18-194.17.1.el5/oracleasm-2.6.18-194.17.1.el5-2.0.5-1.el5.x86_64.rpm
oss.oracle.com をDNSに問いあわせています... 141.146.12.120
oss.oracle.com|141.146.12.120|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 137417 (134K) [application/x-rpm]
`oracleasm-2.6.18-194.17.1.el5-2.0.5-1.el5.x86_64.rpm' に保存中

100%[=================================================================================================>] 137,417 161K/s 時間 0.8s

2010-11-24 16:19:46 (161 KB/s) - `oracleasm-2.6.18-194.17.1.el5-2.0.5-1.el5.x86_64.rpm' へ保存完了 [137417/137417]

[root@discus164 tmp]#

インストール(RACを構成する全ノードのrootユーザで)

[root@discus164 tmp]# rpm -ivh oracleasm-2.6.18-194.17.1.el5-2.0.5-1.el5.x86_64.rpm oracleasm-support-2.1.3-1.el5.x86_64.rpm oracleasmlib-2.0.4-1.el5.x86_64.rpm
警告: oracleasm-2.6.18-194.17.1.el5-2.0.5-1.el5.x86_64.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 1e5e0159
準備中... ########################################### [100%]
1:oracleasm-support ########################################### [ 33%]
2:oracleasm-2.6.18-194.17########################################### [ 67%]
3:oracleasmlib ########################################### [100%]
[root@discus164 tmp]#


構成(RACを構成する全ノードのrootユーザで)

[root@discus164 ˜]# /usr/sbin/oracleasm configure
ORACLEASM_ENABLED=false
ORACLEASM_UID=
ORACLEASM_GID=
ORACLEASM_SCANBOOT=true
ORACLEASM_SCANORDER=""
ORACLEASM_SCANEXCLUDE=""
[root@discus164 ˜]# /usr/sbin/oracleasm configure -i
Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting without typing an
answer will keep that current value. Ctrl-C will abort.

Default user to own the driver interface []: grid
Default group to own the driver interface []: asmadmin
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
[root@discus164 ˜]#
[root@discus164 ˜]# /usr/sbin/oracleasm init
Creating /dev/oracleasm mount point: /dev/oracleasm
Loading module "oracleasm": oracleasm
Mounting ASMlib driver filesystem: /dev/oracleasm
[root@discus164 ˜]#

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

[root@discus164 iscsi]# ls -l /dev/iscsi/*
/dev/iscsi/openfiler:asm1:
合計 0
lrwxrwxrwx 1 root root 9 11月 24 10:39 part -> ../../sdb
lrwxrwxrwx 1 root root 10 11月 24 10:39 part1 -> ../../sdb1

/dev/iscsi/openfiler:asm2:
合計 0
lrwxrwxrwx 1 root root 9 11月 24 10:39 part -> ../../sdf
lrwxrwxrwx 1 root root 10 11月 24 10:39 part1 -> ../../sdf1

/dev/iscsi/openfiler:asm3:
合計 0
lrwxrwxrwx 1 root root 9 11月 24 10:39 part -> ../../sde
lrwxrwxrwx 1 root root 10 11月 24 10:39 part1 -> ../../sde1

/dev/iscsi/openfiler:asm4:
合計 0
lrwxrwxrwx 1 root root 9 11月 24 10:39 part -> ../../sdd
lrwxrwxrwx 1 root root 10 11月 24 10:39 part1 -> ../../sdd1

/dev/iscsi/openfiler:crs1:
合計 0
lrwxrwxrwx 1 root root 9 11月 24 10:39 part -> ../../sdg
lrwxrwxrwx 1 root root 10 11月 24 10:39 part1 -> ../../sdg1

/dev/iscsi/openfiler:crs2:
合計 0
lrwxrwxrwx 1 root root 9 11月 24 10:39 part -> ../../sdc
lrwxrwxrwx 1 root root 10 11月 24 10:39 part1 -> ../../sdc1
[root@discus164 iscsi]#
[root@discus164 iscsi]# /usr/sbin/oracleasm createdisk CRSVOL1 /dev/iscsi/openfiler:crs1/part1
Writing disk header: done
Instantiating disk: done
[root@discus164 iscsi]# /usr/sbin/oracleasm createdisk CRSVOL2 /dev/iscsi/openfiler:crs2/part1
Writing disk header: done
Instantiating disk: done
[root@discus164 iscsi]# /usr/sbin/oracleasm createdisk DATAVOL1 /dev/iscsi/openfiler:asm1/part1
Writing disk header: done
Instantiating disk: done
[root@discus164 iscsi]# /usr/sbin/oracleasm createdisk DATAVOL2 /dev/iscsi/openfiler:asm2/part1
Writing disk header: done
Instantiating disk: done
[root@discus164 iscsi]# /usr/sbin/oracleasm createdisk FRAVOL1 /dev/iscsi/openfiler:asm3/part1
Writing disk header: done
Instantiating disk: done
[root@discus164 iscsi]# /usr/sbin/oracleasm createdisk FRAVOL2 /dev/iscsi/openfiler:asm4/part1
Writing disk header: done
Instantiating disk: done
[root@discus164 iscsi]#

ASMディスクを確認(RACを構成する全ノードのrootユーザで)
ASMディスクを作成したノード以外で scandisksコマンドを実行して認識させる。

[root@discus264 ˜]# /usr/sbin/oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
Instantiating disk "FRAVOL2"
Instantiating disk "FRAVOL1"
Instantiating disk "DATAVOL1"
Instantiating disk "CRSVOL2"
Instantiating disk "DATAVOL2"
Instantiating disk "CRSVOL1"
[root@discus264 ˜]#

listdisksコマンドでASMディスクが認識されたか確認!

[root@discus164 ˜]# 
[root@discus164 ˜]#
[root@discus164 ˜]# /usr/sbin/oracleasm listdisks
CRSVOL1
CRSVOL2
DATAVOL1
DATAVOL2
FRAVOL1
FRAVOL2
[root@discus164 ˜]#

[root@discus264 ˜]# 
[root@discus264 ˜]#
[root@discus264 ˜]# /usr/sbin/oracleasm listdisks
CRSVOL1
CRSVOL2
DATAVOL1
DATAVOL2
FRAVOL1
FRAVOL2
[root@discus264 ˜]#

次回へつづく。






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

VirtualBox de RAC (Oracle11g R1編) #1
VirtualBox de RAC (Oracle11g R1編) #2



VirtualBox de Oracle11g R2 RAC #1
VirtualBox de Oracle11g R2 RAC #2 - 事前調査など…
VirtualBox de Oracle11g R2 RAC #3
VirtualBox de Oracle11g R2 RAC #4
VirtualBox de Oracle11g R2 RAC #5
VirtualBox de Oracle11g R2 RAC #6
VirtualBox de Oracle11g R2 RAC #7
VirtualBox de Oracle11g R2 RAC #8
VirtualBox de Oracle11g R2 RAC #9
VirtualBox de Oracle11g R2 RAC #10
VirtualBox de Oracle11g R2 RAC #11
VirtualBox de Oracle11g R2 RAC #12
VirtualBox de Oracle11g R2 RAC #13

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

2010年12月31日 (金)

VirtualBox de Oracle11g R2 RAC #13

VirtualBox de Oracle11g R2 RACのつづきです。

RACを構成する各ノードの構成ファイルを確認しておきま〜す。

  1. ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
  2. Linux (CentOS 5.5 x86_64)のインストール
  3. Openfiler2.3 x86のインストール
  4. Openfiler2.3 x86によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2その3
  6. Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. Oracle RACノード間リモートアクセスの構成とntpの構成
    sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた)
  9. ローカルネームサーバの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
  12. Oracle11g R2 11.2.0.1.0 RACインストール事前作業
  13. Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
  14. Oracle11g R2 11.2.0.1.0 Database softwareのインストール
  15. Oracle11g R2 11.2.0.1.0 examplesのインストール
  16. Oracle Cluster databaseの作成
  17. Net Serviceの確認
  18. Oralce Grid InsfastructureとDatabase構成の確認
  19. Clusterの開始と停止の確認
  20. 簡単なTransparent Application Failover (TAF)の確認

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

RACを構成する各ノードの構成ファイルをざっと確認。ここまでの作業でRACを構成する各ノードの構成ファイルは以下のようになっているはず…

/etc/hosts

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
#::1 localhost6.localdomain6 localhost6

#for public network
192.168.1.90 discus164.macdeoracle.jp discus164
192.168.1.91 discus264.macdeoracle.jp discus264
192.168.1.92 arowana2.macdeoracle.jp arowana2

#for Oracle Interconnect private network
192.168.3.90 discus164-priv.macdeoracle.jp discus164-priv
192.168.3.91 discus264-priv.macdeoracle.jp discus264-priv

#for iSCSI private network
192.168.2.92 arowana2-priv.macdeoracle.jp arowana2-priv
192.168.2.90 discus164-iscsi.macdeoracle.jp discus164-iscsi
192.168.2.91 discus264-iscsi.macdeoracle.jp discus264-iscsi

#for virtual public network
192.168.1.190 discus164-vip.macdeoracle.jp discus164-vip
192.168.1.191 discus264-vip.macdeoracle.jp discus264-vip

192.168.1.2 lampeye.macdeoracle.jp lampeye


/etc/security/limits.conf

[root@discus164 security]# diff -u limits.conf.org limits.conf
--- limits.conf.org 2010-03-12 02:24:15.000000000 +0900
+++ limits.conf 2010-11-24 11:10:30.000000000 +0900
@@ -48,3 +48,11 @@
#@student - maxlogins 4

# End of file
+grid soft nproc 2047
+grid hard nproc 16384
+grid soft nofile 1024
+grid hard nofile 65536
+oracle soft nproc 2047
+oracle hard nproc 16384
+oracle soft nofile 1024
+oracle hard nofile 65536
[root@discus164 security]#


/etc/pam.d/login

[root@discus164 pam.d]# diff -u login.org login
--- login.org 2010-01-20 19:36:29.000000000 +0900
+++ login 2010-11-24 11:16:33.000000000 +0900
@@ -12,3 +12,4 @@
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open
session optional pam_keyinit.so force revoke
+session required pam_limits.so
[root@discus164 pam.d]#


/etc/profile

[root@discus164 etc]# diff -u profile.org profile
--- profile.org 2009-09-22 08:27:09.000000000 +0900
+++ profile 2010-11-24 11:21:27.000000000 +0900
@@ -56,3 +56,12 @@

unset i
unset pathmunge
+if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
+ if [ $SHELL = "/bin/ksh" ]; then
+ ulimit -p 16384
+ ulimit -n 65536
+ else
+ ulimit -u 16384 -n 65536
+ fi
+ umask 022
+fi
[root@discus164 etc]#


/etc/sysctl.conf

[root@discus164 ˜]# sysctl -a | grep -E '(se|sh)m|file-max|aio-max-nr|ip_local_port_range|(w|r)mem_(default|max)'
net.ipv4.ip_local_port_range = 32768 61000
net.core.rmem_default = 129024
net.core.wmem_default = 129024
net.core.rmem_max = 131071
net.core.wmem_max = 131071
vm.hugetlb_shm_group = 0
kernel.sem = 250 32000 32 128
kernel.shmmni = 4096
kernel.shmall = 4294967296
kernel.shmmax = 68719476736
fs.aio-max-nr = 65536
fs.file-max = 371217
[root@discus164 ˜]#


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

[root@discus164 ˜]# 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@discus164 ˜]#


/etc/udev/scripts

[root@discus164 ˜]# cd /etc/udev/scripts
[root@discus164 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@discus164 scripts]#

/etc/ntp.conf

[root@discus164 ˜]# cat /etc/ntp.conf
# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default kod nomodify notrap nopeer noquery

# Permit all access over the loopback interface. This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1
#restrict -6 ::1

# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).

#broadcast 192.168.1.255 key 42 # broadcast server
#broadcastclient # broadcast client
#broadcast 224.0.1.1 key 42 # multicast server
#multicastclient 224.0.1.1 # multicast client
#manycastserver 239.255.254.254 # manycast server
#manycastclient 239.255.254.254 key 42 # manycast client

# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available.
#server 127.127.1.0
#fudge 127.127.1.0 stratum 10

# Drift file. Put this in a directory which the daemon can write to.
# No symbolic links allowed, either, since the daemon updates the file
# by creating a temporary in the same directory and then rename()'ing
# it to the file.
driftfile /var/lib/ntp/drift

# Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography.
keys /etc/ntp/keys

# Specify the key identifiers which are trusted.
#trustedkey 4 8 42

# Specify the key identifier to use with the ntpdc utility.
#requestkey 8

# Specify the key identifier to use with the ntpq utility.
#controlkey 8
server 192.168.1.2
server 192.168.1.2
server 192.168.1.2
restrict 192.168.1.2 mask 255.255.255.255 nomodify notrap noquery
[root@discus164 ˜]#


/etc/sysconfig/ntpd

[root@discus164 ˜]# cat /etc/sysconfig/ntpd
# Drop root to id 'ntp:ntp' by default.
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"

# Set to 'yes' to sync hw clock after successful ntpdate
SYNC_HWCLOCK=yes

# Additional options for ntpdate
NTPDATE_OPTIONS="-B"
[root@discus164 ˜]#

/etc/host.conf

[root@discus164 ˜]$ cat /etc/host.conf
order hosts,bind

Oracle Grid Infrastructureユーザや、Oracle所有者の確認はこちら

念のためにuserとgroupのスナップショットを乗せておきますね。

Users

Groups


Openfier側構成(ゾンビセッション抑止などは以前の記事参照のこと)


次回へつづく。






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

VirtualBox de RAC (Oracle11g R1編) #1
VirtualBox de RAC (Oracle11g R1編) #2



VirtualBox de Oracle11g R2 RAC #1
VirtualBox de Oracle11g R2 RAC #2 - 事前調査など…
VirtualBox de Oracle11g R2 RAC #3
VirtualBox de Oracle11g R2 RAC #4
VirtualBox de Oracle11g R2 RAC #5
VirtualBox de Oracle11g R2 RAC #6
VirtualBox de Oracle11g R2 RAC #7
VirtualBox de Oracle11g R2 RAC #8
VirtualBox de Oracle11g R2 RAC #9
VirtualBox de Oracle11g R2 RAC #10
VirtualBox de Oracle11g R2 RAC #11
VirtualBox de Oracle11g R2 RAC #12

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

2010年12月26日 (日)

VirtualBox de Oracle11g R2 RAC #12

VirtualBox de Oracle11g R2 RACのつづきです。

今回はRACノード構成ファイルの確認という予定だったのですが、DNSの構成を別建てにして置く事にします。量が多いので (^^;;

構成するDNSは、ローカルネットワークかつRACを構成するノードの管理さえできればいいので、ローカルネームサーバとして機能すれば十分。
ということで、RAC向けローカルネームサーバを構成することにします。(DNSは素人なので調べるほうが大変だったw)


では、さっそくやってみましょう。

  1. ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
  2. Linux (CentOS 5.5 x86_64)のインストール
  3. Openfiler2.3 x86のインストール
  4. Openfiler2.3 x86によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2その3
  6. Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. Oracle RACノード間リモートアクセスの構成とntpの構成
    sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた)
  9. ローカルネームサーバの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
  12. Oracle11g R2 11.2.0.1.0 RACインストール事前作業
  13. Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
  14. Oracle11g R2 11.2.0.1.0 Database softwareのインストール
  15. Oracle11g R2 11.2.0.1.0 examplesのインストール
  16. Oracle Cluster databaseの作成
  17. Net Serviceの確認
  18. Oralce Grid InsfastructureとDatabase構成の確認
  19. Clusterの開始と停止の確認
  20. 簡単なTransparent Application Failover (TAF)の確認

DNSの構成

悩んだのが、DNSをどこにたてるかということ。いろいろ悩んでいたんですが、元ネタの1つからいいアイデアもらいました。
それは、DNSをOpenfiler上に構成するということ。ストレージサーバなのでRACを構成する各ノードより先に起動していますし。:)

最初にやるのはDNSサーバを最新版にアップデートすること。でもでもでもですね。以前痛い目にあっていたのでOpenfilerというかrPath Linuxのパッケージ管理は無効化していたんです。このままじゃDNSの最新パッケージを使えないので一時的に使えるようにします。

Openfilerのパッケージ管理は、conaryというrPath Linux由来のものが利用されています。/etc/conaryrcの内容をすべてコメントアウトして利用できないようしてあります。

[root@arowana2 ˜]# cat /etc/conaryrc
#installLabelPath openfiler.rpath.org@ofns:2 conary.rpath.com@rpl:1
#pinTroves (kernel|linux-image-2\.6\.[0-9]+-[0-9]+(-[a-z]+)?)([:-].*|$)
#autoResolve True
#includeConfigFile /etc/conary/config.d/*
[root@arowana2 ˜]#

コメントアウトしていただけなのですぐに利用できるように戻せるのだ! :)

[root@arowana2 ˜]# cat /etc/conaryrc
installLabelPath openfiler.rpath.org@ofns:2 conary.rpath.com@rpl:1
pinTroves (kernel|linux-image-2\.6\.[0-9]+-[0-9]+(-[a-z]+)?)([:-].*|$)
autoResolve True
includeConfigFile /etc/conary/config.d/*
[root@arowana2 ˜]#

conaryをつかってbindを最新版にアップデート!!

[root@arowana2 ˜]# conary update bind:runtime

Conary

確認! 最新版になりました!

[root@arowana2 ˜]# conary q bind
bind=9.4.3_P5-1.1-1

再び、conaryを無効化しておく。(トラウマなだけで今は安定しているかもしれんw だけど止めとくw)

[root@arowana2 ˜]# cat /etc/conaryrc
#installLabelPath openfiler.rpath.org@ofns:2 conary.rpath.com@rpl:1
#pinTroves (kernel|linux-image-2\.6\.[0-9]+-[0-9]+(-[a-z]+)?)([:-].*|$)
#autoResolve True
#includeConfigFile /etc/conary/config.d/*
[root@arowana2 ˜]#


Openfiler(host名:arowana2)で、DNSの構成を始めるにあたって参考にしたサイトを書いておきますね。

Oracle Grid Infrastructureインストレーション・ガイド 11gリリース2(11.2)for Linux - 2.7.4 グリッド・ネーミング・サービスの構成例
Openfiler側にDNSを立てるというアイデアを頂いたサイト。元ネタの1つでもある。
DNSの素人なりにいろいろググって見つけたすげー参考になったサイト「月刊NetworkWorld連載『DNSの仕組み完全解説』」(ありがとうございます!)


今回構築するRACのネットワーク構成は以前の書いたが以下のように構成する。

RACを構成するノード1 (hostname=discus164.macdeoracle.jp)
Hostname タイプ IP address 名前解決方法
discus164 Public 192.168.1.90 hostsおよびDNS
discus164-iscsi Private 192.168.2.90
discus164-priv Private 192.168.3.90
discus164-vip Virtual 192.168.1.190
RACを構成するノード2 (hostname=discus264.macdeoracle.jp)
Hostname タイプ IP address 名前解決方法
discus264 Public 192.168.1.91 hostsおよびDNS
discus264-iscsi Private 192.168.2.91
discus264-priv Private 192.168.3.91
discus264-vip Virtual 192.168.1.191
SCAN VIP1/2/3
Hostname タイプ IP address 名前解決方法
discus-rac64-scan Virtual 192.168.1.200 DNS
discus-rac64-scan 192.168.1.201
discus-rac64-scan 192.168.1.202
Openfiler2.3(iSCSI) - (hostname=arowana2.macdeoracle.jp)
Hostname タイプ IP address 名前解決方法
arowana2 Public 192.168.1.92 hostsおよびDNS
arowana2-priv Private 192.168.2.92

・DNSの構成

/etc/resolv.confの構成は以下の通り。ローカルipアドレスを利用しているRACの各ノードやOpenfilerは/etc/hostsとdnsで解決できるようにしておきます。ipアドレスはすべて固定です。
[root@arowana2 ˜]# cat /etc/resolv.conf
search macdeoracle.jp
nameserver 192.168.1.92

; Forward Lookup Zone
discus164 IN A 192.168.1.90
discus264 IN A 192.168.1.91
discus164-priv IN A 192.168.3.90
discus264-priv IN A 192.168.3.91
discus164-iscsi IN A 192.168.2.90
discus264-iscsi IN A 192.168.2.91
discus164-vip IN A 192.168.1.190
discus264-vip IN A 192.168.1.191
arowana2 IN A 192.168.1.92
arowana2-priv IN A 192.168.2.92
discus-rac64-scan IN A 192.168.1.200
discus-rac64-scan IN A 192.168.1.201
discus-rac64-scan IN A 192.168.1.202

; Reverse Lookup Zone
90 IN PTR discus164.macdeoracle.jp.
91 IN PTR discus264.nacdeiracle,jp.
190 IN PTR discus164-vip.macdeoracle.jp.
191 IN PTR discus264-vip.macdeoracle.jp.
200 IN PTR discus-rac64-scan.macdeoracle.jp.
201 IN PTR discus-rac64-scan.macdeoracle.jp.
202 IN PTR discus-rac64-scan.macdeoracle.jp.
[root@arowana2 ˜]#


/etc/named.confの構成。(逆引き/正引きのゾーン設定や上位DNSへの回送設定)
逆引きの設定で、RACで利用しているローカルipアドレス以外はダーミーゾーンに設定しているところがポイント。気になっていたところなのでググってよい参考サイト見つけられてよかった。ほんと感謝、感謝。

[root@arowana2 ˜]# cat /etc/named.conf
# DNS configuration file for Oracle RAC 11g release 2

options {


// FORWARDERS: Forward any name this DNS can't resolve to my router.
forwarders { 192.168.1.1; };

// DIRECTORY: Directory where named will look for zone files.
directory "/srv/named/data";

//allow query requests
allow-query { 192.168.0.0/22; };
};

# ----------------------------------
# Forward Zone
# ----------------------------------

zone "macdeoracle.jp" IN {
type master;
file "macdeoracle.jp.zone";
allow-update { none; };
};

# ----------------------------------
# Reverse Zone
# ----------------------------------

zone "1.168.192.in-addr.arpa" IN {
type master;
file "1.168.192.in-addr.arpa.zone";
allow-update { none; };
};

zone "168.192.in-addr.arpa" IN {
type master;
file "dummy.zone";
notify no;
};

zone "0.0.127.in-addr.arpa" IN {
type master;
file "0.0.127.in-addr.arpa.zone";
notify no;
};

# ----------------------------------
# private addresses dummy Zone
# ---------------------------------

zone "10.in-addr.arpa" {
type master;
file "dummy.zone";
notify no;
};

zone "16.172.in-addr.arpa" {
type master;
file "dummy.zone";
notify no;
};

zone "17,172,in-addr.arpa" {
type master;
file "dummy.zone";
notify no;
};

zone "18.172.in-addr.arpa" {
type master;
file "dummy.zone";
notify no;
};

zone "19.172.in-addr.arpa" {
type master;
file "dummy.zone";
notify no;
};

zone "20.172.in-addr.arpa" {
type master;
file "dummy.zone";
notify no;
};

zone "21.172.in-addr.arpa" {
type master;
file "dummy.zone";
notify no;
};

zone "22.172.in-addr.arpa" {
type master;
file "dummy.zone";
notify no;
};

zone "23.172.in-addr.arpa" {
type master;
file "dummy.zone";
notify no;
};

zone "24.172.in-addr.arpa" {
type master;
file "dummy.zone";
notify no;
};

zone "25.172.in-addr.arpa" {
type master;
file "dummy.zone";
notify no;
};

zone "26.172.in-addr.arpa" {
type master;
file "dummy.zone";
notify no;
};

zone "27.172.in-addr.arpa" {
type master;
file "dummy.zone";
notify no;
};

zone "28.172.in-addr.arpa" {
type master;
file "dummy.zone";
notify no;
};

zone "29.172.in-addr.arpa" {
type master;
file "dummy.zone";
notify no;
};

zone "30.172.in-addr.arpa" {
type master;
file "dummy.zone";
notify no;
};

zone "31.172,in-addr.arpa" {
type master;
file "dummy.zone";
notify no;
};

[root@arowana2 ˜]#


・以下、正引き/逆引き用ゾーンファイルの作成
/srv/named/data/macdeoracle.jp.zoneの作成(正引き用ゾーンファイル)

[root@arowana2 ˜]# cat /srv/named/data/macdeoracle.jp.zone
; +-------------------------------------------------------------------+
; | /srv/named/data/macdeoracle.jp.zone |
; | |
; | Forward zone definition file for macdeoracle.jp zone |
; +-------------------------------------------------------------------+

$ORIGIN macdeoracle.jp.

$TTL 86400 ; time-to-live - (1 day)

@ IN SOA arowana2.macdeoracle.jp. discus.lampeye.macdeoracle.jp. (
201011021 ; serial number - (yyyymmdd+s)
7200 ; refresh - (2 hours)
300 ; retry - (5 minutes)
604800 ; expire - (1 week)
60 ; minimum - (1 minute)
)
IN NS arowana2.macdeoracle.jp.
localhost IN A 127.0.0.1

; Oracle RAC Nodes
discus164 IN A 192.168.1.90
discus264 IN A 192.168.1.91
discus164-priv IN A 192.168.3.90
discus264-priv IN A 192.168.3.91
discus164-iscsi IN A 192.168.2.90
discus264-iscsi IN A 192.168.2.91
discus164-vip IN A 192.168.1.190
discus264-vip IN A 192.168.1.191

; Network Storage Server
arowana2 IN A 192.168.1.92
arowana2-priv IN A 192.168.2.92

; Single Client Access Name (SCAN) virtual IP
discus-rac64-scan IN A 192.168.1.200
discus-rac64-scan IN A 192.168.1.201
discus-rac64-scan IN A 192.168.1.202

; Miscellaneous Nodes
lampeye IN A 192.168.1.2
[root@arowana2 ˜]#


/srv/named/data/168.192.in-addr.arpa.zon(逆引き用ゾーンファイル)の作成

[root@arowana2 data]# cat 168.192.in-addr.arpa.zone
; +-------------------------------------------------------------------+
; | /srv/named/data/168.192.in-addr.arpa.zone |
; | |
; | Reverse zone definition file for 168.192.in-addr.arpa.zone |
; +-------------------------------------------------------------------+

$ORIGIN 168.192.in-addr.arpa.

$TTL 86400 ; time-to-live - (1 day)

@ IN SOA arowana2.macdeoracle.jp. discus.lampeye.macdeoracle.jp. (
201011021 ; serial number - (yyyymmdd+s)
7200 ; refresh - (2 hours)
300 ; retry - (5 minutes)
604800 ; expire - (1 week)
60 ; minimum - (1 minute)
)
IN NS arowana2.macdeoracle.jp.

; Oracle RAC Nodes
90 IN PTR discus164.macdeoracle.jp.
91 IN PTR discus264.macdeoracle.jp.
190 IN PTR discus164-vip.macdeoracle.jp.
191 IN PTR discus264-vip.macdeoracle.jp.

; Network Storage Server
92 IN PTR arowana2.macdeoracle.jp.

; Single Client Access Name (SCAN) virtual IP
200 IN PTR discus-rac64-scan.macdeoracle.jp.
201 IN PTR discus-rac64-scan.macdeoracle.jp.
202 IN PTR discus-rac64-scan.macdeoracle.jp.

; Miscellaneous Nodes
2 IN PTR lampeye.macdeoracle.jp.
[root@arowana2 data]#


ローカルホスト(127.0.0.1)の逆引きゾーンの定義

[root@arowana2 ˜]# cat /srv/named/data/0.0.127.in-addr.arpa.zone
; +-------------------------------------------------------------------+
; | /srv/named/data/0.0.127.in-addr.arpa.zone |
; | |
; | Reverse zone definition file for 0.0.127.in-addr.arpa.zone |
; +-------------------------------------------------------------------+

$ORIGIN 0.0.127.in-addr.arpa.

$TTL 86400 ; time-to-live - (1 day)

@ IN SOA arowana2.macdeoracle.jp. discus.lampeye.macdeoracle.jp. (
201011021 ; serial number - (yyyymmdd+s)
7200 ; refresh - (2 hours)
300 ; retry - (5 minutes)
604800 ; expire - (1 week)
60 ; minimum - (1 minute)
)
IN NS arowana2.macdeoracle.jp.

; localhost
1 IN PTR localhost.
[root@arowana2 ˜]#


/srv/named/data/dummy.zone(ダミーゾーンファイル)の作成
「月刊NetworkWorld連載『DNSの仕組み完全解説』」の記事を参考にローカルipアドレスの逆引きの問い合わせが外部のDNSに発生しないようにするために利用するダミーゾーンファイルの定義を以下のように作成した。

[root@arowana2 ˜]# cat /srv/named/data/dummy.zone
; +-------------------------------------------------------------------+
; | /srv/named/data/dummy.zone |
; +-------------------------------------------------------------------+


$TTL 86400 ; time-to-live - (1 day)

@ IN SOA arowana2.macdeoracle.jp. discus.lampeye.macdeoracle.jp. (
201011021 ; serial number - (yyyymmdd+s)
28800 ; refresh - (2 hours)
2700 ; retry - (5 minutes)
604800 ; expire - (1 week)
3600 ; minimum - (1 minute)
)
IN NS arowana2.macdeoracle.jp.
[root@arowana2 ˜]#


構成できたらnamedを自動起動設定にしてnamedを起動

[root@arowana2 ˜]# chkconfig named on
[root@arowana2 ˜]# chkconfig --list named
named 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@arowana2 ˜]# service named start
Starting named: [ OK ]

ここまでてdnsの設定はおしまい。前述の作業はすべてOpenfilerを乗せているサーバ上で行った。


つづいて、RACを構成する各ノードでOpenfiler上に構成したローカルネームサーバを参照させるように設定する。
/etc/host.confの構成(RACを構成する全ノード及び、Openfilerを構成したノード)

/etc/hostsを優先させる。/etc/hostsを見てもらうとわかるけど、dnsと重複定義している。無駄と言えばむだだと思うけど。SCAN VIPだけdns管理すればOKなのかってとこまでは見えてないからそれはそれで別途確認だな→TODO
[oracle@discus164 ˜]$ cat /etc/host.conf
order hosts,bind


/etc/hostsの構成(RACを構成する全ノード及び、Openfilerを構成したノード)

[oracle@discus164 ˜]$ 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
#::1 localhost6.localdomain6 localhost6

#for public network
192.168.1.90 discus164.macdeoracle.jp discus164
192.168.1.91 discus264.macdeoracle.jp discus264
192.168.1.92 arowana2.macdeoracle.jp arowana2

#for Oracle Interconnect private network
192.168.3.90 discus164-priv.macdeoracle.jp discus164-priv
192.168.3.91 discus264-priv.macdeoracle.jp discus264-priv

#for iSCSI private network
192.168.2.92 arowana2-priv.macdeoracle.jp arowana2-priv
192.168.2.90 discus164-iscsi.macdeoracle.jp discus164-iscsi
192.168.2.91 discus264-iscsi.macdeoracle.jp discus264-iscsi

#for virtual public network
192.168.1.190 discus164-vip.macdeoracle.jp discus164-vip
192.168.1.191 discus264-vip.macdeoracle.jp discus264-vip


192.168.1.2 lampeye.macdeoracle.jp lampeye
[oracle@discus164 ˜]$

これで準備OK.続いて動作確認!

・正引きテスト

最初に外部サイトが引けるか確認…OK.

[root@discus164 ˜]# nslookup openfiler.com
Server: 192.168.1.92
Address: 192.168.1.92#53

Non-authoritative answer:
Name: openfiler.com
Address: 84.45.94.236

[root@discus164 ˜]#

次に内部…
[root@discus164 ˜]# nslookup lampeye 
Server: 192.168.1.92
Address: 192.168.1.92#53

Name: lampeye.macdeoracle.jp
Address: 192.168.1.2

[root@discus164 ˜]# nslookup discus164
Server: 192.168.1.92
Address: 192.168.1.92#53

Name: discus164.macdeoracle.jp
Address: 192.168.1.90

[root@discus164 ˜]# nslookup discus164-vip
Server: 192.168.1.92
Address: 192.168.1.92#53

Name: discus164-vip.macdeoracle.jp
Address: 192.168.1.190

[root@discus164 ˜]# nslookup discus264
Server: 192.168.1.92
Address: 192.168.1.92#53

Name: discus264.macdeoracle.jp
Address: 192.168.1.91

[root@discus164 ˜]# nslookup discus264-vip
Server: 192.168.1.92
Address: 192.168.1.92#53

Name: discus264-vip.macdeoracle.jp
Address: 192.168.1.191

[root@discus164 ˜]# nslookup discus-rac64-scan
Server: 192.168.1.92
Address: 192.168.1.92#53

Name: discus-rac64-scan.macdeoracle.jp
Address: 192.168.1.201
Name: discus-rac64-scan.macdeoracle.jp
Address: 192.168.1.202
Name: discus-rac64-scan.macdeoracle.jp
Address: 192.168.1.200

[root@discus164 ˜]# nslookup localhost
Server: 192.168.1.92
Address: 192.168.1.92#53

Name: localhost.macdeoracle.jp
Address: 127.0.0.1


・逆引きテスト

[root@discus164 ˜]# nslookup 192.168.1.200
Server: 192.168.1.92
Address: 192.168.1.92#53

200.1.168.192.in-addr.arpa name = discus-rac64-scan.macdeoracle.jp.

[root@discus164 ˜]# nslookup 192.168.1.201
Server: 192.168.1.92
Address: 192.168.1.92#53

201.1.168.192.in-addr.arpa name = discus-rac64-scan.macdeoracle.jp.

[root@discus164 ˜]# nslookup 192.168.1.202
Server: 192.168.1.92
Address: 192.168.1.92#53

202.1.168.192.in-addr.arpa name = discus-rac64-scan.macdeoracle.jp.

[root@discus164 ˜]# nslookup 192.168.1.90
Server: 192.168.1.92
Address: 192.168.1.92#53

90.1.168.192.in-addr.arpa name = discus164.macdeoracle.jp.

[root@discus164 ˜]# nslookup 192.168.1.91
Server: 192.168.1.92
Address: 192.168.1.92#53

91.1.168.192.in-addr.arpa name = discus264.macdeoracle.jp.

[root@discus164 ˜]# nslookup 192.168.1.190
Server: 192.168.1.92
Address: 192.168.1.92#53

190.1.168.192.in-addr.arpa name = discus164-vip.macdeoracle.jp.

[root@discus164 ˜]# nslookup 192.168.1.191
Server: 192.168.1.92
Address: 192.168.1.92#53

191.1.168.192.in-addr.arpa name = discus264-vip.macdeoracle.jp.


[root@discus164 ˜]# nslookup 127.0.0.1
Server: 192.168.1.92
Address: 192.168.1.92#53

1.0.0.127.in-addr.arpa name = localhost.

[root@discus164 ˜]#

これでOK次回へつづく。






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

VirtualBox de RAC (Oracle11g R1編) #1
VirtualBox de RAC (Oracle11g R1編) #2



VirtualBox de Oracle11g R2 RAC #1
VirtualBox de Oracle11g R2 RAC #2 - 事前調査など…
VirtualBox de Oracle11g R2 RAC #3
VirtualBox de Oracle11g R2 RAC #4
VirtualBox de Oracle11g R2 RAC #5
VirtualBox de Oracle11g R2 RAC #6
VirtualBox de Oracle11g R2 RAC #7
VirtualBox de Oracle11g R2 RAC #8
VirtualBox de Oracle11g R2 RAC #9
VirtualBox de Oracle11g R2 RAC #10
VirtualBox de Oracle11g R2 RAC #11

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

2010年12月25日 (土)

VirtualBox de Oracle11g R2 RAC #11

VirtualBox de Oracle11g R2 RACのつづきです。

今回は、RACノード間リモートアクセスの構成です。
Oracle11g R2 11.2.0.2.0ではパスフレーズなしでSSHを構成する必要があるのですが、OUIが自動構成してくれるということ、また、インストレーションガイドでもOUIの自動構成を利用するよう推奨されているんですが、今回はちょっと意地悪なことをしてみます。事前にパスワード付きでSSHを構成しておき、OUIがパスワードなしのSSH構成行われていないと認識しちゃんと自動構成してくれるか見てみます。

Oracle Grid Infrastructureインストレーション・ガイド 11gリリース2(11.2)for Linux - 2.13 インストール時におけるSSHの自動構成
Oracle Grid Infrastructureインストレーション・ガイド 11gリリース2(11.2)for Linux - E.1 すべてのクラスタ・ノードでの手動によるSSHの構成

では、さっそくやってみましょう。

  1. ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
  2. Linux (CentOS 5.5 x86_64)のインストール
  3. Openfiler2.3 x86のインストール
  4. Openfiler2.3 x86によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2その3
  6. Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. Oracle RACノード間リモートアクセスの構成とntpの構成
    sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた)
  9. ローカルネームサーバの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
  12. Oracle11g R2 11.2.0.1.0 RACインストール事前作業
  13. Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
  14. Oracle11g R2 11.2.0.1.0 Database softwareのインストール
  15. Oracle11g R2 11.2.0.1.0 examplesのインストール
  16. Oracle Cluster databaseの作成
  17. Net Serviceの確認
  18. Oralce Grid InsfastructureとDatabase構成の確認
  19. Clusterの開始と停止の確認
  20. 簡単なTransparent Application Failover (TAF)の確認

Oracle RACノード間リモートアクセスの構成
念のために行った、多分、実施しなくても大丈夫だと思うけど…ちょいと意地悪な実験をしてみた)

sshパッケージの確認。(RACを構成する全ノードで)

[root@discus164 etc]# rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n"| grep ssh
openssh-server-4.3p2-41.el5_5.1 (x86_64)
openssh-askpass-4.3p2-41.el5_5.1 (x86_64)
openssh-clients-4.3p2-41.el5_5.1 (x86_64)
openssh-4.3p2-41.el5_5.1 (x86_64)
[root@discus164 etc]#


Oracle11g R2 11.2.0.2.0以降ではSSHのユーザの等価化ではパスフレーズなしのみサポートされているのだとか。なんなく面白そうなので、今回は手動でユーザの等価化をわざわざサポートされていないというパスフレーズ付きで実施してみた(ユーザの等価化チェックでエラーとなりOUI側で自動的にパスフレーズなしのユーザ等価化が行われるはず、なのでどうなるか楽しみ!!!)

RACを構成する全ノードのgrid infrastrucreユーザと/oracle所有者で実施する。(Oracle11g 11.2.0.2.0において手動でSSHのユーザ等価化を行う場合、パスフレーズを入力する箇所でパスフレーズを入力せず、[ENTER]キーをタイプすればOKなのですが、今回は、あえてパスフレーズを入力してあります。ログ上ではパスフレーズを入力していないように見えますが.)

[root@discus164 ˜]# su - grid
[grid@discus164 ˜]$
[grid@discus164 ˜]$ mkdir ˜/.ssh
[grid@discus164 ˜]$ chmod 700 ˜/.ssh
[grid@discus164 ˜]$ /usr/bin/ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/grid/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/grid/.ssh/id_dsa.
Your public key has been saved in /home/grid/.ssh/id_dsa.pub.
The key fingerprint is:
ba:bb:09:72:94:94:d6:29:99:12:7f:d2:a6:a6:60:0a grid@discus164.macdeoracle.jp
[grid@discus164 ˜]$

[root@discus164 ˜]#
[root@discus164 ˜]# su - oracle
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ mkdir ˜/.ssh
[oracle@discus164 ˜]$ chmod 700 ˜/.ssh
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ /usr/bin/ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/oracle/.ssh/id_dsa.
Your public key has been saved in /home/oracle/.ssh/id_dsa.pub.
The key fingerprint is:
88:5d:b0:ec:80:8c:59:ed:22:f7:d8:88:6d:6c:41:1a oracle@discus164.macdeoracle.jp
[oracle@discus164 ˜]$


以下の操作はRAC上の1ノードから行えばOK。ただ、gid infrastructureユーザとOracle所有者の両ユーザで行う必要があるのでご注意を。11.2.0.2.0以降では以前のリリースのように神経質にならなくてもいいかもね。sshの構成に関しては……
Oracle Grid Infrastructureユーザから…

[root@discus164 ˜]# su - grid
[grid@discus164 ˜]$
[grid@discus164 ˜]$
[grid@discus164 ˜]$ touch ˜/.ssh/authorized_keys
[grid@discus164 ˜]$ cd ˜/.ssh
[grid@discus164 .ssh]$ ls -l *.pub
-rw-r--r-- 1 grid oinstall 619 11月 24 13:11 id_dsa.pub
[grid@discus164 .ssh]$ ssh discus164 cat ˜/.ssh/id_dsa.pub >> ˜/.ssh/authorized_keys
The authenticity of host 'discus164 (192.168.1.90)' can't be established.
RSA key fingerprint is 15:90:e9:89:98:8e:ed:3f:67:7b:d4:e7:97:6b:58:c5.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'discus164,192.168.1.90' (RSA) to the list of known hosts.
grid@discus164's password:
[grid@discus164 .ssh]$ ssh discus264 cat ˜/.ssh/id_dsa.pub >> ˜/.ssh/authorized_keys
The authenticity of host 'discus264 (192.168.1.91)' can't be established.
RSA key fingerprint is 55:80:d3:23:4f:82:44:4b:b8:89:02:d8:69:31:7e:f5.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'discus264,192.168.1.91' (RSA) to the list of known hosts.
grid@discus264's password:
[grid@discus164 .ssh]$ scp ˜/.ssh/authorized_keys discus264:.ssh/authorized_keys
grid@discus264's password:
authorized_keys 100% 1238 1.2KB/s 00:00
[grid@discus164 .ssh]$ chmod 600 ˜/.ssh/authorized_keys
[grid@discus164 .ssh]$
[grid@discus164 ˜]$ ssh discus164 hostname
Enter passphrase for key '/home/grid/.ssh/id_dsa':
discus164.macdeoracle.jp
[grid@discus164 ˜]$ ssh discus264 hostname
Enter passphrase for key '/home/grid/.ssh/id_dsa':
discus264.macdeoracle.jp
[grid@discus164 ˜]$


次はOracle所有者で… 11.2.0.2.0以降パスブレーズなしにする必要があるのですがわざと入れてます (^^)

[root@discus164 ˜]# su - oracle
[oracle@discus164 ˜]$ touch ˜/.ssh/authorized_keys
[oracle@discus164 ˜]$ cd ˜/.ssh
[oracle@discus164 .ssh]$ ls -l *.pub
-rw-r--r-- 1 oracle oinstall 621 11月 24 13:14 id_dsa.pub
[oracle@discus164 .ssh]$ ssh discus164 cat ˜/.ssh/id_dsa.pub >> ˜/.ssh/authorized_keys
The authenticity of host 'discus164 (192.168.1.90)' can't be established.
RSA key fingerprint is 15:90:e9:89:98:8e:ed:3f:67:7b:d4:e7:97:6b:58:c5.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'discus164,192.168.1.90' (RSA) to the list of known hosts.
oracle@discus164's password:
[oracle@discus164 .ssh]$ ssh discus264 cat ˜/.ssh/id_dsa.pub >> ˜/.ssh/authorized_keys
The authenticity of host 'discus264 (192.168.1.91)' can't be established.
RSA key fingerprint is 55:80:d3:23:4f:82:44:4b:b8:89:02:d8:69:31:7e:f5.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'discus264,192.168.1.91' (RSA) to the list of known hosts.
oracle@discus264's password:
[oracle@discus164 .ssh]$ scp ˜/.ssh/authorized_keys discus264:.ssh/authorized_keys
oracle@discus264's password:
authorized_keys 100% 1242 1.2KB/s 00:00
[oracle@discus164 .ssh]$ chmod 600 ˜/.ssh/authorized_keys
[oracle@discus164 .ssh]$ cd
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ ssh discus164 hostname
Enter passphrase for key '/home/oracle/.ssh/id_dsa':
discus164.macdeoracle.jp

[oracle@discus164 ˜]$ ssh discus264 hostname
Enter passphrase for key '/home/oracle/.ssh/id_dsa':
discus264.macdeoracle.jp
[oracle@discus164 ˜]$


確認! gird infrastructureユーザとOracle所有者の両方で。

[oracle@discus164 ˜]$ 
[oracle@discus164 ˜]$ exec /usr/bin/ssh-agent $SHELL
[oracle@discus164 ˜]$ /usr/bin/ssh-add
Enter passphrase for /home/oracle/.ssh/id_dsa:
Identity added: /home/oracle/.ssh/id_dsa (/home/oracle/.ssh/id_dsa)
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ ssh discus164 hostname
discus164.macdeoracle.jp
[oracle@discus164 ˜]$ ssh discus264 hostname
discus264.macdeoracle.jp
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ exit
exit
[root@discus164 ˜]# su - grid
[grid@discus164 ˜]$ exec /usr/bin/ssh-agent $SHELL
[grid@discus164 ˜]$ /usr/bin/ssh-add
Enter passphrase for /home/grid/.ssh/id_dsa:
Identity added: /home/grid/.ssh/id_dsa (/home/grid/.ssh/id_dsa)
[grid@discus164 ˜]$ ssh discus164 hostname
discus164.macdeoracle.jp
[grid@discus164 ˜]$ ssh discus264 hostname
discus264.macdeoracle.jp
[grid@discus164 ˜]$


最後に、sttyコマンドよるインストールエラーメッセージ抑止(全ノードの grid/oracleユーザで実施)

参考:Oracle Grid Infrastructureインストレーション・ガイド 11gリリース2(11.2)for Linux - 2.14.5 インストール中にsttyコマンドによって発生するエラーの防止

[grid@discus164 ˜]$ su - oracle
パスワード:
[oracle@discus164 ˜]$ vi .bashrc
[oracle@discus164 ˜]$ cat .bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

# User specific aliases and functions
if [ -t 0 ]; then
stty intr ^C
fi
[oracle@discus164 ˜]$


ここで、やる予定ではなかったのですが、次いでなのでNTPの設定もついでにやっちゃいました。

Host OS側で公開NTPサーバと同期、VirtualBox上に作成したRACを構成する各Guest OSは、Host OSをNTPサーバとして同期する。
このようにしておけば公開NTPサーバを参照するのはHost OSだけなので余計な問い合わせを押さえることができますよね。


RACを構成する全ノード及び、iSCSIでも同じ構成にしてあります。ちなみに、192.168.1.2がHost OS

/etc/ntp.confと/etc/sysconfig/ntpdで構成します。ntpはslewモードで調整するよう設定します。

[root@discus164 ˜]# cat /etc/ntp.conf
# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default kod nomodify notrap nopeer noquery

# Permit all access over the loopback interface. This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1
#restrict -6 ::1

# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).

#broadcast 192.168.1.255 key 42 # broadcast server
#broadcastclient # broadcast client
#broadcast 224.0.1.1 key 42 # multicast server
#multicastclient 224.0.1.1 # multicast client
#manycastserver 239.255.254.254 # manycast server
#manycastclient 239.255.254.254 key 42 # manycast client

# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available.
#server 127.127.1.0
#fudge 127.127.1.0 stratum 10

# Drift file. Put this in a directory which the daemon can write to.
# No symbolic links allowed, either, since the daemon updates the file
# by creating a temporary in the same directory and then rename()'ing
# it to the file.
driftfile /var/lib/ntp/drift

# Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography.
keys /etc/ntp/keys

# Specify the key identifiers which are trusted.
#trustedkey 4 8 42

# Specify the key identifier to use with the ntpdc utility.
#requestkey 8

# Specify the key identifier to use with the ntpq utility.
#controlkey 8
server 192.168.1.2
server 192.168.1.2
server 192.168.1.2
restrict 192.168.1.2 mask 255.255.255.255 nomodify notrap noquery
[root@discus164 ˜]#

[root@discus164 ˜]# cat /etc/sysconfig/ntpd
# Drop root to id 'ntp:ntp' by default.
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"

# Set to 'yes' to sync hw clock after successful ntpdate
SYNC_HWCLOCK=yes

# Additional options for ntpdate
NTPDATE_OPTIONS="-B"
[root@discus164 ˜]#


HostOS側は公開NTPサーバと同期するので以下のような設定にしてあります。

[root@lampeye ˜]# cat /etc/ntp.conf
# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default kod nomodify notrap nopeer noquery

# Permit all access over the loopback interface. This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1

# Hosts on local network are less restricted.
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server -4 ntp.nict.jp minpoll 8 maxpoll 12
server -4 ntp.nict.jp minpoll 8 maxpoll 12
server -4 ntp.nict.jp minpoll 8 maxpoll 12

#broadcast 192.168.1.255 key 42 # broadcast server
#broadcastclient # broadcast client
#broadcast 224.0.1.1 key 42 # multicast server
#multicastclient 224.0.1.1 # multicast client
#manycastserver 239.255.254.254 # manycast server
#manycastclient 239.255.254.254 key 42 # manycast client

# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available.
server 127.127.1.0 #local clock
fudge 127.127.1.0 stratum 10

# Drift file. Put this in a directory which the daemon can write to.
# No symbolic links allowed, either, since the daemon updates the file
# by creating a temporary in the same directory and then rename()'ing
# it to the file.
driftfile /var/lib/ntp/drift

# Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography.
keys /etc/ntp/keys

# Specify the key identifiers which are trusted.
#trustedkey 4 8 42

# Specify the key identifier to use with the ntpdc utility.
#requestkey 8

# Specify the key identifier to use with the ntpq utility.
#controlkey 8
restrict ntp.nict.jp mask 255.255.255.255 nomodify notrap noquery
[root@lampeye ˜]#

[root@lampeye ˜]# cat /etc/sysconfig/ntpd
# Drop root to id 'ntp:ntp' by default.
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"

# Set to 'yes' to sync hw clock after successful ntpdate
SYNC_HWCLOCK=yes

# Additional options for ntpdate
NTPDATE_OPTIONS="-B"
[root@lampeye ˜]#


service ntpd restart で再起動。しばらくしてから…

Host OSがntpサーバと同期できているか確認!!

[root@lampeye ˜]# ntpq -np
remote refid st t when poll reach delay offset jitter
==============================================================================
*210.171.226.40 .NICT. 1 u 38 1024 377 10.447 59.103 9.904
127.127.1.0 .LOCL. 10 l 22 64 377 0.000 0.000 0.001
[root@lampeye ˜]#

公開NTPサーバと同期できています。:)


次はRACを構成する各ノードでHost OSと同期しているか確認します。"*"が表示されているのでうまくいっているようですね。 :)

[root@discus164 ˜]# ntpq -np
remote refid st t when poll reach delay offset jitter
==============================================================================
*192.168.1.2 210.171.226.40 2 u 95 128 377 0.179 121.450 39.443
[root@discus164 ˜]#

[root@discus264 ˜]# ntpq -np
remote refid st t when poll reach delay offset jitter
==============================================================================
*192.168.1.2 210.171.226.40 2 u 5 128 377 0.288 214.652 43.610
[root@discus264 ˜]#

[root@arowana2 ˜]# ntpq -np
remote refid st t when poll reach delay offset jitter
==============================================================================
*192.168.1.2 210.171.226.40 2 u 35 128 377 0.278 -83.188 0.087
[root@arowana2 ˜]#

ということで次回へつづく。






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

VirtualBox de RAC (Oracle11g R1編) #1
VirtualBox de RAC (Oracle11g R1編) #2



VirtualBox de Oracle11g R2 RAC #1
VirtualBox de Oracle11g R2 RAC #2 - 事前調査など…
VirtualBox de Oracle11g R2 RAC #3
VirtualBox de Oracle11g R2 RAC #4
VirtualBox de Oracle11g R2 RAC #5
VirtualBox de Oracle11g R2 RAC #6
VirtualBox de Oracle11g R2 RAC #7
VirtualBox de Oracle11g R2 RAC #8
VirtualBox de Oracle11g R2 RAC #9
VirtualBox de Oracle11g R2 RAC #10

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

2010年12月21日 (火)

VirtualBox de Oracle11g R2 RAC #10

VirtualBox de Oracle11g R2 RACのつづきです。

今回は、カーネルパラメータの調整、その他。

  1. ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
  2. Linux (CentOS 5.5 x86_64)のインストール
  3. Openfiler2.3 x86のインストール
  4. Openfiler2.3 x86によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2その3
  6. Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. Oracle RACノード間リモートアクセスの構成とntpの構成
    sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた)
  9. ローカルネームサーバの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
  12. Oracle11g R2 11.2.0.1.0 RACインストール事前作業
  13. Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
  14. Oracle11g R2 11.2.0.1.0 Database softwareのインストール
  15. Oracle11g R2 11.2.0.1.0 examplesのインストール
  16. Oracle Cluster databaseの作成
  17. Net Serviceの確認
  18. Oralce Grid InsfastructureとDatabase構成の確認
  19. Clusterの開始と停止の確認
  20. 簡単なTransparent Application Failover (TAF)の確認

Oracle Databaseインストレーション・ガイド 11gリリース2(11.2) for Linux - 2.8 Oracleインストール所有者のシェル制限の構成

前述のマニュアルに従い各構成ファイルを設定します。(RACを構成する全ノードで実施します。)

/etc/security/limits.confの設定(差分を載せています)

[root@discus164 security]# diff -u limits.conf.org limits.conf
--- limits.conf.org 2010-03-12 02:24:15.000000000 +0900
+++ limits.conf 2010-11-24 11:10:30.000000000 +0900
@@ -48,3 +48,11 @@
#@student - maxlogins 4

# End of file
+grid soft nproc 2047
+grid hard nproc 16384
+grid soft nofile 1024
+grid hard nofile 65536
+oracle soft nproc 2047
+oracle hard nproc 16384
+oracle soft nofile 1024
+oracle hard nofile 65536
[root@discus164 security]#


/etc/pam.d/loginの設定(差分のみ載せています)

[root@discus164 pam.d]# diff -u login.org login
--- login.org 2010-01-20 19:36:29.000000000 +0900
+++ login 2010-11-24 11:16:33.000000000 +0900
@@ -12,3 +12,4 @@
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open
session optional pam_keyinit.so force revoke
+session required pam_limits.so
[root@discus164 pam.d]#


/etc/profileの設定(差分のみ載せています)

[root@discus164 etc]# diff -u profile.org profile
--- profile.org 2009-09-22 08:27:09.000000000 +0900
+++ profile 2010-11-24 11:21:27.000000000 +0900
@@ -56,3 +56,12 @@

unset i
unset pathmunge
+if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
+ if [ $SHELL = "/bin/ksh" ]; then
+ ulimit -p 16384
+ ulimit -n 65536
+ else
+ ulimit -u 16384 -n 65536
+ fi
+ umask 022
+fi
[root@discus164 etc]#


メモリ及びスワップの要件確認(RACを構成する全ノードで実施)
Oracle Databaseインストレーション・ガイド 11gリリース2(11.2) for Linux - 2.2.1 メモリー要件

[root@discus264 ~]# 
[root@discus264 ~]# cat /proc/meminfo | grep MemTotal
MemTotal: 4051640 kB
[root@discus264 ~]# cat /proc/meminfo | grep SwapTotal
SwapTotal: 6094840 kB
[root@discus264 ~]#


カーネルパラメータの設定(RACを構成する全ノードで実施)
Oracle Databaseインストレーション・ガイド 11gリリース2(11.2) for Linux - 2.9 カーネル・パラメータの構成

[root@discus164 ~]# sysctl -a | grep -E '(se|sh)m|file-max|aio-max-nr|ip_local_port_range|(w|r)mem_(default|max)'
net.ipv4.ip_local_port_range = 32768 61000
net.core.rmem_default = 129024
net.core.wmem_default = 129024
net.core.rmem_max = 131071
net.core.wmem_max = 131071
vm.hugetlb_shm_group = 0
kernel.sem = 250 32000 32 128
kernel.shmmni = 4096
kernel.shmall = 4294967296
kernel.shmmax = 68719476736
fs.aio-max-nr = 65536
fs.file-max = 371217
[root@discus164 ~]#

変更の必要があるのはsem/file-max/aio-max-nr/ip_local_port_range/rmem/wmenね。マニュアルの推奨値に設定します。
(以下、差分だけ載せています。)

[root@discus164 etc]# diff -u sysctl.conf.org sysctl.conf
--- sysctl.conf.org 2010-11-24 12:17:12.000000000 +0900
+++ sysctl.conf 2010-11-24 12:17:48.000000000 +0900
@@ -33,3 +33,12 @@

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296
+# parameter setting for oracle
+net.ipv4.ip_local_port_range = 9000 65500
+kernel.sem = 250 32000 100 128
+fs.aio-max-nr = 1048576
+fs.file-max = 6815744
+net.core.rmem_default = 262144
+net.core.rmem_max = 4194304
+net.core.wmem_default = 262144
+net.core.wmem_max = 1048576
[root@discus164 etc]#
[root@discus164 etc]#
[root@discus164 etc]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv4.ip_local_port_range = 9000 65500
kernel.sem = 250 32000 100 128
fs.aio-max-nr = 1048576
fs.file-max = 6815744
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
[root@discus164 etc]#


次回は、RACノード間リモートアクセスの構成へ続きます!(本場のミソカツ食べたお)






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

VirtualBox de RAC (Oracle11g R1編) #1
VirtualBox de RAC (Oracle11g R1編) #2



VirtualBox de Oracle11g R2 RAC #1
VirtualBox de Oracle11g R2 RAC #2 - 事前調査など…
VirtualBox de Oracle11g R2 RAC #3
VirtualBox de Oracle11g R2 RAC #4
VirtualBox de Oracle11g R2 RAC #5
VirtualBox de Oracle11g R2 RAC #6
VirtualBox de Oracle11g R2 RAC #7
VirtualBox de Oracle11g R2 RAC #8
VirtualBox de Oracle11g R2 RAC #9

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

2010年12月19日 (日)

VirtualBox de Oracle11g R2 RAC #9

VirtualBox de Oracle11g R2 RACのつづきです。

さて、やっと、Oracle所有者と関連ディレクトリの作成及び環境変数の設定作業まできました〜。

  1. ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
  2. Linux (CentOS 5.5 x86_64)のインストール
  3. Openfiler2.3 x86のインストール
  4. Openfiler2.3 x86によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2その3
  6. Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. Oracle RACノード間リモートアクセスの構成とntpの構成
    sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた)
  9. ローカルネームサーバの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
  12. Oracle11g R2 11.2.0.1.0 RACインストール事前作業
  13. Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
  14. Oracle11g R2 11.2.0.1.0 Database softwareのインストール
  15. Oracle11g R2 11.2.0.1.0 examplesのインストール
  16. Oracle Cluster databaseの作成
  17. Net Serviceの確認
  18. Oralce Grid InsfastructureとDatabase構成の確認
  19. Clusterの開始と停止の確認
  20. 簡単なTransparent Application Failover (TAF)の確認

・Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定


Oracle11g R2からOracle Grid Infrastructure(以前はOracle Clusterwareって言われていたやつにASMが組み込まれたと思えばいいのかな?)となり、Oracle所有者以外にOracle Grid Infrastructreユーザの作成が推奨されるようになったので、今回からはOracle所有者に加えてOracle Grid Infrastructureユーザも作成します。

さらに、asmadminやasmdbaといった新顔のグループも必要になり以前より手間が増えてる。 :)

グループの追加方法や、ユーザの作成方法はコマンドでやるもよし、GUIでやるもよし。好きなのを選べばよいと思います。
ノード数が多いとGUIではやらないと思いますけど2ノードですから気にする事ないと思いますよ。:)

で、フループも必要最低限で、oinstall/dba/asmadmin/asmdbaの4グループを作成します。

グループやユーザをコマンドで作成する方法はマニュアルにも記載されていので省略します。
参考:
http://download.oracle.com/docs/cd/E16338_01/install.112/b56271/prelinux.htm#CFIJDFIB
http://download.oracle.com/docs/cd/E16338_01/install.112/b56273/pre_install.htm#BABHHEJD
http://download.oracle.com/docs/cd/E16338_01/install.112/b56271/prelinux.htm#BABBIDCF


以下完成した状態、以下のようになっていればOK. 
[root@discus164 ˜]# 
[root@discus164 ˜]# cat /etc/group | grep -E '(oinstall|dba|asm*)'
oinstall:x:601:oracle,grid
dba:x:602:oracle
asmadmin:x:603:grid
asmdba:x:604:oracle,grid
[root@discus164 ˜]#
[root@discus164 ˜]# cat /etc/passwd | grep -E '(oracle|grid)'
oracle:x:601:601:oracle:/home/oracle:/bin/bash
grid:x:602:601:grid:/home/grid:/bin/bash
[root@discus164 ˜]#
[root@discus164 ˜]# id -a grid
uid=602(grid) gid=601(oinstall) 所属グループ=601(oinstall),603(asmadmin),604(asmdba) context=user_u:system_r:unconfined_t
[root@discus164 ˜]#
[root@discus164 ˜]#
[root@discus164 ˜]# id -a oracle
uid=601(oracle) gid=601(oinstall) 所属グループ=601(oinstall),602(dba),604(asmdba) context=user_u:system_r:unconfined_t


・ORACLE_BASE及びORACLE_HOMEディレクトリの作成

Oracle Grid InfrastructureユーザのORACLE_BASE/ORACLE_HOMEディレクトリ及び、Oracleソフトウェア所有者のORACLE_BASEディレクトリを作成しておきます。

Oracle Grid InfrastrucreユーザのORACLE_BASE=/u01/app/grid、ORACLE_HOME=/u01/app/11.2.0/grid、そして、Oracleソフトウェア所有者のORACLE_BASE=/u01/app/oracle となるように作成しておきます。

RACを構成する全ノードで実施します。

[root@discus164 ˜]#
[root@discus164 ˜]#
[root@discus164 ˜]# mkdir -p /u01/app/grid
[root@discus164 ˜]# mkdir -p /u01/app/11.2.0/grid
[root@discus164 ˜]# chown -R grid:oinstall /u01
[root@discus164 ˜]#
[root@discus164 ˜]#
[root@discus164 ˜]# mkdir -p /u01/app/oracle
[root@discus164 ˜]# chown -R oracle:oinstall /u01/app/oracle
[root@discus164 ˜]# chmod -R 755 /u01
[root@discus164 ˜]#

[root@discus264 ˜]#
[root@discus264 ˜]#
[root@discus264 ˜]# mkdir -p /u01/app/grid
[root@discus264 ˜]# mkdir -p /u01/app/11.2.0/grid
[root@discus264 ˜]# chown -R grid:oinstall /u01
[root@discus264 ˜]#
[root@discus264 ˜]#
[root@discus264 ˜]# mkdir -p /u01/app/oracle
[root@discus264 ˜]# chown -R oracle:oinstall /u01/app/oracle
[root@discus264 ˜]# chmod -R 755 /u01
[root@discus264 ˜]#
[root@discus264 ˜]#


・環境変数


インストールの際には必要最低限の環境変数でいいんだけどね。設定してても問題になった事は、いまのところないのでこの時点で設定しちゃってます。

参考:
http://download.oracle.com/docs/cd/E16338_01/server.112/b56317/admin_ora.htm#i46652

ところで、Oracle11g だけど、ORA_NLS10なんだね。

でも、http://otndnld.oracle.co.jp/document/products/oracle11g/111/doc_dvd/server.111/E05816-01/app_initparam.htm#BABGIEFDというGateways系のパラメータではORA_NLS11で同じパスをさすんだけど、紛らわしいから環境変数もORA_NLS11にしちゃえばわかりやすいのにと思うのは私だけ?…


・Oracle Grid Infrastructureユーザの環境変数の例(RACを構成する全ノードのOracle Grid Infrastructureユーザに設定します)

Oracleソフトウェア所有者とはORACLE_SID、ORACLE_BASE環境変数の値が異なっていることに注意!
Oracle Grid InfrastructureユーザはASM管理者でもあるので。

この辺の設定も以前より手間が増えた部分ですね〜。

なお、ついでなので2.14.5 インストール中にsttyコマンドによって発生するエラーの防止対応を行っています。


[grid@discus164 ˜]$  cat .bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

# User specific aliases and functions
if [ -t 0 ]; then
stty intr ^C
fi
[grid@discus164 ˜]$
[grid@discus164 ˜]$ 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

#for Oracle Grid Infrastructure Owner
#for Grid Infrastructure Owner
# ORACLE_SID : discus164では+ASM1 , discus264では+ASM2をセット
export ORACLE_SID=+ASM1
# ORACLE_BASE/ORACLE_HOME: Grid InfrastructreユーザとOracleソフトウェア所有者では異なるので要注意
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export ORACLE_PATH=.:/u01/app/oracle/common/oracle/sql
export ORA_NLS10=$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib:/lib:/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib:$CLASSPATH
export NLS_LANG=Japanese_japan.al32utf8
export PATH=.:$ORACLE_HOME/bin:$PATH
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
export TNS_ADMIN=$ORACLE_HOME/network/admin
umask 022
[grid@discus164 ˜]$
[grid@discus164 ˜]$

[grid@discus264 ˜]$  cat .bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

# User specific aliases and functions
if [ -t 0 ]; then
stty intr ^C
fi
[grid@discus264 ˜]$
[grid@discus264 ˜]$ 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

#for Grid Infrastructure Owner
# ORACLE_SID : discus164では+ASM1 , discus264では+ASM2をセット
export ORACLE_SID=+ASM2
# ORACLE_BASE/ORACLE_HOME: Grid InfrastructreユーザとOracleソフトウェア所有者では異なるので要注意
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export ORACLE_PATH=.:/u01/app/oracle/common/oracle/sql
export ORA_NLS10=$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib:/lib:/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib:$CLASSPATH
export NLS_LANG=Japanese_japan.al32utf8
export PATH=.:$ORACLE_HOME/bin:$PATH
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
export TNS_ADMIN=$ORACLE_HOME/network/admin
umask 022
[grid@discus264 ˜]$
[grid@discus264 ˜]$

・Oracleソフトウェア所有者の環境変数の例(RACを構成する全ノードのOracleソフトウェア所有者に設定します)


以下、全ノードの設定内容。Oracleソフトウェア所有者の役割はいままで通り。今回作成するデータベースのSIDプリフィックスを orcl にするので
各ノードのORACLE_SID環境変数は orcl1/orcl2 に設定してあります。
[oracle@discus164 ˜]$  cat .bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

# User specific aliases and functions
if [ -t 0 ]; then
stty intr ^C
fi
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ 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

#for Oracle Owner
# ORACLE_SID : discus164ではorcl1 , discus264ではorcl2をセット
export ORACLE_SID=orcl1
# ORACLE_BASE/ORACLE_HOME: Grid InfrastructreユーザとOracleソフトウェア所有者では異なるので要注意
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_PATH=.:$ORACLE_BASE/common/oracle/sql
export ORA_NLS10=$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib:/lib:/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib:$CLASSPATH
export NLS_LANG=Japanese_japan.al32utf8
export PATH=.:$ORACLE_HOME/bin:$PATH
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
export TNS_ADMIN=$ORACLE_HOME/network/admin
# enterprise manager向け (作成するデータベースユニーク名は:orclなのでorclを設定しておく)
export ORACLE_UNQNAME=orcl
umask 022
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$

[oracle@discus264 ˜]$  cat .bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

# User specific aliases and functions
if [ -t 0 ]; then
stty intr ^C
fi
[oracle@discus264 ˜]$
[oracle@discus264 ˜]$ 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

#for Oracle Owner
# ORACLE_SID : discus164ではorcl1 , discus264ではorcl2をセット
export ORACLE_SID=orcl2
# ORACLE_BASE/ORACLE_HOME: Grid InfrastructreユーザとOracleソフトウェア所有者では異なるので要注意
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_PATH=.:$ORACLE_BASE/common/oracle/sql
export ORA_NLS10=$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib:/lib:/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib:$CLASSPATH
export NLS_LANG=Japanese_japan.al32utf8
export PATH=.:$ORACLE_HOME/bin:$PATH
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
export TNS_ADMIN=$ORACLE_HOME/network/admin
umask 022
[oracle@discus264 ˜]$

ということで次回カーネルパラメータなどの設定へつづく。






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

VirtualBox de RAC (Oracle11g R1編) #1
VirtualBox de RAC (Oracle11g R1編) #2



VirtualBox de Oracle11g R2 RAC #1
VirtualBox de Oracle11g R2 RAC #2 - 事前調査など…
VirtualBox de Oracle11g R2 RAC #3
VirtualBox de Oracle11g R2 RAC #4
VirtualBox de Oracle11g R2 RAC #5
VirtualBox de Oracle11g R2 RAC #6
VirtualBox de Oracle11g R2 RAC #7
VirtualBox de Oracle11g R2 RAC #8

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

2010年12月18日 (土)

VirtualBox de Oracle11g R2 RAC #8

VirtualBox de Oracle11g R2 RACのつづきです。

前回はiSCSI targetにローカルデバイス名をマッピングしたとこまででした。今回は前回iSCSIターゲットをマッピングしたローカルデバイスにパーティションを作成します。(
手順は前回と同じなので、そちらも参考に。

  1. ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
  2. Linux (CentOS 5.5 x86_64)のインストール
  3. Openfiler2.3 x86のインストール
  4. Openfiler2.3 x86によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2、その3
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. Oracle RACノード間リモートアクセスの構成(念のために行った、多分、実施しなくても大丈夫だと思うけど。別途確認する予定)
  9. Oracle RACノード構成ファイルの確認
  10. Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
  11. Oracle11g R2 11.2.0.1.0 RACインストール事前作業
  12. Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
  13. Oracle11g R2 11.2.0.1.0 Database softwareのインストール
  14. Oracle11g R2 11.2.0.1.0 examplesのインストール
  15. Oracle Cluster databaseの作成
  16. Net Serviceの確認
  17. Oralce Grid InsfastructureとDatabase構成の確認
  18. Clusterの開始と停止の確認
  19. 簡単なTransparent Application Failover (TAF)の確認

・パーティション

iSCSIターゲットを対応づけたローカルデバイスへfdiskコマンドでパーティションを作成します。

今回は、/dev/iscsi/openfiler:asm1/part、/dev/iscsi/openfiler:asm2/part、/dev/iscsi/openfiler:asm3/part、/dev/iscsi/openfiler:asm4/part、/dev/iscsi/openfiler:crs1/part、/dev/iscsi/openfiler:crs2/partに対して1パーティションを作成し利用可能な全シリンダを割り当てる。
尚、この操作はRACを構成するノードの1ノードからrootユーザとして実施する。

手順は前回の記事を参照のこと。ということで省略します。

最終的に以下の赤字部分の6パーティションが追加されることになります。RACを構成する全ノードで実施。

[root@discus164 ˜]# partprobe
[root@discus164 ˜]# fdisk -l

Disk /dev/sda: 53.6 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 6527 52323705 8e Linux LVM

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

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

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

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

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

Disk /dev/sdf: 22.5 GB, 22548578304 bytes
64 heads, 32 sectors/track, 21504 cylinders
Units = シリンダ数 of 2048 * 512 = 1048576 bytes

デバイス Boot Start End Blocks Id System
/dev/sdf1 1 21504 22020080 83 Linux

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

デバイス Boot Start End Blocks Id System
/dev/sdg1 1 1009 2095662 83 Linux

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

デバイス Boot Start End Blocks Id System
/dev/sdb1 1 21504 22020080 83 Linux
[root@discus164 ˜]#
[root@discus164 ˜]#


・確認
パーティションの作成が済んだらRACの全ノードでrootユーザとしてパーティションが認識されているか確認する。RACを構成する全ノードで。

[root@discus164 ˜]# 
[root@discus164 ˜]#
[root@discus164 ˜]# cd /dev/disk/by-path; ls -l *openfiler* | awk '{print $9 " " $10 " " $11}'
ip-192.168.2.92:3260-iscsi-iqn.2006-01.com.openfiler:asm1-lun-0 -> ../../sdb
ip-192.168.2.92:3260-iscsi-iqn.2006-01.com.openfiler:asm1-lun-0-part1 -> ../../sdb1
ip-192.168.2.92:3260-iscsi-iqn.2006-01.com.openfiler:asm2-lun-0 -> ../../sdc
ip-192.168.2.92:3260-iscsi-iqn.2006-01.com.openfiler:asm2-lun-0-part1 -> ../../sdc1
ip-192.168.2.92:3260-iscsi-iqn.2006-01.com.openfiler:asm3-lun-0 -> ../../sdd
ip-192.168.2.92:3260-iscsi-iqn.2006-01.com.openfiler:asm3-lun-0-part1 -> ../../sdd1
ip-192.168.2.92:3260-iscsi-iqn.2006-01.com.openfiler:asm4-lun-0 -> ../../sdf
ip-192.168.2.92:3260-iscsi-iqn.2006-01.com.openfiler:asm4-lun-0-part1 -> ../../sdf1
ip-192.168.2.92:3260-iscsi-iqn.2006-01.com.openfiler:crs1-lun-0 -> ../../sde
ip-192.168.2.92:3260-iscsi-iqn.2006-01.com.openfiler:crs1-lun-0-part1 -> ../../sde1
ip-192.168.2.92:3260-iscsi-iqn.2006-01.com.openfiler:crs2-lun-0 -> ../../sdg
ip-192.168.2.92:3260-iscsi-iqn.2006-01.com.openfiler:crs2-lun-0-part1 -> ../../sdg1
[root@discus164 ˜]#
[root@discus164 ˜]#
[root@discus164 ˜]#
[root@discus164 ˜]# ls -l /dev/iscsi/*/*
lrwxrwxrwx 1 root root 9 12月 18 13:40 /dev/iscsi/openfiler:asm1/part -> ../../sdb
lrwxrwxrwx 1 root root 10 12月 18 13:40 /dev/iscsi/openfiler:asm1/part1 -> ../../sdb1
lrwxrwxrwx 1 root root 9 12月 18 13:40 /dev/iscsi/openfiler:asm2/part -> ../../sdc
lrwxrwxrwx 1 root root 10 12月 18 13:40 /dev/iscsi/openfiler:asm2/part1 -> ../../sdc1
lrwxrwxrwx 1 root root 9 12月 18 13:40 /dev/iscsi/openfiler:asm3/part -> ../../sdd
lrwxrwxrwx 1 root root 10 12月 18 13:40 /dev/iscsi/openfiler:asm3/part1 -> ../../sdd1
lrwxrwxrwx 1 root root 9 12月 18 13:40 /dev/iscsi/openfiler:asm4/part -> ../../sdf
lrwxrwxrwx 1 root root 10 12月 18 13:40 /dev/iscsi/openfiler:asm4/part1 -> ../../sdf1
lrwxrwxrwx 1 root root 9 12月 18 13:40 /dev/iscsi/openfiler:crs1/part -> ../../sde
lrwxrwxrwx 1 root root 10 12月 18 13:40 /dev/iscsi/openfiler:crs1/part1 -> ../../sde1
lrwxrwxrwx 1 root root 9 12月 18 13:40 /dev/iscsi/openfiler:crs2/part -> ../../sdg
lrwxrwxrwx 1 root root 10 12月 18 13:40 /dev/iscsi/openfiler:crs2/part1 -> ../../sdg1
[root@discus164 ˜]#


2010/12//20追記
忘れてた、前回気づいたCentOS5.5でのiscsidの問題。これに対処しておかないと、Openfiler側に多数のゾンビセッションが残ってしまうので要注意!

ということで次回へつづく。






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

VirtualBox de RAC (Oracle11g R1編) #1
VirtualBox de RAC (Oracle11g R1編) #2



VirtualBox de Oracle11g R2 RAC #1
VirtualBox de Oracle11g R2 RAC #2 - 事前調査など…
VirtualBox de Oracle11g R2 RAC #3
VirtualBox de Oracle11g R2 RAC #4
VirtualBox de Oracle11g R2 RAC #5
VirtualBox de Oracle11g R2 RAC #6
VirtualBox de Oracle11g R2 RAC #7


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

2010年12月12日 (日)

Oracle11g R2 EE 11.2.0.1.0 for Solaris10 (x86_64) on VirtualBox 3.2.12 for MacOS X

Oracle11g R2 for Solaris10 (x86_64) をVirtualBox 3.2.12 for MacOS X上に構築してみた。メモリ2GBしかないとCPU的にもきついのですげ〜時間かかりましたけどね。とりあえずできるっちゅーことで。 :)

MacBook Air 13inch RAM:2GB 128GBモデルでSnow LeopardにVirtualBox 3.2.12を入れて構築してます。ちなみに、Solaris10はファイルシステムにZFSを使ってみました。

20101211_183249

20101211_183219

20101212_165313

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

2010年12月10日 (金)

VirtualBox de Oracle11g R2 RAC #6

VirtualBox de Oracle11g R2 RACのつづきです。

前回はOpenfiler側でその準備をしたところまででした。今回はOracle RACの各ノードでiSCSIボリュームの構成です。

今回も以前行ったCentOS5.2(x86)内容と同じ手順なのでそちらの記事も参考してくださいね。

  1. ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
  2. Linux (CentOS 5.5 x86_64)のインストール
  3. Openfiler2.3 x86のインストール
  4. Openfiler2.3 x86によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. Oracle RACノード間リモートアクセスの構成とntpの構成
    sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた)
  9. ローカルネームサーバの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
  12. Oracle11g R2 11.2.0.1.0 RACインストール事前作業
  13. Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
  14. Oracle11g R2 11.2.0.1.0 Database softwareのインストール
  15. Oracle11g R2 11.2.0.1.0 examplesのインストール
  16. Oracle Cluster databaseの作成
  17. Net Serviceの確認
  18. Oralce Grid InsfastructureとDatabase構成の確認
  19. Clusterの開始と停止の確認
  20. 簡単なTransparent Application Failover (TAF)の確認

・RACを構成する全ノードでiscsi-initiator-utilsがインストールされていることを確認。

インストールされていなかったらyumでインストールしてね。

[root@discus164 ˜]# 
[root@discus164 ˜]#
[root@discus164 ˜]# yum list installed iscsi-initiator-utils | grep installed
iscsi-initiator-utils.x86_64 6.2.0.871-0.16.el5 installed
[root@discus164 ˜]#
[root@discus164 ˜]#
[root@discus164 ˜]# ssh discus264 "yum list installed iscsi-initiator-utils | grep installed"
root@discus264's password:
iscsi-initiator-utils.x86_64 6.2.0.871-0.16.el5 installed
[root@discus164 ˜]#
[root@discus164 ˜]#

・iscsiの起動確認、起動してなかったら service iscsi startで起動.

[root@discus164 ˜]# 
[root@discus164 ˜]# service iscsi status
iscsid (pid 1998) を実行中...
[root@discus164 ˜]#
[root@discus164 ˜]#
[root@discus164 ˜]# ssh discus264 "service iscsi status"
root@discus264's password:
iscsid (pid 1996) を実行中...
[root@discus164 ˜]#
[root@discus164 ˜]#

・自動起動の確認、自動起動になってなかったら chkconfig iscsi on で設定.

[root@discus164 ˜]# chkconfig --list iscsi
iscsi 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@discus164 ˜]#
[root@discus164 ˜]# ssh discus264 "chkconfig --list iscsi"
root@discus264's password:
iscsi 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@discus164 ˜]#
[root@discus164 ˜]#

以下、CentOS5.5では iscsiを起動・停止すればiscsidも起動・停止されるので前述のようになっていればOK.
[root@discus164 ˜]#
[root@discus164 ˜]# cat /etc/rc.d/init.d/iscsi | grep iscsid
status iscsid
/etc/init.d/iscsid start
/etc/init.d/iscsid stop
status iscsid
[root@discus164 ˜]#
[root@discus164 ˜]#

/etc/iscsi/initiatorname.iscsiの設定.わかりやすいIQNにするといいですよん。

[root@discus164 ˜]# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2010-10.jp.macdeoracle.discus1
[root@discus164 ˜]#
[root@discus164 ˜]#
[root@discus164 ˜]# ssh root@discus264 "cat /etc/iscsi/initiatorname.iscsi"
root@discus264's password:
InitiatorName=iqn.2010-10.jp.macdeoracle.discus2
[root@discus164 ˜]#

・iscsi-targetの検出
OpenfilerとRACの各ノードは、VirtualBoxの内部ネットワークアダプタ(VM間でしか通信できない)を利用してprivateネットワークで繋いでおり、Openfiler側で許可したipアドレスからの接続しか受け付けないよう設定していましたよね?、覚えてます?
で、Openfiler側のprivateネットワークのipアドレスは、192.168.2.92と設定したので、 iscsi-targetの検出先は前述のipアドレスということにまります。

なので iscsiadmコマンドの -p パラメータに設定する ipアドレスは 192.168.2.92となっているわけです。

iscsi-targetが検出されました〜! 検出されたiscsi-targetへの接続確認、自動接続設定へと続きます。

[root@discus164 ˜]# 
[root@discus164 ˜]# cat /etc/hosts | grep arowana2-priv
192.168.2.92 arowana2-priv.macdeoracle.jp arowana2-priv
[root@discus164 ˜]#
[root@discus164 ˜]#
[root@discus164 ˜]# iscsiadm -m discovery -t sendtargets -p 192.168.2.92
192.168.2.92:3260,1 iqn.2006-01.com.openfiler:asm1
192.168.2.92:3260,1 iqn.2006-01.com.openfiler:asm2
192.168.2.92:3260,1 iqn.2006-01.com.openfiler:asm4
192.168.2.92:3260,1 iqn.2006-01.com.openfiler:crs2
192.168.2.92:3260,1 iqn.2006-01.com.openfiler:asm3
192.168.2.92:3260,1 iqn.2006-01.com.openfiler:crs1
[root@discus164 ˜]#
[root@discus164 ˜]#
[root@discus164 ˜]# ssh discus264 "iscsiadm -m discovery -t sendtargets -p 192.168.2.92"
root@discus264's password:
192.168.2.92:3260,1 iqn.2006-01.com.openfiler:asm3
192.168.2.92:3260,1 iqn.2006-01.com.openfiler:crs2
192.168.2.92:3260,1 iqn.2006-01.com.openfiler:asm1
192.168.2.92:3260,1 iqn.2006-01.com.openfiler:asm2
192.168.2.92:3260,1 iqn.2006-01.com.openfiler:asm4
192.168.2.92:3260,1 iqn.2006-01.com.openfiler:crs1
[root@discus164 ˜]#
[root@discus164 ˜]#

・iscsi-targetへの手動接続(RACを構成する全ノードで試してください。以下、discus164からの例。)

[root@discus164 ˜]# 
[root@discus164 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:crs1 -p 192.168.2.92 -l
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:crs1, portal: 192.168.2.92,3260]: successful
[root@discus164 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:crs2 -p 192.168.2.92 -l
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:crs2, portal: 192.168.2.92,3260]
Login to [iface: default, target: iqn.2006-01.com.openfiler:crs2, portal: 192.168.2.92,3260]: successful
[root@discus164 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:asm1 -p 192.168.2.92 -l
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:asm1, portal: 192.168.2.92,3260]
Login to [iface: default, target: iqn.2006-01.com.openfiler:asm1, portal: 192.168.2.92,3260]: successful
[root@discus164 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:asm2 -p 192.168.2.92 -l
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:asm2, portal: 192.168.2.92,3260]
Login to [iface: default, target: iqn.2006-01.com.openfiler:asm2, portal: 192.168.2.92,3260]: successful
[root@discus164 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:asm3 -p 192.168.2.92 -l
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:asm3, portal: 192.168.2.92,3260]
Login to [iface: default, target: iqn.2006-01.com.openfiler:asm3, portal: 192.168.2.92,3260]: successful
[root@discus164 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:asm4 -p 192.168.2.92 -l
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:asm4, portal: 192.168.2.92,3260]
Login to [iface: default, target: iqn.2006-01.com.openfiler:asm4, portal: 192.168.2.92,3260]: successful
[root@discus164 ˜]#

ちなみに…手動ログアウトする場合は -l の部分を -u に変えて実行すればOK.

[root@discus164 ˜]# 
[root@discus164 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:crs1 -p 192.168.2.92 -u
Logging out of session [sid: 6, target: iqn.2006-01.com.openfiler:crs1, portal: 192.168.2.92,3260]
Logout of [sid: 6, target: iqn.2006-01.com.openfiler:crs1, portal: 192.168.2.92,3260]: successful
[root@discus164 ˜]#
[root@discus164 ˜]#

iscsi-targetへの自動接続設定(RACを構成する全ノードで実施します。以下discus164からの例)

[root@discus164 ˜]#
[root@discus164 ˜]#
[root@discus164 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:crs1 -p 192.168.2.92 --op update -n node.startup -v automatic
[root@discus164 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:crs2 -p 192.168.2.92 --op update -n node.startup -v automatic
[root@discus164 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:asm1 -p 192.168.2.92 --op update -n node.startup -v automatic
[root@discus164 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:asm2 -p 192.168.2.92 --op update -n node.startup -v automatic
[root@discus164 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:asm3 -p 192.168.2.92 --op update -n node.startup -v automatic
[root@discus164 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:asm4 -p 192.168.2.92 --op update -n node.startup -v automatic
[root@discus164 ˜]
[root@discus164 ˜]#

ちなみに…手動接続に戻す場合は automatic の部分を manual に変えて実行すればOK.(多分、使う事ないと思いますけど、念のため)

[root@discus164 ˜]# 
[root@discus164 ˜]#
[root@discus164 ˜]# iscsiadm -m node -T iqn.2006-01.com.openfiler:crs1 -p 192.168.2.92 --op update -n node.startup -v manual
[root@discus164 ˜]#
[root@discus164 ˜]#

自動接続設定がうまく言っているか確認しましょう。
これまでの手順通りに操作していれば、RACを構成する各ノードから各iscsi-targetへ接続されている状態になっているはずです。

まず、サービスを停止してiscsi-targetからログアウトされるか確認してみます。

[root@discus164 ˜]# 
[root@discus164 ˜]#
[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 ˜]# [ OK ]
[root@discus164 ˜]#
[root@discus164 ˜]# ssh discus264 "service iscsi stop"
root@discus264's password:
Logging out of session [sid: 1, target: iqn.2006-01.com.openfiler:asm3, portal: 192.168.2.92,3260]
Logging out of session [sid: 2, target: iqn.2006-01.com.openfiler:crs2, portal: 192.168.2.92,3260]
Logging out of session [sid: 3, target: iqn.2006-01.com.openfiler:asm1, portal: 192.168.2.92,3260]
Logging out of session [sid: 4, target: iqn.2006-01.com.openfiler:asm2, portal: 192.168.2.92,3260]
Logging out of session [sid: 5, target: iqn.2006-01.com.openfiler:asm4, 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:asm3, portal: 192.168.2.92,3260]: successful
Logout of [sid: 2, target: iqn.2006-01.com.openfiler:crs2, portal: 192.168.2.92,3260]: successful
Logout of [sid: 3, target: iqn.2006-01.com.openfiler:asm1, portal: 192.168.2.92,3260]: successful
Logout of [sid: 4, target: iqn.2006-01.com.openfiler:asm2, portal: 192.168.2.92,3260]: successful
Logout of [sid: 5, target: iqn.2006-01.com.openfiler:asm4, 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 ˜]#

うまくいきました。次はiscsiサービスを起動して各iscsi-targetへ自動接続されるか確認します。

[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 ˜]#
[root@discus164 ˜]#
[root@discus164 ˜]# ssh discus264 "service iscsi start"
root@discus264's password:
iscsid が停止していますが PID ファイルが残っています
[ OK ] iSCSI daemon: [ OK ]
[ OK ]
iSCSI ターゲットを設定中: 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:crs2, portal: 192.168.2.92,3260]
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:crs1, portal: 192.168.2.92,3260]
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:crs2, portal: 192.168.2.92,3260]: successful
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:crs1, portal: 192.168.2.92,3260]: successful
[ OK ]
[root@discus164 ˜]#
[root@discus164 ˜]#

うまく接続できたようです。

最後にOpenfilerの管理画面で接続状態を確認してみます。

20101210_150418

今日はこの辺で。





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

VirtualBox de RAC (Oracle11g R1編) #1
VirtualBox de RAC (Oracle11g R1編) #2



VirtualBox de Oracle11g R2 RAC #1
VirtualBox de Oracle11g R2 RAC #2 - 事前調査など…
VirtualBox de Oracle11g R2 RAC #3
VirtualBox de Oracle11g R2 RAC #4
VirtualBox de Oracle11g R2 RAC #5

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

2010年12月 9日 (木)

VirtualBox de Oracle11g R2 RAC #5

VirtualBox de Oracle11g R2 RACのつづきです。

Openfiler2.3のインストールとiSCSIボリュームの構成なのですが、VMでもリアルなマシンへのインストールとの違いは無いので詳しくは書きません。以前の記事を参考にしてくださいね。(ネットワーク関連は前回の記事もあわせてご覧ください

なお、今回Openfier2.3 (x86)向けに作成したVM (x86 red hat linux)は、CPU*2/RAM:2GB/DISK:100GBとしてあります。
Openfiler2.3 (x86)インストール時のパーティションは/bootに100MB、/に4GB、swapにメモリサイズの倍で4GBを配分し、残りの91.9GBを未割当としました。
未割当とした91.9GBをiSCSIボリュームで利用することになります。(この未割当分が大切。この時点ではパーティションに割り当てないで残しておいてね)

NOTE:
この時点では/etc/hostsファイルだけで、DNSは利用していません。Oracle11g R2 11.2.0.1.0 RACインストール事前作業Oracle RACノード間リモートアクセスの構成が終わったあとでDNSの構成を行います。(OpenfilerにDNSを構成することにしたので、このタイミングでDNSの構成とhostsファイルの構成を行うほうがよいとは思うのですが…


Openfiler2.3によるiSCSIボリュームの構成はこちらを参考に…
Mac de Oracle - 10万円未満 de RAC (11g編)#4 - 4. Openfiler2.3によるiSCSIボリュームの構成

以前と違う点は、Oracle11g R2からVoting diskとOCRがASM管理可能となったので全ボリュームをASM管理で行うことにしました。

という1点だけ。(iSCSIボリュームで利用する残り91.9GBをどのような割合で論理ボリュームへ配分したかは後述)

以前までOracleの共有ディスク・クラスタ・ファイルシステム(ocfs2)をインストールしていましたが今回は利用しません。Oracle11g R2でもVoting diskとOCRの共有ディスク・クラスタ・ファイルシステム管理は可能なようですが…)

  1. ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
  2. Linux (CentOS 5.5 x86_64)のインストール
  3. Openfiler2.3 x86のインストール
  4. Openfiler2.3 x86によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. Oracle RACノード間リモートアクセスの構成とntpの構成
    sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた)
  9. ローカルネームサーバの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
  12. Oracle11g R2 11.2.0.1.0 RACインストール事前作業
  13. Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
  14. Oracle11g R2 11.2.0.1.0 Database softwareのインストール
  15. Oracle11g R2 11.2.0.1.0 examplesのインストール
  16. Oracle Cluster databaseの作成
  17. Net Serviceの確認
  18. Oralce Grid InsfastructureとDatabase構成の確認
  19. Clusterの開始と停止の確認
  20. 簡単なTransparent Application Failover (TAF)の確認

以前の記事参照ください…ばかりだと、今回書く事がなくなってしまうのでiSCSIのボリューム構成で今回変えたところを書いておきますね。
(今回はすべてASM管理下に置くので…)

Openfiler2.3(x86)インストール完了後、/etc/hostsに設定した内容は以下の通り。

[root@arowana2 ˜]# 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

192.168.1.92 arowana2.macdeoracle.jp arowana2
192.168.1.90 discus164.macdeoracle.jp discus164
192.168.1.91 discus264.macdeoracle.jp discus264

192.168.2.92 arowana2-priv.macdeoracle.jp arowana2-priv
192.168.2.90 discus164-iscsi.macdeoracle.jp discus164-iscsi
192.168.2.91 discus264-iscsi.macdeoracle.jp discus264-iscsi

192.168.1.2 lampeye.macdeoracle.jp lampeye
[root@arowana2 ˜]#


今回作成するiSCSI論理ボリュームおよびターゲット名などは以下の通り。
(Openfilerの構成手順はMac de Oracle - 10万円未満 de RAC (11g編)#4を参照のこと。)

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

前回の書いた通り、iSCSI専用の経路でアクセスできるようdiscus164-iscsiおよびdiscus264-iscsiからのみOpenfilerへ接続できるよう設定した。
Network_access_configuration_2


・Partitionの作成および、Volume groupの作成

91.9GBの未割当領域を/dev/sda4としてパーティション割当を行った後、rac1というVolume Groupを作成し/dev/sda4を割り当てる。

Block_device_management

Volume_group_management


・論理ボリュームの割当

rac1(前述の操作で作成したVolume Group)を選択し、論理ボリュームを追加する。今回はcrs向けに2GBの論理ボリューム2つ、OracleのData向けに21GBの論理ボリューム2つ、そして、Fast Recovory Area向けに21GBの論理ボリュームを2つを追加作成する。(91.9GBのうち、88GBを利用したので3.9GBほど残っちゃいましたけどね)

Volume_management


・iSCSI Target Qualified Name(IQN)の設定

crs向けに2つ、Oracle data file向けに2つ、Oralce Fast Recovery Area向けに2つのボリュームグループを作成したので、それぞれにiSCSI Target Qualified Nameを割り当てた。

CRS向け - iqn.2006-01.com.openfiler:crs1 および crs2
Oracle Data file向け - iqn.2006-01.com.openfiler:asm1 および asm2
Oracle Fast Recovery Area向け - iqn.2006-01.com.openfiler:asm3 および asm4

asm1〜4より、data1/2とか fra1/2にしたほうがわかりやすかったですね〜…後から反省。


Iscsi_target


・Network ACLの設定

RACを構成する2ノードのiscsi用privateネットワーク(discus164-iscsiおよび、discus264-iscsi(からのアクセスを許可するよう設定した。

Network_acl


・LUNマッピング

iSCSI Target Qualified Name(IQN)の設定で作成した各IQNをLUNへマッピングする。
マッピング内容は以下の通り。

Lun_iqn_mapping

ここまでくればiSCSIの準備は終了!

次回へつづく。





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

VirtualBox de RAC (Oracle11g R1編) #1
VirtualBox de RAC (Oracle11g R1編) #2



VirtualBox de Oracle11g R2 RAC #1
VirtualBox de Oracle11g R2 RAC #2 - 事前調査など…
VirtualBox de Oracle11g R2 RAC #3
VirtualBox de Oracle11g R2 RAC #4

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

2010年12月 8日 (水)

VirtualBox de Oracle11g R2 RAC #4

VirtualBox de Oracle11g R2 RACのつづきです。

今回は、VirtuslBoxで作成したRed hat用64bitVMへCentOS5.5 (x86_64)をインストールします。が、もう既に何度も行っていることなのでインストール自体の解説は省略します。足りないパッケージがあればyumで都度インストールでもいいですし :) 端折りすぎと突っ込まれそうだが。
過去になんどか書いているのでそちらを参照していただいてもいいですし、元ネタを参照するもよし。(但し元ネタはOracle Enterprise Linuxですが、同じ系統なのでそれほど違いはないはず…Oracle Enterprise Linuxインスコしたことのないのに言うのもなんなんですが…)

Networkの構成については省略しないで書いてあるので m(_ _)m

  1. ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
  2. Linux (CentOS 5.5 x86_64)のインストール
  3. Openfiler2.3 x86のインストール
  4. Openfiler2.3 x86によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. Oracle RACノード間リモートアクセスの構成とntpの構成
    sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた)
  9. ローカルネームサーバの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
  12. Oracle11g R2 11.2.0.1.0 RACインストール事前作業
  13. Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
  14. Oracle11g R2 11.2.0.1.0 Database softwareのインストール
  15. Oracle11g R2 11.2.0.1.0 examplesのインストール
  16. Oracle Cluster databaseの作成
  17. Net Serviceの確認
  18. Oralce Grid InsfastructureとDatabase構成の確認
  19. Clusterの開始と停止の確認
  20. 簡単なTransparent Application Failover (TAF)の確認

・CentOS5.5のダウンロード、DVDのisoイメージをダウンロードして今後のためにDVDに焼いておいた。MacOS XでisoイメージのDVDを焼く方法は以前の記事を参照のこと。
http://ftp.riken.jp/Linux/centos/5.5/isos/x86_64/CentOS-5.5-x86_64-bin-DVD-1of2.iso
http://ftp.riken.jp/Linux/centos/5.5/isos/x86_64/CentOS-5.5-x86_64-bin-DVD-2of2.iso

CentOS5.5になったからといって、特にインストール方法に大きな違いはないので詳細は以前の記事や、元ネタなどをご参考に。(元ネタはOracle Enterprise Linuxを利用していますが、系統は同じRed hatなので注意点などほぼ同じだと思います。)ちょっとだけ書いてくと、今回作成したCentOS5.5 x86_64用VMはメモリ4GB、DISK容量50GBを割り当てているので、swapはメモリと同サイズの4GB、/bootには100MB、残りを/へ配分しました。
また、SELinuxはPermissiveモード、FirewallはDisableにしておくというのはお約束なのでお忘れなく。FirewallをEnableにしたままだといろいろとハマりまるのでしっかりチェックしておくと吉ですよん。(ハマった人→私)


Oracle11g R2からネットワーク要件が変りネットワーク周りは大切なのでしっかり書いておきますね。
適当に書いた配置図も参照のこと。)また、IPv6はOFFで固定IPとしています。(IPv6はOFFにしなくても問題ないですが、今回のネタでは不要なので。)

以下、Openfiler(iSCSI)のノードも含めたネットワーク構成は以下。

RACを構成するノード1 (hostname=discus164.macdeoracle.jp)
device ip address sub-netmask 備考
eth0(ネットワークアダプタ:ブリッジアタプタ) 192.168.1.90 255.255.255.0 パブリックネットワーク用、ギガビット
eth1(ネットワークアダプタ:内部ネットワーク) 192.168.2.90 255.255.255.0 プライベートネットワーク用(iSCSIアクセス用)、ギガビット
eth2(ネットワークアダプタ:内部ネットワーク) 192.168.3.90 255.255.255.0 プライベートネットワーク用(Interconnect用)、ギガビット
RACを構成するノード2 (hostname=discus264.macdeoracle.jp)
device ip address sub-netmask 備考
eth0(ネットワークアダプタ:ブリッジアダプタ) 192.168.1.91 255.255.255.0 パブリックネットワーク用、ギガビット
eth1(ネットワークアダプタ:内部ネットワーク) 192.168.2.91 255.255.255.0 プライベートネットワーク用(iSCSIアクセス用)、ギガビット
eth2(ネットワークアダプタ:内部ネットワーク) 192.168.3.91 255.255.255.0 プライベートネットワーク用(Interconnect用)、ギガビット
iSCSIを構成するノード (hostname=arowana2.macdeoracle.jp)
device ip address sub-netmask 備考
eth0(ネットワークアダプタ:ブリッジアダプタ) 192.168.1.92 255.255.255.0 パブリックネットワーク用、ギガビット
eth1(ネットワークアダプタ:内部ネットワーク) 192.168.2.92 255.255.255.0 プライベートネットワーク用(iSCSIアクセス用)、ギガビット


上記を元に以下のドキュメントをおよび元ネタなどを参考に、hostsおよびDNSを利用して固定IPアドレスでネットワークを構成することにした。

Oracle Grid Infrastructureインストレーション・ガイド 11gリリース2(11.2)for Linux - 2.7.2.2 手動で構成する場合のIPアドレス要件

独り言:
2ノードRACでなぜ、3つのSCAN VIPが推奨されているのかは、未だによく理解できていない???? 2ノードRACだから2じゃだめなの? 3つだと何がおしいいの?
どんどん謎は深まる…。だれか教えてw どっかにSCAN VIPってなにがおいしいのか2ノードRACで3つのSCAN VIPが推奨される理由が書いてある資料ないのかな〜。3ノード以上のRACだとSCAN VIPをどの程度増やせばおいしくなるの〜などなど????w

Oracle Grid Infrastructureインストレーション・ガイド 11gリリース2(11.2)for Linux - 2.7.5 手動によるIPアドレスの構成例

http://www.oracle.com/technetwork/articles/hunter-rac11gr2-iscsi-088677.html

http://www.idevelopment.info/data/Oracle/DBA_tips/Oracle11gRAC/CLUSTER_12.shtml

前述のマニュアルなどを参考に今回構築する全ノードのhostsファイルやDNS構成の概要は以下の通り。

RACを構成するノード1 (hostname=discus164.macdeoracle.jp)
Hostname タイプ IP address 名前解決方法
discus164 Public 192.168.1.90 hostsおよびDNS
discus164-iscsi Private 192.168.2.90
discus164-priv Private 192.168.3.90
discus164-vip Virtual 192.168.1.190
RACを構成するノード2 (hostname=discus264.macdeoracle.jp)
Hostname タイプ IP address 名前解決方法
discus264 Public 192.168.1.91 hostsおよびDNS
discus264-iscsi Private 192.168.2.91
discus264-priv Private 192.168.3.91
discus264-vip Virtual 192.168.1.191
SCAN VIP1/2/3
Hostname タイプ IP address 名前解決方法
discus-rac64-scan Virtual 192.168.1.200 DNS
discus-rac64-scan 192.168.1.201
discus-rac64-scan 192.168.1.202
Openfiler2.3(iSCSI) - (hostname=arowana2.macdeoracle.jp)
Hostname タイプ IP address 名前解決方法
arowana2 Public 192.168.1.92 hostsおよびDNS
arowana2-priv Private 192.168.2.92


ということで次回へつづく。
(こちらの都合で慌てて書いたので、おそらくいつもよりタイポとか誤字脱字、リンク先ミスなどが多いかもしれない…気づいたら後で修正します!)

2010/12/9追記:
hostsファイルとDNSで同じ名前解決するのってどうなんだろーって思っておりますが…hosts優先だし…。まあ、そのまんまでいきます。はい。
で、インストール後、各ノードの/etc/hostsはどう設定したかというと…

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
#::1 localhost6.localdomain6 localhost6

#for public network
192.168.1.90 discus164.macdeoracle.jp discus164
192.168.1.91 discus264.macdeoracle.jp discus264
192.168.1.92 arowana2.macdeoracle.jp arowana2

#for Oracle Interconnect private network
192.168.3.90 discus164-priv.macdeoracle.jp discus164-priv
192.168.3.91 discus264-priv.macdeoracle.jp discus264-priv

#for iSCSI private network
192.168.2.92 arowana2-priv.macdeoracle.jp arowana2-priv
192.168.2.90 discus164-iscsi.macdeoracle.jp discus164-iscsi
192.168.2.91 discus264-iscsi.macdeoracle.jp discus264-iscsi

#for virtual public network
192.168.1.190 discus164-vip.macdeoracle.jp discus164-vip
192.168.1.191 discus264-vip.macdeoracle.jp discus264-vip

192.168.1.2 lampeye.macdeoracle.jp lampeye






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

VirtualBox de RAC (Oracle11g R1編) #1
VirtualBox de RAC (Oracle11g R1編) #2



VirtualBox de Oracle11g R2 RAC #1
VirtualBox de Oracle11g R2 RAC #2 - 事前調査など…
VirtualBox de Oracle11g R2 RAC #3

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

2010年12月 5日 (日)

こんなところでもお目にかかるとは。

MacOS XのDeveloper ToolsのUtilitiesでJava VisualVMをたまたまクリックしたら…。

20101205_135713

あら、こんなところでおめにかかるとはOracle Sun しっかりロゴが入れ替わっておりましたね :)

20101205_135724


20101205_135758


20101205_135853

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

2010年12月 4日 (土)

VirtualBox de Oracle11g R2 RAC #3

VirtualBox de Oracle11g R2 RACのつづきです。

以下のような内容で進めていきます。ほぼ元ネタに近いですけどね :)

前々回前回と少々構成もあるあるていど書いてますが、全体像をまとめて書いておきますね。

  1. ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
  2. Linux (CentOS 5.5 x86_64)のインストール
  3. Openfiler2.3 x86のインストール
  4. Openfiler2.3 x86によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. Oracle RACノード間リモートアクセスの構成とntpの構成
    sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた)
  9. ローカルネームサーバの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
  12. Oracle11g R2 11.2.0.1.0 RACインストール事前作業
  13. Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
  14. Oracle11g R2 11.2.0.1.0 Database softwareのインストール
  15. Oracle11g R2 11.2.0.1.0 examplesのインストール
  16. Oracle Cluster databaseの作成
  17. Net Serviceの確認
  18. Oralce Grid InsfastructureとDatabase構成の確認
  19. Clusterの開始と停止の確認
  20. 簡単なTransparent Application Failover (TAF)の確認



・Hardware

・CPU - Intel Core i7-980X Extreme Edition 3.33Ghz (6 core / 12 thread) * 1
・Memory - 12GB (2GB * 6)
・Disk - S-ATA2 1TB * 2
・NIC - on board Gbit NIC * 1
グラフィックカードは気にしてなかったので安めの、 NVIDIA GeForce GTS 250 (512MB)

上記PCで3つのVMを起動するので結構いっぱいいっぱいなのでクライアントはいつものようにMacを使います。
MacProの12-Core (2.66GHz 6コア Intel Xeon"Westmere" * 2)ってお化けPCがもうちょっと早く発表されてたらな〜、Mac上でVM作って楽しめたんだがタイミングの問題なのでしかたない 
><


・Software

・Host OS - CentOS5.5 (kernel 2.6.18-194.17.1.el5) x86_64
・System virtual machine software - VirtualBox 3.2.8 x86_64 for Linux

・Guest OS (for iSCSI) - Openfiler2.3 x86 (rPath Linux)
・DNS - bind9.4.3_P5-1.1-1 (rPath Linuxのソフトウェア管理ツールであるconaryを利用してインストールします)

・Guest OS (for RAC) - CentOS5.5 x86_64 (kernel 2.6.18-194.17.1.el5)

VMの構成は前回の通りなのだが、一応書いておくと

・Openfiler2.3 x86向けVMの構成
ネットワークアダプタ1をブリッジアダプタで定義してPublicネットワーク用に利用し、ネットワークアダプタ1は内部ネットワークとして定義しPrivateネットワーク用(iSCSIのアクセス用)に利用する。
ちなみに、VirtualBoxの内部ネットワークは、VM間でのみ通信できるアダプタなのでInterConnectなどのPrivateネットワーク向きなんじゃないかと思っている。

・OSタイプ - Red Hat (32bit仮想マシン)
・メインメモリ - 2GB (ちょいと少なめ)
・プロセッサ数 - 2
・SATAポート0 - 100GB
・ネットワークアダプタ1 - Intel PRO/1000 MT Desktop (ブリッジアダプタ - eth0)
・ネットワークアダプタ2 - Intel PRO/1000 MT Desktop (内部ネットワーク - intnet)

・各RACノードのCentOS5.5 x86_64向けVMの構成
Openfiler向けVMと同様にネットワークアダプタ1はブリッジアダプタとして定義して、Publicネットワークとして利用し、ネットワーク2は内部ネットワークで定義してiSCSI用のPrivateネットワーク。ネットワークアダプタ3も内部ネットワークとして定義し、Interconnect用Privateネットワークとして使う。

・OSタイプ - Red Hat (64bit仮想マシン)
・メインメモリ - 4GB
・プロセッサ数 - 4
・SATAポート0 - 50GB
・ネットワークアダプタ1 - Intel PRO/1000 MT Desktop (ブリッジアダプタ - eth0)
・ネットワークアダプタ2 - Intel PRO/1000 MT Desktop (内部ネットワーク - intnet)
・ネットワークアダプタ3 - Intel PRO/1000 MT Desktop (内部ネットワーク - intnet)


ということで次回へつづく。





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

VirtualBox de RAC (Oracle11g R1編) #1
VirtualBox de RAC (Oracle11g R1編) #2



VirtualBox de Oracle11g R2 RAC #1
VirtualBox de Oracle11g R2 RAC #2 - 事前調査など…

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

2010年12月 2日 (木)

VirtualBox de Oracle11g R2 RAC #2 - 事前調査など…

VirtualBox de Oracle11g R2 RACの続きです。

構築記録の詳細は後にして、最初に事前調査など(Oracle11g R2でいろいろと変わってるところあるので…)

・hangcheck-timerカーネル・モジュール

Oracle11g R1まではhangcheck-timerカーネル・モジュールが必要となっていたが、Oracle11g R2では不要となっている。
(Oracle11g R1でも当初不要とマニュアルに記載されていたが、後に必要と訂正されていた。おそらくフライングね)


・RACノード間の時刻同期

Cluster Time Synchronization Service (CTSS)という新機能が追加され、NTPで時刻合わせできない環境やNTPを利用しない環境でも時刻同期できるようになった。

が、今回はNTPで時刻合わせするのでCTSSは使わない


・Single Client Access Name (SCAN) VIP

SCANなるものが登場した。まだ勉強不足でSCANを使うと何がどうおいしいのか理解できていないのであとでちゃんと読むw

参考:

http://www.oracle.com/technology/global/jp/products/database/clustering/pdf/scan.pdf


・ネットワーク要件

前述のSCAN VIPの構成にも関わるが、以下のマニュアルによれば固定IP方式である場合、hostsファイルおよび、DNSという構成で対応できるということは確認できたので、今回は、hostsファイル+DNSという構成にすることにした。

参考:

Oracle Grid Infrastructureインストレーション・ガイド 11gリリース2(11.2)for Linux - 2.7.5 手動によるIPアドレスの構成例


・ソフトウェア要件

いつもの通りCentOS5.5 x86_86を利用するのでRed Hadt系のソフトウェア要件を参考に…

参考:

Oracle Grid Infrastructureインストレーション・ガイド11gリリース2(11.2)for Linux 2.8.2 x86-64 - Linuxプラットフォームでのソフトウェア要件
Oracle Databaseクイック・インストレーション・ガイド 11gリリース2(11.2) for Linux x86-644 - ソフトウェア要件の確認


・ストレージ

Oracle11g R2からOracle ClusterファイルもASM管理化に置くことができるようになったので、OpenfilerのiSCSIのボリュームをすべてASM管理にしちゃう。
Oracle11g R1の時はOracle Clusterファイルだけocfs2を利用していたが、今回はocsf2のインストール・構成は不要になった。

参考:

Oracle Grid Infrastructureインストレーション・ガイド11gリリース2(11.2)for Linux 3.1.3 - サポートされている記憶域オプション


・仮想NIC

以前はまではInterconnect用とiSCSI用を兼用させていたけど、今回はそれぞれに個別にVNICを割り当てて使う。
どうせ仮想だからお金かからないのがいいところw リアルな環境だと予算の都合上できないことも簡単に試せる :)

2010/12/3追記:
・SSHユーザの等価関係の有効化

OUIでパスフレーズなしのユーザ等価関係の有効化を自動的にやってくれるようになったみたい。信用しないわけじゃないんだけどとりあえず、Oracle11g R1までのように手動でもやっとく。

Oracle Grid Infrastructureインストレーション・ガイド 11gリリース2(11.2)for Linux- E.1 すべてのクラスタ・ノードでの手動によるSSHの構成

という、ざっくりとした方針だけ決めてVirtualBox de Oracle11g R2 RACを構築〜。

以下、Openfier2.3 (x86)とRACのノードに利用するCentOS5.5(x86_64)向けVM構成(VirtualBox3.2.8を利用した3.2.10リリースされてるけど)のスナップショットなど…。

ちなみに、VirtualBox3.2.10と3.2.12でいろいろbug fixされてるけど、3.2.8のままで。


・Openfiler2.3 (iSCSI)に利用するVM構成は以下の通り。
※100GBのディスクにx86_64なんて名称をつけちゃってますが32bitの仮想マシンです!

20101202_132628


・Oracle11g R2 x86_64の各ノードで利用するCentOS5.5 x86_64向けVM構成は以下の通り。
※こちらは64bitの仮想マシンです。

20101202_132642

次回へつづく。





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

VirtualBox de RAC (Oracle11g R1編) #1
VirtualBox de RAC (Oracle11g R1編) #2



VirtualBox de Oracle11g R2 RAC #1

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

2010年10月18日 (月)

Mac de Oracle - 10万円未満 de RAC (11g編)改め、 VirtualBox de RAC (Oracle11g R1編) #1

いままでいろいろと遊んでいたPCやうちの奥さんのPCがじゃまになってきたのでCore i7 980x (6 core / ハイパースレッディングを使って12CPU)というやつ1台に集約!

さすがに"10万円未満 de"はとは言えなくなった(購入金額をVM数で割ってもちょいと足がでるが、電気代とか占有スペースとか必要に応じてVM作って遊べるのでお得だ。)ので、VirtualBox de RACと改名いたしましたw

とは言っても、Oracle11g R1 EE for Linux x86でiSCSIを使うというのは同じで、違うのは全部VMっていうところだけ。
手順もMac de Oracle - 10万円未満 de RAC (11g編)と同じ(OCFS2やASMlibのバージョンはCentOSのバージョンに対応する最新のものを利用しています。)なのでVM使ってて悩んだ所などを中心に書く予定。


・CPU - Intel Core i7-980X Extreme Edition 3.33Ghz (6 core / 12 thread) * 1
・Memory - 12GB (2GB * 6)
・Disk - S-ATA2 1TB * 2
・NIC - on board Gbit NIC
グラフィックカードは気にしてなかったので安めの、 NVIDIA GeForce GTS 250 (512MB)



Screenshotvirtualbox


Screenshotoracle_vm_virtualbox1_2


Screenshotoracle_vm_virtualbox_2


Screenshotoracle_vm_virtualbox2_2

ソフトウェアは以下の通り。

ホストOS等
・CentOS5.5 x86_64 (Kernel:2.6.18-194.17.1.e15)
・VirtualBox3.2.8 x86_64


ゲストOS等
・CentOS5.5 x86 (kernel:2.6.18-194.17.1.e15PAE)
・Openfiler2.3 x86
・Oracle11g 11.1.0.6.0 EE for Linux x86
 など…

以下、適当に書いた配置図。
VNICの設定では、外部ネットワークにも行けるようにBridge Adapterを使ったこととInterconnect向けにInternal Networkを使った(VirtualBoxのInternal NetworkはGestOS間でのみ通信できHostOSからも見えない)
Virtualbox_de_rac_11g_r1

という案で、VMごとクラッシュさせたりいろいろ悩みながらなんとかインスコ&構築done。現在は以下ような状態! :)
Oem1

Virtualbox_de_rac_11g_r1_2


次回へつづく。



関連エントリ
Mac de Oracle - 10万円未満 de RAC (11g編)#28

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

2010年10月11日 (月)

MacOSXでCD-RWやDVD-RWに記録した内容を全て消去する方法(Unix/Linux使いだけど、MacOS Xは初心者って方向けの方法)

さて、さて、MacOS XのTerminalからいろいろと初心者向けじゃないことを続けて書いちゃおーかなーということで。

今回は、CD-RWととかDVD-RWとか追記可能な光ディスクに記録したデータなど不要になり全部消去したい場合の方法。
quickはオプションなので時間がかかってもよい場合はquickなしでいいよ!

discus:˜ discus$ diskutil -help
Disk Utility Tool
Utility to manage local disks and volumes.
Most options require root access to the device

Usage: diskutil <verb> <options>
<verb> is one of the following:
list (List the partitions of a disk)
information | info (Get information on a disk or volume)

unmount (Unmount a single volume)
unmountDisk (Unmount an entire disk (all volumes))
eject (Eject a disk)
mount (Mount a single volume)
mountDisk (Mount an entire disk (all mountable volumes))
rename (Rename a volume)

enableJournal (Enable HFS+ journaling on a mounted HFS+ volume)
disableJournal (Disable HFS+ journaling on a mounted HFS+ volume)

verifyVolume (Verify the structure of a volume)
repairVolume (Repair the structure of a volume)

verifyPermissions (Verify the permissions of a volume)
repairPermissions (Repair the permissions of a volume)
repairOS9Permissions (Repair the permissions for the current
Classic boot volume)

eraseDisk (Erase an existing disk, removing all volumes)
eraseVolume (Erase an existing volume)
reformat (Reformat an existing volume)
eraseOptical (Erase an optical media (CD/RW, DVD/RW, etc.))
zeroDisk (Erase a disk, writing zeros to the media)
randomDisk (Erase a disk, writing random data to the media)
secureErase (Securely erase a disk or freespace on a volume)
resizeVolume (resize a volume, increasing or decreasing its size)

partitionDisk ((re)Partition a disk, removing all volumes)

createRAID (Create a RAID set on multiple disks)
destroyRAID (Destroy an existing RAID set)
checkRAID (Check a RAID set for errors)
enableRAID (Convert a disk to a degraded RAID mirror set)
convertRAID (Convert a RAID 1.x (pre-Tiger) to a RAID 2.x (Tiger))
updateRAID (Update the settings of an existing RAID)
addToRAID (Add a spare or member disk to an existing RAID)
removeFromRAID (Remove a spare or member disk from an existing RAID)
repairMirror (Repair a damaged RAID mirror set)

diskutil <verb> with no options will provide help on that verb

discus:˜ discus$ diskutil eraseOptical -help
Disk Utility Tool
Usage: diskutil eraseOptical [quick]
[Mount Point|Disk Identifier|Device Node]
Completely erase an existing optical disk. Ownership of the affected disk is required.
Example: diskutil eraseOptical quick /dev/disk2
discus:˜ discus$

消去したいCD-RWやDVD-RWを挿入後、デバイス名を確認! この例の場合、/dev/disk1ですね。

discus:˜ discus$ mount | grep discus_cd_img
/dev/disk1s1s3 on /Volumes/discus_cd_img (hfs, local, nodev, nosuid, read-only, noowners)
discus:˜ discus$

以下の例ではquickオプション付けてます!

discus:˜ discus$
discus:˜ discus$ diskutil eraseOptical quick /dev/disk1
Started erase on disk disk1
[ + 0%..10%..20%..30%..40%..50%..60%..70%..80%..90%..100% ]
Finished erase on disk disk1
discus:˜ discus$

終了!!!

まっさらになったDISCなので以下のようなダイアログが表示される.「取り出す」ボタンをクリックして取り出しましょ!
Diskutil_quick_eraseing_cd

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

MacOSXでCDやDVDを焼く方法 #2(Unix/Linux使いだけど、MacOS Xは初心者って方向けの方法)

前回は、isoイメージをshell commandで焼く方法だったけど、ついでなのでdisk imageを焼く方法をdisk imageの作成、disk imageへのファイルコピー、最後にCDを焼くという流れでも書いておきますね。 :)

コマンドの詳細はhelpをどうぞ。沢山オプションあるけど。(^^;;;

G5Server:/tmp discus$ hdiutil create -help

hdiutil create: create a disk image image
Usage: hdiutil create <sizespec> <imagepath>
Size specifiers:
-size < ?? | ??b | ??k | ??m | ??g | ??t | ??p | ??e >
(mkfile(8) plus terabytes, petabytes, & exabytes)
-sectors <count>
-megabytes <count>

Image options:
-layout <layout> [SPUD unless -fs -> NONE]
SPCD - single partition CD/DVD
SPUD - 単一パーティション
UNIVERSAL CD - CD/DVD
NONE - パーティションマップなし
UNIVERSAL HD - ハードディスク
-partitionType <partitionType> [Apple_HFS or per -fs]
-align <sector alignment> [4 aka 2K]
-ov

Filesystem options:
-fs <filesystem>
Case-sensitive HFS+ - Mac OS Extended (Case-sensitive)
Journaled HFS+ - Mac OS Extended (Journaled)
Case-sensitive Journaled HFS+ - Mac OS Extended (Case-sensitive, Journaled)
HFS+ - Mac OS Extended
HFS - Mac OS Standard
MS-DOS FAT32 - MS-DOS File System (FAT32)
MS-DOS FAT16 - MS-DOS File System (FAT16)
MS-DOS - MS-DOS File System
MS-DOS FAT12 - MS-DOS File System (FAT12)
UFS - UNIX File System
-volname <volumename> ["untitled"]
-stretch < ?? | ?b | ??k | ??m | ??g | ??t | ??p | ??e > (HFS+)

New Blank Image options:
-type <image type> [UDIF]
UDIF - 読み込み/書き込みディスクイメージ
SPARSE - スパースディスクイメージ

Image from Folder options:
-srcfolder <source folder>
-(no)anyowners do (not) attempt to preserve owners
-(no)skipunreadable do (not) skip unreadable files/directories [no]
-format <image type> [UDZO]
DC42 - Disk Copy 4.2
RdWr - NDIF 読み込み/書き込み
Rdxx - NDIF 読み込み専用
ROCo - NDIF 圧縮
Rken - NDIF 圧縮(KenCode)
UDRO - 読み込み専用
UDCO - 圧縮(ADC)
UDZO - 圧縮
UDBZ - 圧縮(bzip2)
UFBI - 装置全体
IPOD - iPod イメージ
UDxx - UDIF スタブ
UDRW - 読み込み/書き込み
UDTO - DVD/CD マスター
UDSP - スパース
UDIF - 読み込み/書き込みディスクイメージ
SPARSE - スパースディスクイメージ

Image from Device options:
-srcdevice <source dev node, e.g. disk1, disk2s1>
-format <image type> [UDZO]
DC42 - Disk Copy 4.2
RdWr - NDIF 読み込み/書き込み
Rdxx - NDIF 読み込み専用
ROCo - NDIF 圧縮
Rken - NDIF 圧縮(KenCode)
UDRO - 読み込み専用
UDCO - 圧縮(ADC)
UDZO - 圧縮
UDBZ - 圧縮(bzip2)
UFBI - 装置全体
IPOD - iPod イメージ
UDxx - UDIF スタブ
UDRW - 読み込み/書き込み
UDTO - DVD/CD マスター
UDSP - スパース
-segmentSize < ?? | ??b | ??k | ??m | ??g | ??t | ??p | ??e >
(blocks, bytes, kilobytes, megabytes, gigabytes, terabytes, petabytes, exabytes)

Attach options:
-attach attach image after creation

Common options:
-encryption <crypto method>
-stdinpass
-certificate <path-to-cert-file>
-imagekey <key>=<value>
-tgtimagekey <key>=<value>
-plist return results in plist format
-puppetstrings
-verbose
-debug
-quiet
G5Server:/tmp discus$

disk imageの作成例)

CD用に500MBのdisk imageを1パーティションかつ、HFS+で、discus_cd_imgというボリューム名作成します。ファイル名は、discus.dmgというファイル名にしておきます。
disk imageが作成されたらマウントさせるように -attachオプションも付けて!

G5Server:/tmp discus$ hdiutil create -size 500m -layout SPCD -fs HFS+ -volname discus_cd_img -attach discus
...........................................................................................................
/dev/disk3 Apple_partition_scheme
/dev/disk3s1 Apple_partition_map
/dev/disk3s2 Apple_Driver_ATAPI
/dev/disk3s3 Apple_HFS /Volumes/discus_cd_img
created: /private/tmp/discus.dmg
G5Server:/tmp discus$

作成したdisk imageへファイルをコピーして、マウントしていたdisk imageをアンマウント。

G5Server:/tmp discus$
G5Server:/tmp discus$ cp -pr /Users/discus/Pictures/DesktopPics/* /Volumes/discus_cd_img
G5Server:/tmp discus$
G5Server:/tmp discus$ hdiutil detach -help
hdiutil detach: detach disk image from system
Usage: hdiutil detach <devname>

Note: you can specify a mount point (e.g. /Volumes/MyDisk)
instead of a dev node (e.g. /dev/disk1)

Options:
-force forcibly detach

Common options:
-verbose
-debug
-quiet
G5Server:/tmp discus$
G5Server:/tmp discus$
G5Server:/tmp discus$ hdiutil detach /Volumes/discus_cd_img
"disk3" unmounted.
"disk3" ejected.
G5Server:/tmp discus$


焼き方は、isoイメージの場合と同じ。

注)

hdiutil: burn: “ディスクイメージファイル名”not recognized - リソースが一時的に使用できません。
hdiutil: burn failed - リソースが一時的に使用できません。

というエラーになった場合は、burn前に、ディスクイメージをdetachしてからburnすればOKですよ〜ん。MacOS X 10.4ではattachしたままでも焼けたけど、MacOS 10.5以降では前述のエラーを返すのでご注意を!
G5Server:/tmp discus$
G5Server:/tmp discus$ hdiutil burn discus.dmg
Please insert a disc:
ディスクに書き込むデータを準備中
セッションを開いています
トラックを開いています
トラックを書き込み中
...........................................................................................................
トラックを閉じています
............................................................................................................
セッションを閉じています
ディスクの作成を終了中
ディスク作成の検証中...
検証
.............................................................................................................
ディスクの作成は問題なく完了しました
.............................................................................................................
hdiutil: burn: completed
G5Server:/tmp discus$




MacOSXでCDやDVDを焼く方法(初心者でも分かり易い方法)
MacOSXでCDやDVDを焼く方法(Unix/Linux使いだけど、MacOS Xは初心者って方向けの方法)

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

2010年10月10日 (日)

MacOSXでCDやDVDを焼く方法(Unix/Linux使いだけど、MacOS Xは初心者って方向けの方法)

最近、Macユーザが多くなってきた影響か、MacOSXでCDやDVDを焼く方法(初心者でも分かり易い方法)ってエントリがよくググられているので、PC初心者向きではないけど、Linux使いな方でMacは初心者って方向け、terminalからcommandでisoイメージのCDやDVDを焼く方法。

hdiutilというコマンドで焼く事ができます!
オプションはhelp参照のこと。(尚、以下のログはMacOS X 10.4なのですが、10.6でも同じです。暗号化に指定できる暗号化方法は増えてたかな。その程度の差だったはず。)

G5Server:/tmp discus$
G5Server:/tmp discus$ hdiutil burn -help

hdiutil burn: burn an image to optical media
Usage: hdiutil burn <image>
Options:
-speed <speed e.g. 1, 2, 4, 8, ... max>
-device <OpenFirmware path>
-sizequery just calculate size of disc required
-testburn don't turn on laser

Toggles:
-noeject don't eject disc after burning
-noverifyburn don't verify disc contents after burn
-noaddpmap don't add partition map
-noskipfinalfree don't skip burning final free partition
-optimizeimage optimize filesystem for burning
-forceclose close disc after burning
-nounderrun disable buffer underrun protection
-[no]synth synthesize new filesystem from volume

Common options:
-encryption <crypto method>
-stdinpass
-srcimagekey <key>=<value> (-imagekey is a synonym)
-shadow <shadowfile>
-insecurehttp
-cacert <file|dir>
-puppetstrings
-verbose
-debug
-quiet

Related actions:
-erase erase disc (quickly)
-fullerase completely erase disc
-list list all burning devices, for -device
G5Server:/tmp discus$

早速、簡単な例を1つ。CentOS5.5のLiveCDのisoイメージをMacOS X上にダウンロード後、isoイメージCDを焼いちゃいます。
MacOSXの場合、Linuxと違って、wgetじゃなくてcurlなんですよ、プログラミング言語のCurlとと勘違いしちゃう人もたまにいますけどw

※まず、curlでCentOS5.5 LiveCD isoイメージのダウンロードから!

G5Server:/tmp discus$ curl -O http://ftp.osuosl.org/pub/centos/5.5/isos/x86_64/CentOS-5.5-x86_64-LiveCD.iso

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 694M 100 694M 0 0 384k 0 0:30:47 0:30:47 --:--:-- 395k

G5Server:/tmp discus$
G5Server:/tmp discus$ ll CentOS-5.5-x86_64-LiveCD.iso
-rw-r--r-- 1 discus wheel 728184832 Oct 10 10:28 CentOS-5.5-x86_64-LiveCD.iso

G5Server:/tmp discus$

※hdiutilコマンドでburnしちゃいます。簡単。コマンドを実行するとCD/DVDトレイにDISCを挿入するように要求されるので、指示通りにDISCを挿入すれば後は、勝ってにやいてくれて、焼き終わったらEjectしてくれます。

G5Server:/tmp discus$ hdiutil burn CentOS-5.5-x86_64-LiveCD.iso
Please insert a disc:
ディスクに書き込むデータを準備中
セッションを開いています
トラックを開いています
トラックを書き込み中
............................................................................................................
トラックを閉じています
............................................................................................................
セッションを閉じています
............................................................................................................
ディスクの作成を終了中
ディスク作成の検証中...
検証
.............................................................................................................
ディスクの作成は問題なく完了しました
.............................................................................................................
hdiutil: burn: completed
G5Server:/tmp discus$



MacOSXでCDやDVDを焼く方法(初心者でも分かり易い方法)
MacOSXでCDやDVDを焼く方法 #2(Unix/Linux使いだけど、MacOS Xは初心者って方向けの方法)

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

2010年9月30日 (木)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #8

前回の続きです。pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2も今回で一旦終了。

今回は、最後に残った、Oracle11g EE R2 11.2.0.1.0 for Linux x86-64で再確認。64bit版のOracle11g R21と同じ結果になるに違いねぇ。とまた、決めつけてるw

SQL> select * from v$version;

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

SQL> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 100M
SQL>
SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_ldr_pga_lim 0 TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_pgactx_cap_stacks FALSE TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 104857600 FALSE

9行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 100
aggregate PGA auto target 58.6582031
global memory bound 20

SQL>

pga_aggregate_targetを10MB/50MB/1GB/5GB/10GB/100GB/4095GBと、いつものように増加させながらv$pgastatビューのGlobal memory boundでpgaサイズを確認してみます!

SQL> alter system set pga_aggregate_target=10m;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_ldr_pga_lim 0 TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_pgactx_cap_stacks FALSE TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 10485760 FALSE

9行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 10
aggregate PGA auto target 4
global memory bound 2

SQL> alter system set pga_aggregate_target=50m;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_ldr_pga_lim 0 TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_pgactx_cap_stacks FALSE TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 52428800 FALSE

9行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 50
aggregate PGA auto target 13.6582031
global memory bound 10

SQL> alter system set pga_aggregate_target=1g;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_ldr_pga_lim 0 TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 214732800 TRUE
_pgactx_cap_stacks FALSE TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 1073741824 FALSE

9行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 1024
aggregate PGA auto target 890.314453
global memory bound 102.392578

SQL> alter system set pga_aggregate_target=5g;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_ldr_pga_lim 0 TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 1073725440 TRUE
_pgactx_cap_stacks FALSE TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 5368709120 FALSE

9行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 5120
aggregate PGA auto target 4576.67578
global memory bound 511.992188

SQL> alter system set pga_aggregate_target=10g;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_ldr_pga_lim 0 TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 2147471360 TRUE
_pgactx_cap_stacks FALSE TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 10737418240 FALSE

9行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 10240
aggregate PGA auto target 9184.63184
global memory bound 1023.99414

SQL> alter system set pga_aggregate_target=100g;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_ldr_pga_lim 0 TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 2147483648 TRUE
_pgactx_cap_stacks FALSE TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 107374182400 FALSE

9行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 102400
aggregate PGA auto target 92126.127
global memory bound 1024

SQL> alter system set pga_aggregate_target=4095g;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_ldr_pga_lim 0 TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 2147483648 TRUE
_pgactx_cap_stacks FALSE TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 4396972769280 FALSE

9行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4193280
aggregate PGA auto target 3773909.9
global memory bound 1024

SQL>


結果は、予想通り、Oracle11g EE R1 11.1.0.7.0 for Linux x86-64と全く同じでした〜

やっと、もやもやしてたOracle10g R2以降のpga回りの動きが掴めたので、ゆっくーり、寝れそうw (ほんとうはパラレル版もやりたいけど〜それはまた。)


前回までのあらすじ・・・
Mac De Oracle なんですが、Windows(32bit)でのOracleな話
Mac De Oracle なんですが、Windows(32bit)でのOracleな話 #2
Mac De Oracle なんですが、Windows(32bit)でのOracleな話 #3
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #1
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #2
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #3
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #4
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #5
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #6
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #7
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #8
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #9
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #10
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #11
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #12
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #13
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #14
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #15
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #16
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #17
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #18
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #19
_pga_max_sizeってOracle11gではどうなったっけ? という確認。
_pga_max_sizeってOracle11gではどうなったっけ? という確認。シーズン2
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #2
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #3
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #4
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #5
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #6
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #7

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

2010年9月29日 (水)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #7

前回の続きです。

今回は、Oracle11g EE R2 11.2.0.1.0 for Linux x86で再確認。32bit版です。32bit版のOracle11g R1と同じ結果になるに違いねぇ。(決めつけてるw)


SQL> select * from v$version;

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

SQL> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 100M
SQL>
SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_ldr_pga_lim 0 TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_pgactx_cap_stacks FALSE TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 104857600 FALSE

9行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 100
aggregate PGA auto target 62.5078125
global memory bound 20

pga_aggregate_targetを10MB/50MB/1GB/5GB/10GB/100GB/4095GBと、いつものように増加させながらv$pgastatビューのGlobal memory boundでpgaサイズを確認してみます!

SQL> alter system set pga_aggregate_target=10m;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_ldr_pga_lim 0 TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_pgactx_cap_stacks FALSE TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 10485760 FALSE

9行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 10
aggregate PGA auto target 4
global memory bound 2

SQL> alter system set pga_aggregate_target=50m;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_ldr_pga_lim 0 TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_pgactx_cap_stacks FALSE TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 52428800 FALSE

9行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 50
aggregate PGA auto target 16.59375
global memory bound 10

SQL> alter system set pga_aggregate_target=1g;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_ldr_pga_lim 0 TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 214732800 TRUE
_pgactx_cap_stacks FALSE TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 1073741824 FALSE

9行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 1024
aggregate PGA auto target 893.197266
global memory bound 102.392578

SQL> alter system set pga_aggregate_target=5g;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_ldr_pga_lim 0 TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 1073725440 TRUE
_pgactx_cap_stacks FALSE TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 5368709120 FALSE

9行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 5120
aggregate PGA auto target 4580.46387
global memory bound 511.992188

SQL> alter system set pga_aggregate_target=10g;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_ldr_pga_lim 0 TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 1073741824 TRUE
_pgactx_cap_stacks FALSE TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 10737418240 FALSE

9行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 10240
aggregate PGA auto target 9188.41992
global memory bound 512

SQL> alter system set pga_aggregate_target=100g;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_ldr_pga_lim 0 TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 1073741824 TRUE
_pgactx_cap_stacks FALSE TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 107374182400 FALSE

9行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 102400
aggregate PGA auto target 92130.6797
global memory bound 512

SQL> alter system set pga_aggregate_target=4095g;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_ldr_pga_lim 0 TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 1073741824 TRUE
_pgactx_cap_stacks FALSE TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 4396972769280 FALSE

9行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4193280
aggregate PGA auto target 3773915.44
global memory bound 512

SQL>


結果は、予想通り、Oracle11g EE R1 11.1.0.7.0 for Linux x86と全く同じでした〜


次回、Oracle11g R2 64bit版へつづく。



前回までのあらすじ・・・
Mac De Oracle なんですが、Windows(32bit)でのOracleな話
Mac De Oracle なんですが、Windows(32bit)でのOracleな話 #2
Mac De Oracle なんですが、Windows(32bit)でのOracleな話 #3
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #1
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #2
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #3
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #4
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #5
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #6
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #7
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #8
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #9
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #10
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #11
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #12
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #13
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #14
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #15
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #16
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #17
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #18
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #19
_pga_max_sizeってOracle11gではどうなったっけ? という確認。
_pga_max_sizeってOracle11gではどうなったっけ? という確認。シーズン2
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #2
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #3
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #4
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #5
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #6

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

2010年9月28日 (火)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #6

前回の続きです。

今回は、Oracle11g EE R1 11.1.0.7.0 for Linux x86-64で再確認してみます。前回は、32bit版でしたが今回は同バージョンの64bit版です。何か違いがあるでしょうか?(多分、Oracle10g R2 MacOS X x86-64と同じなんじゃないかと予想してます。)

SQL> select * from v$version;

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

SQL> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 100M
SQL>
SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 104857600 FALSE

7行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 100
aggregate PGA auto target 57.7529297
global memory bound 20

pga_aggregate_targetを10MB/50MB/1GB/5GB/10GB/100GB/4095GBと、いつものように増加させながらv$pgastatビューのGlobal memory boundでpgaサイズを確認してみます!

SQL> alter system set pga_aggregate_target=10m;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 10485760 FALSE

7行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 10
aggregate PGA auto target 4
global memory bound 2

SQL> alter system set pga_aggregate_target=50m;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 52428800 FALSE

7行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 50
aggregate PGA auto target 12.7177734
global memory bound 10

SQL> alter system set pga_aggregate_target=1g;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 214732800 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 1073741824 FALSE

7行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 1024
aggregate PGA auto target 889.3125
global memory bound 102.392578

SQL> alter system set pga_aggregate_target=5g;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 1073725440 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 5368709120 FALSE

7行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 5120
aggregate PGA auto target 4575.68262
global memory bound 511.992188

SQL> alter system set pga_aggregate_target=10g;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 2147471360 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 10737418240 FALSE

7行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 10240
aggregate PGA auto target 9183.62988
global memory bound 1023.99414

SQL> alter system set pga_aggregate_target=100g;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 2147483648 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 107374182400 FALSE

7行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 102400
aggregate PGA auto target 92126.0039
global memory bound 1024

SQL> alter system set pga_aggregate_target=4095g;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 2147483648 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 4396972769280 FALSE

7行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4193280
aggregate PGA auto target 3773910.37
global memory bound 1024

SQL>

結果は、予想通り、Oracle10g EE R2 10.2.0.4.0 for MacOS X x86-64と全く同じ。:)


次回、Oracle11g R2 32bit版へつづく。



前回までのあらすじ・・・
Mac De Oracle なんですが、Windows(32bit)でのOracleな話
Mac De Oracle なんですが、Windows(32bit)でのOracleな話 #2
Mac De Oracle なんですが、Windows(32bit)でのOracleな話 #3
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #1
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #2
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #3
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #4
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #5
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #6
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #7
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #8
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #9
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #10
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #11
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #12
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #13
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #14
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #15
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #16
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #17
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #18
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #19
_pga_max_sizeってOracle11gではどうなったっけ? という確認。
_pga_max_sizeってOracle11gではどうなったっけ? という確認。シーズン2
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #2
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #3
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #4
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #5

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

2010年9月27日 (月)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #5

前回の続きです。

今回は、Oracle11g EE R1 11.1.0.7.0 for Linux x86で再確認してみます。前回は、64bitのOracle10g R2でしたが今回は32bitのOracle11g R1です。さて何か違いがあるでしょうか?

SQL> select * from v$version;

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

SQL> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 100M
SQL>
SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 104857600 FALSE

7行が選択されました。

pga_aggregate_targetを10MB/50MB/1GB/5GB/10GB/100GB/4095GBと、いつものように増加させながらv$pgastatビューのGlobal memory boundでpgaサイズを確認してみます!

SQL> alter system set pga_aggregate_target=10m;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 10485760 FALSE

7行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 10
aggregate PGA auto target 4
global memory bound 2

SQL> alter system set pga_aggregate_target=50m;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 52428800 FALSE

7行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 50
aggregate PGA auto target 10.7929688
global memory bound 10

SQL> alter system set pga_aggregate_target=1g;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 214732800 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 1073741824 FALSE

7行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 1024
aggregate PGA auto target 895.368164
global memory bound 102.392578

SQL> alter system set pga_aggregate_target=5g;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 1073725440 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 5368709120 FALSE

7行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 5120
aggregate PGA auto target 4581.67676
global memory bound 511.992188

SQL> alter system set pga_aggregate_target=10g;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 1073741824 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 10737418240 FALSE

7行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 10240
aggregate PGA auto target 9190.125
global memory bound 512

SQL> alter system set pga_aggregate_target=100G;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 1073741824 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 107374182400 FALSE

7行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 102400
aggregate PGA auto target 92132.8242
global memory bound 512

SQL> alter system set pga_aggregate_target=4095g;

システムが変更されました。

SQL> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 1073741824 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 4396972769280 FALSE

7行が選択されました。

SQL> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4193280
aggregate PGA auto target 3773917.11
global memory bound 512

SQL>


お〜っ!。 Oracle10g R2のように_pga_max_sizeが自動調整されて増加しているのがわかります。ただ、Oracle10g R2 (64bit)と割当ルールはほぼ同じなようなのですが、1箇所だけ違うようですね。
それは 自動調整される _pga_max_sizeの上限値が、512MBであること。Oracle10g R2 (64bit)では、1GBまで増加したはず!。

このエントリに載せていない確認内容も含めてまとめると…


  1. Oracle11g R1(32bit)で_pga_max_sizeの値が、1000MBを超えると動的に変化し始める。
    - Oracle10g R2 (64bit)と同じ。

  2. pga_aggregate_targetが1GB近くまでだと、pga_aggregate_targetの20%。
    - Oracle10g R2 (64bit)と同じ。

  3. pga_aggregate_targetが1GB以上になると、_pga_max_sizeが、pga_aggregate_targetの19.999%程度の値に自動設定され、さらにその値の50%。結果的として、pga_aggregate_target値の10%をほんの少し下回る値が設定される。pga_aggregate_targetが5GBである場合、512MBをほんの少し下回るのサイズがpgaとして割り当てられる。

  4. pga_aggretate_targetが5GBを超えた場合、_pga_max_sizeが1GBで頭打ちとなり、結果的として512MBがPGAとして割り当てられる。つまり自動PGA管理における最大PGAサイズは512MBということになる。(32bit版ではね)


前回までのあらすじ・・・
Mac De Oracle なんですが、Windows(32bit)でのOracleな話
Mac De Oracle なんですが、Windows(32bit)でのOracleな話 #2
Mac De Oracle なんですが、Windows(32bit)でのOracleな話 #3
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #1
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #2
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #3
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #4
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #5
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #6
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #7
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #8
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #9
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #10
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #11
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #12
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #13
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #14
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #15
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #16
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #17
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #18
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #19
_pga_max_sizeってOracle11gではどうなったっけ? という確認。
_pga_max_sizeってOracle11gではどうなったっけ? という確認。シーズン2
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #2
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #3
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #4

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

2010年9月26日 (日)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #4

Oracle10g R2 EE 10.2.0.4.0 for MacOS X x86-64で再確認の続き。

pga_aggregate_targetがどの程度になると、_pga_max_sizeが200MBをこえるんでしょうねぇ。調べてみましょう。わくわくです。

SYS> alter system set pga_aggregate_target=150m;

システムが変更されました。

SYS>
SYS> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ---------
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 157286400 FALSE

SYS> alter system set pga_aggregate_target=200m;

システムが変更されました。

SYS> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ---------
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 209715200 FALSE

SYS> alter system set pga_aggregate_target=500m;

システムが変更されました。

SYS> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ---------
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 524288000 FALSE

SYS> alter system set pga_aggregate_target=1023m;

システムが変更されました。

SYS> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ---------
_pga_large_extent_size 1048576 TRUE
_pga_max_size 214528000 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 1072693248 FALSE

SYS> alter system set pga_aggregate_target=1010m;

システムが変更されました。

SYS> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ---------
_pga_large_extent_size 1048576 TRUE
_pga_max_size 211804160 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 1059061760 FALSE

SYS> alter system set pga_aggregate_target=1000m;

システムが変更されました。

SYS> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ---------
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 1048576000 FALSE

SYS> alter system set pga_aggregate_target=1001m;

システムが変更されました。

SYS> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ---------
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209920000 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 1049624576 FALSE

SYS>

ということで、pga_aggreate_target=1000MBまでは、元々の値である200MBを維持しているようです。
1001MB以上で、_pga_max_sizeの値が動的に変化し始め、実際の値は、pga_aggregate_targetの19.999%程度になるようです。
丸めてしまえば、pga_aggregate_targetの20%なので、pga_aggregate_targetが1001MB以上の場合、その値の20%が、_pga_max_sizeに設定されるとしちゃっても特に問題ないかもしれませんけどね。

前回の結果も含めてまとめると、

  1. Oracle10g R2になると、10g R1までとは異なり_pga_max_sizeの値が、1000MBを超えると動的に変化し始める。
  2. pga_aggregate_targetが1GB近くまでだと、pga_aggregate_targetの20%。
  3. pga_aggregate_targetが1GB以上になると、_pga_max_sizeが、pga_aggregate_targetの19.999%程度の値に自動設定され、さらにその値の50%。結果的として、pga_aggregate_target値の10%をほんの少し下回る値が設定される。pga_aggregate_targetが10GBである場合、1GBをほんの少し下回るのサイズがpgaとして割り当てられる。
  4. pga_aggretate_targetが10GBを超えた場合、_pga_max_sizeが2GBで頭打ちとなり、結果的として1GBがPGAとして割り当てられる。つまり自動PGA管理における最大PGAサイズは1GBということになる。(64bit版ではね)

意図せず、_pga_max_sizeが固定化されてしまっていた以前のテストとは大きく異なる結果となってしまったが、_pga_max_sizeが動的に変化し最大2GBまで増えるってところを除けば仕組みは同じだよね。と :)

次回は、Oracle11g R1 EE 11.1.0.6.0 (x86) 32bit版で同様に再確認。次回へつづく。


前回までのあらすじ・・・
Mac De Oracle なんですが、Windows(32bit)でのOracleな話
Mac De Oracle なんですが、Windows(32bit)でのOracleな話 #2
Mac De Oracle なんですが、Windows(32bit)でのOracleな話 #3
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #1
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #2
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #3
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #4
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #5
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #6
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #7
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #8
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #9
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #10
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #11
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #12
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #13
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #14
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #15
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #16
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #17
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #18
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #19
_pga_max_sizeってOracle11gではどうなったっけ? という確認。
_pga_max_sizeってOracle11gではどうなったっけ? という確認。シーズン2
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #2
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #3

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

2010年9月24日 (金)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #2

前回からのつづきです。Oracle10g R1 10.1.0.3.0 (32bit)で _pga_max_sizeパラメータ値がデフォルトの場合、pga_aggregate_targetパラメータ値を10MB/50MB/1GB/5GB/10GB/4095GBと変化させ、pgaに使用されるサイズがどのように変化するか、v$pgastatビューのglobal memory boundを見て確認していく。

結果は見ての通り。Oracle10g R1では、_pga_max_sizeパラメータはpga_aggregate_targetには影響されず、常に200MBで固定されている。従ってOracle10g R1では、以前のテスト結果の通り
pga_aggregate_targetの5%又は、_pga_max_size(200MB)の50%でいづれかの小さいサイズが利用されるというのは正しいようだ。

SYS> alter system set pga_aggregate_target=10m;

システムが変更されました。

SYS> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ---------------------------
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 10485760 FALSE

SYS> @pgastat

NAME size(MB)
------------------------------ ----------
aggregate PGA target parameter 10
aggregate PGA auto target 4
global memory bound .5

SYS> alter system set pga_aggregate_target=50m;

システムが変更されました。

SYS> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ---------------------------
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 52428800 FALSE

SYS> @pgastat

NAME size(MB)
------------------------------ ----------
aggregate PGA target parameter 50
aggregate PGA auto target 31.7548828
global memory bound 2.5


SYS> alter system set pga_aggregate_target=1g;

システムが変更されました。

SYS> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ---------------------------
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 1073741824 FALSE

SYS> @pgastat

NAME size(MB)
------------------------------ ----------
aggregate PGA target parameter 1024
aggregate PGA auto target 908.358398
global memory bound 51.1992188

SYS> alter system set pga_aggregate_target=5g;

システムが変更されました。

SYS> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ---------------------------
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 5368709120 FALSE

SYS> @pgastat

NAME size(MB)
------------------------------ ----------
aggregate PGA target parameter 5120
aggregate PGA auto target 4594.71973
global memory bound 100

SYS> alter system set pga_aggregate_target=10g;

システムが変更されました。

SYS> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ---------------------------
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 10737418240 FALSE

SYS> @pgastat

NAME size(MB)
------------------------------ ----------
aggregate PGA target parameter 10240
aggregate PGA auto target 9202.67578
global memory bound 100

SYS> alter system set pga_aggregate_target=4095g;

システムが変更されました。

SYS> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ---------------------------
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 4396972769280 FALSE

SYS> @pgastat

NAME size(MB)
------------------------------ ----------
aggregate PGA target parameter 4193280
aggregate PGA auto target 3773929.69
global memory bound 100

SYS>


Oracle10g R2で再確認へつづく。



前回までのあらすじ・・・
Mac De Oracle なんですが、Windows(32bit)でのOracleな話
Mac De Oracle なんですが、Windows(32bit)でのOracleな話 #2
Mac De Oracle なんですが、Windows(32bit)でのOracleな話 #3
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #1
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #2
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #3
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #4
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #5
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #6
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #7
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #8
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #9
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #10
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #11
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #12
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #13
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #14
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #15
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #16
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #17
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #18
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #19
_pga_max_sizeってOracle11gではどうなったっけ? という確認。
_pga_max_sizeってOracle11gではどうなったっけ? という確認。シーズン2
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1

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

2010年9月23日 (木)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1

前回のネタ振りから随分間があいてしまいました。m(_ _)m

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? 」シリーズで_pga_max_sizeが固定値の様に見えてしまっているのですが、そのようになってしまった、"大きなミス"ってどこかわかりますか?

ってところ、わかりますかね。

実は、行く先々で pga_aggregate_targetとか _pga_max_sizeの値を覗いてみてて、あれ、自分のMacやPCで確かめた値と違う???何故ってことが数回あって、あ、そういことかと気付いたわけです。

答えから先に言うと、

Oracle10g R1までは確かに _pga_max_sizeは200MBで固定値だった。ところが、Oracle10g R2以降は、Oracleが内部で動的に変更する隠しパラメータになったということ。

そして、_pga_max_sizeをalter system文で変更してしまうと、Oracle10g R2以降では、その値は動的に変更されず、ユーザが設定した値で固定されてしまう。


ということ。


この影響で、私が実施したテストケースでは全て_pga_max_sizeは200MBのままで固定値のように見えていたということ。。

orz... まあ、隠しパラメータですから、どんな仕様変更があっても文句はいいません。>< はい。


では、早速、alter system文で値を設定してしまった _pga_max_sizeパラメータを元の状態に戻しましょう!

手順としては、Oracleインスタンス起動、spfileからpfileを作り、pfileから_pga_max_sizeの部分を削除、インスタンス停止、pfileでOracleインスタンス起動、spfile作って再起動って感じです。

とりあえず、Oracle10g R1で。

SYS> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Prod
PL/SQL Release 10.1.0.3.0 - Production
CORE 10.1.0.3.0 Production
TNS for MacOS X Server: Version 10.1.0.3.0 - Production
NLSRTL Version 10.1.0.3.0 - Production

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 100M

SYS> @pgastat

NAME size(MB)
------------------------------ ----------
aggregate PGA target parameter 100
aggregate PGA auto target 76.1923828
global memory bound 5

SYS>
SYS> create pfile from spfile;

ファイルが作成されました。

SYS> !cat $ORACLE_HOME/dbs/initxtiger.ora

・・・中略・・・

xtiger.__large_pool_size=4194304
xtiger.__shared_pool_size=104857600
*._pga_max_size=209715200
*.background_dump_dest='/Volumes/Discus/4oracle/oracle/u01/app/oracle/admin/xtiger/bdump'
*.compatible='10.1.0.2.0'

・・・中略・・・

SYS> edit $ORACLE_HOME/dbs/initxtiger.ora



*._pga_max_sizeの行を削除!
SYS> !cat $ORACLE_HOME/dbs/initxtiger.ora

・・・中略・・・

xtiger.__large_pool_size=4194304
xtiger.__shared_pool_size=104857600
*.background_dump_dest='/Volumes/Discus/4oracle/oracle/u01/app/oracle/admin/xtiger/bdump'
*.compatible='10.1.0.2.0'

・・・中略・・・

SYS> shutdown
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SYS>
SYS> startup pfile=$ORACLE_HOME/dbs/initxtiger.ora
ORACLEインスタンスが起動しました。

Total System Global Area 293601280 bytes
Fixed Size 778888 bytes
Variable Size 120331640 bytes
Database Buffers 171966464 bytes
Redo Buffers 524288 bytes
データベースがマウントされました。
データベースがオープンされました。

SYS> create spfile from pfile;

ファイルが作成されました。

SYS> shutdown
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。

SYS> startup
ORACLEインスタンスが起動しました。

Total System Global Area 293601280 bytes
Fixed Size 778888 bytes
Variable Size 120331640 bytes
Database Buffers 171966464 bytes
Redo Buffers 524288 bytes
データベースがマウントされました。
データベースがオープンされました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
pga_aggregate_target big integer 100M

SYS> @pgastat

NAME size(MB)
------------------------------ ----------
aggregate PGA target parameter 100
aggregate PGA auto target 76.3242188
global memory bound 5

SYS> @show_hidden_pga_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ---------------------------
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 104857600 FALSE

SYS>


戻った〜。 show parameter pgaで 隠しパラメータである_pga_max_sizeパラメータが表示されているということは、その値がデフォルト値と同じ値であっても、そのパラメータの値は、ユーザがセットした値ということ。show parameterで _pga_max_sizeが表示されなくなったらOK。

ちなみに、 show_hidden_pga_param.sqlは以下のようなクエリ。

select
a.ksppinm
,b.ksppstvl
,b.ksppstdf
from
x$ksppi a join x$ksppcv b
on a.indx = b.indx
where
a.ksppinm like '%pga%'
order by
a.ksppinm
/

次回へつづく。


前回までのあらすじ・・・
Mac De Oracle なんですが、Windows(32bit)でのOracleな話
Mac De Oracle なんですが、Windows(32bit)でのOracleな話 #2
Mac De Oracle なんですが、Windows(32bit)でのOracleな話 #3
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #1
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #2
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #3
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #4
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #5
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #6
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #7
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #8
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #9
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #10
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #11
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #12
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #13
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #14
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #15
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #16
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #17
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #18
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #19
_pga_max_sizeってOracle11gではどうなったっけ? という確認。
_pga_max_sizeってOracle11gではどうなったっけ? という確認。シーズン2

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

2010年7月21日 (水)

Dashboard de Aquarium v1.5 - 39位↑ :)



なんと〜ここまでがんばるとは、Top50ランク外予想だったのに、うれしい誤算だ :)

39位



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

2010年7月14日 (水)

Dashboard de Aquarium v1.5 - 40位↑↑↑ 



うひょ〜、10ランクジャンプアップ なDashboard de Aquarium v1.5 ;)

21


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

2010年7月12日 (月)

Dashboard de Aquarium v1.5 - 50位↓ ほんとギリギリ



首の皮一枚でTop50ぎりな、Dashboard de Aquarium v1.5 (^^;;;

20



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

2010年7月 9日 (金)

Dashboard de Aquarium v1.5 - 48位↑



お〜、ワンランクアップ。踏ん張りますね〜Dashboard de Aquarium v1.5

19



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

Dashboard de Aquarium v1.5 - 49位↓ お〜っ



Dashboard de Aquarium v1.5 なんとかTop50に残ってます〜。:) 18


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

2010年7月 5日 (月)

Dashboard de Aquarium v1.5 - かな〜りがんばってる46位

46位、かな〜りがんばってますね〜 :) Dashboard de Aquarium v1.5
13


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

2010年7月 2日 (金)

Dashboard de Aquarium v1.5 - 43位↓ がんばれ〜

ワンランクダウンの43位だけど、がんばってるな〜。
9


|<