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(relationship)の線が無いERDを見てて..思いついたこと....でもメンテする気がなけりゃ同じだけどな

ExcelでメンテされてないERDとか、リリース当初からERDのR(relationship)の線がない(ヒアリングするrelationshipは確かにあるんだよ)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


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

2010年6月30日 (水)

Dashboard de Aquarium v1.5 - 42位↓↓


今日は42位にランクダウンなう。がんばってるな〜

42位


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

2010年6月25日 (金)

Dashboard de Aquarium v1.5 - ずいぶん久々だな33位↑

35位以内ってかなり久々だと思います。みなさんのおかげでございます。 Thank you. ;)
33位


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

2010年6月24日 (木)

Dashboard de Aquarium v1.5 - がんばってる38位↑↑

いや、突然38位にジャンプアップなDashboard de Aquarium v1.5


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

Dashboard de Aquarium v1.5 - ほんとにがんばってた、50位↓

なんか50位ギリギリでがんばってますw Dashboard de Aquarium v1.5 :)

5

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

2010年6月23日 (水)

Dashboard de Aquarium v1.5 - 昨日は49位↓ 

昨日は、ギリギリTop50入りで、49位。>< がんばれるか〜?
4


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

2010年6月19日 (土)

Dashboard de Aquarium v1.5 - 47位です〜

Top50以内にはなんとかとどまってる感じのDashboard de Aquarium v1.5 (^^;;;

10

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

2010年6月18日 (金)

Dashboard de Aquarium v1.5 - 44位に↓ 

もうちょいがんばってよ〜 Dashboard de Aquarium v1.5 (^^;;; ということで44位までダウン。

4

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

2010年6月16日 (水)

Dashboard de Aquarium v1.5 - 38位〜

ちょっとだけランクアップ!で38位。

38位

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

2010年6月11日 (金)

Dashboard de Aquarium v1.5 / 42位変わらず。

おお、今日も42位でがんばってまっす。 :)

3

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

2010年6月 9日 (水)

Dashboard de Aquarium v1.5 - Top50入り

とりあえずなんとかTop50入りで42位ね。 :)

2

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

2010年6月 3日 (木)

Dashboard de Aquarium v1.5 Apple(US)でも公開

更新依頼した翌営業日にはリリースされる仕事の早さ。(Apple Japanのほうは多分月一ぐらいなので2週間ぐらい先だと思われ)

17

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

2010年6月 2日 (水)

Dashboard de Aquarium v1.5 released!

Dashboard de Aquarium v1.5をリリースしました。いくつかの問題点の修正と、アフリカン・ランプアイを追加しました。
(Dashboard de Aquarium v1.5 released.
What's new in this version : Fixed some bugs and added African Lampeye.)

Picture_2_2

Download Dashboard De Aquarium v1.5 Now!

Download! v1.5 dashboard_de_aquarium.zip (996KB)

Dashboard de Aquarium v1.6 released. (v1.6をリリースしました 2012/01/01)

日本語(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 MacOSX that I checked the operation as follows.)

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

PowerBook G4 1Ghz - MacOSX 10.5.8 (Leopard)
PowerMac G5 Dual 2.7Ghz - MacOSX 10.4.11 (Tiger)
MacBook Pro 2.2Ghz Core 2 Duo - MacOSX 10.6 (Snow Leopard)

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
Screen_shot_20100601_at_221750
Screen_shot_20100601_at_221741

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

2010年5月31日 (月)

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

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


12


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


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

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

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

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

2010年5月22日 (土)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #19

2010/11/25追記
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? その19回目、


そして、あっという間に、Oracle11g R2の自動メモリー管理を無効、自動PGAメモリー管理有効状態での確認も最終回!
前回、_pga_max_sizeの50%になってしまったpga_aggregate_targetを16GB/4095GBに設定した場合のテストを_pga_max_sizeを調整してpga_aggregate_targetの20%が利用される状態にして再び確認して終わりにしたいと思います。

SYS> alter system set "_pga_max_size"=6554m;

システムが変更されました。

SYS> alter system set pga_aggregate_target=16g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
_pga_max_size big integer 6554M
pga_aggregate_target big integer 16G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 16384
aggregate PGA auto target 14721.3281
global memory bound 3276.7998

SYS> alter system set "_pga_max_size"=1677313m;

システムが変更されました。

SYS> alter system set pga_aggregate_target=4095g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
_pga_max_size big integer 1677313M
pga_aggregate_target big integer 4095G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4193280
aggregate PGA auto target 3773918.79
global memory bound 838656

SYS>


・・・中略・・・

SCOTT> @test4

SQL_TEXT OPERATION_TYPE last_mem(MB) LAST_TEMPSEG_SIZE MAX_TEMPSEG_SIZE
---------------------------------------- -------------------- ------------ ----------------- ----------------
select * from code where rownum <= 30000 SORT (v2) 1171.63
0 order by code

SCOTT>

Oracle10g R2以降は32bitでも64bitでも、自動メモリー管理が無効で、自動PGAメモリー管理が有効ならば、かつNon parallelならば、LEAST(pga_aggregate_target * 0.2, _pga_max_size * 0.5)とう条件で作業域を割り当てているのは確からしい。

次回は、ちょっと別の角度から。ということで次回へつづく。


前回までのあらすじ・・・
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

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

2010年5月21日 (金)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #18

2010/11/25追記
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? その18回目、


Oracle11g R2での検証の続き。まいどおなじみ、_pga_max_sizeを大きな値にして、pga_aggregate_targetの20%がglobal memory boundに設定されるようにして確認。

SYS> alter system set "_pga_max_size"=3840m;

システムが変更されました。

SYS> alter system set pga_aggregate_target=256m;

システムが変更されました。

SYS> alter system flush shared_pool;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 256M
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 256
aggregate PGA auto target 206.173828
global memory bound 51.1992188

SYS>
SYS> alter system set pga_aggregate_target=512m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 512M
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 512
aggregate PGA auto target 436.869141
global memory bound 102.399414

SYS> alter system set pga_aggregate_target=768m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 768M
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 768
aggregate PGA auto target 667.212891
global memory bound 153.599609

SYS>
SYS> alter system set pga_aggregate_target=1g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 1G
SYS> @pgastat


NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 1024
aggregate PGA auto target 897.591797
global memory bound 204.799805

SYS> alter system set pga_aggregate_target=2g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 2G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 2048
aggregate PGA auto target 1820.0127
global memory bound 409.599609

SYS>
SYS> alter system set pga_aggregate_target=4g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 4G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4096
aggregate PGA auto target 3662.25293
global memory bound 819.199219

SYS> alter system set pga_aggregate_target=8g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 8G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 8192
aggregate PGA auto target 7349.43164
global memory bound 1638.39941

やはりここで変化あり!

SYS> 
SYS> alter system set pga_aggregate_target=16g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 16G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 16384
aggregate PGA auto target 14722.1543
global memory bound 1920

SYS> alter system set pga_aggregate_target=4095g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 4095G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4193280
aggregate PGA auto target 3773917.1
global memory bound 1920

SYS>

Oracle11g R1と同じ結果になりましたね。LEAST(pga_aggregate_target * 0.2, _pga_max_size * 0.5) ということね。Oracle11g R2でも。
次回へつづく。



前回までのあらすじ・・・
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

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

2010年5月20日 (木)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #17

2010/11/25追記
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? その17回目、


Oracle11g R2 自動メモリー管理は無効、自動PGAメモリー管理は有効な状態での検証スタート!

いつものように、_pga_max_sizeはデフォルトの200MBで、pga_aggregate_targetを10MBから4095MBまで増加させてglobal memory boundがどのように変化するか確認します!

SYS> alter system set pga_aggregate_target=10m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 10M
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 10
aggregate PGA auto target 4
global memory bound 2

SYS> alter system set pga_aggregate_target=20m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 20M
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 20
aggregate PGA auto target 4
global memory bound 4

SYS> alter system set pga_aggregate_target=40m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 40M
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 40
aggregate PGA auto target 12.8583984
global memory bound 8

SYS> alter system set pga_aggregate_target=256m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 256M
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 256
aggregate PGA auto target 207.263672
global memory bound 51.1992188

SYS> alter system set pga_aggregate_target=512m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 512M
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 512
aggregate PGA auto target 436.851563
global memory bound 100

SYS>

お、変化ありました。Oracle11g R2でも自動PGAメモリー管理の動きは同じみたいね。

どんどんやっつけちゃいましょー

SYS> alter system set pga_aggregate_target=768m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 768M
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 768
aggregate PGA auto target 667.283203
global memory bound 100

SYS> alter system set pga_aggregate_target=1g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 1G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 1024
aggregate PGA auto target 897.688477
global memory bound 100

SYS> alter system set pga_aggregate_target=2g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 2G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 2048
aggregate PGA auto target 1819.87207
global memory bound 100

SYS> alter system set pga_aggregate_target=4g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 4G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4096
aggregate PGA auto target 3662.25293
global memory bound 100

SYS> alter system set pga_aggregate_target=8g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 8G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 8192
aggregate PGA auto target 7349.43164
global memory bound 100

SYS> alter system set pga_aggregate_target=16g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 16G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 16384
aggregate PGA auto target 14721.3457
global memory bound 100

SYS> alter system set pga_aggregate_target=2095g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 2095G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 2145280
aggregate PGA auto target 1930719.63
global memory bound 100

SYS>


そして、念のため実際にソート! glolbal memory boundに設定されたサイズになってますね〜。

SCOTT> @test2

SQL_TEXT OPERATION_TYPE last_mem(MB) LAST_TEMPSEG_SIZE MAX_TEMPSEG_SIZE
---------------------------------------- -------------------- ------------ ----------------- ----------------
select * from code where rownum <= 10000 SORT (v2) 100.02 409993216 409993216
0 order by code

SCOTT>


次回へつづく。



前回までのあらすじ・・・
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

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

2010年5月19日 (水)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #16

2010/11/25追記
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? その16回目、

今回からOracle11g R2 for Windows 32bit環境での検証です。なお、自動メモリー管理(AMM)はOFFで自動SGAメモリー管理(ASMM)、自動PGAメモリー管理(APMM)は有効になっています。
この状態でOracle11g R1までと動きに違いがないかみてみることにします。

SYS> 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 32-bit Windows: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

SYS>

ダブルアンダースコアの隠しパラメータがが気味悪いw ですが、たぶん影響しないんじゃないかと。もともとOracle側で制御しているパラメータだし。

SYS> @show_param

KSPPINM KSPPSTVL KSPPSTDF
-------------------------------- -------------------------------- --------------------------------
_4031_sga_dump_interval 3600 TRUE
_4031_sga_max_dumps 10 TRUE
__pga_aggregate_target 79691776 TRUE
__sga_target 239075328 TRUE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_ldr_pga_lim 0 TRUE
_lock_sga_areas 0 TRUE
_memory_imm_mode_without_autosga TRUE TRUE
_memory_initial_sga_split_perc 60 TRUE
_memory_nocancel_defsgareq FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_pgactx_cap_stacks FALSE TRUE
_sga_clear_dump FALSE TRUE
_sga_early_trace 0 TRUE
_sga_locking none TRUE
_use_ism_for_pga TRUE TRUE
lock_sga FALSE TRUE
memory_max_target 0 TRUE
memory_target 0 TRUE
pga_aggregate_target 78643200 FALSE
pre_page_sga FALSE TRUE
sga_max_size 239075328 TRUE
sga_target 239075328 FALSE

25行が選択されました。

SYS>
SYS> show parameter workarea_size_policy

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
workarea_size_policy string AUTO
SYS>


次回へつづく。



前回までのあらすじ・・・
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

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

2010年5月18日 (火)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #15

2010/11/25追記
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? その15回目、

さて、Oracle11g R1での検証もいよいよ最終回。 
前回、_pga_max_sizeが3840MBで、pga_aggregate_targetを16GB/4095GBとしたところで、_pga_max_sizeの50%がglobal memory boundとして設定されていました。
じゃ、最後の2でもpga_aggregate_targetの20%をglobal memory boundとして利用するようにしちゃえ!

ということで、_pga_max_sizeを6554MB/1677313MB、pga_aggregate_targetを16GB/4096GBとしてギリギリでpga_aggregate_targetの20%が利用されるように設定してみました。
以下の通り、global memory boundは、pga_aggregate_targetの20%である、3276.8MB/838656MBになってます!

SYS> alter system set "_pga_max_size"=6554m;

システムが変更されました。

SYS> alter system set pga_aggregate_target=16g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 6554M
pga_aggregate_target big integer 16G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 16384
aggregate PGA auto target 14720.7744
global memory bound 3276.7998

SYS>


SYS> alter system set "_pga_max_size"=1677313m;

システムが変更されました。

SYS> alter system set pga_aggregate_target=4095g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 1677313M
pga_aggregate_target big integer 4095G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4193280
aggregate PGA auto target 3773917.72
global memory bound 838656

SYS>

最後に、実メモリ768MBしか積んでないマシンなのに無理矢理、1GB越えのPGAを利用してもらっちゃいます。
当然ですが、swapしまくりなので、普通の時間でレスポンスなんて戻ってきませんから真似しないようにw swapを使ってDISKガリガリいってましたがOracle上ではちゃんとOPTIMALとなっておりますはい!。

SCOTT> @test4

SQL_TEXT OPERATION_TYPE last_mem(MB) LAST_TEMPSEG_SIZE MAX_TEMPSEG_SIZE
---------------------------------------- -------------------- ------------ ----------------- ----------------
select * from code where rownum <= 30000 SORT (v2) 1171.63
0 order by code

SCOTT>


ということで、次回、Oracle11g R2 for Linux x86の自動メモリー管理(AMM)下でどうなるか確認と、思ったのですが、ちょうど Oracle11g R2 for Windows (32bit)がダウンロードできるようになっていたので、急遽、Oracle11g R2 for Windows(32bit)かつ、自動メモリー管理をオフにした状態ではどうなるか確認してみましょう。なを32bitのWindowsなのでSGA/PGA合わせて2GB超えないような範囲で遊びマッス!。

なんか久々に1ヶ月ものぐらいのネタに膨らまそうか考えてたりして・・・・。

次回へつづく。



前回までのあらすじ・・・
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

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

2010年5月17日 (月)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #14

2010/11/25追記
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1

_pag_max_sizeに大きな値を設定し、LEAST(pga_aggregate_target * 0.2, _pga_max_size * 0.5)という条件で割り当てられていることを確認してみます!

SYS> alter system flush shared_pool;

システムが変更されました。

SYS> alter system set "_pga_max_size"=3840m;

システムが変更されました。

SYS> alter system set pga_aggregate_target=256m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 256M
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 256
aggregate PGA auto target 205.734375
global memory bound 51.1992188

SYS> alter system set pga_aggregate_target=512m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 512M
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 512
aggregate PGA auto target 435.700195
global memory bound 102.399414

SYS> alter system set pga_aggregate_target=768m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 768M
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 768
aggregate PGA auto target 666.518555
global memory bound 153.599609

SYS> alter system set pga_aggregate_target=1g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 1G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 1024
aggregate PGA auto target 896.52832
global memory bound 204.799805

SYS> alter system set pga_aggregate_target=2g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 2G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 2048
aggregate PGA auto target 1818.44824
global memory bound 409.599609

SYS> alter system set pga_aggregate_target=4g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 4G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4096
aggregate PGA auto target 3735.43555
global memory bound 819.199219

SYS> alter system set pga_aggregate_target=8g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 8G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 8192
aggregate PGA auto target 7347.50684
global memory bound 1638.39941



まちがいなく、pga_aggregate_targetの20%がglobal memory boundに設定されてます!

さて、pga_aggregate_targetを16GB以上に設定すると、_pga_max_sizeの50%より、pga_aggregate_targetの20%の方が大きくなるため、_pga_max_sizeパラメータの50%のサイズがglobal memory boundに設定されるはず! ではやってみよう!

SYS> alter system set pga_aggregate_target=16g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 16G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 16384
aggregate PGA auto target 15023.2441
global memory bound 1920

SYS> alter system set pga_aggregate_target=4095g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 4095G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4193280
aggregate PGA auto target 3773917.55
global memory bound 1920

SYS>

予想通り、_pga_max_sizeの50%がglobal memory boundに設定されてますね。
Oracle11g R1での検証もいよいよ次回が最終回。ということで、次回へつづく。



前回までのあらすじ・・・
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

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

2010年5月16日 (日)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #13

2010/11/25追記
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? その13回目、

_pga_max_sizeはデフォルトのままで、pga_aggregate_targetを増加させていくと、Oracle10g R2と同様に、LEAST(pga_aggregate_target * 0.2, _pga_max_size * 0.5)という条件で割り当てられてるようだ。ということでその確認のつづき。

pga_aggregate_targetが512MBになったところで、_pga_max_sizeの200MBの50%のサイズがglobal memory boundとして設定されるようになった。さらに増加させてその割合に変化がないか確認していく。

SYS> alter system set pga_aggregate_target=768m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 768M
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 768
aggregate PGA auto target 666.720703
global memory bound 100

SYS> alter system set pga_aggregate_target=1g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 1G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 1024
aggregate PGA auto target 896.677734
global memory bound 100

SYS> alter system set pga_aggregate_target=2g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 2G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 2048
aggregate PGA auto target 1818.26367
global memory bound 100

SYS> alter system set pga_aggregate_target=4g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 4G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4096
aggregate PGA auto target 3661.89258
global memory bound 100

SYS> alter system set pga_aggregate_target=8g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 8G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 8192
aggregate PGA auto target 7348.25391
global memory bound 100

SYS> alter system set pga_aggregate_target=16g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 16G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 16384
aggregate PGA auto target 14720.5371
global memory bound 100

pga_aggregate_targetを16GBにしても、_pga_max_sizeの50%のサイズである100MBがglobal memory boundに設定されていますね。

最後に、pga_aggregate_targetを4095GBにしてみると〜

SYS> alter system set pga_aggregate_target=4095g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 4095G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4193280
aggregate PGA auto target 3773918.45
global memory bound 100

SYS>

・・・中略・・・

SCOTT> @test2

SQL_TEXT OPERATION_TYPE last_mem(MB) LAST_TEMPSEG_SIZE MAX_TEMPSEG_SIZE
---------------------------------------- -------------------- ------------ ----------------- ----------------
select * from code where rownum <= 10000 SORT (v2) 100.02 409993216 409993216
0 order by code

SCOTT>

やはり、global memory boundは、_pga_max_sizeの50%のままですね。_pga_max_sizeを大きなサイズにし、pga_aggregate_targetの20%が利用されるかを確認しますよ〜。ということで次回へつづく。


前回までのあらすじ・・・
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

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

2010年5月15日 (土)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #12

2010/11/25追記
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? その12回目、

さて、Oracle11g R1 for Linux x86を利用した検証を始めるよ〜 :)

これまでと同様に、まず、_pga_max_sizeはデフォルトの200MBのままで、pga_aggregate_targetを10MB/20MB/40MB/256MB/512MBと増加させてglobal memory boundがどう変化するか確認していく。

SYS> alter system set pga_aggregate_target=10m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 10M
SYS>
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 10
aggregate PGA auto target 4
global memory bound 2

SYS> alter system set pga_aggregate_target=20m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 20M
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 20
aggregate PGA auto target 4
global memory bound 4

SYS> alter system set pga_aggregate_target=40m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 40M
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 40
aggregate PGA auto target 11.3720703
global memory bound 8

SYS>

ここまでのところ、 pga_aggregate_targetの20%がglobal memory boundとして設定されている。

次ぎいってみよー!

SYS> alter system set pga_aggregate_target=256m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 256M
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 256
aggregate PGA auto target 205.479492
global memory bound 51.1992188

SYS> alter system set pga_aggregate_target=512m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 512M
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 512
aggregate PGA auto target 436.31543
global memory bound 100

お、やはり、変化しました。 512MBの20%は、102.4MBですが、global memory boundに設定された値は、100MB。 _pga_max_sizeの50%ですね〜。
おそらく、Oracle10g R1と同じ割当条件なんでしょうね。

次回はpga_aggregate_targetパラメータをさらに増加させてみますよ。。つづく。



前回までのあらすじ・・・
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

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

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #11

2010/11/25追記
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? その11回目、

さて、Oracle10g R2までは試したので、今回からはOracle11g R1で試します。利用したのはOracle11g R1 for Linux x86.

いつものように現状確認と、登録済みデータの確認から。自動メモリー管理が有効は無効にしてあります。自動SGA管理と自動PGA管理は有効になってますよー。
というか少なくとも自動PGA管理は有効にしておかないとこの検証自体が・・・・w

dSYS> 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

SYS>
SYS> @show_param

KSPPINM KSPPSTVL KSPPSTDF
-------------------------------- ------------------------------ ------------------------------
_4031_sga_dump_interval 3600 TRUE
_4031_sga_max_dumps 10 TRUE
__pga_aggregate_target 104857600 FALSE
__sga_target 352321536 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_lock_sga_areas 0 TRUE
_memory_initial_sga_split_perc 60 TRUE
_memory_nocancel_defsgareq FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 FALSE
_sga_clear_dump FALSE TRUE
_sga_early_trace 0 TRUE
_sga_locking none TRUE
_use_ism_for_pga TRUE TRUE
lock_sga FALSE TRUE
memory_max_target 0 TRUE
memory_target 0 TRUE
pga_aggregate_target 104857600 FALSE
pre_page_sga FALSE TRUE
sga_max_size 352321536 TRUE
sga_target 352321536 FALSE

22行が選択されました。

SYS> show parameter workarea_size_policy

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
workarea_size_policy string AUTO
SYS>

とりあえず、200000万件、1.6GBほどのデータを登録してあります。

SCOTT> select count(*) from code;

COUNT(*)
----------
200000

SCOTT> l
1 select
2 blocks*block_size/1024/1024 as "table_size(MB)"
3 from
4 user_tables ut join user_tablespaces uts
5 on ut.tablespace_name = uts.tablespace_name
6* and ut.table_name = 'CODE'
SCOTT> /

table_size(MB)
--------------
1600.625

SCOTT>

次回へつづく。



前回までのあらすじ・・・
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

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

2010年5月13日 (木)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #10

2010/11/25追記
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? その10回目、

前回までで、Oracle10g R2では、LEAST(pga_aggregate_target * 0.2, _pga_max_size * 0.5)という条件でPGAの作業領域を割り当てているらしいというところまでは確認できた。
今回は、隠しパラメータ、 _pga_max_sizeパラメータを3840MBという大きな値に設定し、 pga_aggregate_targetの20%が利用されるか確認してみた。

_pga_max_sizeを3840MBと設定し、pga_aggregate_targetを256MB/512MB/768MB/1G/2G/4G/8G/16Gと増加させた場合、常に1920MB(_pga_max_size*0.5)より小さくなるのでpga_aggregate_target*0.2のサイズがglobal memory boundとして設定されるはず。

では、早速確認してみる。

SYS> alter system flush shared_pool;

システムが変更されました。

SYS> alter system set "_pga_max_size"=3840m;

システムが変更されました。

SYS> alter system set pga_aggregate_target=256m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 256M
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 256
aggregate PGA auto target 213.75
global memory bound 51.1992188

SYS> alter system set pga_aggregate_target=512m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 512M
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 512
aggregate PGA auto target 444.155273
global memory bound 102.399414

SYS> alter system set pga_aggregate_target=768m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 768M
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 768
aggregate PGA auto target 685.213867
global memory bound 153.599609

SYS> alter system set pga_aggregate_target=1g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 1G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 1024
aggregate PGA auto target 919.334961
global memory bound 204.799805

SYS> alter system set pga_aggregate_target=2g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 2G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 2048
aggregate PGA auto target 1826.8418
global memory bound 409.599609

SYS> alter system set pga_aggregate_target=4g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 4G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4096
aggregate PGA auto target 3669.74121
global memory bound 819.199219

SYS> alter system set pga_aggregate_target=8g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 8G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 8192
aggregate PGA auto target 7472.14941
global memory bound 1638.39941

SYS> alter system set pga_aggregate_target=16g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 16G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 16384
aggregate PGA auto target 14729.168
global memory bound 1920

SYS>


実メモリ2GBしか積んでないので3.2GB近くのPGAサイズが割り当てられるか実際のテストはちょいとだけ無理をして1GBぐらいを目指してみた…

SYS> alter system flush shared_pool;

システムが変更されました。

SYS> alter system set pga_aggregate_target=6g;

システムが変更されました。

SYS>
SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 6G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 6144
aggregate PGA auto target 5513.83594
global memory bound 1228.7998

SYS>

・・・中略・・・

SCOTT> @test4

SQL_TEXT OPERATION_TYPE last_mem(MB) LAST_TEMPSEG_SIZE MAX_TEMPSEG_SIZE
---------------------------------------- -------------------- ------------ ----------------- ----------------
select * from code where rownum <= 30000 SORT (v2) 1171.63
0 order by code

1GB以上のPGAが利用されたところまでは確認できた〜〜。ということで、

Oracle10g R2において、1セッションでパラレルクエリでなければ、LEAST(pga_aggregate_target * 0.2, _pga_max_size * 0.5)という条件でPGAを割り当てているのは確からしい。

今回で、Oracle10g R2 for MacOS X Server x86-64での検証はおわり、Oracle11g R1 for Linux x86で試してみようと思う。なお自動メモリー管理(AMM)は利用していない構成にしてある。ということで次回へつづく。



前回までのあらすじ・・・
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

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

2010年5月12日 (水)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #9

2010/11/25追記
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? その9回目、

_pga_max_sizeはデフォルトの200MBのままで、pga_aggregate_targetを256MB/512MB/768MB/1GB/2GB/4GB/8GB/16GB/4095GBと増加させてみる。

Oracle10g R2 for MacOS X x86_64版では、Oracle10g R1までと違い、pga_aggregate_target * 0.2を割り当てているということまでは見る事ができた。
以前のリリースのように _pga_max_size * 0.5と比べて小さい値を使うのだと仮定すれば、 LEAST(pga_aggregate_target * 0.2, _pga_max_size * 0.5)となっているんでしょうね。きっと。

とすると… 256MB/512MB/768MB/1GB/2GB/4GB/8GB/16GB/4095GBとpga_aggregate_targetを増加させると、256MBの場合だけ _pga_max_size * 0.5 を下回る。pga_aggregate_targetが512MB以上、かつ_pga_max_sizeがデフォルトの200MBの場合、global memory boundは常に100MBになるはず。

じゃ、確かめてみよう!

SYS> alter system set pga_aggregate_target=256m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 256M
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 256
aggregate PGA auto target 213.855469
global memory bound 51.1992188

SYS>

SYS> alter system set pga_aggregate_target=512m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 512M
SYS>
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 512
aggregate PGA auto target 443.979492
global memory bound 100

やはり、ここで変化しましたね!

SYS> alter system set pga_aggregate_target=768m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 768M
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 768
aggregate PGA auto target 674.384766
global memory bound 100

SYS> alter system set pga_aggregate_target=1g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 1G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 1024
aggregate PGA auto target 905.053711
global memory bound 100

SYS> alter system set pga_aggregate_target=2g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 2G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 2048
aggregate PGA auto target 1826.63965
global memory bound 100

SYS> alter system set pga_aggregate_target=4g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 4G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4096
aggregate PGA auto target 3669.82031
global memory bound 100

SYS> alter system set pga_aggregate_target=8g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 8G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 8192
aggregate PGA auto target 7356.19043
global memory bound 100

SYS> alter system set pga_aggregate_target=16g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 16G
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 16384
aggregate PGA auto target 14728.9131
global memory bound 100

SYS>

・・・中略・・・

SCOTT> @test2

SQL_TEXT OPERATION_TYPE last_mem(MB) LAST_TEMPSEG_SIZE MAX_TEMPSEG_SIZE
---------------------------------------- -------------------- ------------ ----------------- ----------------
select * from code where rownum <= 10000 SORT (v2) 100.02 409993216 409993216
0 order by code

SCOTT>

・・・中略・・・

SYS> alter system flush shared_pool;

システムが変更されました。

SYS> alter system set pga_aggregate_target=4095g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 4095G
SYS>
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4193280
aggregate PGA auto target 3773925.04
global memory bound 100

・・・中略・・・

SCOTT> @test2

SQL_TEXT OPERATION_TYPE last_mem(MB) LAST_TEMPSEG_SIZE MAX_TEMPSEG_SIZE
---------------------------------------- -------------------- ------------ ----------------- ----------------
select * from code where rownum <= 10000 SORT (v2) 100.02 409993216 409993216
0 order by code

SCOTT>

予想通り、 LEAST(pga_aggregate_target * 0.2, _pga_max_size * 0.5) となっている模様〜。まだまだつづきますよ〜 :)



前回までのあらすじ・・・
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

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

2010年5月11日 (火)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #8

2010/11/25追記
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? その8回目、

Oracle10g R1の場合と同様に、_pga_max_sizeパラメータはデフォルト(200BMMB)のまま、pga_aggregate_targetを10MBスタートして増加させて確認していきますよ〜。

SYS> alter system set pga_aggregate_target=10m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 10M
SYS>
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 10
aggregate PGA auto target 4
global memory bound 2

SYS>

・・・中略・・・

SCOTT> @test2

SQL_TEXT OPERATION_TYPE last_mem(MB) LAST_TEMPSEG_SIZE MAX_TEMPSEG_SIZE
---------------------------------------- -------------------- ------------ ----------------- ----------------
select * from code where rownum <= 10000 SORT (v2) 2.01 409993216 409993216
0 order by code

SCOTT>

あれ、Oracle10g R1までの頃と割り当てられてるサイズが違う! pga_aggregate_targetが10MBなのに0.5MBではなく、2MB。つまり20%が割り当てられてます。

SYS> alter system flush shared_pool;

システムが変更されました。

SYS> alter system set pga_aggregate_target=20m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 20M
SYS>
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 20
aggregate PGA auto target 4
global memory bound 4

・・・中略・・・

SCOTT> @test2

SQL_TEXT OPERATION_TYPE last_mem(MB) LAST_TEMPSEG_SIZE MAX_TEMPSEG_SIZE
---------------------------------------- -------------------- ------------ ----------------- ----------------
select * from code where rownum <= 10000 SORT (v2) 4.04 409993216 409993216
0 order by code

SCOTT>

・・・中略・・・

SYS> alter system flush shared_pool;

システムが変更されました。

SYS> alter system set pga_aggregate_target=40m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 40M
SYS>
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 40
aggregate PGA auto target 18.4570313
global memory bound 8

・・・中略・・・

SCOTT> @test2

SQL_TEXT OPERATION_TYPE last_mem(MB) LAST_TEMPSEG_SIZE MAX_TEMPSEG_SIZE
---------------------------------------- -------------------- ------------ ----------------- ----------------
select * from code where rownum <= 10000 SORT (v2) 8.04 409993216 409993216
0 order by code

SCOTT>

Oracle10g R1までの頃より、pgaの作業領域が大きく確保されるようになってるということもある程度見えましたが、まだばだ続きます。

注)パラレルクエリの場合はちょいと違いますからご注意を。余裕があったらやるかもしれないけど。:)


前回までのあらすじ・・・
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

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

2010年5月10日 (月)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #7

2010/11/25追記
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? その7回目、

今回からOracle10g R2での検証、環境は以下。

Oracle10g R2 for MacOS X Server (x86_64) / MacOS X 10.6.3 Core2 Duo 2.2Ghz RAM:2GB

手順はOracle10g R1の場合と同じだが、多少順番が前後したり設定するサイズは変更しながら行うかもしれないのであしからず。

SYS> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for MacOS X Server: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production

SYS>

Oracle10g R1 for MacOS X Serverの場合と同じテスト表とデータを用意してっ、と。

SCOTT> 
SCOTT> create table code (code varchar2(4000));

表が作成されました。

SCOTT>
SCOTT> begin for i in 1..100000 loop insert into code values(lpad('#',4000,'#')); end loop; commit; end;
2 /

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

SCOTT> exec dbms_stats.gather_table_stats(ownname=>'SCOTT',tabname=>'CODE',degree=>2,estimate_percent=>100);

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

SCOTT>
SCOTT> l
1 select
2 blocks*block_size/1024/1024 as "table_size(MB)"
3 from
4 user_tables ut join user_tablespaces uts
5 on ut.tablespace_name = uts.tablespace_name
6* and ut.table_name = 'CODE'
SCOTT> /

table_size(MB)
--------------
788.101563

SCOTT>


テスト開始まえの関連パラメータの値は以下のような状態になってます。

SYS> @show_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
_4031_sga_dump_interval 3600 TRUE
_4031_sga_max_dumps 10 TRUE
_lock_sga_areas 0 TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 FALSE
_use_ism_for_pga TRUE TRUE
lock_sga FALSE TRUE
pga_aggregate_target 104857600 FALSE
pre_page_sga FALSE TRUE
sga_max_size 612368384 TRUE
sga_target 612368384 FALSE

11行が選択されました。

SYS> show parameter workarea_size

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
workarea_size_policy string AUTO
SYS>


引っ張るメソッドはいつもと同じということで、Oracle10g R2編、次回へつづく。 :)


前回までのあらすじ・・・
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

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

2010年5月 9日 (日)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #6

2010/11/25追記
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? その6回目、

前回までで、Oracle10g R1 (32bit)がpga_aggregate_targetパラメータと_pga_max_sizeパラメータをどのように使ってpgaの作業領域を割り当てているか見えたのですが、念押しでもういっちょw.

_pga_max_size * 50% が使われるというところをデフォルトの200MB以外でも確認して、Oracle10g R1 (32bit)での検証はおわりにしたい。:)

_pga_max_sizeパラメータは隠しパラメータなのでOracle Supportの指示なしには変更しないパラメータ、遊ぶ場合は、趣味の環境等でやってね :)

_pga_max_sizeを400MB/800MBと変更し、pga_aggregate_targetも4GB/8GBと設定する。Oracleがきまぐれで割り当てていないのであれば、 LEAST(_pga_max_size*0.5, pga_aggregate_target*0.05)より、200MB/400MBがglobal memory boundとして設定されるはず。

SYS> alter system set "_pga_max_size" = 400m;

システムが変更されました。

SYS> alter system set pga_aggregate_target = 4g;

システムが変更されました。

SYS> shutdown
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SYS> startup
ORACLEインスタンスが起動しました。

Total System Global Area 293601280 bytes
Fixed Size 778888 bytes
Variable Size 116137336 bytes
Database Buffers 176160768 bytes
Redo Buffers 524288 bytes
データベースがマウントされました。
データベースがオープンされました。
SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
_pga_max_size big integer 400M
pga_aggregate_target big integer 4G
SYS>
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4096
aggregate PGA auto target 3673.17773
global memory bound 200

SYS>

・・・中略・・・

SCOTT> @test2

SQL_TEXT OPERATION_TYPE last_mem(MB) LAST_TEMPSEG_SIZE MAX_TEMPSEG_SIZE
---------------------------------------- -------------------- ------------ ----------------- ----------------
select * from code where rownum <= 10000 SORT 172.89 409993216 409993216
0 order by code

・・・中略・・・

SYS> alter system set "_pga_max_size" = 800m;

システムが変更されました。

SYS> alter system set pga_aggregate_target = 8g;

システムが変更されました。

SYS> shutdown
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SYS> startup
ORACLEインスタンスが起動しました。

Total System Global Area 293601280 bytes
Fixed Size 778888 bytes
Variable Size 116137336 bytes
Database Buffers 176160768 bytes
Redo Buffers 524288 bytes
データベースがマウントされました。
データベースがオープンされました。
SYS>
SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
_pga_max_size big integer 800M
pga_aggregate_target big integer 8G
SYS>
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 8192
aggregate PGA auto target 7359.09961
global memory bound 400

SYS>

・・・中略・・・

SCOTT> @test2

SQL_TEXT OPERATION_TYPE last_mem(MB) LAST_TEMPSEG_SIZE MAX_TEMPSEG_SIZE
---------------------------------------- -------------------- ------------ ----------------- ----------------
select * from code where rownum <= 10000 SORT 370.66 409993216 409993216
0 order by code

ということで、Oracle10g R2 編へつづく。




前回までのあらすじ・・・
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

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

2010年5月 8日 (土)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #5

2010/11/25追記
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? その5回目、

Oracle10g R1 (32bit)で、pga_aggregate_targetを40MBから一気に上限に近い4095GBに増加させたところで、global memory boundへの割当割合が変化した。

今回は、pga_aggregate_targetを1GBから16GBそして、後半では、_pga_max_sizeも増加させてどう変化するか確認してみることに。

_pga_max_sizeパラメータは隠しパラメータなのでOracle Supportの指示なしには変更しないパラメータ、遊ぶ場合は、趣味の環境等でやってね :)

あ、ところで、なんでPGAネタを始めたかって? 知りたいですか? 

実は、先日、インフラ担当(Oracleにはかなり詳しいと思われる)の方と話していて、pga_aggregate_targetの話題になったとき、その方が、「そーゆー、都市伝説みたいな話があるよね〜、キッパリ!」、みたいなノリで話していたので、私:「そんな事ないよー、都市伝説みたいじゃなくて都市伝説だよ(ウソウソ)、ほんととうにそう動いてるよ〜」、という話をしていて、どーしても書かなきゃ!、という気持ちになったのでした〜。それ以外に、第一回目でもちょっと書きましたが、10g r2ではちょいと変わったとか...いう話もあったし。(マニュアルにも書いてないし、Oracleに完全お任せでいいかというと、性能問題に絡んでくるちょいといやらしいとこなので)

余談はこのくらいにして、実験再開。

実際にソート処理をさせなくても、いままでの結果から、global memory boundの値が自動PGAメモリー管理では重要な意味があることは確認できたと思うので、毎回ソート処理を行わないで進めます。(適当な所で実際にソートしてみます!)

Oracle10g R1も9iと同様に、MIN(pga_aggregate_target * 0.05, _pga_max_size * 0.5)という条件で割り当てているのはほぼ確実なので、_pga_max_size=200MB (デフォルト)のままで、pga_aggregate_targetを1GB/2GB/4GB/8GB/16GBと増加させた場合、_pga_max_size * 0.5 = 100MBを下回るのは、pga_aggregate_targetに1GBを指定した場合のみなので、Oracleが気まぐれにglobal memory boundを設定しているのでなければ、global memory boundは、51.2BM/100MB/100MB/100MB/100MBという変化になるはず!


2010/5/8追記:
MIN(pga_aggregate_target * 0.05, _pga_max_size * 0.5)という表現よりSQLなら
LEAST(pga_aggregate_target * 0.05, _pga_max_size * 0.5)こっちの方がいいな次ぎからLEASTにする。


ということを脳のcacheにKEEPした上で、以下をご覧ください。
SYS> alter system set pga_aggregate_target=1g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 1G

SYS>
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 1024
aggregate PGA auto target 908.4375
global memory bound 51.1992188

SYS>
SYS>
SYS> alter system set pga_aggregate_target=2g;

システムが変更されました。

SYS>
SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 2G
SYS>
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 2048
aggregate PGA auto target 1830.2168
global memory bound 100

SYS>
SYS> alter system set pga_aggregate_target=4g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 4G
SYS>
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4096
aggregate PGA auto target 3673.33594
global memory bound 100

SYS>
SYS> alter system set pga_aggregate_target=8g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 8G
SYS>
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 8192
aggregate PGA auto target 7359.69727
global memory bound 100

SYS>
SYS> alter system set pga_aggregate_target=16g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 16G
SYS>
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 16384
aggregate PGA auto target 14732.2793
global memory bound 100

SYS>
SYS>

・・・中略・・・

SCOTT> @test2

SQL_TEXT OPERATION_TYPE last_mem(MB) LAST_TEMPSEG_SIZE MAX_TEMPSEG_SIZE
---------------------------------------- -------------------- ------------ ----------------- ----------------
select * from code where rownum <= 10000 SORT 97.58 409993216 409993216
0 order by code

やった〜!、予想通り!!! :)

さらに念押し、pga_aggregate_target * 5%が _pga_max_size * 50% より小さくなるようにして、さらに変化を見る。

16GB * 5% = 819.2MB なので 820MB * 2 = 1640MB を _pga_max_sizeパラメータに設定すればいろいろと見えるよね。たぶん。

MacOS X版Oracle10g R1だけかもしれないけど?(未確認なので)、動的に変わるはず(と思っている)_pga_max_sizeがどうも静的なので、Oracle10g R1では _pga_max_sizeを変更した場合は必ず、インスタンスを再起動しています。 (^^;;;;

_pga_max_sizeを1640MBに設定後、pga_aggregate_targetを1GB/2GB/4GB/8GB/16GBと増加させます。Oracleが気まぐれでglobal memory boundを設定していなければ、global memory boundの値は、51.2MB/102.4MB/204.8MB/409.6MB/819.2MBという変化を見せてくれるはず。

SYS> alter system set "_pga_max_size"=1640m;

システムが変更されました。

SYS> alter system set pga_aggregate_target=1g;

システムが変更されました。

SYS> shutdown
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SYS> startup
ORACLEインスタンスが起動しました。

Total System Global Area 293601280 bytes
Fixed Size 778888 bytes
Variable Size 116137336 bytes
Database Buffers 176160768 bytes
Redo Buffers 524288 bytes
データベースがマウントされました。
データベースがオープンされました。
SYS>
SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
_pga_max_size big integer 1640M
pga_aggregate_target big integer 1G
SYS>
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 1024
aggregate PGA auto target 907.892578
global memory bound 51.1992188

SYS> alter system set pga_aggregate_target=2g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
_pga_max_size big integer 1640M
pga_aggregate_target big integer 2G
SYS>
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 2048
aggregate PGA auto target 1829.30273
global memory bound 102.399414

SYS>
SYS> alter system set pga_aggregate_target=4g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
_pga_max_size big integer 1640M
pga_aggregate_target big integer 4G
SYS>
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4096
aggregate PGA auto target 3672.4834
global memory bound 204.799805

SYS>
SYS> alter system set pga_aggregate_target=8g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
_pga_max_size big integer 1640M
pga_aggregate_target big integer 8G
SYS>
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 8192
aggregate PGA auto target 7358.87988
global memory bound 409.599609

SYS>
SYS> alter system set pga_aggregate_target=16g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
_pga_max_size big integer 1640M
pga_aggregate_target big integer 16G
SYS>
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 16384
aggregate PGA auto target 14731.6289
global memory bound 819.199219

SYS>

データ量を倍にして、実際にソートしてみると。。。700MB以上のPGAを使ってくれました〜パチパチ。

SCOTT> 
SCOTT> begin for i in 1..100000 loop insert into code values(lpad('#',4000,'#')); end loop; commit; end;
2 /

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

SCOTT> exec dbms_stats.gather_table_stats(ownname=>'SCOTT',tabname=>'CODE',degree=>2,estimate_percent=>100);

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

SCOTT> alter system flush shared_pool;

システムが変更されました。

SCOTT> @test3

SQL_TEXT OPERATION_TYPE last_mem(MB) LAST_TEMPSEG_SIZE MAX_TEMPSEG_SIZE
------------------------------------------- -------------------- ------------ ----------------- ----------------
select * from code where rownum <= 20000 SORT 781.26
0 order by code


SCOTT>

もうここまででもOracle10g R1での検証は十分かと思いますが、さらに念押しで確認してみますよ〜(趣味の世界w) 次回へつづく。




前回までのあらすじ・・・
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

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

2010年5月 7日 (金)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #4

2010/11/25追記
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? その4回目、

Oracle10g R1 (32bit)で、pga_aggregate_targetを徐々に増加させ、PGAの使われ方がどう変わるかの確認のつづき。


pga_aggregate_targetを10MB、20MBと増加させてきたが、今回は、40MB、そして 4095GBと上限値近くまで増やしてみる。

SYS> alter system flush shared_pool;

システムが変更されました。

SYS> alter system set pga_aggregate_target=40m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 40M
SYS>
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 40
aggregate PGA auto target 22.5527344
global memory bound 2

・・・中略・・・

SCOTT>
SCOTT> -- test #3 _pga_max_size=200m (default) / pga_aggregate_target=40m
SCOTT> @test2

SQL_TEXT OPERATION_TYPE last_mem(MB) LAST_TEMPSEG_SIZE MAX_TEMPSEG_SIZE
---------------------------------------- -------------------- ------------ ----------------- ----------------
select * from code where rownum <= 10000 SORT 1.92 409993216 409993216
0 order by code

SCOTT>

pga_aggregate_targetを10MB、20MB、40MBと増加させてみたところ、Oracle9i R2までと同じく、pga_aggregate_targetの5%をglobal memory boundとし、その値を上限にオペレーションしていることは確からしい。

次ぎは、_pga_max_sizeパラメータのデフォルト値である200MBを元にしてPGAサイズが決定されるようにしてみる。
pga_aggregate_targetを4095GBにする必要は全くないのだけれどね、ほんとうは。 :)

SYS> 
SYS> alter system flush shared_pool;

システムが変更されました。

SYS> alter system set pga_aggregate_target=4095g;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 4095G
SYS>
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4193280
aggregate PGA auto target 3773929.32
global memory bound 100

SYS>

・・・中略・・・

SCOTT>
SCOTT> -- test #4 _pga_max_size=200m (default) / pga_aggregate_target=4095G
SCOTT> @test2

SQL_TEXT OPERATION_TYPE last_mem(MB) LAST_TEMPSEG_SIZE MAX_TEMPSEG_SIZE
---------------------------------------- -------------------- ------------ ----------------- ----------------
select * from code where rownum <= 10000 SORT 97.58 409993216 409993216
0 order by code

SCOTT>

お〜〜〜っと、ここで変化が現れました。

これまでのテストでは、pga_aggregate_targetの5%がglobal memory boundとして調整されていましたが、5%より随分小さい値が設定されています。これもOracle9i R2と同様に、_pga_max_sizeの50%という値が設定されていると考えてよさそう。 pga_aggregate_target * 5% か _pga_max_size * 50% のいずれか小さい方が利用されていますよね。

次回はその辺りをもう少し細かく確認してみよと思います。つづく…




前回までのあらすじ・・・

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

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

2010年5月 6日 (木)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #3

2010/11/25追記
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? その3回目、

まずは、pga_aggregate_targetパラメータを変更し、PGAがどのように利用されるかみていく。10MBからはじめ、徐々に増加させてみる。
(なお、Oracleのバックグラウンドプロセス以外のセッションは以後のテストで接続している1セッションのみ。同時に複数のセッションがあると自動PGAメモリー管理が働きすぎて困るのでw)

SYS>
SYS> alter system set pga_aggregate_target=10m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 10M

SYS>
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 10
aggregate PGA auto target 4
global memory bound .5

SYS>

前述の情報を見ただけでもわかる方はもう気づいたと思いますが、実際にソート処理を行わせてPGAのサイズなどもみておきますね。(その方が面白いしw)

SCOTT> --test #1 _pga_max_size=200m(default) / pga_aggregate_target=10m
SCOTT> @test2

SQL_TEXT OPERATION_TYPE last_mem(MB) LAST_TEMPSEG_SIZE MAX_TEMPSEG_SIZE
---------------------------------------- -------------------- ------------ ----------------- ----------------
select * from code where rownum <= 10000 SORT .44 409993216 409993216
0 order by code

SCOTT>

前述の結果から見ると、ソート処理は、0.44MBのPGAを利用していることが確認でき、そのサイズは、global memory bound以下のサイズであり、global memory boundは、pga_aggregate_targetパラメータで指定したサイズ(10MB)の5%である0.5MBであることがわかる。

では次ぎに、20MBに増加させて試してみると…

SYS> alter system flush shared_pool;

システムが変更されました。

SYS> alter system set pga_aggregate_target=20m;

システムが変更されました。

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 20M

SYS>
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 20
aggregate PGA auto target 4.36816406
global memory bound 1

・・・中略・・・

SCOTT>
SCOTT> -- test #2 _pga_max_size=200m(default) / pga_aggregate_target=20m
SCOTT> @test2

SQL_TEXT OPERATION_TYPE last_mem(MB) LAST_TEMPSEG_SIZE MAX_TEMPSEG_SIZE
---------------------------------------- -------------------- ------------ ----------------- ----------------
select * from code where rownum <= 10000 SORT .97 409993216 409993216
0 order by code

SCOTT>


pga_aggregate_targetパラメータが10MBの場合と同様に、pga_aggregate_target5%がglobal memory boundのサイズとして調整され、ソート処理を行わせてもその範囲以下を上限としてメモリソート+DISKソートが行われていることがわかる。

Oracle10g R1は、Oracle9i R2のまでと同じ割当方法だよね〜。

ここまでに利用したスクリプトは以下。(今回使った分ね。)
・test2.sql

set term off
select * from code where rownum <= 100000 order by code
/
set term on
@show_workarea2

・show_workarea2.sql

col sql_text for a40
col operation_type for a20
select
sql_text
,operation_type
,round(last_memory_used/1024/1024,2) as "last_mem(MB)"
,last_tempseg_size
,max_tempseg_size
from
v$sql vs join v$sql_workarea vsw
on vs.sql_id = vsw.sql_id
where
sql_text='select * from code where rownum <= 100000 order by code'
/

ということで、次回へつづく。 :)



前回までのあらすじ・・・

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #1
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #2

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

2010年5月 5日 (水)

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #2

2010/11/25追記
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? その2回目、

自動PGAメモリー管理下ではどのようにPGAが割り当てられているのか確認して見ることに…

はじめは、

Oracle10g R1 for MacOS X Server (32bit) / MacOS X 10.4.11 Server PPC G5 Dual 2.7Ghz RAM:1GB

という環境から。

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>

以下、隠しパラメータも含めて(多めに表示してますが気にしないで・・)確認!
赤字のパラメータはいろいろ関わってくるから気にしておくと吉だけど、隠しパラメータは基本的にユーザがかってに変更するパラメータではないので、Oracle社さんからの指示に従ってね :-)

ちなみに、隠しパラメータは、パラメータ名称の先頭が "_"になっているパラメータのこと。かってに変更されては困るからマニュアルにも記載されていないパラメータのこと。
英語圏のブログを検索するときは、hidden parameters なんてキーワード含めるといいよ!

SYS> @show_param

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
_4031_sga_dump_interval 3600 TRUE
_4031_sga_max_dumps 10 TRUE
_lock_sga_areas 0 TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 FALSE
_use_ism_for_pga TRUE TRUE
lock_sga FALSE TRUE
pga_aggregate_target 104857600 FALSE
pre_page_sga FALSE TRUE
sga_max_size 293601280 TRUE
sga_target 293601280 FALSE

11行が選択されました。

SYS>
SYS> show parameter workarea_size_policy

NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
workarea_size_policy string AUTO
SYS>


隠しパラメータは通常はshow parameterコマンドでは表示されないけど一旦設定してあげると表示されるようになるんだよ〜。
_pga_max_size隠しパラメータのデフォルト値は200MBなんだけどあえて設定してやることでshow parameterコマンドで確認できるようにしてあります。
マネしないでね、してもいいけど自己責任でお願いします (^^;;;

SYS> show parameter pga

NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 100M
SYS>
SYS> @pgastat

NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 100
aggregate PGA auto target 76.6142578
global memory bound 5

SYS>

最後の結果は、v$pgastatビューを問い合わせているんですが、一番のポイントは赤字部分のglobal memory boundなのでよ〜〜〜〜く覚えておいてね (^^

以下、ここまでで使ったスクリプト。

show_param.sql

set linesize 200
col ksppinm for a30
col ksppstvl for a30
col ksppstdf for a30
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%'
or a.ksppinm like '%sga%'
or a.ksppinm like 'memory%'
order by
a.ksppinm
/

pgastat.sql

set linesize 200
col name for a50
select
name
,value/1024/1024 "size(MB)"
from
v$pgastat
where
name in (
'aggregate PGA target parameter'
,'aggregate PGA auto target'
,'global memory bound'
)
/


というこで、引っぱりまくってますが、Oracle10g R1 (32bit)編、次回へつづく。



前回までのあらすじ・・・
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #1

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

pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #1

かな〜り間が空きましたが、久々にMac De Oracleっぽいネタにしました〜w

pga_aggregate_targetというか_pga_max_sizeパラメータというかPGAに割り当てられるSORTやhash-joinなどのサイズ絡みの話をいくつかのプロジェクトでしてたらOracle10g R2以降は割当る割合が変わったよね〜なんて話が出てた事もあり、実際はどーなーのよー。という事で調べてみる事にした。

Oracle9i R2までのお話は、過去記事や国内外のブログでも沢山書かれているのでそちらも参考にしてもらうよろしいかと…

sizing pga_aggregate_target and pga_max_size for Oracle
The _PGA_MAX_SIZE hidden parameter
新・ソートに関する検証
32bitと64bitのOracle10gでも_pga_max_sizeの値は同じ。
Mac De Oracle なんですが、Windows(32bit)でのOracleな話 #2

確認方法は、前述した新・ソートに関する検証の検証方法を参考に進めて行くことにした。
pga_aggregate_target関連の話でかつ、日本語の記事だとここが一番分かりやすい。感謝。

今回対象としたのは以下のプラットフォームとリリースのOracle

・Oracle10g R1 for MacOS X Server (32bit) / MacOS X 10.4.11 Server PPC G5 Dual 2.7Ghz RAM:1GB
・Oracle10g R2 for MacOS X Server (64bit) / MacOS X 10.6.3 Core2 Duo 2.2Ghz RAM:2GB
・Oracle11g R1 for Linux x86 (32bit) / CentOS 5.4 Pentium M 1Ghz RAM:768MB
・Oracle11g R2 for Linux x86 (32bit) / CentOS 5.4 Pentium M 1Ghz RAM:768MB


まず、検証対象の全データベースのSCOTTスキーマに以下の表とデータを登録しておく! :)

SCOTT> create table code (code varchar2(4000));

表が作成されました。

SCOTT> begin for i in 1..100000 loop insert into code values(lpad('#',4000,'#')); end loop; commit; end;
2 /

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

SCOTT> exec dbms_stats.gather_table_stats(ownname=>'SCOTT',tabname=>'CODE',estimate_percent=>100);

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

SCOTT>
SCOTT> l
1 select
2 blocks*block_size/1024/1024 as "table_size(MB)"
3 from
4 user_tables ut join user_tablespaces uts
5 on ut.tablespace_name = uts.tablespace_name
6* and ut.table_name = 'CODE'
SCOTT> /

table_size(MB)
--------------
782.101563

SCOTT>

ということで、次回へつづく。 (^^

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

2010年3月28日 (日)

32bitと64bitのOracle10gでも_pga_max_sizeの値は同じ。

2010/11/25追記
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1

バージョンはOracle10g ですが、Oracle10g R1までとOracle10g R2以降では32bit版と64bit版のPGA関連で違いがあるという話を聞いたので、暇な時に調べようかなというネタのタネ。

久々にMac De Oracleらしく、MacOSX版Oracle10gでございます :)


まずは、Oracle10g R1 for MacOSX Server (PowerPC) 。こちらは32bitのはず。v$sessionのpaddr列からも確認できるように32bitだね

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> !file $ORACLE_HOME/bin/oracle
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tigerx/bin/oracle: setuid setgid Mach-O executable ppc

SYS> select paddr from v$session where username='SYS';

PADDR
--------
610F79E8

SYS> col ksppinm for a30
SYS> col ksppstvl for a30
SYS> l
1 select
2 a.ksppinm
3 ,b.ksppstvl
4 ,b.ksppstdf
5 from
6 x$ksppi a join x$ksppcv b
7 on a.indx = b.indx
8 and a.ksppinm like '%pga%'
9 order by
10* a.ksppinm
SYS> /

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ---------------------------
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 96468992 FALSE

SYS>



Powerpc32

次ぎは、Oracle10g R2 for MacOSX Server(Intel x86-64)。 v$sessionのpaddr列からも64bitだと確認できます。


SYS> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for MacOS X Server: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production

SYS>
SYS> !file $ORACLE_HOME/bin/oracle
/Users/shared/u01/app/oracle/oracle/product/10.2.0/db_1/bin/oracle: Mach-O 64-bit executable x86_64

SYS> select paddr from v$session where username='SYS';

PADDR
----------------
0000000194664920

SYS>
SYS> l
1 select
2 a.ksppinm
3 ,b.ksppstvl
4 ,b.ksppstdf
5 from
6 x$ksppi a join x$ksppcv b
7 on a.indx = b.indx
8 and a.ksppinm like '%pga%'
9 order by
10* a.ksppinm
SYS> /

KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ---------
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 203423744 FALSE

SYS>


Intelcore2duo64


バナーには 64bitという表記は無いOracle10g R2 for MacOSX Serverですが、32bitのMacOSX版Oracle10g R2は存在しないのでMacOSXに限っては 64bit Productionの表示はないのかな? と勝ってに思っている。
32/64bitの両リリースのあるプラットフォームではバナーに64bit表記がなければ32bit版となっているが、そもそも32bit版がないのだから区別する必要はないということかな。

上記結果からは間違いなくOracle10g R2 for MacOSX Serverは、64bit版ですね! キッパリ! 

で、本当に知りたかったのはそれじゃなくて…

64bit版、Oracle10g R2でも _pga_max_sizeは200MBなんだよね!ってこと。 64bit版でメモリ沢山積んでても今のところこの値は変わってないよねってこと。
あとで、いろいろと遊ぶつもりなのでそのネタの事前確認なのであるw

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

2009年10月15日 (木)

Snow Leopard の Finderがcrashしてrestartを繰り返すなうの巻き

妻がSnow Leopardで名刺の印刷しようとしたらハングしたらしく電源ボタンの長押しでMac強制終了して再起動。その後、妻のアカウントでログインしアプリケーションを起動したら全てが異常終了して使えない。音がでない。で、Finderがcrashしてrestartを繰り返している。



この現象、Snow Leopard以前からも幾つか書かれていた記憶はあったが自分のみに降り掛かるとは。。。。

尚、現在は復旧できたが、その経過も含めて回復方法まとめてみた。

映像にもあるように一番困る現象はFinderがrestartを繰り返してしまうので全く操作できない点。Safeモードで起動しちゃう最後の手もあるが・・・。今回はそこまでする必要は無かった。
以下に今回の症状を書いておく。

  • 特定のユーザでFinderがcrashしrestartを繰り返す。(ムービー参照)
  • 起動音以外の音がでない。(全ユーザ)
  • iTuensが-200エラーで起動しない。(全ユーザ)


Finderがrestartを繰り返してしまうユーザ以外のユーザでは音がでない、iTunesが起動できないということを除けば問題なく正常に使えている。という症状だった。
このような状態になった時にやることは、
といった作業。


で今回やったことと結果を以下に時系列で書いておくと。。。
  • NVRAMクリア:現象解決できず。
  • SMCリセット:現象解決できず。
  • 他のユーザはほぼ正常に使えていたので暫定策として他のユーザログインしTerminal.appからdittoコマンドで/Users/xxxxフォルダを丸ごと/Users/xxxx2のように複製。新規ユーザxxxx2を作成後、dsclコマンドでホームディレクトリ変更。及び/Users/xxxx2以下のパーミッションをxxxxからxxxx2へ変更。
    新規に作成したxxxx2ユーザではFinderがrestartを繰り返すという現象は治まった。
  • この時点で、/Users/xxxx以下の.DS_Storeファイルや、/Users/Library/Caches以下のキャッシュファイル、/Users/xxxx/Library/Preferences以下の初期設定ファイルが悪さをしていないことが確定。
  • /System/Library/Caches以下、/Library/Caches以下のキャッシュファイルを全て削除して再起動でやっと全ての問題が解決した。


めでたしめでたし。

尚、dittoコマンドやdsclコマンドの使い方はググルと沢山ヒットするので確認してね。。。と言いつつ別記事か、この記事にdittoコマンドやdsclコマンドのログを追記する予定。。。。もう眠いので取りあえず今はここまで。。

参考:
・Mac OS X:ソフトウェアに関するトラブルシューティング

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

2009年9月27日 (日)

Oracle SQL Developer Data Modeler #3

前回予告したようにOracle SQL Developer Data Modeler 2.0で日本語を使ったモデリングを試してみた。まず使用感から先に書いておくと”まあまあ”と言ったところ。
日本語を使う上で注意する点も現時点ではまだまだあるな。という感じで、その辺りが面倒だとか気になるようであればERwinとかObjectBrowser ERとか既存のツールを使った方が楽だと感じる方も多いかもしれない。


まずはYouTubeへアップしたムービーでご覧ください。
論理モデルを日本語で作成し、物理モデルへ変換する。
その際のポイントは以下。

  • 変換する際に英語表記へ変換しているが制約名(主キー制約、ユニーク制約、外部参照制約など)を日本語表記から英語表記へ置換する機能が無い(?)ようで、制約名に関しては論理モデル上で英語表記へ手動変更している。

  • 外部参照制約では外部キー削除時のデフォルトアクションをNO ACTIONと設定していてもSET NULLが設定されてしまうため、この項目についても適宜手動で設定する必要がある。

  • DDL生成時に指定した名称を置換する「Name Substitution」機能は動作しないようなので使うのをやめた。(使い方が悪いのか?)

  • 今回あえて、日本語名のままのカラム(従業員.給与)を残しておきDDLにどのように書き出されるか確認しておいた。結果としては識別引用子(quoted identifier)は付加されないので「日本語名称でテーブル等のデータベースオブジェクト名称」を作成したいという方々には残念!かも。ただ、どうしても識別引用子を付加したい場合もあると思うのでDDL生成時オプションとして用意してもらえると良いと思う。(確かObjectBrowser ERはそんな機能があったような気がする。)

  • 論理モデル上にてリレーションを作成した場合、属性名称のPreferred Abbreviationに指定した名称を継承しないので手動で入力する必要がる。(タイプミスには要注意。)


ムービーは最大化するといいよ!

ムービーで作成した物理モデルから生成したDDLは以下の通り。(EMPLOYEESの給与列はあえてマルチバイトのままにしてあるが識別引用子が付加されていない。赤太字部分)

他に気付いたことも幾つかあった気がする・・・・・。が・・・思い出したらこのエントリに追記するか別エントリにする予定。

尚、論理モデルから物理モデルへ変換する際「Apply Name Translation」と「Use preferred abbreviations」をチェックしたが、「Use preferred abbreviations」をチェックしなかった場合はどこに設定した名称に変換してくれるのか未確認。


-- Generated by Oracle SQL Developer Data Modeler Version: 2.0.0 Build: 570
-- at: 2009-09-26 22:05:49
-- site: Oracle Database 11g
-- type: Oracle Database 11g


CREATE TABLE DEPARTMENTS
(
DEPARTMENT_ID NUMBER (4) NOT NULL ,
DEPARTMENT_NAME VARCHAR2 (60 BYTE) NOT NULL
) TABLESPACE HOGE_TS

;


COMMENT ON TABLE DEPARTMENTS IS '部署マスタ'
;

COMMENT ON COLUMN DEPARTMENTS.DEPARTMENT_ID IS '部署ID'
;

COMMENT ON COLUMN DEPARTMENTS.DEPARTMENT_NAME IS '部署名'
;
CREATE UNIQUE INDEX DEPARTMENTS_PKX ON DEPARTMENTS
(
DEPARTMENT_ID ASC
)
;

ALTER TABLE DEPARTMENTS
ADD CONSTRAINT DEPARTMENTS_PK PRIMARY KEY ( DEPARTMENT_ID ) ;


CREATE TABLE EMPLOYEES
(
EMPLOYEE_ID NUMBER (5) NOT NULL ,
EMPLOYEE_NAME VARCHAR2 (40 BYTE) NOT NULL ,
給与 NUMBER (7,2) NOT NULL ,
DEPARTMENT_ID NUMBER (4) ,
MGR_ID NUMBER (5)
) TABLESPACE HOGE_TS

;



COMMENT ON TABLE EMPLOYEES IS '従業員マスタ'
;

COMMENT ON COLUMN EMPLOYEES.EMPLOYEE_ID IS '従業員ID'
;

COMMENT ON COLUMN EMPLOYEES.EMPLOYEE_NAME IS '従業員名'
;

COMMENT ON COLUMN EMPLOYEES.給与 IS '給与'
;

COMMENT ON COLUMN EMPLOYEES.DEPARTMENT_ID IS '部署ID'
;

COMMENT ON COLUMN EMPLOYEES.MGR_ID IS '上司ID'
;
CREATE UNIQUE INDEX EMPLOYEES_PKX ON EMPLOYEES
(
EMPLOYEE_ID ASC
)
;
CREATE INDEX EMP_DEPT_FK1X ON EMPLOYEES
(
DEPARTMENT_ID ASC
)
;
CREATE INDEX EMP_EMP_FK1X ON EMPLOYEES
(
MGR_ID ASC
)
;

ALTER TABLE EMPLOYEES
ADD CONSTRAINT EMPLOYEES_PK PRIMARY KEY ( EMPLOYEE_ID ) ;



ALTER TABLE EMPLOYEES
ADD CONSTRAINT EMP_DEPT_FK1 FOREIGN KEY
(
DEPARTMENT_ID
)
REFERENCES DEPARTMENTS
(
DEPARTMENT_ID
)
;


ALTER TABLE EMPLOYEES
ADD CONSTRAINT EMP_EMP_FK1 FOREIGN KEY
(
MGR_ID
)
REFERENCES EMPLOYEES
(
EMPLOYEE_ID
)
;


-- Oracle SQL Developer Data Modeler Summary Report:
--
-- CREATE TABLE 2
-- CREATE INDEX 4
-- ALTER TABLE 2
-- CREATE VIEW 0
-- CREATE PROCEDURE 0
-- CREATE TRIGGER 0
-- CREATE STRUCTURED TYPE 0
-- CREATE COLLECTION TYPE 0
-- CREATE CLUSTER 0
-- CREATE CONTEXT 0
-- CREATE DATABASE 0
-- CREATE DIMENSION 0
-- CREATE DIRECTORY 0
-- CREATE DISK GROUP 0
-- CREATE ROLE 0
-- CREATE ROLLBACK SEGMENT 0
-- CREATE SEQUENCE 0
-- CREATE SNAPSHOT 0
-- CREATE SYNONYM 0
-- CREATE TABLESPACE 0
-- CREATE USER 0
--
-- DROP TABLESPACE 0
-- DROP DATABASE 0
--
-- ERRORS 0
-- WARNINGS 0




バックナンバー
Oracle SQL Developer Data Modeler #1
Oracle SQL Developer Data Modeler #2

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

2009年9月20日 (日)

Oracle SQL Developer Data Modeler #2

Oracle SQL Developer Data Modelerの第2回目です。
今回はOracle database 11g release 2 for Linux x86のHRスキーマのテーブル定義をリーバスエンジニアリングし物理モデルと論理モデル、ついでにDDLも生成してみた。以下のムービーの通りリレーションの自動レイアウトはちょっとイマイチかもしれないがそれ以外は良さげです。ちなみに今回の例でも日本語は使っていません。多分次回のエントリで日本語を使っている所を出せるかも。。あくまで予定ですので未定ですが。


以下のムービーはQuickTIme XのScreen Recorderで記録後、YouTubeへアップロード。さらにサウンドトラックをYouTube上で設定した。


尚、上記例ではOracle SQL Developer Data ModelerからOracle database 11g release 2 へはTNS接続していましうす。MacOS XのOracle SQL DeveloperでTNS接続を利用する方法と同じです。詳細は以下を参照してください。

「Oracle SQL Developer for MacOSX で Oracle Instant Clientを使ってみる」



バックナンバー
Oracle SQL Developer Data Modeler #1

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

2009年9月18日 (金)

Oracle SQL Developer Data Modeler #1

最近、Oracle SQL Developerのエントリが検索上位に来ていたので久々に新ネタです。Oracle SQL Developerに組込まれる?(ちゃんと読んだわけではないので違うかも)というOracle SQL Developer Data Modelerのお話。

このエントリでは書きませんが、メニューなど日本語化されていないのですがエンティティなどでは多少問題はありますが日本語は扱えるようです。(注)私が日本語を使って試した範囲に於いて。

今回利用したのはMacOS X Snow Leopard でOracle SQL Developer Data Modeler for MacOS Xを単体で起動できるようにした後にOracle SQL Developer for MacOS Xの外部アプリケーションとして起動するところまで。(ちなみに、PowerPC版のMacOS X TigerでもJDK6 Developer Previewがインストールされていれば利用できます。)


Datamodeler_2

では、さっそくやってみましょう!

OTNのサイトからダウンロードしたOracle SQL Developer Data Modeler for MacOS Xを適当な場所に解凍します。(今回は/Applications以下に展開)
Oracle SQL Developer Data ModelerをMacOS X上で起動するには、Data Modelerを解凍したディレクトリ直下にあるdatamodeler.shをTerminalから実行します。
尚、ダウンロード・解凍直後はdatamodeler.shの実行権限が無いので実行権限を付与しておきます。

guppy:˜ discus$ cd /Applications/datamodeler 
guppy:datamodeler discus$ ll
total 256
drwxr-xr-x@ 8 discus staff 272 9 18 04:10 bin
drwxr-xr-x@ 3 discus staff 102 9 18 04:05 conf
-rw-r--r--@ 1 discus staff 118784 6 26 03:42 datamodeler.exe
-rw-r--r--@ 1 discus staff 60 6 26 03:42 datamodeler.sh
drwxr-xr-x@ 3 discus staff 102 9 18 04:05 doc
drwxr-xr-x@ 3 discus staff 102 9 18 04:05 domains
-rw-r--r--@ 1 discus staff 4279 6 26 03:42 icon.png
drwxr-xr-x@ 16 discus staff 544 9 18 04:05 lib
drwxr-xr-x@ 3 discus staff 102 9 18 04:05 logtypes
drwxr-xr-x@ 3 discus staff 102 9 18 04:05 rdbms
drwxr-xr-x@ 3 discus staff 102 9 18 04:05 reports
drwxr-xr-x@ 3 discus staff 102 9 18 04:05 templates
guppy:datamodeler discus$
guppy:datamodeler discus$ chmod ug+x datamodeler.sh
guppy:datamodeler discus$ ll
total 256
drwxr-xr-x@ 8 discus staff 272 9 18 04:10 bin
drwxr-xr-x@ 3 discus staff 102 9 18 04:05 conf
-rw-r--r--@ 1 discus staff 118784 6 26 03:42 datamodeler.exe
-rwxr-xr--@ 1 discus staff 60 6 26 03:42 datamodeler.sh
drwxr-xr-x@ 3 discus staff 102 9 18 04:05 doc
drwxr-xr-x@ 3 discus staff 102 9 18 04:05 domains
-rw-r--r--@ 1 discus staff 4279 6 26 03:42 icon.png
drwxr-xr-x@ 16 discus staff 544 9 18 04:05 lib
drwxr-xr-x@ 3 discus staff 102 9 18 04:05 logtypes
drwxr-xr-x@ 3 discus staff 102 9 18 04:05 rdbms
drwxr-xr-x@ 3 discus staff 102 9 18 04:05 reports
drwxr-xr-x@ 3 discus staff 102 9 18 04:05 templates
guppy:datamodeler discus$


JavaSEは1.6がデフォルトになっていますが、まだ、このままではData Modelerを実行できません。

guppy:datamodeler discus$ java -version
java version "1.6.0_15"
Java(TM) SE Runtime Environment (build 1.6.0_15-b03-219)
Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02-90, mixed mode)
guppy:datamodeler discus$


なにもしないで実行すると、~/jdk.confに設定されるJ2SEのホームディレクトリのフルパスの入力を求められます。指示に従いそのまま入力してもよいのですが、datamodelerとは直接関係の無いディレクトリにjdk.confが作成されるのが嫌なので、別の方法で設定します。

guppy:datamodeler discus$ ./datamodeler.sh &
[1] 2198
guppy:datamodeler discus$
Oracle SQL Developer Data Modeler
Copyright (c) 1997, 2009, Oracle and/or its affiliates.All rights reserved.

Type the full pathname of a J2SE installation (or Ctrl-C to quit), the path will be stored in ˜/jdk.conf

[1]+ Stopped ./datamodeler.sh
guppy:datamodeler discus$


Data Modelerを解凍したディレクトリ以下の /bin/datamodeler.confのSetJavaHomeパラメータにJavaSE6.0へのフルパスを設定します。

guppy:datamodeler discus$ vi ./bin/datamodeler.conf
guppy:datamodeler discus$ grep SetJavaHome ./bin/datamodeler.conf
SetJavaHome /System/Library/Frameworks/JavaVM.framework/Versions/1.6/home


尚、MacOS XのJavaへのパスは以下のように管理されています。今回は、1.6/homeを設定しています。

guppy:datamodeler discus$ 
guppy:datamodeler discus$ ll /System/Library/Frameworks/JavaVM.framework/Versions
total 48
lrwxr-xr-x 1 root wheel 5 9 2 17:21 1.3 -> 1.3.1
drwxr-xr-x 3 root wheel 102 7 21 08:35 1.3.1
lrwxr-xr-x 1 root wheel 5 9 2 17:21 1.5 -> 1.5.0
drwxr-xr-x 7 root wheel 238 9 2 17:21 1.5.0
lrwxr-xr-x 1 root wheel 5 9 2 17:21 1.6 -> 1.6.0
drwxr-xr-x 7 root wheel 238 9 2 17:21 1.6.0
drwxr-xr-x 8 root wheel 272 9 2 17:21 A
lrwxr-xr-x 1 root wheel 1 9 2 17:21 Current -> A
lrwxr-xr-x 1 root wheel 3 9 2 17:21 CurrentJDK -> 1.6
guppy:datamodeler discus$


これでやっと起動できるようになります。

guppy:datamodeler discus$ ./datamodeler.sh &
Oracle SQL Developer Data Modeler
Copyright (c) 1997, 2009, Oracle and/or its affiliates.All rights reserved.


[2]- Done ./datamodeler.sh
guppy:datamodeler discus$
Osdm_window_2

Data Modelerを起動するのに毎回Terminalを開いて、shellを実行するというのは面倒という方は、.sh の部分を .command と書き換えてください。ダブルクリックで起動できるようになります。
.command に変更後エイリアスをDockに登録しておけばクリック一発で起動できます。


他の方法として、Oracle SQL Developerの外部アプリケーションとして登録しておきOracle SQL Developer経由で起動する方法があります。
登録するのは、 .sh の方でも .command の方でも、どちらでも構いません。以下の例では datamodeler.sh を外部アプリケーションとして登録・起動しています。


おまけ、JavaSE5.0を設定してしまうと・・・・・・こんなことになっちゃいますからご注意を。

guppy:datamodeler discus$ ./datamodeler.sh &
[1] 891
guppy:datamodeler discus$
Oracle SQL Developer Data Modeler
Copyright (c) 1997, 2009, Oracle and/or its affiliates.All rights reserved.

java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
Exception in thread "main" ll


次回につづく。

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

QuickTime X - Screen Recorder

以前もちょっと書いたけどSnow LeopardのQuickTime XからScreen Recorder機能が追加されている。この機能、操作ガイドなど作るのには非常に便利。いままではShareware使ってたりした方が多かったと思うけどSnow LeopardならQuickTime Xを起動してレコーディングすだけでOK。

1

QuickTime X Playerを起動して「メニュー」→「新規画面収録 ^⌘N」を選択。
2

「画面収録」ダイアログが表示された録画ボタンをクリックするだけで開始される。デフォルトの保存場所は「ムービー」フォルダ」。
「収録の開始」ボタンをクリックすると操作が録画される。

6

4

実際に収録したムービーは次の記事の時にで使う予定。

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

2009年9月16日 (水)

Cross Platform Transportable Tablespace #11

twitterで呟かれていたリトルエンティアン、ビッグエンディアンで思い出したので、久々にトランスポータブル表領域について。
Oracle database 11gが登場したり、MacがPowerPCからIntelに移行したりしたのでその辺りの情報も追加されているんだろうな〜。と思い$transportable_platformの内容を比較してみた。

まず、Oracle10g R2の頃のv$transportable_platformの情報。(以前載せたものを再掲載

SYS> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
PL/SQL Release 10.2.0.2.0 - Production
CORE 10.2.0.2.0 Production
TNS for Linux: Version 10.2.0.2.0 - Production
NLSRTL Version 10.2.0.2.0 - Production

SYS> SYS> l
1 select
2 endian_format
3 ,platform_name
4 from
5* v$transportable_platform
SYS> /

ENDIAN_FORMAT PLATFORM_NAME
---------------------------- -----------------------------------------
Big Solaris[tm] OE (32-bit)
Big Solaris[tm] OE (64-bit)
Little Microsoft Windows IA (32-bit)
Little Linux IA (32-bit)
Big AIX-Based Systems (64-bit)
Big HP-UX (64-bit)
Little HP Tru64 UNIX
Big HP-UX IA (64-bit)
Little Linux IA (64-bit)
Little HP Open VMS
Little Microsoft Windows IA (64-bit)
Big IBM zSeries Based Linux
Little Linux 64-bit for AMD
Big Apple Mac OS
Little Microsoft Windows 64-bit for AMD
Little Solaris Operating System (x86)
Big IBM Power Based Linux

17行が選択されました。

SYS>


次に、Oracle11g R2のv$transportable_platformの内容
黒太字部分は名称が変っただけですね。for AMDからx86と変更されている。
また、赤太字のHP IA Open VMSとSolaris Operating System (x86-64)が追加されている。

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

SYS> l
1 select
2 endian_format
3 ,platform_name
4 from
5* v$transportable_platform
SYS> /

ENDIAN_FORMAT PLATFORM_NAME
-------------- --------------------------------------------------
Big Solaris[tm] OE (32-bit)
Big Solaris[tm] OE (64-bit)
Little Microsoft Windows IA (32-bit)
Little Linux IA (32-bit)
Big AIX-Based Systems (64-bit)
Big HP-UX (64-bit)
Little HP Tru64 UNIX
Big HP-UX IA (64-bit)
Little Linux IA (64-bit)
Little HP Open VMS
Little Microsoft Windows IA (64-bit)
Big IBM zSeries Based Linux
Little Linux x86 64-bit
Big Apple Mac OS
Little Microsoft Windows x86 64-bit
Little Solaris Operating System (x86)
Big IBM Power Based Linux
Little HP IA Open VMS
Little Solaris Operating System (x86-64)

19行が選択されました。


SYS>


最後は、先日リリースされたOracle11g R2のv$transportable_platformの内容。
赤太字で示した通り、Intel Macが追加されている。PowerPC版のMacはBig eneianだったがIntel版ではLittle endian。

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

SYS>
SYS> l
1 select
2 endian_format
3 ,platform_name
4 from
5* v$transportable_platform
SYS> /

ENDIAN_FORMAT PLATFORM_NAME
-------------- --------------------------------------------------
Big Solaris[tm] OE (32-bit)
Big Solaris[tm] OE (64-bit)
Little Microsoft Windows IA (32-bit)
Little Linux IA (32-bit)
Big AIX-Based Systems (64-bit)
Big HP-UX (64-bit)
Little HP Tru64 UNIX
Big HP-UX IA (64-bit)
Little Linux IA (64-bit)
Little HP Open VMS
Little Microsoft Windows IA (64-bit)
Big IBM zSeries Based Linux
Little Linux x86 64-bit
Big Apple Mac OS
Little Microsoft Windows x86 64-bit
Little Solaris Operating System (x86)
Big IBM Power Based Linux
Little HP IA Open VMS
Little Solaris Operating System (x86-64)
Little Apple Mac OS (x86-64)

20行が選択されました。

SYS>

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

2009年9月 6日 (日)

MacBook Pro 15inch (MacBookPro3,1)は64bit mode kernelで起動するはずだが・・・・

64bit mode kernelで起動できるのかって話題いろいろと飛び交ってるので、うちのMacBook Pro 15inch(MacBookPro3,1)で確認してみた。現状では起動する条件は整っているように見えるが64bit kernel modeでは起動しない。
以下のチェックではMacBook Pro 15inch (MacBookPro3,1)はSnow Leopardでは64bit mode kernelで起動できるはずだが。。。。(アップルが公表している資料を見る限りでは。。



guppy:˜ oracle$ 
guppy:˜ oracle$
guppy:˜ oracle$ system_profiler SPSoftwareDataType SPHardwareDataType | grep -E '(Mac OS|64-bit|Model Identifier|Processor Name)'
System Version: Mac OS X 10.6 (10A432)
64-bit Kernel and Extensions: No
Model Identifier: MacBookPro3,1
Processor Name: Intel Core 2 Duo

guppy:˜ oracle$ ioreg -l -p IODeviceTree | grep firmware-abi
| | "firmware-abi" = <"EFI64">
guppy:˜ oracle$


なぜ起動しないのだろうとApple Support Forumを検索してみたら。。。どうやら64bit mode kernel起動可能な機種ではあるがfirmwareの不具合であるとうい書き込みを見つけた。。。待つしかないかな。。。ということでひとまず64bit kernelでのお遊びはまたの機会に。

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

PL/SQL で Python Challenge Level 18 - 完

ということで、Python Challenge Level18の最終回。
前回報告した通り level 18 はPL/SQLだけで解けます。今回は問題の元ネタの抽出と回答を抽出した後の確認はOSに付属している機能を使ったが大切なのは問題の元ネタから解答を抽出する所なので。

SQL*Plusから実行したストアドプロシージャで問題を解いたところ....例によってヒントになりそうな部分はもやもやさせてます。 :)


Level18_exec

ヒントになりまくりの答えのスナップショット。(これ以外にも私のブログにヒントになる記事もあるのだが・・・・・それは書きませんよ。。。。)

ちなみに絵を見れば分かると思いますが、MacOS XからX11のX forwordingを使って今回利用したLinuxのDesktopを表示/操作しています。X11のxtermからssh -Y user@hostで接続してgnome-sessionを実行しているだけ。


Level18_eureka

Python Challenge Level19へつづく!(?)

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

2009年9月 2日 (水)

Opera 10(正式版)で改善されたOpera 10 betaでのtext-shadow表示問題

Safari4.0とFireFox3.5とOpera 10 Beta で text-shadowというタイトルで書いたことがあったが、Opera10が正式リリースされたので前回問題だったtext-shadowの表示を再確認。
結果としては改善されたようでめでたしめでたし。。


Opera 10 betaでのtext-shadowの表示。(text-shadow:1px 2px 3px grayの表示)
Opera10beta

Opera 10(正式版)でのtext-shadowの表示。(text-shadow:1px 2px 3px grayの表示)。
改善されてます!!! ;)

Opera100

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

PL/SQL で Python Challenge Level 18 解けた

一年以上間が空いてしまったが・・・Python Challenge Level18はPL/SQLだけで解けますよん。ヒントになるようなならないようなモヤモヤした記事は明日にでも。。

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

2009年8月31日 (月)

PL/SQL de O(ND) Difference Algorithm

かなり久々ですが、まあ、シリーズもののネタを毎日アップするのもなかなか難しい状況なので単発ネタでも。

ということで今回は、PL/SQLでAn O(ND) Difference Algorithmを実装して頭の体操。

文書比較のアルゴリズムとしてはAn O(NP) Sequence Comparison Algorithmが効率は良いのだが、先日javascriptで書かれたO(ND)のコードを見つけたことをキッカケにPL/SQLで写経したくなったというわけ。

文書比較アルゴリズムは2、3年くらい前、文書比較アブゴリズムdiff(1)/diff(2)/diff(3)等をみたことがあったが、最近pyhthonやらjavascriptのコードを目にするようになり (^^) な顔して眺めていて時間があったらPL/SQLで遊んでみようと思っていた。。他の言語でやってもMac De Oracle的にはおもしろくないので。

ちなみに、pythonだどdifflib使えば文書比較はできるので実際新たに書く必要はそんなにないんじゃなかろうかとも思うわけですが、私のようにわざわざPL/SQLで書いてみようと思う人間もいるわけで、頭の体操にはいいと思います!。理解するのは大変だったけど。wwww

最近見つけたO(ND)やO(NP)に関するブログ等のリンクは以下。

レコメンデーションとエディットグラフ
diff O(np) javascript implementation
"An O(NP) Sequence Comparison Algorithm" with Python
"An O(NP) Sequence Comparison Algorithm" with Python の添削
Javascriptでdiffる ( with 形態素解析 )
google-diff-match-patch


今回はレコメンデーションとエディットグラフにあるO(ND)コードを写経してPL/SQLでやってみた。O(NP)も集中できる時間があったらやってみたい。。。脳トレにも丁度いいかもよ。。。
※Oracle11g 11.1.0.7.0を使ったが、Oracle10g 10.1.0.3.0以上なら動作するはず。。。。(^^;;;

まずは、結果からどうぞ。O(ND)をPL/SQLストアドファンクション化し、SQLから実行できるようにしてあります。また、pythonのdifflibにあるdifferクラスで利用されている差異コード('?'を除く)を出力するようにしてあります。)

SCOTT> set timi on
SCOTT> l
1 SELECT
2 '"' || diffs.code || diffs.string || '"' AS "diff O(ND) results"
3 FROM
4 TABLE(
5 SELECT diffOND('BFEABD', 'ABCDA') from dual
6 ) diffs
7 ORDER BY
8* diffs.seq DESC
SCOTT> /

diff O(ND) results
--------------------------------------------------------------------------------
"- B"
"- F"
"- E"
" A"
" B"
"+ C"
" D"
"+ A"

8行が選択されました。

経過: 00:00:00.00

SCOTT>
SCOTT> l
1 SELECT
2 '"' || diffs.code || diffs.string || '"' AS "diff O(ND) results"
3 FROM
4 TABLE(
5 SELECT diffOND('aaebdd ', 'aedajkd') from dual
6 ) diffs
7 ORDER BY
8* diffs.seq DESC
SCOTT> /

diff O(ND) results
--------------------------------------------------------------------------------
" a"
"- a"
" e"
"- b"
" d"
"+ a"
"+ j"
"+ k"
" d"
"- "

10行が選択されました。

経過: 00:00:00.00

SCOTT>
SCOTT> l
1 SELECT
2 '"' || diffs.code || diffs.string || '"' AS "diff O(ND) results"
3 FROM
4 TABLE(
5 SELECT diffOND('ABCDE', 'ABCDE') from dual
6 ) diffs
7 ORDER BY
8* diffs.seq DESC
SCOTT> /

diff O(ND) results
--------------------------------------------------------------------------------
" A"
" B"
" C"
" D"
" E"

経過: 00:00:00.00

SCOTT>
SCOTT> l
1 SELECT
2 '"' || diffs.code || diffs.string || '"' AS "diff O(ND) results"
3 FROM
4 TABLE(
5 SELECT diffOND('あいうえお','かきくけこ') from dual
6 ) diffs
7 ORDER BY
8* diffs.seq DESC
SCOTT> /

diff O(ND) results
--------------------------------------------------------------------------------
"- あ"
"- い"
"- う"
"- え"
"- お"
"+ か"
"+ き"
"+ く"
"+ け"
"+ こ"

10行が選択されました。

経過: 00:00:00.00

SCOTT>

PL/SQLのコードは以下の通り。

SCOTT> !cat ond.sql

CREATE OR REPLACE TYPE vRecType AS OBJECT
(
x NUMBER
,y NUMBER
,parent ANYDATA
);
/
show errors

BEGIN
FOR functionNames
IN (SELECT object_name FROM USER_OBJECTS WHERE object_name='DIFFOND' AND OBJECT_TYPE='FUNCTION')
LOOP
EXECUTE IMMEDIATE 'DROP FUNCTION ' || functionNames.object_name;
END LOOP;

FOR typeNames
IN (SELECT type_name FROM USER_TYPES WHERE type_name='DIFFLISTTYPE')
LOOP
EXECUTE IMMEDIATE 'DROP TYPE ' || typeNames.type_name;
END LOOP;
END;
/

CREATE OR REPLACE TYPE diffType AS OBJECT
(
seq NUMBER
,code CHAR(2)
,string VARCHAR2(32767)
);
/
show errors

CREATE OR REPLACE TYPE diffListType AS TABLE OF diffType;
/
show errors

CREATE FUNCTION diffOND
(
str1 IN VARCHAR2
,str2 IN VARCHAR2
)
RETURN diffListType
IS
STAT_INIT CONSTANT PLS_INTEGER := 0;
STAT_X CONSTANT PLS_INTEGER := 1;
STAT_Y CONSTANT PLS_INTEGER := 2;

TYPE vType IS TABLE OF vRecType;
v vType := vType();

FUNCTION isVRecNotEmpty(
vRec IN vRecType
)
RETURN BOOLEAN
IS
BEGIN
RETURN (CASE WHEN vRec.x IS NULL AND vRec.y IS NULL AND vRec.parent IS NULL THEN FALSE ELSE TRUE END);
END isVRecNotEmpty;

FUNCTION getDirection
(
vMinus IN vRecType
,vPlus IN vRecType
)
RETURN PLS_INTEGER
IS
BEGIN
IF NOT isVRecNotEmpty(vMinus) AND NOT isVRecNotEmpty(vPlus) THEN
RETURN STAT_INIT;
END IF;

IF NOT isVRecNotEmpty(vMinus) THEN
RETURN STAT_X;
END IF;

IF NOT isVRecNotEmpty(vPlus) THEN
RETURN STAT_Y;
END IF;

RETURN (CASE WHEN vMinus.x < vPlus.x THEN STAT_X ELSE STAT_Y END);
END getDirection;

FUNCTION OND
(
str1 IN VARCHAR2
,str2 IN VARCHAR2
)
RETURN vRecType
IS
offset PLS_INTEGER;
kMax PLS_INTEGER;
kMin PLS_INTEGER;
k PLS_INTEGER;
vIndex PLS_INTEGER;
x PLS_INTEGER;
y PLS_INTEGER;
str1Len PLS_INTEGER;
str2Len PLS_INTEGER;
parent vRecType;
BEGIN
str1Len := LENGTH(str1);
str2Len := LENGTH(str2);
v.EXTEND(str1Len + str2Len + 3);
offset:= str2Len + 2;

FOR d IN 0..str1Len + str2Len LOOP
kMax := (CASE WHEN d <= str1Len THEN d ELSE str1Len - (d - str1Len) END);
kMin := (CASE WHEN d <= str2Len THEN d ELSE str2Len - (d - str2Len) END);

k := kMin * -1;
WHILE k <= kMax LOOP
vIndex := offset + k;
CASE getDirection(v(vIndex-1), v(vIndex+1))
WHEN STAT_INIT THEN
x := 0;
y := 0;
parent := vRecType(0, 0, NULL);
WHEN STAT_X THEN
x := v(vIndex+1).x;
y := v(vIndex+1).y + 1;
parent := v(vIndex+1);
WHEN STAT_Y THEN
x := v(vIndex-1).x + 1;
y := v(vIndex-1).y;
parent := v(vIndex-1);
END CASE;

-- snake
WHILE (x < str1Len AND y < str2Len)
AND (SUBSTR(str1, x+1, 1) = SUBSTR(str2, y+1, 1))
LOOP
x := x + 1;
y := y + 1;
END LOOP;
v(vIndex) := vRecType(x, y, ANYDATA.ConvertObject(parent));

IF str1Len <= x AND str2Len <= y THEN
RETURN v(vIndex);
END IF;

k := k + 2;
END LOOP;
END LOOP;
END OND;

FUNCTION diff
(
str1 IN VARCHAR2
,str2 IN VARCHAR2
)
RETURN diffListType
IS
endPoint vRecType;
parent vRecType;
diff_x PLS_INTEGER;
diff_y PLS_INTEGER;
same_len PLS_INTEGER;
isSuccessGetObject PLS_INTEGER;
diffs diffListType := diffListType();
seq PLS_INTEGER := 0;
BEGIN
endPoint := OND(str1, str2);
WHILE endPoint.parent IS NOT NULL LOOP
IF ANYDATA.getObject(endPoint.parent, parent) != DBMS_TYPES.SUCCESS THEN
RAISE_APPLICATION_ERROR(-20000,'DBMS_TYPES.NO_DATA');
END IF;

diff_x := endPoint.x - parent.x;
diff_y := endPoint.y - parent.y;
same_len := CASE WHEN diff_x <= diff_y THEN diff_x ELSE diff_y END;

FOR i IN 0..same_len-1 LOOP
-- common
diffs.EXTEND();
seq := seq + 1;
diffs(diffs.COUNT()) := diffType(seq, ' ', SUBSTR(str1, endPoint.x-i, 1));
END LOOP;

IF diff_y != diff_x THEN
diffs.EXTEND();
seq := seq + 1;
IF diff_y < diff_x THEN
-- del
diffs(diffs.COUNT()) := diffType(seq, '- ', SUBSTR(str1, parent.x+1, 1));
ELSE
-- add
diffs(diffs.COUNT()) := diffType(seq, '+ ', SUBSTR(str2, parent.y+1, 1));
END IF;
END IF;

endPoint := parent;
END LOOP;

RETURN diffs;
END diff;
BEGIN
RETURN diff(str1, str2);
END diffOND;
/
show errors

Enjoy PL/SQL! というより Enjoy Programming! のほうがいいか。。

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

2009年8月 5日 (水)

Dashboard de Aquarium v1.4 - ついにTop50ランク外へ

ついにTop50ランク外に,,,短かったような長かったような...

3

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

2009年7月31日 (金)

Dashboard de Aquarium v1.4 - Apple Japanでも公開されました

Apple USから遅れること2週間ほど、Apple JapanでもDashboard de Aquarium v1.4が公開されました。

3

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

Dashboard de Aquarium v1.4 - #46

今日のDashboard de Aquarium v1.4は46位。やはり、なんとかふんばっている。:)

1

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

2009年7月30日 (木)

Dashboard de Aquarium v1.4 - #46

今日のDashboard de Aquarium v1.4は46位。もしかして暫くこのぐらいの位置でふんばるかも・・・

1

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

2009年7月29日 (水)

Dashboard de Aquarium v1.4 - #47

今日のDashboard de Aquarium v1.4は47位。ん〜、予想以上に持ちこたえているな〜。

2

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

2009年7月28日 (火)

Dashboard de Aquarium v1.4 - #46

今日のDashboard de Aquarium v1.4は46位。もうしばらくがんばれるかな。

1

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

2009年7月25日 (土)

Dashboard de Aquarium v1.4 - #44

今日のDashbaord de Aquarium v1.4 は 44位、なんとか踏ん張りチウ

3

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

2009年7月24日 (金)

Dashboard de Aquarium v1.4 - #45

Dashboard de Aquarium v1.4 今日は45位、順調に下降ちう。

2

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

2009年7月21日 (火)

Dashboard de Aquarium v1.4 - #38

Dashboard de Aquarium v1.4 本日は、38位と乱高下ちう。w


22

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

2009年7月18日 (土)

Dashboard de Aquarium v1.4 - #26

Dashboard de Aquarium v1.4 本日はなんと26位にジャンプアップ。:)

16

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

2009年7月17日 (金)

Dashboard de Aquarium v1.4 - #48

Dashboard de Aauarium v1.4 ちょっとだけランクアップで48位

15

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

2009年7月16日 (木)

Dashboard Top50 - ギリギリランクイン w

Dashboard de Aquarium v1.4が、Apple(US) で公開されて。ギリギリ Top 50にランクイン。

13

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

2009年7月11日 (土)

Dashboard de Aquarium v1.4 released!

Dashboard de Aquarium v1.6 released. :) (v1.6リリースしました 2012/01/01)

Dashboard de Aquarium v1.4をリリースしました。今回のリリースではwidgetサイズを縮小したついでにRed Sailfin mollyを追加しました。
(Dashboard de Aquarium v1.4 released.
What's new in this version : Reduced widget size a little and added Red Sailfin Molley.)

Download Dashboard De Aquarium v1.4 Now!
Download! v1.4 dashboard_de_aquarium.zip (904KB)

Dashboard de Aquarium v1.6 released.
(v1.6リリースしました 2012/01/01)

日本語(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 MacOSX that I checked the operation as follows.)

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

PowerBook G4 1Ghz - MacOSX 10.4.11 (Tiger)
PowerMac G5 Dual 2.7Ghz - MacOSX 10.4.11 (Tiger)
MacBook Pro 2.2Ghz Core 2 Duo - MacOSX 10.5.6 (Leopard) / MacOSX 10.6 (Snow Leopard)

Mixed_jaNeontetra_ja
Discus_jaWild_king_solid_blue_f1_ja
Licksons_red_spotted_jaHides_wild_blue_wild_brown_ja
9
10

Note: 国際化対応しています。言語環境が英語であれば以下のように表示されます。
(Internationalized. When language setting is in English, it's displayed as follows.)

MixedNeontetra
DiscusWild_king_solid_blue_f1
Licksons_red_spottedHides_wild_blue_wild_brown
Picture_1
Picture_2

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

2009年7月10日 (金)

Dashboard de Aquarium v1.4 少々改造

前回リリースしたDashboard de Aquarium v1.3で使っているディスカスの画像が大きくその影響もありwidgetサイズが大きかったので少々小さくしました。ついでなのでRed Sailfin mollyを追加でテスト完。ということでUSと日本のAppleへアップデート依頼する予定。
(問題なければUSはほぼ翌日にリリースされると思うが、日本は2〜3週間かかるのが通常の動き)


言語環境:日本語の場合
9

10

言語環境:英語の場合
Picture_1

Picture_2

v1.3のwidgetサイズ
11_2

v1.4のサイズ
12

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

2009年7月 1日 (水)

Safari4.0とFireFox3.5とOpera 10 Beta で text-shadow

いままでtext-shadowをサポートしているブラウザはSafariだけだったけど、FireFox3.5やOpera 10 betaでもサポートしてくれたんですね。ということで現時点での比較。

Safari 4.0 (Build4530.17)
いつも見慣れたstyle="text-shadow:1px 2px 3px gray"は以下のように表示される。

1

本日リリースされたばかりのFireFox 3.5
Safari4.0と比べても違和感なし。:)

3

最後にOpera 10 Beta
見ての通りかなり強烈。目が疲れる。Beta版だからな〜ということで正式リリース時にはなんとかしてくれるのでしょうね。多分。

4

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

2009年6月29日 (月)

MacBook Pro と MacOS X 10.5.7 と Sleep と Hang-up

Macオンリーな話題です。

先日、MacBook ProのMacOS X 10.5.6を10.5.7にアップデートしてからSleepさせるとファンがスリープせずファンが凄い勢いで廻りっぱなしになったり、ハングアップしまくっていた。おかしいね、アップデータが問題なんだろうねと話していたら、すかさず、アップデータのアップデータが出ていたのでアップデートした。
すると、ファンが凄い勢いで廻りっぱなしになる現象は消えたものの99%の確立でSleepさせようとするとハングアップするようになった。なんだよ〜〜早くバグ直せ〜〜とAppleさんにお怒りモードの私。

しばらく考えこんだあげく、Apple Supportのforumを検索してみると日本のフォーラムには無かったが、USのフォーラムにはそれらしき対処方法があった。。。。。
ということで先日から試しているが、それ以降一度もハングしていない!!!!
やった〜〜〜。

とにかくAppleさん、ちゃんとバグ修正してね!!

以下、症状と対処方法を書いておきます。


症状:
MacBook Pro 15inchでMacOS X 10.5.7へアップデート後からSleepさせようとするとハングアップする。ハングアップしたまま冷却ファンが凄い勢いで廻りっぱなしになる。

Hang_when_sleep_002_2

対処方法:
システム環境設定→ネットワーク

Hang_when_sleep_001

左側のネットワークポートペインにイーサネットポートがリストされていない場合、本現象に遭遇する。"+"ボタンで使っていなくてもイーサーネットポートを追加する。
Hang_when_sleep_003
Hang_when_sleep_004
Hang_when_sleep_005

イーサーネットポートを追加したらOSを再起動する。このような対処でSleepさせようとするとhangしてしまう問題を回避できる。
(対処から4日経過したがいまのところ問題は再発していない。もし状況に変化があれば本記事を更新する予定。)

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

2009年6月11日 (木)

MacOS X Snow Leopard - QuickTIme X

MacOS X Snow Leopardで登場するQuickTime Xではscreen recorder機能が搭載されるんだね〜。便利だ。

2

ついでなので書いておくと。6月17日にダウンロード開始とされているiPhone OS 3.0。OSがアップデートすることでいろいろな機能が追加される。待ち遠しい。
22

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

2009年6月 9日 (火)

Safariのタブの位置がSafari 3と同じ場所で落ち着いた

Safari 4が正式リリースされたのでSafari 4 Betaから変更したらタブの位置がSafari 3までの所に。使い勝手はそのほうがいいもんね。

Safari 3
1_3

Safari 4 Beta - Windowのフレームなのかタブなのか微妙になってた。
7

Safari 4 - 正式リリースでタブは元の位置に。
2

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

2009年6月 8日 (月)

OraTweet 1.0 あそび始めた。

OraTweet v1.0が公開されたということなので早速試してみた。といってもちょっとだけ。細かいところはみてないけどとりあえずは日本語も使えるみたい。ちょうどPL/SQL gatewayからTwitter APIを使って遊んでみようと思っていたところだから少し遊ぶか。
Oratweet01_2

Oratweet02

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

2009年6月 5日 (金)

Leopard de Oracle10g R2 (Intel x86-64) #18 (APEX3.2と遊ぶ #11)

Oracle10g R2 10.2.0.4.0 for MacOSX (Intel x68-64)でAPEX3.2と遊ぶの第十話。

Oracle HTTP ServerとPL/SQL gatewayをORACLE_HOMEごとPowerMacからIntel Mac移動して、Intel Macへインストール、構築したOracle 10g R2 10.2.0.4.0 for MacOSX(Intel x86-64) + APEX3.2へアクセスしちゃいます。RosettaがPowerPC版のOracle HTTP Server mod_plsqlをIntel Mac上で動かしてくれます。


まず、MacBook Proのオラクル所有者の環境変数の設定などはLeopard de Oracle10g R2 (Intel x86-64) #2の設定に加え、Oracle HTTP Server向けaliasと環境変数を追加。
ちなみに、/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apexをIntel Mac上でのAPExのHOMEディレクトリとしてOracle HTTP Serverを起動、停止スクリプトをaliasとして定義。(Oracle 10g R1 10.1.0.3.0 for MacOSXのCompanionCDでインストールされるOracle HTTP Serverは ORACLE_HOME(Oracle HTTP Serverの)/opmn/bin/opmnctl stopall 又は startallではなくORACLE_HOME(Oracle HTTP Serverの)/Apache/Apache/bin/apachectl start又はstopで起動/停止できます。)

guppy:˜ oracle$ cat .bashrc
alias ll='ls -lv'
alias startohs='$ORACLE_HTMLDB_HOME/bin/apachectl start'
alias stopohs='$ORACLE_HTMLDB_HOME/bin/apachectl stop'

export LANG=ja_JP.UTF-8
export ORACLE_BASE=/Users/shared/u01/app/oracle
export ORACLE_SID=leopard1
export ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1
export NLS_LANG=Japanese_Japan.AL32UTF8
export DYLD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:$ORACLE_HOME/network/lib:$DYLD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH

#for Oracle11g and Jdeveloper Oracle Middleware HOME
export ORACLE_MIDDLEWARE_HOME=/Users/Shared/Oracle/Middleware

#for Oracle10g R1 Oracle HTTP ServerHome (include mod_plsql)
export ORACLE_HTMLDB_HOME=/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache
guppy:˜ oracle$

次に、PowerPC上でzipしたORACLE HTTP ServerのORACLE_HOMEディレクトリ以下を丸ごとIntel Mac上のOracle HTTP ServerのあたらしいHOMEディレクトリへ移動します。移動方法はrcpでもいいし、環境によってはscpでもいいしUSBメモリ経由でもmobileme経由でもお好きな方法でIntel Macへコピー/解凍します。PowerPC上のORACLE HTTP Serverホームディレクトリ以下は不要なのでHOMEディレクトリごと削除するもよし、ちゃんとOUIで削除してもいいですよん。
以下、MacBook Pro上で解凍した状態。MacBook Pro上のあたらしいHOMEディレクトリは、/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex



1

APEX3.2のimagesディレクトリのコピー。
APEX3.2のimagesディレクトリでOracle HTTP Serverのホームディレクトリ/marvel以下にあるimagesディレクトリを置き換えます。
この作業はAPEXのアップデート作業でもよく作業なのでお忘れなく。HTML DB1.5をAPEX3.2にアップデートしたようなものなので。

guppy:apex oracle$ pwd
/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/marvel
guppy:marvel oracle$ ls
10ins.sql core doc ins.sql jlib readme.html upgrade.sql
builder coreins.sql images install.lst logs sbs utilities
guppy:marvel oracle$ mv images images_htmldb_1_5
guppy:marvel oracle$ cp -rf /Users/oracle/Downloads/apex/images .
guppy:marvel oracle$


.confファイルの変更
ここからがメイン。PowerPC上でインストール構築したので各種.confファイルなどのパスはホスト名がPowerPC上の値に設定されています。それら全てを移動してきたMacBook Pro(Intel x86)上の値に変更していきます。
最初はOracle HTTP Server向けコンフィグファイルから。(全てのconfファイルを確認し要変更と確定できた変更前の*.confファイルは、*.conf.15として退避しておくことにします。)

/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apexは、MacBook Pro上でのOracle HTTP Serverのホームディレクトリ。


guppy:conf oracle$ pwd

/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/conf
guppy:conf oracle$
guppy:conf oracle$ ll
total 680
-rwxr-xr-x 1 oracle oinstall 348 11 16 2004 access.conf
-rwxr-xr-x 1 oracle oinstall 348 11 16 2004 access.conf.default
-rw------- 1 oracle oinstall 1623 5 18 14:16 dms.conf
-rw------- 1 oracle oinstall 1633 5 18 14:14 dms.conf.15
-rw------- 1 oracle oinstall 1626 7 2 2004 dms.conf.sbs
-rwxr-xr-x 1 oracle oinstall 41721 5 18 14:41 httpd.conf
-rwxr-xr-x 1 oracle oinstall 42011 5 18 14:16 httpd.conf.15
-rwxr-xr-x 1 oracle oinstall 42011 5 17 12:23 httpd.conf.default
-rwxr-xr-x 1 oracle oinstall 39710 12 17 2004 httpd.conf.tmp
-rwxr-xr-x 1 oracle oinstall 12965 11 16 2004 magic
-rwxr-xr-x 1 oracle oinstall 12965 11 16 2004 magic.default
-rwxr-xr-x 1 oracle oinstall 15161 11 16 2004 mime.types
-rwxr-xr-x 1 oracle oinstall 15161 11 16 2004 mime.types.default
-rw-r--r-- 1 oracle oinstall 484 5 18 14:42 mod_oc4j.conf
-rw-r--r-- 1 oracle oinstall 490 5 18 14:41 mod_oc4j.conf.15
-rw-r--r-- 1 oracle oinstall 490 5 17 12:25 mod_oc4j.conf.default
-rw-r--r-- 1 oracle oinstall 503 7 2 2004 mod_oc4j.conf.tmp
-rwxr-xr-x 1 oracle oinstall 779 5 17 12:23 mod_osso.conf
-rwxr-xr-x 1 oracle oinstall 779 12 17 2004 mod_osso.conf.tmp
-rwxr-xr-x 1 oracle oinstall 323 5 17 12:23 ohs_opmn.xml
-rwxr-xr-x 1 oracle oinstall 323 12 17 2004 ohs_opmn.xml.sbs
-rwxr-xr-x 1 oracle oinstall 566 5 18 14:44 ohstarget.xml
-rwxr-xr-x 1 oracle oinstall 575 5 18 14:44 ohstarget.xml.15
-rwxr-xr-x 1 oracle oinstall 585 12 17 2004 ohstarget.xml.tmp
-rwxr-xr-x 1 oracle oinstall 197 5 18 14:45 oracle_apache.conf
-rwxr-xr-x 1 oracle oinstall 217 5 18 14:45 oracle_apache.conf.15
drwxr-xr-x 2 oracle oinstall 68 5 17 12:23 osso
-rwxr-xr-x 1 oracle oinstall 357 11 16 2004 srm.conf
-rwxr-xr-x 1 oracle oinstall 357 11 16 2004 srm.conf.default
-rwxr-xr-x 1 oracle oinstall 7861 5 18 14:51 ssl.conf
-rwxr-xr-x 1 oracle oinstall 8016 5 18 14:46 ssl.conf.15
-rwxr-xr-x 1 oracle oinstall 7192 12 17 2004 ssl.conf.tmp
drwxr-xr-x 4 oracle oinstall 136 5 17 12:23 ssl.crl
drwxr-xr-x 3 oracle oinstall 102 5 17 12:23 ssl.wlt
guppy:conf oracle$
guppy:conf oracle$
guppy:conf oracle$ ls *.*.15
dms.conf.15 httpd.conf.15 mod_oc4j.conf.15
ohstarget.xml.15 oracle_apache.conf.15 ssl.conf.15

guppy:conf oracle$
guppy:conf oracle$

以下、変更したconfファイルのdiff。


PowerPC上のORACLE_HOMEのパスとIntel Mac上のパスが異なるのでパス関連及び、ホスト名関連は変更対象。


例えば、PowerMac G5上でOracle HTTP Server用のORACLE_HOMEは

/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex


だったが、Intel Mac上では
/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex
とした。

guppy:conf oracle$
guppy:conf oracle$ diff dms.conf.15 dms.conf
30c30
< Alias /index.html /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/htdocs/index.html
---
> Alias /index.html /Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/htdocs/index.html
guppy:conf oracle$
guppy:conf oracle$
guppy:conf oracle$
guppy:conf oracle$ diff mod_oc4j.conf.15 mod_oc4j.conf
15c15
< Allow from localhost g5server g5server
---
> Allow from localhost guppy guppy
guppy:conf oracle$
guppy:conf oracle$
guppy:conf oracle$
guppy:conf oracle$ diff ohstarget.xml.15 ohstarget.xml
5c5
< <Property NAME="OracleHome" VALUE="/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex"/>
---
> <Property NAME="OracleHome" VALUE="/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex" />
guppy:conf oracle$
guppy:conf oracle$
guppy:conf oracle$
guppy:conf oracle$ diff httpd.conf.15 httpd.conf
65c65
< ServerRoot "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache"
---
> ServerRoot "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache"
76c76
< #LockFile /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/logs/httpd.lock
---
> #LockFile /Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/logs/httpd.lock
82c82
< PidFile /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/logs/httpd.pid
---
> PidFile /Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/logs/httpd.pid
90c90
< ScoreBoardFile /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/logs/httpd.scoreboard
---
> ScoreBoardFile /Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/logs/httpd.scoreboard
321c321
< ServerName g5server
---
> ServerName guppy
328c328
< DocumentRoot "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/htdocs"
---
> DocumentRoot "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/htdocs"
353c353
< <Directory "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/htdocs">
---
> <Directory "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/htdocs">
456c456
< TypesConfig /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/conf/mime.types
---
> TypesConfig /Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/conf/mime.types
482c482
< MIMEMagicFile /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/conf/magic
---
> MIMEMagicFile /Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/conf/magic
502c502
< ErrorLog /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/logs/error_log
---
> ErrorLog /Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/logs/error_log
547c547
< CustomLog /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/logs/access_log common
---
> CustomLog /Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/logs/access_log common
553,554c553,554
< #CustomLog /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/logs/referer_log referer
< #CustomLog /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/logs/agent_log agent
---
> #CustomLog /Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/logs/referer_log referer
> #CustomLog /Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/logs/agent_log agent
560c560
< #CustomLog /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/logs/access_log combined
---
> #CustomLog /Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/logs/access_log combined
582,584c582,584
< Alias /icons/ "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/icons/"
< Alias /jservdocs/ "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Jserv/docs/"
< Alias /javacachedocs/ "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/javacache/javadoc/"
---
> Alias /icons/ "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/icons/"
> Alias /jservdocs/ "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Jserv/docs/"
> Alias /javacachedocs/ "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/javacache/javadoc/"
586c586
< Alias /perl/ "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/cgi-bin/"
---
> Alias /perl/ "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/cgi-bin/"
589c589
< <Directory "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/icons">
---
> <Directory "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/icons">
604c604
< ScriptAlias /cgi-bin/ "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/cgi-bin/"
---
> ScriptAlias /cgi-bin/ "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/cgi-bin/"
608c608
< # "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/cgi-bin" should be changed to whatever your ScriptAliased
---
> # "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/cgi-bin" should be changed to whatever your ScriptAliased
611c611
< <Directory "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/cgi-bin">
---
> <Directory "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/cgi-bin">
824a825,826
> AddType text/xml .xbl
> AddType text/x-compoment .htc
938c940
< Allow from localhost g5server g5server
---
> Allow from localhost quppy guppy
950c952
< # Allow from localhost g5server g5server
---
> # Allow from localhsot guppy guppy
989c991
< # CacheRoot "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/proxy"
---
> # CacheRoot "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/proxy"
1038c1040
< SetEnv PERL5LIB "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/perl/lib/5.6.1:
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/perl/lib/site_perl/5.6.1"
---
> SetEnv PERL5LIB "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/perl/lib/5.6.1:
/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/perl/lib/site_perl/5.6.1"
1047c1049
< # PerlSetEnv PERL5LIB "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/perl/lib/5.6.1:
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/perl/lib/site_perl/5.6.1"
---
> # PerlSetEnv PERL5LIB "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/perl/lib/5.6.1:
/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/perl/lib/site_perl/5.6.1"
1084,1086c1086,1088
< Alias /fastcgi/ "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/fastcgi/"
< ScriptAlias /fcgi-bin/ "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/fcgi-bin/"
< <Directory "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/fcgi-bin">
---
> Alias /fastcgi/ "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/fastcgi/"
> ScriptAlias /fcgi-bin/ "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/fcgi-bin/"
> <Directory "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/fcgi-bin">
1104c1106
< #include "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Jserv/etc/jserv.conf"
---
> #include "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Jserv/etc/jserv.conf"
1128c1130
< Allow from localhost g5server g5server
---
> Allow from localhost guppy guppy
1134c1136
< Allow from localhost g5server g5server
---
> Allow from localhost guppy guppy
1139c1141
< include "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/conf/mod_oc4j.conf"
---
> include "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/conf/mod_oc4j.conf"
1142c1144
< include "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/conf/dms.conf"
---
> include "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/conf/dms.conf"
1148c1150
< include "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/conf/ssl.conf"
---
> include "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/conf/ssl.conf"
1151c1153
< #include "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/conf/mod_osso.conf"
---
> #include "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/conf/mod_osso.conf"
1154c1156
< include "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/conf/oracle_apache.conf"
---
> include "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/conf/oracle_apache.conf"
guppy:conf oracle$
guppy:conf oracle$
guppy:conf oracle$
guppy:conf oracle$ diff oracle_apache.conf.15 oracle_apache.conf
1,2c1,2
< include "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/modplsql/conf/plsql.conf"
< include "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/modplsql/conf/marvel.conf"
---
> include "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/modplsql/conf/plsql.conf"
> include "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/modplsql/conf/marvel.conf"
guppy:conf oracle$
guppy:conf oracle$
guppy:conf oracle$
guppy:conf oracle$ diff ssl.conf.15 ssl.conf
23,25c23,25
< #SSLSessionCache dbm:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/logs/ssl_scache
< #SSLSessionCache shmht:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/logs/ssl_scache(512000)
< SSLSessionCache shmcb:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/logs/ssl_scache(512000)
---
> #SSLSessionCache dbm:/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/logs/ssl_scache
> #SSLSessionCache shmht:/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/logs/ssl_scache(512000)
> SSLSessionCache shmcb:/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/logs/ssl_scache(512000)
36c36
< SSLMutex file:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/logs/ssl_mutex
---
> SSLMutex file:/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/logs/ssl_mutex
45c45
< SSLLog /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/logs/ssl_engine_log
---
> SSLLog /Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/logs/ssl_engine_log
81,85c81,85
< DocumentRoot "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/htdocs"
< ServerName g5server
< ServerAdmin you@your.address
< ErrorLog /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/logs/error_log
< TransferLog /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/logs/access_log
---
> DocumentRoot "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/htdocs"
> ServerName guppy
> ServerAdmin your@mail.address
> ErrorLog /Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/logs/error_log
> TransferLog /Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/logs/access_log
100c100
< SSLWallet file:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/conf/ssl.wlt/default
---
> SSLWallet file/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/conf/ssl.wlt/default
117,118c117,118
< #SSLCARevocationPath /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/conf/ssl.crl
< #SSLCARevocationFile /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/conf/ssl.crl/ca-bundle.crl
---
> #SSLCARevocationPath /Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/conf/ssl.crl
> #SSLCARevocationFile /Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/conf/ssl.crl/ca-bundle.crl
177c177
< <Directory "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/cgi-bin">
---
> <Directory "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/cgi-bin">
186c186
< CustomLog /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/logs/ssl_request_log \
---
> CustomLog /Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/logs/ssl_request_log \
guppy:conf oracle$


modplsql関連コンフィグファイルの変更
パスの変更とPlsqlDatabaseUsernameとPlsqlDefaultPageの値が変っているので注意。また接続先は、MacBook proにインストールしたOracle 10g R2 10.2.0.4.0 for MacOSX(Intel x86-64)になるので忘れずに変更する。

変更対象の.confファイルは予め、*.conf.15として退避しておいた。

guppy:conf oracle$ pwd
/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/modplsql/conf
guppy:conf oracle$
guppy:conf oracle$
guppy:conf oracle$
guppy:conf oracle$ diff cache.conf.15 cache.conf
12c12
< PlsqlCacheDirectory /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/modplsql/cache
---
> PlsqlCacheDirectory /Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/modplsql/cache
guppy:conf oracle$
guppy:conf oracle$
guppy:conf oracle$
guppy:conf oracle$ diff marvel.conf.15 marvel.conf
1,2c1,2
< Alias /i/ "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/marvel/images/"
< <Location /pls/htmldb>
---
> Alias /i/ "/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/marvel/images/"
> <Location /pls/apex>
7c7
< PlsqlDatabaseUsername HTMLDB_PUBLIC_USER
---
> PlsqlDatabaseUsername APEX_PUBLIC_USER
9,10c9,10
< PlsqlDatabaseConnectString localhost:1521:tiger.macdeoracle.info ServiceNameFormat
< PlsqlDefaultPage htmldb
---
> PlsqlDatabaseConnectString localhost:1521:leopard1.macdeoracle.jp ServiceNameFormat
> PlsqlDefaultPage apex
15c15
< PlsqlNLSLanguage AMERICAN_AMERICA.AL32UTF8
---
> PlsqlNLSLanguage JAPANESE_JAPAN..AL32UTF8
guppy:conf oracle$
guppy:conf oracle$
guppy:conf oracle$
guppy:conf oracle$ diff plsql.conf.15 plsql.conf
9c9
< LoadModule plsql_module /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/modplsql/bin/modplsql.so
---
> LoadModule plsql_module /Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/modplsql/bin/modplsql.so
20c20
< PlsqlLogDirectory /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/modplsql/logs
---
> PlsqlLogDirectory /Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/modplsql/logs
29c29
< include /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/modplsql/conf/dads.conf
---
> include /Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/modplsql/conf/dads.conf
34c34
< include /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/modplsql/conf/cache.conf
---
> include /Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/modplsql/conf/cache.conf
guppy:conf oracle$


Oracle HTTP ServerのHOMEディレクトリ以下にあるtnsnames.oraもMacBook ProのOracle 10g R2へ接続するよう変更(念のため)

変更前のtnsnames.oraはtnsnames.ora.15として事前に退避しておいた。

guppy:admin oracle$ pwd
/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/network/admin
guppy:admin oracle$
guppy:admin oracle$
guppy:admin oracle$ guppy:admin oracle$ diff tnsnames.ora.15 tnsnames.ora
1c1
< (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=tiger.macdeoracle.info))) =
---
> (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=leopard1.macdeoracle.jp))) =
7,16c7
< (SERVICE_NAME = tiger.macdeoracle.info)
< )
< )
< (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=tiger.macdeoracle.info))) =
< (DESCRIPTION =
< (ADDRESS_LIST =
< (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
< )
< (CONNECT_DATA =
< (SERVICE_NAME = tiger.macdeoracle.info)
---
> (SERVICE_NAME = leopard1.macdeoracle.jp)
guppy:admin oracle$

apache起動用シェルスクリプトの書き換え(パスの変更が主)

要変更と判断したshell scriptは事前に、*.15として退避しておいた。

guppy:bin oracle$ pwd
/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/bin
guppy:bin oracle$
guppy:bin oracle$
guppy:bin oracle$ diff apachectl.15 apachectl
25,26c25,26
< ORACLE_HOME=/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex; export ORACLE_HOME
< NLS_LANG=${NLS_LANG="JAPANESE_JAPAN.JA16EUC"}; export NLS_LANG
---
> ORACLE_HOME=/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex; export ORACLE_HOME
> NLS_LANG=${NLS_LANG="JAPANESE_JAPAN.AL32UTF8"}; export NLS_LANG
29c29
< PERL5LIB=/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/perl/lib/5.8.3:
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/perl/lib/site_perl/5.8.3 ; export PERL5LIB
---
> PERL5LIB=/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/perl/lib/5.8.3:
/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/perl/lib/site_perl/5.8.3; export PERL5LIB
32c32
< TNS_ADMIN=${TNS_ADMIN="/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/network/admin"}; export TNS_ADMIN
---
> TNS_ADMIN=${TNS_ADMIN="/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/network/admin"}; export TNS_ADMIN
37c37
< LD_LIBRARY_PATH=/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/lib:
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/opmn/lib ; export LD_LIBRARY_PATH
---
> LD_LIBRARY_PATH=/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/lib:
/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/opmn/lib; export LD_LIBRAR_PATH
39c39
< LD_LIBRARY_PATH=/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/lib:
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/opmn/lib:${LD_LIBRARY_PATH} ; export LD_LIBRARY_PATH
---
> LD_LIBRARY_PATH=/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/lib:
/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/opmn/lib:${LD_LIBRARY_PATH}; export LD_LIBRARY_PATH
45c45
< DYLD_LIBRARY_PATH=/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/lib:
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/opmn/lib ; export DYLD_LIBRARY_PATH
---
> DYLD_LIBRARY_PATH=/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/lib:
/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/opmn/lib; export DYLD_LIBRARY_PATH
47c47
< DYLD_LIBRARY_PATH=/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/lib:
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/opmn/lib:${DYLD_LIBRARY_PATH} ; export DYLD_LIBRARY_PATH
---
> DYLD_LIBRARY_PATH=/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/lib:
/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/opmn/lib:${DYLD_LIBRARY_PATH}; export DYLD_LIBRARY_PATH
52c52
< PIDFILE=/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/logs/httpd.pid
---
> PIDFILE=/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/logs/httpd.pid
55c55
< HTTPD=/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/bin/httpd
---
> HTTPD=/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/bin/httpd
91c91
< if eval $HTTPD -d /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache $args
---
> if eval $HTTPD -d /Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache $args
129c129
< if eval $HTTPD -d /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache $args
---
> if eval $HTTPD -d /Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache $args
149c149
< if eval $HTTPD -d /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache -t $args > /dev/null
---
> if eval $HTTPD -d /Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache -t $args > /del/null
261c261
< if eval $HTTPD -d /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache -t "$args"
---
> if eval $HTTPD -d /Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache -t "$args"
guppy:bin oracle$

以下、apachectlと同じディレクトリにあるが利用されているか不明なシェルスクリプトもとりあえず変更した。

guppy:bin oracle$
guppy:bin oracle$
guppy:bin oracle$ diff apxs.15 apxs
1c1
< #!/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/perl/bin/perl
---
> #!/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/perl/bin/perl
78,79c78,79
< my $CFG_PREFIX = q(/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache);
# substituted via APACI install
< my $CFG_SBINDIR = q(/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/bin);
# substituted via APACI install
---
> my $CFG_PREFIX = q(/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache);
> my $CFG_SBINDIR = q(/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/bin);
81,82c81,82
< my $CFG_LIBEXECDIR = q(/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/libexec);
# substituted via APACI install
< my $CFG_SYSCONFDIR = q(/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/conf);
# substituted via APACI install
---
> my $CFG_LIBEXECDIR = q(/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/libexec);
> my $CFG_SYSCONFDIR = q(/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/conf);
guppy:bin oracle$
guppy:bin oracle$
guppy:bin oracle$
guppy:bin oracle$ diff dbmmanage.15 dbmmanage
1c1
< #!/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/perl/bin/perl
---
> #!/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/perl/bin/perl
guppy:bin oracle$
guppy:bin oracle$
guppy:bin oracle$
guppy:bin oracle$ diff iasobf.15 iasobf
11c11
< ORACLE_HOME=/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex
---
> ORACLE_HOME=/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex
guppy:bin oracle$
guppy:bin oracle$
guppy:bin oracle$
guppy:bin oracle$ diff log_server_status.15 log_server_status
1c1
< #!/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/perl/bin/perl
---
> #!/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/perl/bin/perl
70c70
< $wherelog = "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/logs/graph/";
# Logs will be like "/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/logs/graph/19960312"
---
> $wherelog = "/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/logs/graph/";
# Logs will be like "/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/logs/graph/19960312"
guppy:bin oracle$
guppy:bin oracle$
guppy:bin oracle$
guppy:bin oracle$ diff root_sh_append.sh.15 root_sh_append.sh
3c3
< ORACLE_HOME="/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex";export ORACLE_HOME
---
> ORACLE_HOME="/Users/shared/u01/app/oracle/oracle/product/10.1.0/apex"; export ORACLE_HOME
guppy:bin oracle$
guppy:bin oracle$
guppy:bin oracle$
guppy:bin oracle$ diff ssl2ossl.15 ssl2ossl
8c8
< ORACLE_HOME=/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex
---
> ORACLE_HOME=Users/shared/u01/app/oracle/oracle/product/10.1.0/apex
guppy:bin oracle$


実行してみる(listenerおよびOracle Databaseインスタンスは起動ずみ)
尚、startohsは、apachectl startをalias定義しておいたもの(本エントリの最初の部分参照)

guppy:˜ oracle$ startohs
/Users/Shared/u01/app/oracle/oracle/product/10.1.0/apex/Apache/Apache/bin/apachectl start: httpd started
guppy:˜ oracle$


まずOralce HTTP Serverにアクセスしてみる・・・・OK.

4


APEX3.2の管理画面にアクセスしてログイン.....OK
ログインしたついでに開発ユーザと作業領域を作成しておく。


5

6

13

14


開発ユーザでログインしてみる。......OK。やった〜〜〜!!!!! うまくいった

15

16


最後にバージョン等も確認しておく。

3


19

「Oracle 10g R2 10.2.0.4.0 for MacOSX (Intel x86-64)で未サポートとなっているOracle HTTP ServerとPL/SQL gatewayをOracle 10g R1 10.1.0.3.0 for MacOSX (PowerPC)環境から移動し、Rosettaの力でそれらを動かしてAPEX3.2を使う!。」・・・・・一件落着。。。。次回はOraTweetでも遊んでみますか...



バックナンバー

Oracle10g R2 for MacOSX (Intel x86-64) released !!!
Leopard de Oracle10g release 2 (Intel x86-64)
Leopard de Oracle10g R2 (Intel x86-64) #1
Leopard de Oracle10g R2 (Intel x86-64) #2
Leopard de Oracle10g R2 (Intel x86-64) #3 (ちょいと寄り道)
Leopard de Oracle10g R2 (Intel x86-64) #4 (Companion CD installation)
Leopard de Oracle10g R2 (Intel x86-64) #5 (dbstart and dbshut does not work!! But....)
Leopard de Oracle10g R2 (Intel x86-64) #6 (onsがバグっている?件..)
Leopard de Oracle10g R2 (Intel x86-64) #7 (iSQL*Plusのメッセージがものすごく怖い件)
Leopard de Oracle10g R2 (Intel x86-64) #8 - (APEX3.2と遊ぶ #1)
Leopard de Oracle10g R2 (Intel x86-64) #9 - (APEX3.2と遊ぶ #2)
Leopard de Oracle10g R2 (Intel x86-64) #10 (APEX3.2と遊ぶ #3)
Leopard de Oracle10g R2 (Intel x86-64) #11 (APEX3.2と遊ぶ #4)
Leopard de Oracle10g R2 (Intel x86-64) #12 (APEX3.2と遊ぶ #5)
Leopard de Oracle10g R2 (Intel x86-64) #13 (APEX3.2と遊ぶ #6)
Leopard de Oracle10g R2 (Intel x86-64) #14 (APEX3.2と遊ぶ #7)
Leopard de Oracle10g R2 (Intel x86-64) #15 (APEX3.2と遊ぶ #8)
Leopard de Oracle10g R2 (Intel x86-64) #16 (APEX3.2と遊ぶ #9)
Leopard de Oracle10g R2 (Intel x86-64) #17 (APEX3.2と遊ぶ #10)

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

2009年6月 2日 (火)

Leopard de Oracle10g R2 (Intel x86-64) #17 (APEX3.2と遊ぶ #10)

Oracle10g R2 10.2.0.4.0 for MacOSX (Intel x68-64)でAPEX3.2と遊ぶの第九話。

Intel版MacへOracle HTTP ServerとPL/SQL gatewayをORACLE_HOMEごと移動するための環境作りとしてPowerPC上でOracle 10g R1 10.1.0.3.0 + Oracle HTTP Server + HTMLDB 1.5をインストール及び構成する。のづづき。
前回、HTMLDB 1.5の構成でエラーが発生したが今回はそれを解決後、再実行してHTMLDBのログイン画面にアクセスするまで




78


発生したエラーを確認すると、前々回の場合と同様にjavaへのパスがおかしなことになってる。

--------------------------------------
次のConfiguration Assistantが正常に完了していません。これらのアシスタントは、製品を完全に構成するため、完了する必要があります。
ファイル/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/cfgtoollogs/configToolCommandsを実行して、
スキップまたは失敗したすべてのConfiguration Assistantを再実行します。
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/jdk/jre/bin/java
-classpath /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/marvel/jlib/htmlDBConfigClasses.jar:
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/jdbc/lib/classes12.jar:
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/jdk/jre/lib/rt.jar:
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/jlib/ojmisc.jar:
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/oui/jlib/OraInstaller.jar: htmlDBConfig
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex
localhost 1521 tiger.macdeoracle.info SYSAUX * 保護された値。ログは取られません。
* * 保護された値。ログは取られません。 *
en,ja (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))
(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=tiger.macdeoracle.info)))
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/marvel
--------------------------------------

上記赤太字部分を実行してみると・・・・

G5Server:˜ oracle$ /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/jdk/jre/bin/java
-su: /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/jdk/jre/bin/java: No such file or directory
G5Server:˜ oracle$

javaが見えてないね。細かく見ていくとシンボリックリンクjreが原因。ただ前々回のようにconfigToolCommandsを変更して再実行することはできない。
理由はconfigToolCommands内に全てのパラメータが記録されていない(「保護された値。ログは取られません。」となっている部分があるから...

ということでjavaへパスが通るように修正・・・・・

Oracle HTTP ServerをインストールしたORACLE_HOME/jdkへ移動してシンボリックリンクjreを作り直す。

G5Server:˜ oracle$ cd /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/jdk
drwxr-xr-x 42 oracle oinstall 1428 May 17 12:22 bin
lrwxrwxr-x 1 oracle oinstall 26 May 17 12:22 include -> /Library/Java/Home/include
lrwxrwxr-x 1 oracle oinstall 22 May 17 12:22 jre -> /Library/Java/Home/jre
drwxr-xr-x 38 oracle oinstall 1292 May 17 12:22 lib
lrwxrwxr-x 1 oracle oinstall 22 May 17 12:22 man -> /Library/Java/Home/man
G5Server:˜/u01/app/oracle/product/10.1.0/apex/jdk oracle$ rm jre
G5Server:˜/u01/app/oracle/product/10.1.0/apex/jdk oracle$ ln -s /System/Library/Frameworks/JavaVM.framework/Home jre
G5Server:˜/u01/app/oracle/product/10.1.0/apex/jdk oracle$ ll
total 24
drwxr-xr-x 42 oracle oinstall 1428 May 17 12:22 bin
lrwxrwxr-x 1 oracle oinstall 26 May 17 12:22 include -> /Library/Java/Home/include
lrwxr-xr-x 1 oracle oinstall 48 May 17 12:58 jre -> /System/Library/Frameworks/JavaVM.framework/Home
drwxr-xr-x 38 oracle oinstall 1292 May 17 12:22 lib
lrwxrwxr-x 1 oracle oinstall 22 May 17 12:22 man -> /Library/Java/Home/man
G5Server:˜/u01/app/oracle/product/10.1.0/apex/jdk oracle$


次Oracle HTTP ServerをインストールしたORACLE_HOME/oui/binへ移動後、OUIを起動。HTMLDBだけを再インストール、構成しちゃえば解決!!(これが嫌な場合はJDK1.4.2か1.5をデフォルトにしておいた方が無難だと思う。(但し、それでこの問題が再現しなくなるか確認したわけではありません。)

また、念には念ということでJAVA_HOME環境変数へもシンボリックリンクjreへ設定したパスを設定しておいた。JAVA_HOMEの設定が必要なのかどうか? という点に関して、ちょいとヤッツケモードだったので本当に必要なのかどうか確認していません。m(_ _)m

G5Server:˜/u01/app/oracle/product/10.1.0/apex/oui/bin oracle$ pwd
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/oui/bin
G5Server:˜/u01/app/oracle/product/10.1.0/apex/oui/bin oracle$ ll
total 336
-rwxr-xr-x 1 oracle oinstall 412 May 17 12:22 addNode.sh
-rwxr-xr-x 1 oracle oinstall 20576 Aug 17 2004 lsnodes
drwxr-xr-x 12 oracle oinstall 408 May 17 12:22 resource
-rwxr-xr-x 1 oracle oinstall 136524 Aug 17 2004 runInstaller
-rwxr-xr-x 1 oracle oinstall 105 May 17 12:22 runInstaller.sh
G5Server:˜/u01/app/oracle/product/10.1.0/apex/oui/bin oracle$ export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home
G5Server:˜/u01/app/oracle/product/10.1.0/apex/oui/bin oracle$ ./runInstaller &
[1] 7026
G5Server:˜/u01/app/oracle/product/10.1.0/apex/oui/bin oracle$ Starting Oracle Universal Installer...
No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2009-05-17_01-26-05PM.
Please wait ...Oracle Universal Installer, バージョン 10.1.0.3.0 製品版
Copyright (C) 1999, 2004, Oracle. All rights reserved.

Executing install_name_tool...
Done Executing install_name_tool...



83

84

85

86

87

88

89

90

91

Oracle HTTP Serverにアクセスしてみると・・・OK.うまくいってる。
92

HTML DBにアクセスしてみる・・・OK .準備完了。
93

[1]+  Done                    ./runInstaller
G5Server:˜/u01/app/oracle/product/10.1.0/apex/oui/bin oracle$
G5Server:˜/u01/app/oracle/product/10.1.0/apex/oui/bin oracle$ unset JAVA_HOME
G5Server:˜/u01/app/oracle/product/10.1.0/apex/oui/bin oracle$


うまくいった。わははは!


さてPowerMac上での最後の作業は、Oracle HTTP Server+HTMLDBをインストールしたORACLE_HOMEごとIntel Macへ移動する前にmarvel.confのPlsqlDatabasePasswordを再設定しておきます。(OUIで設定したHTML DBのパスワードとIntel MacにインストールしたAPEX3.2のパスワードを同じパスワードにすればこの作業は不要だと思われます。また、パスワードが分からなくなった場合でもAPEX3.2のパスワードを再設定後、以下の方法でmarvel.confのPlsqlDatabasePasswordを再設定、暗号化すれば解決できます。)

Oracle HTTP Server+HTMLDBをインストールしたORACLE_HOME/Apache/modplsql/confに移動して....
(ちなみに、Oracle HTTP Serverはdads.confでもmarvel.confでも使えるようになっているが、HTML DBの構成情報はmarvel.confに書き込まれるためmarvel.confを編集している。)

G5Server:˜/u01/app/oracle/product/10.1.0/apex/Apache/modplsql/conf oracle$ pwd 
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/modplsql/conf
G5Server:˜/u01/app/oracle/product/10.1.0/apex/Apache/modplsql/conf oracle$ cp dads.conf dads.conf.org
G5Server:˜/u01/app/oracle/product/10.1.0/apex/Apache/modplsql/conf oracle$ cp marvel.conf marvel.conf.org
G5Server:˜/u01/app/oracle/product/10.1.0/apex/Apache/modplsql/conf oracle$ cp marvel.conf dads.conf
G5Server:˜/u01/app/oracle/product/10.1.0/apex/Apache/modplsql/conf oracle$ export ORACLE_HOME=/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex
G5Server:~˜u01/app/oracle/product/10.1.0/apex/Apache/modplsql/conf oracle$ perl dadTool.pl -o
----------------------------------------------------------------------------
Error : Cannot invoke utility 'dadobf'
Reason: The environment setting for PATH/LD_LIBRARY_PATH is not setup to load
the required libraries.
Action: Verify the environment settings needed for running this script


----------------------------------------------------------------------------
Hint: Use the '-h' option to get details on how to invoke the script
G5Server:˜/u01/app/oracle/product/10.1.0/apex/Apache/modplsql/conf oracle$ export PATH=$ORACLE_HOME:bin:.:$PATH
G5Server:˜/u01/app/oracle/product/10.1.0/apex/Apache/modplsql/conf oracle$ perl dadTool.pl -o

Information
----------------------------------------------------------------------------
Backed up older dads.conf as /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/modplsql/conf/dads.conf.orig.2009-05-17_19-09

All passwords successfully obfuscated. New obfuscations : 0
G5Server:˜/u01/app/oracle/product/10.1.0/apex/Apache/modplsql/conf oracle$
Information
----------------------------------------------------------------------------
Backed up older dads.conf as /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/modplsql/conf/dads.conf.orig.2009-05-17_19-11

All passwords successfully obfuscated. New obfuscations : 1
G5Server:˜/u01/app/oracle/product/10.1.0/apex/Apache/modplsql/conf oracle$
G5Server:˜/u01/app/oracle/product/10.1.0/apex/Apache/modplsql/conf oracle$ mv dads.conf marvel.conf
G5Server:˜/u01/app/oracle/product/10.1.0/apex/Apache/modplsql/conf oracle$ mv dads.conf.org dads.conf
G5Server:˜/u01/app/oracle/product/10.1.0/apex/Apache/modplsql/conf oracle$ diff marvel.conf.org marvel.conf
8c8
< PlsqlDatabasePassword apex
---
> PlsqlDatabasePassword @BTpCAhnG7HjcGKTr0ns63KI=
G5Server:˜/u01/app/oracle/product/10.1.0/apex/Apache/modplsql/conf oracle$

Oracle HTTP ServerとHTML DB(関連するPL/SQLパッケージを除く)のORACLE_HOMEごとIntel Macへの移動準備完了。Rosettaの力を借りる。To be continued!



バックナンバー

Oracle10g R2 for MacOSX (Intel x86-64) released !!!
Leopard de Oracle10g release 2 (Intel x86-64)
Leopard de Oracle10g R2 (Intel x86-64) #1
Leopard de Oracle10g R2 (Intel x86-64) #2
Leopard de Oracle10g R2 (Intel x86-64) #3 (ちょいと寄り道)
Leopard de Oracle10g R2 (Intel x86-64) #4 (Companion CD installation)
Leopard de Oracle10g R2 (Intel x86-64) #5 (dbstart and dbshut does not work!! But....)
Leopard de Oracle10g R2 (Intel x86-64) #6 (onsがバグっている?件..)
Leopard de Oracle10g R2 (Intel x86-64) #7 (iSQL*Plusのメッセージがものすごく怖い件)
Leopard de Oracle10g R2 (Intel x86-64) #8 - (APEX3.2と遊ぶ #1)
Leopard de Oracle10g R2 (Intel x86-64) #9 - (APEX3.2と遊ぶ #2)
Leopard de Oracle10g R2 (Intel x86-64) #10 (APEX3.2と遊ぶ #3)
Leopard de Oracle10g R2 (Intel x86-64) #11 (APEX3.2と遊ぶ #4)
Leopard de Oracle10g R2 (Intel x86-64) #12 (APEX3.2と遊ぶ #5)
Leopard de Oracle10g R2 (Intel x86-64) #13 (APEX3.2と遊ぶ #6)
Leopard de Oracle10g R2 (Intel x86-64) #14 (APEX3.2と遊ぶ #7)
Leopard de Oracle10g R2 (Intel x86-64) #15 (APEX3.2と遊ぶ #8)
Leopard de Oracle10g R2 (Intel x86-64) #16 (APEX3.2と遊ぶ #9)

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

2009年6月 1日 (月)

Leopard de Oracle10g R2 (Intel x86-64) #16 (APEX3.2と遊ぶ #9)

Oracle10g R2 10.2.0.4.0 for MacOSX (Intel x68-64)でAPEX3.2と遊ぶの第九話。

Intel版MacへOracle HTTP ServerとPL/SQL gatewayをORACLE_HOMEごと移動するための環境作りとしてPowerPC上でOracle 10g R1 10.1.0.3.0 + Oracle HTTP Server + HTMLDB 1.5をインストール及び構成する。のづづき。
CompanionCDからOracle HTTP ServerとHTMLDB(現在はAPEX)をインストール、構成しちゃいます。


OTNからOracle 10g R1 10.1.0.3.0 for MacOSX(PowerPC)のCompanion CDをダウンロード、解凍。解凍後に作成されるDisk1ディレクトリへ移動しOUIによるインストール、構成を行います。

G5Server:˜ oracle$ cd /Volumes/DiscusWork/temp/Disk1/ 
G5Server:/Volumes/DiscusWork/temp/Disk1 oracle$ ll
total 24
drwxr-xr-x 15 oracle oinstall 510 May 16 23:34 doc
drwxr-xr-x 7 oracle oinstall 238 May 16 23:34 fonts
drwxr-xr-x 12 oracle oinstall 408 May 16 23:34 install
-rwxr-xr-x 1 oracle oinstall 1259 Dec 17 2004 runInstaller
drwxr-xr-x 15 oracle oinstall 510 May 16 23:36 stage
-rwxr-xr-x 1 oracle oinstall 4188 Dec 17 2004 welcome.htm
G5Server:/Volumes/DiscusWork/temp/Disk1 oracle$ ./runInstaller &
[1] 5831
G5Server:/Volumes/DiscusWork/temp/Disk1 oracle$ Starting Oracle Universal Installer...
No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
・・・・以下略・・・・

以下、OUI各画面のスナップショット。インストール構成が今回のテーマではないのでポイントになる箇所以外解説はしていません。(過去の記事なども参考にしてみてください。)



60

61

ちなみに、インストールするORACLE_HOMEは他のDatabase等とは異なるディレクトリにするところがポイントですよん。
63

64

68

71

HTML DBのパスワードはIntel MacでインストールしたAPEX3.2で設定予定のパスワード(現時点では未設定)と同じにしておくと楽です。(異なっても問題はないです。)
それ以外の項目はこのデータベースのインストールで設定したりした値やパスワードです。
HTML DB(APEX)はSYSAUX以外の表領域でもいいですが、今回はSYSAUX以外にする必要はないのでSYSAUXにしてあります。

73_2

74

77

HTML DB Configuration Assistantでエラーが発生してますが、あとで再実行するのでここでは「OK」ボタンクリック後、エラーを無視してインストールを続行します。
78

79

お約束のroot.shの実行です。指示された場所にあるroot.shをrootユーザで実行します。が・・・・以前とは違いちょっとしたエラーが・・・・
80

お約束のroot.shを実行したら・・・・エラーですか・・・・
root_sh_append.shの該当行を見てみると・・・chownとchmodをfull path指定が間違っていたので修正。

G5Server:˜/u01/app/oracle/product/10.1.0/apex oracle$ sudo sh
Password:
sh-2.05b# /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/root.sh
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/
Apache/bin/root_sh_append.sh: line 7: /usr/bin/chown: No such file or directory
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/
Apache/bin/root_sh_append.sh: line 8: /usr/bin/chmod: No such file or directory
Running Oracle10 root.sh script...
¥nThe following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex

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]:n
The file "oraenv" already exists in /usr/local/bin. Overwrite it? (y/n) [n]:n
The file "coraenv" already exists in /usr/local/bin. Overwrite it? (y/n) [n]:n

Adding entry to /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.
sh-2.05b#
sh-2.05b# which chmod
/bin/chmod
sh-2.05b# which chown
/usr/sbin/chown
sh-2.05b#
sh-2.05b#

root_sh_append.shの修正内容

sh-2.05b#
sh-2.05b# vi /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/bin/root_sh_append.sh
sh-2.05b# diff /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/bin/root_sh_append.sh.org
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/Apache/Apache/bin/root_sh_append.sh
7,8c7,8
< /usr/bin/chown root $SSOMIGRATE
< /usr/bin/chmod 6750 $SSOMIGRATE
---
> chown root $SSOMIGRATE
> chmod 6750 $SSOMIGRATE
sh-2.05b#

root.shを再実行。(こんどは上手く行った)

sh-2.05b#
sh-2.05b#
sh-2.05b# /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex/root.sh
Running Oracle10 root.sh script...
¥nThe following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/apex

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]:n
The file "oraenv" already exists in /usr/local/bin. Overwrite it? (y/n) [n]:n
The file "coraenv" already exists in /usr/local/bin. Overwrite it? (y/n) [n]:n

Adding entry to /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.
sh-2.05b#

root.shを実行したらOUIを終了しておわり。
81

82


以前は発生していなかったのですが、HTMLDB Configuration Assistantで問題が発生しました。原因は前々回と同じくJavaSE6.0 Developer Preview 1をデフォルトにしていることが影響しているようです。ということで解決方法なども含めて、To be continued.



バックナンバー

Oracle10g R2 for MacOSX (Intel x86-64) released !!!
Leopard de Oracle10g release 2 (Intel x86-64)
Leopard de Oracle10g R2 (Intel x86-64) #1
Leopard de Oracle10g R2 (Intel x86-64) #2
Leopard de Oracle10g R2 (Intel x86-64) #3 (ちょいと寄り道)
Leopard de Oracle10g R2 (Intel x86-64) #4 (Companion CD installation)
Leopard de Oracle10g R2 (Intel x86-64) #5 (dbstart and dbshut does not work!! But....)
Leopard de Oracle10g R2 (Intel x86-64) #6 (onsがバグっている?件..)
Leopard de Oracle10g R2 (Intel x86-64) #7 (iSQL*Plusのメッセージがものすごく怖い件)
Leopard de Oracle10g R2 (Intel x86-64) #8 - (APEX3.2と遊ぶ #1)
Leopard de Oracle10g R2 (Intel x86-64) #9 - (APEX3.2と遊ぶ #2)
Leopard de Oracle10g R2 (Intel x86-64) #10 (APEX3.2と遊ぶ #3)
Leopard de Oracle10g R2 (Intel x86-64) #11 (APEX3.2と遊ぶ #4)
Leopard de Oracle10g R2 (Intel x86-64) #12 (APEX3.2と遊ぶ #5)
Leopard de Oracle10g R2 (Intel x86-64) #13 (APEX3.2と遊ぶ #6)
Leopard de Oracle10g R2 (Intel x86-64) #14 (APEX3.2と遊ぶ #7)
Leopard de Oracle10g R2 (Intel x86-64) #15 (APEX3.2と遊ぶ #8)

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

2009年5月31日 (日)

Leopard de Oracle10g R2 (Intel x86-64) #15 (APEX3.2と遊ぶ #8)

Oracle10g R2 10.2.0.4.0 for MacOSX (Intel x68-64)でAPEX3.2と遊ぶの第八話。

Intel版MacへOracle HTTP ServerとPL/SQL gatewayをORACLE_HOMEごと移動するための環境作りとしてPowerPC上でOracle 10g R1 10.1.0.3.0 + Oracle HTTP Server + HTMLDB 1.5をインストール及び構成する。のづづき。
dbcaでデータベースインスタンスを作っちゃいます。Oracle10g R1 10.1.0.3.0 for MacOSXをMacOSX Tigerで動作させるためのお約束の作業から開始!


OTNからダウンロードできるOracle 10g R1 10.1.0.3.0 for MacOSX(PowerPC)MacOSX Tiger以降ではdbcaがこけて起動しないのでUS OTNのフォーラムでもおなじみの以下の方法で解決する。

G5Server:˜ oracle$ cd $ORACLE_HOME/lib
G5Server:˜/u01/app/oracle/product/10.1.0/tiger/lib oracle$ mv libnnz10.dylib libnnz10.dylib.org
G5Server:˜/u01/app/oracle/product/10.1.0/tiger/lib oracle$ relink all
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/bin/genclntsh
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/lib/nautab.o

・・・・中略・・・・

Enterprise Manager native components relinked
IMPORTANT NOTE: To complete this Install/upgrade, please login as root and
execute the root.sh script.
G5Server:˜/u01/app/oracle/product/10.1.0/tiger/lib oracle$ mv libnnz10.dylib.org libnnz10.dylib
G5Server:˜/u01/app/oracle/product/10.1.0/tiger/lib oracle$ cd
G5Server:˜ oracle$

relinkが済んだらdbcaを起動してデータベースを作成。

G5Server:˜ oracle$ dbca &
[1] 5600
G5Server:˜ oracle$

以下dbcaの各画面。dbcaの使い方は今回のメインネタじゃないので各画面毎の解説はしていません。Tiger Server de Oracle10gマニュアルを参考にしてくださいね。)



Dbca_1

Dbca_2

Dbca_3

Dbca_4

Dbca_5_2

Dbca_6

Dbca_7

Dbca_8

Dbca_9_2

Dbca_10_2

Dbca_11

Dbca_12

Dbca_13

Dbca_14

Dbca_15

Dbca_16

Dbca_17

Dbca_18

Dbca_21

Dbca_22


データベースが作成できたら、リスナーの状態を確認してデータベースインスタンスの起動を確認!

G5Server:˜ oracle$ lsnrctl status

LSNRCTL for MacOS X Server: Version 10.1.0.3.0 - Production on 17-5月 -2009 12:06:27

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

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=g5server)(PORT=1521)))に接続中
リスナーのステータス
------------------------
別名 LISTENER
バージョン TNSLSNR for MacOS X Server: Version 10.1.0.3.0 - Production
開始日 17-5月 -2009 11:46:47
稼働時間 0 日 0 時間 19 分 40 秒
トレース・レベル off
セキュリティ ON: Local OS Authentication
SNMP OFF
パラメータ・ファイル /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/network/admin/listener.ora
ログ・ファイル /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/network/log/listener.log
リスニング・エンドポイントのサマリー...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=g5server)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=g5server)(PORT=8080))(Presentation=HTTP)(Session=RAW))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=g5server)(PORT=2100))(Presentation=FTP)(Session=RAW))
サービスのサマリー...
サービス"PLSExtProc"には、1件のインスタンスがあります。
インスタンス"PLSExtProc"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります...
サービス"tiger.macdeoracle.info"には、1件のインスタンスがあります。
インスタンス"tiger"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"tigerXDB.macdeoracle.info"には、1件のインスタンスがあります。
インスタンス"tiger"、状態READYには、このサービスに対する1件のハンドラがあります...
コマンドは正常に終了しました。
G5Server:˜ oracle$ sqlplus /nolog

SQL*Plus: Release 10.1.0.3.0 - Production on 日 5月 17 12:06:32 2009

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

SQL> conn sys@tiger as sysdba
パスワードを入力してください:
接続されました。
SQL> 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

SQL> col comp_name for a50
SQL> set linesize 132
SQL> select comp_name,version,status from dba_registry;

COMP_NAME VERSION STATUS
-------------------------------------------------- ------------------------------ -----------
Oracle Database Catalog Views 10.1.0.3.0 VALID
Oracle Database Packages and Types 10.1.0.3.0 VALID
Oracle Workspace Manager 10.1.0.2.0 VALID
JServer JAVA Virtual Machine 10.1.0.3.0 VALID
Oracle XDK 10.1.0.3.0 VALID
Oracle Database Java Packages 10.1.0.3.0 VALID
Oracle Expression Filter 10.1.0.3.0 VALID
Oracle interMedia 10.1.0.3.0 VALID
Oracle Data Mining 10.1.0.3.0 VALID
Oracle Text 10.1.0.3.0 VALID
Oracle XML Database 10.1.0.3.0 VALID
OLAP Analytic Workspace 10.1.0.3.0 VALID
Oracle OLAP API 10.1.0.3.0 INVALID
OLAP Catalog 10.1.0.3.0 VALID
Spatial 10.1.0.3.0 VALID
Oracle Ultra Search 10.1.0.3.0 VALID
Oracle Enterprise Manager 10.1.0.3.0 VALID

17行が選択されました。

SQL>
SQL> select tablespace_name from dba_tablespaces;

TABLESPACE_NAME
------------------------------
SYSTEM
UNDOTBS1
SYSAUX
TEMP
USERS

SQL>


次回は当時HTMLDBと呼ばれていたAPEXとOracle HTTP ServerをPowerMac上でインストール、構成しちゃいます。

今回はここまで、To be continued.




バックナンバー

Oracle10g R2 for MacOSX (Intel x86-64) released !!!
Leopard de Oracle10g release 2 (Intel x86-64)
Leopard de Oracle10g R2 (Intel x86-64) #1
Leopard de Oracle10g R2 (Intel x86-64) #2
Leopard de Oracle10g R2 (Intel x86-64) #3 (ちょいと寄り道)
Leopard de Oracle10g R2 (Intel x86-64) #4 (Companion CD installation)
Leopard de Oracle10g R2 (Intel x86-64) #5 (dbstart and dbshut does not work!! But....)
Leopard de Oracle10g R2 (Intel x86-64) #6 (onsがバグっている?件..)
Leopard de Oracle10g R2 (Intel x86-64) #7 (iSQL*Plusのメッセージがものすごく怖い件)
Leopard de Oracle10g R2 (Intel x86-64) #8 - (APEX3.2と遊ぶ #1)
Leopard de Oracle10g R2 (Intel x86-64) #9 - (APEX3.2と遊ぶ #2)
Leopard de Oracle10g R2 (Intel x86-64) #10 (APEX3.2と遊ぶ #3)
Leopard de Oracle10g R2 (Intel x86-64) #11 (APEX3.2と遊ぶ #4)
Leopard de Oracle10g R2 (Intel x86-64) #12 (APEX3.2と遊ぶ #5)
Leopard de Oracle10g R2 (Intel x86-64) #13 (APEX3.2と遊ぶ #6)
Leopard de Oracle10g R2 (Intel x86-64) #14 (APEX3.2と遊ぶ #7)

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

Leopard de Oracle10g R2 (Intel x86-64) #14 (APEX3.2と遊ぶ #7)

Oracle10g R2 10.2.0.4.0 for MacOSX (Intel x68-64)でAPEX3.2と遊ぶの第七話。

Intel版MacへOracle HTTP ServerとPL/SQL gatewayをORACLE_HOMEごと移動するための環境作りとしてPowerPC上でOracle 10g R1 10.1.0.3.0 + Oracle HTTP Server + HTMLDB 1.5をインストール及び構成する。のづづき。
Oracle 10g R1 10.1.0.3.0のインストール中netcaがコケていた。ログから原因を探ると、デフォルトのJDKをJavaSE6.0 Developer Preview 1にしちゃっているのが原因でインストール時にORACLE_HOME内に作成されるjreのシンボリックリンクが正しく作成されていない。(java2 1.4.2のjreへのシンボリックリンクを作成しようとしているみたい・・・)

というところから...


以下、OUIの指示に従い
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/cfgtoollogs/configToolCommandsを実行してみると、/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jdk/jre//bin/javaがNo such file or directoryとなる。
どうもシンポリックリンク先にjreが存在していない。Tiger Server de Oracle10g を試した頃はJDK1.4.2をデフォルトにしていたのでこの問題は発生しなかったがJavaSE6.0 Developer Preview 1に変更してある影響なんだろう。

G5Server:˜ oracle$ /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/cfgtoollogs/configToolCommands
Oracle Net Configuration Assistant
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/cfgtoollogs/configToolCommands: line 2:
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jdk/jre//bin/java: No such file or directory
G5Server:˜ oracle$


ということで、/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jdk/jre//bin/javaの部分をjavaに書き換えて再実行すればOK。

G5Server:/u01/app/oracle/product/10.1.0/tiger oracle$ 
--------------------------------------
次のConfiguration Assistantが正常に完了していません。これらのアシスタントは、製品を完全に構成するため、完了する必要があります。
ファイル/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/cfgtoollogs/configToolCommandsを実行して、
スキップまたは失敗したすべてのConfiguration Assistantを再実行します。
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jdk/jre//bin/java
-Duser.dir=/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/network/jlib
-classpath /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jdk/jre//lib/i18n.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jdk/jre//lib/rt.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/ewt3.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/ewtcompat-3_3_15.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/netcfg.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/network/jlib/netcam.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/network/jlib/netca.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/help4.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/jewt4.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/oracle_ice.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/share.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/swingall-1_1_1.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/srvmhas.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/srvm.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/network/tools
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/ldapjclnt9.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/ldapjclnt10.jar
oracle.net.ca.NetCA /orahome /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger
/orahnam OraDb10g_tiger /instype custom /inscomp client,oraclenet,javavm,server
/insprtcl tcp /cfg local /authadp NO_VALUE /nodeinfo NO_VALUE /responseFile
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/network/install/netca_typ.rsp
--------------------------------------

G5Server:˜ oracle$
G5Server:˜ oracle$ cat /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/cfgtoollogs/configToolCommands
G5Server:˜ oracle$ java
-Duser.dir=/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/network/jlib
-classpath /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jdk/jre//lib/i18n.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jdk/jre//lib/rt.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/ewt3.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/ewtcompat-3_3_15.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/netcfg.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/network/jlib/netcam.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/network/jlib/netca.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/help4.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/jewt4.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/oracle_ice.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/share.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/swingall-1_1_1.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/srvmhas.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/srvm.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/network/tools
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/ldapjclnt9.jar
:/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/jlib/ldapjclnt10.jar
oracle.net.ca.NetCA /orahome /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger
/orahnam OraDb10g_tiger /instype custom /inscomp client,oraclenet,javavm,server
/insprtcl tcp /cfg local /authadp NO_VALUE /nodeinfo NO_VALUE /responseFile
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/network/install/netca_typ.rsp
コマンドライン引数の解析:
パラメータ "orahome" = /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger
パラメータ "orahnam" = OraDb10g_tiger
パラメータ "instype" = custom
パラメータ "inscomp" = client,oraclenet,javavm,server
パラメータ "insprtcl" = tcp
パラメータ "cfg" = local
パラメータ "authadp" = NO_VALUE
パラメータ "nodeinfo" = NO_VALUE
パラメータ "responsefile" = /Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/network/install/netca_typ.rsp
コマンドライン引数の解析が終了しました。
Oracle Net Servicesの構成:
デフォルトのローカル・ネーミング構成が完了しました。
次のリスナーを構成中:LISTENER
リスナーの構成が完了しました。
Oracle Net Listenerの起動:
リスナーの制御の実行:
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tiger/bin/lsnrctl start LISTENER
リスナーの制御が完了しました。
リスナーの起動に成功しました。
プロファイルの構成が完了しました。
プロファイルの構成が完了しました。
デフォルトのローカル・ネーミング構成が完了しました。
作成されたネット・サービス名: tiger
Oracle Net Servicesの構成に成功しました。終了コードは次のとおりです。0
G5Server:˜ oracle$
G5Server:˜ oracle$

以下、netcaでlistenerとその構成中のスナップショット。(細かな解説は入れてませんのであしからず。)


Netca_1

Netca_2_2

Netca_3

Netca_4

Netca_5

Netca_6

Netca_7

Netca_8

Netca_9

Netca_10_2

Netca_11

Netca_12

Netca_13_2

Netca_14

Netca_15

Netca_16

Netca_16_2

Netca_17_2

Netca_18

次回はdbcaを利用したデータベース作成。

今回はここまで、To be continued.




バックナンバー

Oracle10g R2 for MacOSX (Intel x86-64) released !!!
Leopard de Oracle10g release 2 (Intel x86-64)
Leopard de Oracle10g R2 (Intel x86-64) #1
Leopard de Oracle10g R2 (Intel x86-64) #2
Leopard de Oracle10g R2 (Intel x86-64) #3 (ちょいと寄り道)
Leopard de Oracle10g R2 (Intel x86-64) #4 (Companion CD installation)
Leopard de Oracle10g R2 (Intel x86-64) #5 (dbstart and dbshut does not work!! But....)
Leopard de Oracle10g R2 (Intel x86-64) #6 (onsがバグっている?件..)
Leopard de Oracle10g R2 (Intel x86-64) #7 (iSQL*Plusのメッセージがものすごく怖い件)
Leopard de Oracle10g R2 (Intel x86-64) #8 - (APEX3.2と遊ぶ #1)
Leopard de Oracle10g R2 (Intel x86-64) #9 - (APEX3.2と遊ぶ #2)
Leopard de Oracle10g R2 (Intel x86-64) #10 (APEX3.2と遊ぶ #3)
Leopard de Oracle10g R2 (Intel x86-64) #11 (APEX3.2と遊ぶ #4)
Leopard de Oracle10g R2 (Intel x86-64) #12 (APEX3.2と遊ぶ #5)
Leopard de Oracle10g R2 (Intel x86-64) #13 (APEX3.2と遊ぶ #6)

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

2009年5月29日 (金)

Leopard de Oracle10g R2 (Intel x86-64) #13 (APEX3.2と遊ぶ #6)

Oracle10g R2 10.2.0.4.0 for MacOSX (Intel x68-64)でAPEX3.2と遊ぶの第六話。

Intel版MacへOracle HTTP ServerとPL/SQL gatewayをORACLE_HOMEごと移動するための環境作りとしてPowerPCの環境でOracle 10g R1 10.1.0.3.0 + Oracle HTTP Server + HTMLDB 1.5をインストール及び構成するところから。


MacOSX 10.4.11とJavaSE6.0 Developer Preview 1となっている事以外は、Tiger Server De Oracle10g その6と同じである。(ちなみにMacOSXのカーネルパラメータはTiger Server De Oracle10gをやっていた当時のままなので今回の手順ではさらりと書いておくことにした。)

Oracle所有者の環境変数やカーネルパラメータはインストレーションガイド以前のものを参考にしてみてね。

参考資料
Oracle Database 10g Release 1 (10.1) Documentation for Apple Mac OS X

ちなみに、今回の環境変数設定などは以下、あらかじめインストールするディレクトリなどは決めているので事前に設定しておいた。(MySQL関係のは気にしないでね。)


G5Server:˜ oracle$ cat .bash_profile
alias ls='ls -v'
alias ll='ls -vl'
alias startapex='$ORACLE_HOME/../apex/Apache/Apache/bin/apachectl start'
alias stopapex='$ORACLE_HOME/../apex/Apache/Apache/bin/apachectl stop'

umask 022

# oracle environment
TEMP=/tmp
TMPDIR=/tmp
ORACLE_BASE=/Volumes/Discus/4oracle/oracle/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.1.0/tiger
ORACLE_SID=tiger
NLS_LANG=Japanese_Japan.AL32UTF8
DYLD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:$DYLD_LIBRARY_PATH
PATH=$ORACLE_HOME/bin:$PATH
export TEMP TMPDIR ORACLE_BASE ORACLE_HOME ORACLE_SID NLS_LANG DYLD_LIBRARY_PATH PATH

export MYSQL_HOME=/usr/local/mysql
export DATADIR=$MYSQL_HOME/data
export PATH=$MYSQL_HOME/bin:$PATH
G5Server:˜ oracle$

TerminalでunzipしてできるDisk1以下のrunInstallerを起動してOracledatabase 10g R1のインストール開始(Tiger Server de Oracle10gも見てね


Install_db_1

Install_db_2

Install_db_3

Install_db_4_2

Install_db_5

今回はデータベースそのものよりOracle HTTP ServerとAPEXがメインなので必要最低限のオプションだけにしてインストール時間の節約。
Install_db_6_2

Install_db_7

Install_db_8

Install_db_9

インストール時にデータベース作成は行わない。
Install_db_10

Install_db_11

Install_db_12

お約束のroot.shの実行要求が表示されたらTerminalからrootユーザでroot.shを実行する。
Install_db_13

Configuration Assistantの実行でnetcaの実行に失敗するが、JavaSE6.0 Developer Preview 1を利用していることが影響していると考えられる内容であったためエラーを無視してすすめる。(netcaはこの後、手動で実行すれば問題ないので。)
JDK1.4.2又はJavaSE5.0を使っているのならこのエラーには遭遇しないと(思われる)。


Install_db_14

Install_db_15

Install_db_16

Install_db_17_2



OracleDatabase 10g R1のインストールでTiger Server De Oracle10gの頃にはなかったエラーがnetcaの実行中に発生したがこれはJavaSE6.0 Developer Preview 1をデフォルトのJDKに設定している(詳細は次回)ことが影響しているようなのでOUIのインストールではエラーを無視し後でnetcaを手動実行する。

今回はここまで、To be continued.





バックナンバー

Oracle10g R2 for MacOSX (Intel x86-64) released !!!
Leopard de Oracle10g release 2 (Intel x86-64)
Leopard de Oracle10g R2 (Intel x86-64) #1
Leopard de Oracle10g R2 (Intel x86-64) #2
Leopard de Oracle10g R2 (Intel x86-64) #3 (ちょいと寄り道)
Leopard de Oracle10g R2 (Intel x86-64) #4 (Companion CD installation)
Leopard de Oracle10g R2 (Intel x86-64) #5 (dbstart and dbshut does not work!! But....)
Leopard de Oracle10g R2 (Intel x86-64) #6 (onsがバグっている?件..)
Leopard de Oracle10g R2 (Intel x86-64) #7 (iSQL*Plusのメッセージがものすごく怖い件)
Leopard de Oracle10g R2 (Intel x86-64) #8 - (APEX3.2と遊ぶ #1)
Leopard de Oracle10g R2 (Intel x86-64) #9 - (APEX3.2と遊ぶ #2)
Leopard de Oracle10g R2 (Intel x86-64) #10 (APEX3.2と遊ぶ #3)
Leopard de Oracle10g R2 (Intel x86-64) #11 (APEX3.2と遊ぶ #4)
Leopard de Oracle10g R2 (Intel x86-64) #12 (APEX3.2と遊ぶ #5)

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

2009年5月27日 (水)

Leopard de Oracle10g R2 (Intel x86-64) #12 (APEX3.2と遊ぶ #5)

随分間が空いてしまったが、Oracle10g R2 10.2.0.4.0 for MacOSX (Intel x68-64)でAPEX3.2と遊ぶの第五話。

前回PowerMac G5へインストールしたOracle HTTP ServerとPL/SQL GatewayをそのままIntel Macへ移植移動しただけでOracle HTTP Server+PL/SQL gateway+Oracle Application Express3.2が動作した結果だけをお見せしたが、今回はその手順を。

前提としてIntel Mac以外に、PowerPC版のMacとMacOSX Tiger 10.4.11(ServerでもClient版でも可。)が必要。おそらく、PowerPC版MacはPantherでも可能(だと思う)。


手順の概要

PowerMac G5 (MacOSX Tiger Server 10.4.11)へ、Oracle 10g R1 10.1.0.3.0 for MacOSX (PowerPC版)のDatabase及び、CompanionCDよりOracle HTTP ServerとAPEX(当時はHTMLDBと呼ばれていた)をインストール及び構成(起動するところまで確認)後、Oracle HTTP Server用のORACLE_HOMEディレクトリをまるごとOracle 10g R2 10.2.0.4.0 for MacOSX(Intel x86-64)及びAPEX3.2インストール済みのMacBook Pro - MacOSX Leopard 10.5.6へ移動しコンフィグファイルを書き換えIntel Mac上で未サポート扱いのOracle HTTP Server + PL/SQL gateway + APEX3.2を使えるようにする。

まず、PowerMacの情報

gccは3.3を使うのでそれ以外の場合はgcc_selectで変更する。また、javaに関してはOracle10g R1のリリース当時はJDK1.4.2だったが、以前デフォルトをJavaSE6.0 Developer Preview 1へ切り替えたままで行うことにした。PowerPC版Macの場合JavaSE6.0は正式にリリースされていないのでJavaSE5.0までのほうが問題は少ない。。はずだが。

G5Server:˜ oracle$ sw_vers
ProductName: Mac OS X Server
ProductVersion: 10.4.11
BuildVersion: 8S169
G5Server:˜ oracle$
G5Server:˜ oracle$ uname -a
Darwin G5Server 8.11.0 Darwin Kernel Version 8.11.0: Wed Oct 10 18:26:00 PDT 2007;
root:xnu-792.24.17˜1/RELEASE_PPC Power Macintosh powerpc
G5Server:˜ oracle$
G5Server:˜ oracle$
G5Server:˜ oracle$ /usr/sbin/system_profiler SPHardwareDataType | grep CPU
CPU Type: PowerPC G5 (3.1)
Number Of CPUs: 2
CPU Speed: 2.7 GHz
L2 Cache (per CPU): 512 KB
G5Server:˜ oracle$
G5Server:˜ oracle$
G5Server:˜ oracle$ /usr/sbin/system_profiler SPApplicationsDataType | grep Xcode
Xcode:
Get Info String: Xcode version 2.4.1
Location: /Developer/Applications/Xcode.app

G5Server:˜ oracle$
G5Server:˜ oracle$ gcc --version
powerpc-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5367)
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

G5Server:˜ oracle$
G5Server:˜ oracle$ gcc_select -l
Available compiler versions:
3.3 3.3-fast 4.0

G5Server:˜ oracle$
G5Server:˜ oracle$ sudo gcc_select 3.3
Password:
Default compiler has been set to:
gcc version 3.3 20030304 (Apple Computer, Inc. build 1819)
G5Server:˜ oracle$
G5Server:˜ oracle$ gcc -v
Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs
Thread model: posix
gcc version 3.3 20030304 (Apple Computer, Inc. build 1819)
G5Server:˜ oracle$

G5Server:˜ oracle$
G5Server:˜ oracle$ java -version
java version "1.6.0-dp"
Java(TM) SE Runtime Environment (build 1.6.0-dp-b88-34)
Java HotSpot(TM) Core VM (build 1.6.0-b88-17-release, interpreted mode)
G5Server:˜ oracle$

次に、Intel Macの情報

Oracle 10g R2 10.2.0.4.0 for MacOSX(intel x86-64)インストール時のまま。

Macintosh:˜ discus$ /usr/sbin/system_profiler SPHardwareDataType | grep -E '(Processor|Cores|Memory)'
Processor Name: Intel Core 2 Duo
Processor Speed: 2.2 GHz
Number Of Processors: 1
Total Number Of Cores: 2
Memory: 2 GB
Macintosh:˜ discus$
Macintosh:˜ discus$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.5.6
BuildVersion: 9G55
Macintosh:˜ discus$
Macintosh:˜ discus$ uname -a
Darwin Macintosh.local 9.6.0 Darwin Kernel Version 9.6.0: Mon Nov 24 17:37:00
PST 2008; root:xnu-1228.9.59˜1/RELEASE_I386 i386
Macintosh:˜ discus$
Macintosh:˜ discus$ gcc --version
i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5488)
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Macintosh:˜ discus$
Macintosh:˜ discus$ java -version
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06-153)
Java HotSpot(TM) 64-Bit Server VM (build 1.6.0_07-b06-57, mixed mode)
Macintosh:˜ discus$
Macintosh:˜ discus$ system_profiler SPApplicationsDataType | grep Xcode
Xcode:
Get Info String: Xcode version 3.1.1
Location: /Developer/Applications/Xcode.app
Macintosh:˜ discus$

長くなるので(というより息子が風邪(フツーの)で保育園に行けない。しかも熱が37度台になってきたので走り回ってたり私が集中できないという理由もあり)今日はここまで、次回へつづく。:)

もう、そろそろ昼寝していた息子が起きそうだ...相手してやらないと・・・





バックナンバー

Oracle10g R2 for MacOSX (Intel x86-64) released !!!
Leopard de Oracle10g release 2 (Intel x86-64)
Leopard de Oracle10g R2 (Intel x86-64) #1
Leopard de Oracle10g R2 (Intel x86-64) #2
Leopard de Oracle10g R2 (Intel x86-64) #3 (ちょいと寄り道)
Leopard de Oracle10g R2 (Intel x86-64) #4 (Companion CD installation)
Leopard de Oracle10g R2 (Intel x86-64) #5 (dbstart and dbshut does not work!! But....)
Leopard de Oracle10g R2 (Intel x86-64) #6 (onsがバグっている?件..)
Leopard de Oracle10g R2 (Intel x86-64) #7 (iSQL*Plusのメッセージがものすごく怖い件)
Leopard de Oracle10g R2 (Intel x86-64) #8 - (APEX3.2と遊ぶ #1)
Leopard de Oracle10g R2 (Intel x86-64) #9 - (APEX3.2と遊ぶ #2)
Leopard de Oracle10g R2 (Intel x86-64) #10 (APEX3.2と遊ぶ #3)
Leopard de Oracle10g R2 (Intel x86-64) #11 (APEX3.2と遊ぶ #4)

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

2009年5月21日 (木)

PL/SQL de ケンブリッジ関数

先日、ケンブリッジ関数ネタを取り上げたついでなのでPL/SQLで作ってみた。
こんな感じかな。他の言語に比べるとアウェイ感が強いけど。時間があったらほかのでもやるかも..w

ちなみに、OracleはOracle10g R2 10.2.0.4.0で、キャラクタセットはAL32UTF8

関連記事:
ケブンッリジ関数@ どう書く?org
確かに“読めてしまう”コピペに2ch住人が「人間すげー」と驚く@ITmedia
流行りのケブンリッジ関数 - JavaScript 編@IT戦記

ストアドファンクションにしてあります。

CREATE OR REPLACE FUNCTION Cambridge( iWords IN CLOB )
RETURN CLOB
IS
words CLOB := EMPTY_CLOB();
word CLOB := EMPTY_CLOB();
nonwords CLOB := EMPTY_CLOB();
TYPE t_char_table_type IS TABLE OF CHAR(1 CHAR);
chars t_char_table_type := t_char_table_type();
charsInit t_char_table_type := t_char_table_type();
startpos PLS_INTEGER := 1;
endpos PLS_INTEGER;
l PLS_INTEGER;
endpos_nonwords PLS_INTEGER;
tempwords CLOB := EMPTY_CLOB();
done BOOLEAN;
--
FUNCTION getShuffledWord RETURN CLOB
IS
workCLOB CLOB := EMPTY_CLOB();
BEGIN
IF chars.COUNT > 0 THEN
FOR j IN chars.FIRST..chars.LAST LOOP
workCLOB := workCLOB || chars(j);
END LOOP;
END IF;
RETURN workCLOB;
END;
--
BEGIN
words := iWords;
LOOP
endpos := REGEXP_INSTR(words, '(\s+|[[:punct:]]+|$)', startpos);
EXIT WHEN endpos = 0;
--
word := DBMS_LOB.SUBSTR(words, endpos - startpos, startpos);
chars := charsInit;
--
IF DBMS_LOB.getLength(word) > 3 THEN
FOR i IN 1..DBMS_LOB.getLength(word) LOOP
chars.EXTEND();
END LOOP;
chars(chars.FIRST) := DBMS_LOB.SUBSTR(word, 1, 1);
chars(chars.LAST) := DBMS_LOB.SUBSTR(word, 1, DBMS_LOB.getLength(word));
--
FOR k IN 2..DBMS_LOB.getLength(word) - 1 LOOP
done := FALSE;
WHILE NOT done LOOP
l := ROUND(DBMS_RANDOM.VALUE(2, DBMS_LOB.getLength(word) - 1));
IF chars(l) IS NULL THEN
chars(l) := DBMS_LOB.SUBSTR(word, 1, k);
done := TRUE;
END IF;
END LOOP;
END LOOP;
word := getShuffledWord();
END IF;
--
endpos_nonwords := REGEXP_INSTR(words, '(\s+|[[:punct:]]+|$)', startpos, 1, 1);
nonwords := DBMS_LOB.SUBSTR(words, endpos_nonwords - endpos, endpos);
startpos := endpos + 1;
tempwords := tempwords || word || nonwords;
END LOOP;
RETURN tempwords;
END;
/

あたえる文字列はテーブルに格納してあります。

SCOTT> 
SCOTT> set linesize 80
SCOTT> desc wordstable
名前 NULL? 型
----------------------------------------- -------- ----------------------------
ID NOT NULL NUMBER
WORDS CLOB

SCOTT> set long 4000
SCOTT> set longchunk 400
SCOTT> select words from wordstable where id = 1;

WORDS
---------------------------------------------------------------------------
こんにちは みなさん おげんき ですか? わたしは げんき です。
この ぶんしょう は いぎりす の ケンブリッジ だいがく の けんきゅう の けっか
にんげん は もじ を にんしき する とき その さしいょ と さいご の もじさえ あっていれば
じゅんばん は めちゃくちゃ でも ちゃんと よめる という けんきゅう に もとづいて
わざと もじの じゅんばん を いれかえて あります。
どうです? ちゃんと よめちゃう でしょ?
ちゃんと よめたら はんのう よろしく


じこっう けっか。 フツー に よまめす よね?
PL/SQLをNative compileすればもっと早くなるだろうけど...

SCOTT> select cambridge(words) from wordstable where id = 1;

CAMBRIDGE(WORDS)
---------------------------------------------------------------------------
こちにんは みさなん おんげき ですか? わたしは げんき です。
この ぶょんしう は いりぎす の ケブンリッジ だいがく の けゅんきう の けっか
にげんん は もじ を にしんき する とき その さしいょ と さいご の もさじえ あてっいれば
じゅんばん は めゃくちちゃ でも ちんゃと よめる という けゅんきう に もとづいて
わざと もじの じばんゅん を いかれえて あまりす。
どうです? ちゃんと よめちゃう でしょ?
ちゃんと よためら はのんう よろしく

経過: 00:00:00.07
SCOTT>


では、次回はLeoparde de Oracle10g R2ネタに戻るとしましょうか・・・

それにしても他の言語で書かれているの見ると随分短いよね。そういえば、Python ChallengeでもPythonなら数行なのにPL/SQL無理矢理で書いていたっけ。。そうだ誰か、PostgreSQLのPL/pgSQLとかMySQLのストアドで書くような人はいないか?なぁ〜。と呟いてみる。w (2009/5/22追記)

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

2009年5月18日 (月)

Leopard de Oracle10g R2 (Intel x86-64) #11 (APEX3.2と遊ぶ #4)

Oracle10g R2 10.2.0.4.0 for MacOSX (Intel x68-64)でAPEX3.2と遊ぶの第四話。

前回、Rosettaの力を借りて、PowerPC版のMacへインストールしたOracle HTTP Server + PL/SQL gatewayをIntel x86版のMacへHomeディレクトリごと移動してしまえば動作するだろう。(但し、構成ファイル等は手動で手直しする必要あり)と書いたが、試してみたところ上手く動作した。Rosetta やっぱり、すげー!(Rosettaを作ったTransitive社はIBMに買収された。

手順は長くなるので次回にするが、環境と動作したスナップショットを。。。。


クリックで拡大表示します。


Ohs_apex_version1

Ohs_apex_version2


環境

Oracle HTTP ServerとPL/SQL gatewayをインストールしたMac (PowerPC)
 ---- PowerMac G5 (PowerPC G5 Dual 2.7Ghz / MacOSX Tiger Server 10.4.11)

PowerPCへインストールしたOracle HTTP ServerとPL/SQL gatewayの移動先のMac (Intel x86)
 ---- MacBook Pro (Intel Core 2 Duo 2.2Ghz / MacOSX Leopard 10.5.6)


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




バックナンバー

Oracle10g R2 for MacOSX (Intel x86-64) released !!!
Leopard de Oracle10g release 2 (Intel x86-64)
Leopard de Oracle10g R2 (Intel x86-64) #1
Leopard de Oracle10g R2 (Intel x86-64) #2
Leopard de Oracle10g R2 (Intel x86-64) #3 (ちょいと寄り道)
Leopard de Oracle10g R2 (Intel x86-64) #4 (Companion CD installation)
Leopard de Oracle10g R2 (Intel x86-64) #5 (dbstart and dbshut does not work!! But....)
Leopard de Oracle10g R2 (Intel x86-64) #6 (onsがバグっている?件..)
Leopard de Oracle10g R2 (Intel x86-64) #7 (iSQL*Plusのメッセージがものすごく怖い件)
Leopard de Oracle10g R2 (Intel x86-64) #8 - (APEX3.2と遊ぶ #1)
Leopard de Oracle10g R2 (Intel x86-64) #9 - (APEX3.2と遊ぶ #2)
Leopard de Oracle10g R2 (Intel x86-64) #10 (APEX3.2と遊ぶ #3)

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

Leopard de Oracle10g R2 (Intel x86-64) #10 (APEX3.2と遊ぶ #3)

Oracle10g R2 10.2.0.4.0 for MacOSX (Intel x68-64)でAPEX3.2と遊ぶの第三話。
前回まででOracle 10g R2 10.2.0.4.0 for MacOSX (Intel x86-64)へAPEX3.2日本語リソースまでインストールすることができた。今回はOracle 10g R2 10.2.0.4.0 for MacOSX (Intel x86-64)ではCompanion CDにも含まれておらずインストールすらできないOracle HTTP ServerとPL/SQL gatewayなんとかしてみる。(それさえなんとかできればAPEX3.2が使えるはず。。)
方法は幾つ考えられるが、まずは、”なんとかできるはず”と思っている根拠について書いておこうかと・・・・。


”なんとかできるはず”だと考えているのにはそれなりの理由がある。それは、Rosettaの存在。
以前、Oracle Instant Client 10g R1 for MacOSX(PPC) is running under Rosetta on MacOSX LeopardでもRosettaの力でPowerPC版のOracle Instant Client 10g R1がMacOSX Leopard (intel x86)上で動作したという記事を書いたことがあるが、今回もRosettaのお世話になれば実現できるはず!。

いくつか考えられる方法のうち、Oracle10g R1 10.1.0.3.0 for MacOSX (PowerPC)版のCompanion CDを使いMacOSX Leopard (intel x86)上でインストールするという方法は、随分前にも試したことがあるOracl10g Databaseのインストールと同様に上手く行かない。(以下、NGシーンの再現)
Oracle10gr1_companinon_cd_4_powerpc


上記以外で確実な方法として、PowerPC版Mac上でインストール、構成までしたバイナリを、そのままIntel x86版Macへ移動して再構成(もちろん手動でね)すれば使えるようになるはず・・・・・・・。

ということで、次回へつづく。




バックナンバー

Oracle10g R2 for MacOSX (Intel x86-64) released !!!
Leopard de Oracle10g release 2 (Intel x86-64)
Leopard de Oracle10g R2 (Intel x86-64) #1
Leopard de Oracle10g R2 (Intel x86-64) #2
Leopard de Oracle10g R2 (Intel x86-64) #3 (ちょいと寄り道)
Leopard de Oracle10g R2 (Intel x86-64) #4 (Companion CD installation)
Leopard de Oracle10g R2 (Intel x86-64) #5 (dbstart and dbshut does not work!! But....)
Leopard de Oracle10g R2 (Intel x86-64) #6 (onsがバグっている?件..)
Leopard de Oracle10g R2 (Intel x86-64) #7 (iSQL*Plusのメッセージがものすごく怖い件)
Leopard de Oracle10g R2 (Intel x86-64) #8 - (APEX3.2と遊ぶ #1)
Leopard de Oracle10g R2 (Intel x86-64) #9 - (APEX3.2と遊ぶ #2)

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

2009年5月15日 (金)

Leopard de Oracle10g R2 (Intel x86-64) #9 - (APEX3.2と遊ぶ #2)

Oracle10g R2 10.2.0.4.0 for MacOSX (Intel x68-64)でAPEX3.2と遊ぶの第二話。日本語リソースをインストールしてみた。とにかく結果をご覧くださいな。と。

ちなみに、データベースキャラクタセットはAL32UTF8。


2

日本語リソースは、APEX3.2を解凍したディレクトリ/builder/ja以下にある。例によってインストール方法はマニュアル読んでね

guppy:ja oracle$ pwd
/Users/oracle/Downloads/apex/builder/ja
guppy:ja oracle$
guppy:ja oracle$
guppy:ja oracle$ sqlplus /nolog

SQL*Plus: Release 10.2.0.4.0 - Production on 水 5月 13 19:49:22 2009

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

> conn / as sysdba
接続されました。
SYS> alter session set current_schema=apex_030200;

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

SYS> @load_ja
. ____ ____ ____ ____
. / \ | \ /\ / | /
.| || / / \ | | |
.| ||--- ---- | | |--
.| || \ / \ | | |
. \____/ | \/ \ \____ |____ \____
.
. Application Express Hosted Development Service Installation.
.........................................................
Install Application Express applications

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

APPLICATION 4420 - APEX - System Messages

・・・・中略・・・・

...done
APPLICATION 4009 - APEX - Application Builder

・・・・中略・・・・

...PAGE .4009: ページ0(ゼロ)
...PAGE 1.4009: アプリケーション・ビルダー
...PAGE 2.4009: サポートするオブジェクト
...PAGE 3.4009: ブレッドクラム・エントリ
...PAGE 4.4009: マスター表の定義
...PAGE 5.4009: ディテール表を定義
...PAGE 6.4009: アイテム・ラベルのグリッド編集
...PAGE 7.4009: 複数のアイテムの削除
...PAGE 8.4009: 参照コンポーネント
...PAGE 9.4009: 共有コンポーネント
...PAGE 10.4009: 未使用のリスト
...PAGE 11.4009: マスター・ディテールの作成
...PAGE 12.4009: マスター・ディテールの作成
...PAGE 13.4009: アイテム・ヘルプのシード
...PAGE 14.4009: アクティビティ
...PAGE 15.4009: レイアウトの選択
...PAGE 16.4009: SQLレポート
...PAGE 17.4009: 置換
...PAGE 18.4009: ページ属性
...PAGE 19.4009: 複数の検証の作成

・・・・中略・・・・


...PAGE 9016.4009: アプリケーション別のデフォルトのテンプレート
...lists

・・・・中略・・・・

Adjust instance settings

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

SYS>


問題なく日本語リソースも無事インストールできた。予想通りOracle Application Server絡みで未サポートとなったのかな?・・・・・。

次回は、いよいよOracle10g R2 10.2.0.4.0 for MacOSX (Intel x86-64) ではインストールもできないOracle HTTP Server + PL/SQL Gatewayをなんとかしてみる・・・・・か。。

2009/5/15更新



バックナンバー

Oracle10g R2 for MacOSX (Intel x86-64) released !!!
Leopard de Oracle10g release 2 (Intel x86-64)
Leopard de Oracle10g R2 (Intel x86-64) #1
Leopard de Oracle10g R2 (Intel x86-64) #2
Leopard de Oracle10g R2 (Intel x86-64) #3 (ちょいと寄り道)
Leopard de Oracle10g R2 (Intel x86-64) #4 (Companion CD installation)
Leopard de Oracle10g R2 (Intel x86-64) #5 (dbstart and dbshut does not work!! But....)
Leopard de Oracle10g R2 (Intel x86-64) #6 (onsがバグっている?件..)
Leopard de Oracle10g R2 (Intel x86-64) #7 (iSQL*Plusのメッセージがものすごく怖い件)
Leopard de Oracle10g R2 (Intel x86-64) #8 - (APEX3.2と遊ぶ #1)

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

2009年5月14日 (木)

Leopard de Oracle10g R2 (Intel x86-64) #8 - (APEX3.2と遊ぶ #1)

さて、前回予告していたようにOracle10g R2 10.2.0.4.0 for MacOSX (Intel x86-64)へOracle Application Express 3.2をインストールして無理矢理使ってみましょう! の第一話。

Oracle Application Express3.2(以下、APEX3.2)は、http://www.oracle.com/technology/products/database/application_express/download.htmlからダウンロード。


2

今回はOracle10g R2 10.2.0.4.0 for MacOSX (Intel x86-64)APEX3.2の英語環境をインストールするところまでを試してみる。
PL/SQLパッケージ等の作成がメインだから問題になりそうな箇所はないんだけど、なんで未サポートなんだろう?。 Oracle HTTP Serverが未サポートだからその影響か?


上記URLからダウンロードしたAPEX3.2を解凍したディレクトリに移動(MacOSX Leopardでは通常Downloadフォルダへダウンロードされる。)

guppy:˜ oracle$ 
guppy:˜ oracle$ cd /Users/oracle/Downloads/apex
guppy:apex oracle$ ll
total 424
-r--r--r--@ 1 oracle oinstall 690 9 10 2008 apex_epg_config.sql
-r--r--r--@ 1 oracle oinstall 15749 1 18 17:38 apex_epg_config_core.sql
-r--r--r--@ 1 oracle oinstall 5208 1 8 13:33 apexins.sql
-r--r--r--@ 1 oracle oinstall 8476 1 8 13:33 apexvalidate.sql
-r--r--r--@ 1 oracle oinstall 1549 1 8 13:33 apxchpwd.sql
-r--r--r--@ 1 oracle oinstall 2830 12 23 18:39 apxconf.sql

・・・・中略・・・・

drwxr-xr-x@ 873 oracle oinstall 29682 2 11 05:50 images
-r--r--r--@ 1 oracle oinstall 1295 12 23 18:39 load_trans.sql
drwxr-xr-x@ 64 oracle oinstall 2176 2 8 19:34 owa
drwxr-xr-x@ 9 oracle oinstall 306 2 8 21:30 utilities
-rw-rw-r-- 1 oracle oinstall 4803 2 17 12:13 welcome.html
guppy:apex oracle$
guppy:apex oracle$

ディレクトリを移動後、SQL*Plusから赤太文字で示したapexins.sql(前述)を実行する。
実行時のパラメータはAPEXのマニュアルを見てね

guppy:apex oracle$ sqlplus /nolog

SQL*Plus: Release 10.2.0.4.0 - Production on 水 5月 13 19:08:04 2009

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

> conn / as sysdba
接続されました。
SYS> @apexins SYSAUX SYSAUX TEMP /i/

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

. ____ ____ ____ ____
. / \ | \ /\ / | /
.| || / / \ | | |
.| ||--- ---- | | |--
.| || \ / \ | | |
. \____/ | \/ \ \____ |____ \____
.
. Application Express Installation.
...................................
.
... Checking prerequisites

・・・・中略・・・・

I. I N S T A L L P R E - C R E A T E T A B L E S P E C S
...wwv_flow_init_htp_buffer

プロシージャが作成されました。

エラーはありません。

権限付与が成功しました。

・・・・中略・・・・

II. I N S T A L L F L O W T A B L E S
...create v function stub

ファンクションが作成されました。

エラーはありません。
...create nv function stub

ファンクションが作成されました。

エラーはありません。

・・・・中略・・・・

III. I N S T A L L F L O W P A C K A G E S P E C S
...wwv_flow_hot_http_links

ファンクションが作成されました。

エラーはありません。

・・・・中略・・・・

Package Specsのタイミング。
経過: 00:00:11.13

IV. I N S T A L L F L O W P A C K A G E B O D I E S
...wwv_dbms_sql
エラーはありません。

・・・・中略・・・・

Package Bodiesのタイミング。
経過: 00:02:50.20

V. P E R F O R M F L O W G R A N T S
Installing flows_files objects 2
...create flows_files
...trigger wwv_biu_flow_file_objects
エラーはありません。
Grantsのタイミング。
経過: 00:00:00.09

VI. I N S T A L L F L O W S
define "^" (hex 5e)
...internal messages
APPLICATION 4411 - APEX - System Messages
Set Credentials...
Check Compatibility...
WWV_FLOW_API.FLOWS_API_LAST_EXTENDED20090112
WWV_FLOW_API.CURRENT_FLOWS_VERSION20090112

・・・・中略・・・・

......Message f4400_p12_howto_step7
......Message internal_users
......Message database_users
......Message f4400_p22_obj_created
......Message f4400_p10_queries_help
......Message f4400_p9_tables_help
......Message f4400_p22_table_info
......Message f4400_p8_forms_help
......Message f4400_p20_reports_help
......Message f4400_p49_defs_help
......Message wwv_flow_item_protection_save_item_internal_only_show
......Message wwv_flow_sw_parser_line_exceeds_32k
......Message wwv_flow_sw_api_check_priv_obj
......Message f4050_approved_account_req_display
......Message archivelog

・・・・中略・・・・

Install Internal Flowsのタイミング。
経過: 00:00:34.94

...Development install if necessary

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

I. O R A C L E S Y S I N S T A L L P R O C E S S
dev_grants
...grant APEX owner development privileges

・・・・中略・・・・

...done grant APEX owner core privileges
...CONNECT as the Oracle user who will own the APEX engine

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

III. I N S T A L L F L O W P A C K A G E S P E C S
wwv_flow_plsql_editor.sql

・・・・中略・・・・

Development Package Specsのタイミング。
経過: 00:00:40.17
wwv_flow_plsql_editor.plb

パッケージ本体が作成されました。

・・・・中略・・・・

Development Package Bodiesのタイミング。
経過: 00:00:29.69

権限付与が成功しました。


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

VI. I N S T A L L F L O W S
define "^" (hex 5e)
APPLICATION 4000 - APEX - Application Builder
Set Credentials...
Check Compatibility...
API Last Extended:20090112
Your Current Version:20090112

・・・・中略・・・・

Install Internal Development Applicationsのタイミング。
経過: 00:09:10.55

load verification images

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

エラーはありません。

・・・・中略・・・・

Thank you for installing Oracle Application Express.

Oracle Application Express is installed in the APEX_030200 schema.

The structure of the link to the Application Express administration services is as follows:
http://host:port/pls/apex/apex_admin (Oracle HTTP Server with mod_plsql)
http://host:port/apex/apex_admin (Oracle XML DB HTTP listener with the embedded PL/SQL gateway)

The structure of the link to the Application Express development interface is as follows:
http://host:port/pls/apex (Oracle HTTP Server with mod_plsql)
http://host:port/apex (Oracle XML DB HTTP listener with the embedded PL/SQL gateway)

JOB_QUEUE_PROCESSES: 10

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


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


Performing Application Express component validation - please wait...

Completing registration process.
Validating installation.

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

Validate Installationのタイミング。
経過: 00:02:04.77

・・・・中略・・・・

VII. L O A D E N G L I S H D I C T I O N A R Y

トリガーが変更されました。

...10000 rows
...20000 rows
...30000 rows
...40000 rows
...50000 rows
...60000 rows
...70000 rows
English Dictionaryのタイミング。
経過: 00:02:58.72
Upgradeのタイミング。
経過: 00:00:01.15
...End of install if runtime install
...create null.sql
Development Installationのタイミング。
経過: 00:17:28.33
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing optionsとの接続が切断されました。
guppy:apex oracle$
guppy:apex oracle$


特に問題もなくAPEX3.2の英語版はインストールできた。これなら次も順調かもよ・・・・・


次はAPEXのバージョン確認(FAQですが)。
apex_030200.wwv_flows_release関数を使えば確認できます。
ちなみにhtmldbなんて呼ばれていたころから flows_02000とか、リリース毎にスキーマ名が変る点にご注意を。但し関数名は変らないのでスキーマ名だけ注意すれば問題ないです。

guppy:apex oracle$ sqlplus /nolog

SQL*Plus: Release 10.2.0.4.0 - Production on 水 5月 13 19:08:04 2009

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

> conn / as sysdba
接続されました。

SYS> select apex_030200.wwv_flows_release from dual;

WWV_FLOWS_RELEASE
--------------------------------------------------------------------------------
3.2.0.00.27

SYS>

次回、日本語リソースのインストール。毎回思うけど、apexins.sqlで一緒にやってくれないかな?
jaとか指定するとenにつづいてjaをインストールしてくれるとか・・・・面倒で・・・。




バックナンバー

Oracle10g R2 for MacOSX (Intel x86-64) released !!!
Leopard de Oracle10g release 2 (Intel x86-64)
Leopard de Oracle10g R2 (Intel x86-64) #1
Leopard de Oracle10g R2 (Intel x86-64) #2
Leopard de Oracle10g R2 (Intel x86-64) #3 (ちょいと寄り道)
Leopard de Oracle10g R2 (Intel x86-64) #4 (Companion CD installation)
Leopard de Oracle10g R2 (Intel x86-64) #5 (dbstart and dbshut does not work!! But....)
Leopard de Oracle10g R2 (Intel x86-64) #6 (onsがバグっている?件..)
Leopard de Oracle10g R2 (Intel x86-64) #7 (iSQL*Plusのメッセージがものすごく怖い件)

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

2009年5月13日 (水)

Leopard de Oracle10g R2 (Intel x86-64) #7 (iSQL*Plusのメッセージがものすごく怖い件)

ひさびさにOracleネタです。

Leopard de Oracle10g R2 (Intel x86-64) #3 (ちょいと寄り道)サポートされていないOracle Enterprise Managerは構成されないのに、同じくサポートされていないiSQL*PlusやUltra Searchなんかが構成されている(使える状態かどうかは定かでないがURLとPortがリストされているので構成はされている模様)と書いたが、あってもあまり用はないのだが、試しにiSQL*Plusを使ってみる事にした。(サポート対象外ということになっているので正しく動作しない可能性が高いのは承知の上で)

Leopard de Oracle10g R2 (Intel x86-64) #3 (ちょいと寄り道)では、guppy.macdeoracle.jp:5560となっているがlocalhostでも同じなのでlocalhost:5560へアクセスしてみると・・・・お〜〜〜起動してますな〜確かに(Oracle HTTP Serverではなく、起動しているのはApplication ServerのOC4Jみたい)。
Isqlplus_10gr2_intel_001

ではiSQL*Plusはどうか? localhost:5560/isqlplusへアクセスしてみと・・・・お〜〜〜表示される・・・・しか〜〜〜し、なんかやけにこわ〜〜〜〜〜〜いメッセージが表示されている。なんでこんなメッセージ表示してんだろう。オラクルさん。
Isqlplus_10gr2_intel_002

こわ〜〜〜〜いメッセージを横目で見つつログインしてみる・・・・え、エラーです。(動作しませんね〜.
iSQL*Plus。はどうしても必要な機能ではないのでこのままにしておきましょう...isqlplusctl stopで停止しておきましょう。インストール直後は起動したままになっているので。

Isqlplus_10gr2_intel_003

Isqlplus_10gr2_intel_004_2

強烈なメッセージがiSQL*Plusに表示されたので、もりもりやる気になってきた私。ということで、次回はサポート対象外となっているOracle Application Expressをインストール、しかも最新の3.2を。。え、どうするの? Oracle HTTP Serverも未サポートでOracle10g R2 10.2.0.4.0 for MacOSX (Intel x68-64)のCompanion CDには含まれていないのに..
ははは、ご心配なく、どうにかできると思うからかいているわけですが、当然その方法も未サポートな方法ですからそれらを理解した上で遊べばいいんです。はい。

ということで次回へつづく。



バックナンバー

Oracle10g R2 for MacOSX (Intel x86-64) released !!!
Leopard de Oracle10g release 2 (Intel x86-64)
Leopard de Oracle10g R2 (Intel x86-64) #1
Leopard de Oracle10g R2 (Intel x86-64) #2
Leopard de Oracle10g R2 (Intel x86-64) #3 (ちょいと寄り道)
Leopard de Oracle10g R2 (Intel x86-64) #4 (Companion CD installation)
Leopard de Oracle10g R2 (Intel x86-64) #5 (dbstart and dbshut does not work!! But....)
Leopard de Oracle10g R2 (Intel x86-64) #6 (onsがバグっている?件..)

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

2009年5月11日 (月)

Cache' デベロッパーズガイドを頂きました。m(_ _)m

先月の今頃だが、[CodeZine_News号外 2009-04-09]オブジェクトDB Caché入門書プレゼントという案内が来ていたので、いつものノリで応募していたのだが、プレゼントに当選したようで、Caché デベロッパーズガイドが本日届いた。ありがとうございました。

(最近よく当選するんだよな〜、くじ運は悪いのに・・・)

Mac で Oracleな当ブログですが過去、Cachéネタも幾つかあったりします。:)

10日後は何日?、翌月末日って何日?
Mac de Caché というか MUMPS というか Objectscript か



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

USBメモリ de 暗号化ディスクイメージ

昨日、Audiのロゴ入りUSBメモリ(1GB) 暗号化ソフト付きノベルティを頂いてきたので、USBメモリで暗号化ソフトなどのセキュリティ機能の無いUSBメモリだった場合、セキュリティをどうするか? ということでMacOSXの暗号化機能を使い保護してみましょうか、というお話。

幾つかUSBメモリをノベルティとして頂いているが一番のお気に入りはメルセデスベンツCクラスキー型USBメモリ。でもこのUSBメモリはセキュリティ機能が無いのでこのままでは大切な情報は持ち歩けない・・・落として中身を見られても問題ないものしか入れられない・・・さてどうしよう・・・・
Cimg0935


利用するアプリケ−ションはMacOSXに付属するディスクユーティリティ。このユーティリティを使い暗号化したディスクイメージ(読み書き可能なディスクイメージ)を作成後、作成したディスクイメージを暗号化機能の無いUSBメモリにコピーすればOK.

では、早速。

USBメモリをマウント
Usd_de_encryption_001

次にディスクユーティリティを起動
起動するとマウントしたUSBメモリも表示される。

Usd_de_encryption_002

Usd_de_encryption_003

「新規イメージ」をクリック
Usd_de_encryption_004

ディスクイメージにお好きな名称を付け、ディスクイメージのサイズ、暗号化方法(AES-128を選択というかこれしかない。いまのところ)、フォーマット(読み込み/書き込みディスクイメージを選択)を指定して作成ボタンをクリック。
尚、今回は890MBのディスクイメージを作成したが利用しているUSBメモリの利用可能空きサイズに応じ適宜調整してくださいね。

Usd_de_encryption_005

ディスクイメージ作成が開始されるとパスワードが要求されるので絶対忘れないようなパスワードを入力する。(当然ですけどパスワードには電話番号とか誕生日とか簡単にバレそうなものは使わないといのはあたりまえ過ぎるけど、一応書いておきますね。)
Usd_de_encryption_006

作成されると自動的にマウントされる。その際、前ステップで設定したパスワードを要求されるので入力すると以下のような状態になる。
Usd_de_encryption_008

USBメモリへディスクイメージをコピーするためマウントされた暗号化ディスクイメージは一旦アンマウントする。
Usd_de_encryption_009

アンマウント後、ディスクイメージをUSBメモリへコピーする。ディスクイメージのサイズが大きいとコピー時間もそれなりに必要なのでご注意を。
Usd_de_encryption_010

Usd_de_encryption_011

コピーが終わったらオリジナルのディスクイメージは削除する。その後、USBメモリ上の暗号化ディスクイメージをダブルクリックしてマウントする。(パスワード要求あり)
Usd_de_encryption_012

Usd_de_encryption_013_2

マウントされた暗号化ディスクへテキストファイルなどを作成すればAES-128で暗号化されたディスクイメージを他のMacへUSBメモリ経由で持ち運べる(PowerPCとIntel間の相互利用も今のところ問題なし。:)

ちなみに以下の例で作成したテキストファイルは暗号化されたディスクイメージ上で作成保存したので私のMac上にも残らないようにしてみた。

Usd_de_encryption_014

書き込みもできるディスクイメージにしてあるのでファイルを追加することも可能。ただUSBメモリへ保存するファイル容量が大きいと時間がかかるのが難点といえば難点かも。マウントされた暗号化ディスクイメージ、USBメモリの順でアンマウントしてUSBメモリをドリ取り外せば持ち運べる :)
Usd_de_encryption_015

Usd_de_encryption_016


AESに関連する記事
AESファイナリストをめぐって - h2np.net
AES 概要説明 - A.I.Lab

2009/5/12
タイポ等修正、相変わらず打ちっ放しなところは治ってないw

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

2009年5月10日 (日)

Oracle Database on ZFS filesystem ....

tuning redo apply on zfs - Ronald Rood's oracle blogなんて記事を見かけた、MacOSX Snow LeopardではZFSも標準サポートされるわけでなんとなく気になるネタ。ということでメモメモ。OracleのSun Microsystems買収でZFS辺りの動きも気になる。

関連記事:
一瞬でのバックアップを実現するSolaris ZFS - @IT

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

2009年5月 8日 (金)

MacOSXでCDやDVDを焼く方法(初心者でも分かり易い方法)

義理の妹が妻のお下がりのIMac G5を使いだしてからいろいろと質問されることがあるのだが専門的な用語はあまり使えない(Mac初心者なので)。多分言葉より分かり易いのはやはり絵で見る方だよね?!。
ということで、一昨日「iPhotoで管理している画像ファイルをCDやDVDに記録するにはどうするの?」という質問への回答。
(ちなみに、MacOSXでCDやDVDに画像データ等を直接書き出す方法として複数の方法があるのだが今回はMacOSX初心者でも簡単な方法を紹介しておくね。)


「Finderのメニュー」→「ファイル」→「新規ディスク作成フォルダ」をクリック。
Finder_de_make_disc_001

ディスクトップ上に以下のようなフォルダが作成されるのでお好きな名前を付けておく
Finder_de_make_disc_002

新規ディスク作成フォルダをダブルクリックして開くと以下のようになっている。
Finder_de_make_disc_003

次にiPhotoを起動してCDやDVDに書き込みたい画像を選択する。(以下の例では、イベント単位で複数選択している。イベントを複数選択するときは⌘キーを押しながら該当イベントをクリックする。)
Finder_de_make_disc_005

次に「iPhotoメニュー」→「ファイル」→「書き出し」を選択する。
Finder_de_make_disc_006

「写真の書き出し」ダイアログが表示されるので、「ファイルの書き出し」タブで「種類」は”現在”、「サイズ」は”フルサイズ”となっていることを確認し「書き出し」ボタンをクリックする。
Finder_de_make_disc_007

次に「ファイル選択」で先ほど作成した「新規ディスク作成フォルダ」を選択して「OK]ボタンをクリック。
Finder_de_make_disc_008



Finder_de_make_disc_009

書き出しが終わったら、「新規ディスク作成フォルダ」内にある「ディスクを作成」ボタンをクリック。
空のCDかDVDを挿入するよう指示されるので、CD(CD-R/RW等)又はDVD(DVD-R/RW等)を挿入する。

Finder_de_make_disc_010

Finder_de_make_disc_011

挿入すると書き込み速度やディスク名を聞かれるので必要であれば入力する。(「新規ディスク作成フォルダ」に名称を付けていればその名称が設定される)
確認後、「ディスクを作成」ボタンをクリックする。(あとはディスクが焼終わるのを待つだけ。

Finder_de_make_disc_012

Finder_de_make_disc_013_2

この例ではCD-RWを利用して約8MBの画像ファイルを書き込んだ。書き込みが完了すると以下のような感じでデスクトップ上に現れる。ダブルクリックして開けばiPhotoから書き出した画像ファイルが確認できるはず。あとはディスクを取り出せば終わり。:)

ディスクに書き出した「新規ディスク作成フォルダ」はゴミ箱へポイしてしまえばOK.

どう? わかった? 簡単でしょ?!ーー>義妹

Finder_de_make_disc_014

Finder_de_make_disc_015




おまけ。

ちなみに、もし「新規ディスク作成フォルダ」へ、挿入するCDやDVDに書き込めないくらいの画像データ等を入れてしまった場合はちゃ〜〜〜〜んと、駄目よ〜〜〜と警告を出してくれるからCDやDVDに書き込める程度になるまでファイルを削除してね!、1枚に入りきれなければまた別のディスクを焼けばいいわけだから。:)


以下の例は、「新規ディスク作成フォルダ」へ約2.6GBのデータを入れた状態。(DVDじゃないと書き込めないサイズになってます。)
「ディスク作成」ボタンをクリックすると2.63GB以上の容量のあるディスクが必要だと警告を出してくれるし、書き込みまで進めてしまってもディスクに書き込む前に容量不足で書き込めないことを知らせてくれます。

Finder_de_make_disc_017

Finder_de_make_disc_018_2

Finder_de_make_disc_019

Finder_de_make_disc_020

Finder_de_make_disc_021




2010/10/10追記

MacOSXでCDやDVDを焼く方法(Unix/Linux使いだけど、MacOS Xは初心者って方向けの方法)
MacOSXでCDやDVDを焼く方法 #2(Unix/Linux使いだけど、MacOS Xは初心者って方向けの方法)

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

2009年4月24日 (金)

Oracle Open World Tokyo 2009 #2(最終日) - Do you Poken?

Oracle Open World Tokyo 2009でOracle社員犬のWendyがPoken始めたというのでハイフォーしてきました。私以外にWendyとハイフォーした方いたのかな?

おっと、忘れるところでした、Unconferenceや他のセッション、そして最後に、Oracle Master de Night(なんとなく似ている? de だけね)にもちゃんと参加してきましたよ。

12

今話題のSun Microsystemsさんのブースにて(T5440の256スレッドのデモ中)、知っている営業の方がいたので、つい話し込んでしまいました。あはは。
Img_0348

そしてちょっとしたサプライズ、MacとiPhoneがWendyのブースのお隣に!!!!(できればもっと目立つところに・・・・)
Img_0352

そして最後はOracle Master de Night!
ここで名刺交換した方々がこのブログをよく見てくださっているようで、名刺交換した時の反応に私自身が驚いてしまいました。:)
見て頂いてありがとうございます。

Img_0366

ところで、Oracle Master de Night!とMac De Oracleの"de"がかぶってますが、Mac De Oracleの"De"は、Cube De Zopeから頂いた"De"なんですよ。実はそれほど売れなかったPowerMac G4 Cubeでしたが、私はあのデザインが好きで未だにPowerMac G4 Cube保管してます。SonnetのCPUカード付けて1.2GhzにClock-upしてますけど。

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

2009年4月19日 (日)

Leopard de Oracle10g R2 (Intel x86-64) #6 (onsがバグっている?件..)

さて、Leopard de Oracle10g R2 (Intel x86-64)、その第六話。
onsがバグっている?件..

ということで、まずはonsのおさらいとして、ons (Oracle Notification Server)の略であり、昔のOracle Name Serverの略じゃないよ! 2
という辺りを参照してほしい。

該当記事で書いているが「Oracle10g release 1 10.1.0.3.0 for MacOSX Server (PowerPC)の既知の問題としてonsが紀藤起動していないとlistenerがハングしてしまうという問題があった」ので、Oracle10g release 2 10.2.0.4.0 for MacOSX Server (Intel x86-64)ではどうなのかを確認している際、listenerじゃなくて、ons、バグってね? 起動しないんだけど。。。。という事に気付いた次第。
ちなみに、listenerがハングしていたという問題はOracle10g R2 for MacOSX Server(intel x86-64) では改善されたようです。



以下のログを見てもらいたい。onsctlでpingするとonsが起動しないのにrunningを返してくる。あらら。(^^;;;;

guppy:˜ oracle$ onsctl ping
ons is running ...
guppy:˜ oracle$
guppy:˜ oracle$
guppy:˜ oracle$ ps -axc | grep -E '(tns|ons)'
guppy:˜ oracle$
guppy:˜ oracle$
guppy:˜ oracle$
guppy:˜ oracle$ lsnrctl start

LSNRCTL for MacOS X Server: Version 10.2.0.4.0 - Production on 18-4月 -2009 17:26:20

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

/Users/shared/u01/app/oracle/oracle/product/10.2.0/db_1/bin/tnslsnrを起動しています。お待ちください...

TNSLSNR for MacOS X Server: Version 10.2.0.4.0 - Production
システム・パラメータ・ファイルは/Users/shared/u01/app/oracle/oracle/product/10.2.0/db_1/network/admin/listener.oraです。
ログ・メッセージを/Users/shared/u01/app/oracle/oracle/product/10.2.0/db_1/network/log/listener.logに書き込みました。
リスニングしています: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
リスニングしています: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=guppy.macdeoracle.jp)(PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))に接続中
リスナーのステータス
------------------------
別名 LISTENER
バージョン TNSLSNR for MacOS X Server: Version 10.2.0.4.0 - Production
開始日 18-4月 -2009 17:26:20
稼働時間 0 日 0 時間 0 分 0 秒
トレース・レベル off
セキュリティ ON: Local OS Authentication
SNMP OFF
パラメータ・ファイル /Users/shared/u01/app/oracle/oracle/product/10.2.0/db_1/network/admin/listener.ora
ログ・ファイル /Users/shared/u01/app/oracle/oracle/product/10.2.0/db_1/network/log/listener.log
リスニング・エンドポイントのサマリー...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=guppy.macdeoracle.jp)(PORT=1521)))
サービスのサマリー...
サービス"PLSExtProc"には、1件のインスタンスがあります。
インスタンス"PLSExtProc"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります...
コマンドは正常に終了しました。
guppy:˜ oracle$
guppy:˜ oracle$
guppy:˜ oracle$ ps -axc | grep -E '(tns|ons)'
oracle 1491 ?? 0:00.02 tnslsnr
guppy:˜ oracle$
guppy:˜ oracle$
guppy:˜ oracle$ lsnrctl stop

LSNRCTL for MacOS X Server: Version 10.2.0.4.0 - Production on 18-4月 -2009 17:29:28

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

(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))に接続中
コマンドは正常に終了しました。
guppy:˜ oracle$
guppy:˜ oracle$
guppy:˜ oracle$ onsctl ping
ons is running ...
guppy:˜ oracle$
guppy:˜ oracle$ ps -axc | grep -E '(tns|ons)'
guppy:˜ oracle$
guppy:˜ oracle$
guppy:˜ oracle$ onsctl stop
onsctl: shutting down ons daemon ...
guppy:˜ oracle$
guppy:˜ oracle$
guppy:˜ oracle$ onsctl start
onsctl: ons is already running
guppy:˜ oracle$
guppy:˜ oracle$
guppy:˜ oracle$ ps -axc | grep -E '(tns|ons)'
guppy:˜ oracle$

Oracle10g R1 10.1.0.3.0 for MacOSX Server(PowerPC)とOrcle10g R2 10.2.0.4.0 for MacOSX Server(Intel x86)でons -aとタイプしてみると・・・・・。やはりIntel版のonsではなにも返さず。。。。onsctlの内部を見てもdbshut/dbstartと同様にDYLD_LIBRARY_PATH環境変数の設定はないし、この辺りは手が入っていない感じがします。。まぁ、どうでもいいですけどね、onsが動作しなくても困らないようにはなっているようなので。

Oracle10g R1 10.1.0.3.0 for MacOSX Server(PowerPC)

G5Server:˜ oracle$ $ORACLE_HOME/opmn/bin/ons -a
Usage:
ons -a <cmd>
Where:
cmd = ping|shutdown|reload|debug
G5Server:˜ oracle$

Oracle10g R2 10.2.0.4.0 for MacOSX Server(Intel x86)

guppy:˜ oracle$ $ORACLE_HOME/opmn/bin/ons -a
guppy:˜ oracle$

2009/4/20:画像追加とタイポ修正。

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




バックナンバー

Oracle10g R2 for MacOSX (Intel x86-64) released !!!
Leopard de Oracle10g release 2 (Intel x86-64)
Leopard de Oracle10g R2 (Intel x86-64) #1
Leopard de Oracle10g R2 (Intel x86-64) #2
Leopard de Oracle10g R2 (Intel x86-64) #3 (ちょいと寄り道)
Leopard de Oracle10g R2 (Intel x86-64) #4 (Companion CD installation)
Leopard de Oracle10g R2 (Intel x86-64) #5 (dbstart and dbshut does not work!! But....)

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

2009年4月18日 (土)

Leopard de Oracle10g R2 (Intel x86-64) #5 (dbstart and dbshut does not work!! But....)

Leopard de Oracle10g R2の続きです。
Companion CDのプロダクトもインストールしましたので、今回はOracle10g R2 for MacOSX Server (Intel x86-64)を自動起動、自動停止するよう設定してみます。

Tiger以降のMacOSXではSystemStarterによる自動起動からLaunchDaemonによる起動が推奨されるようにはなったのですがOracle10g R2 for MacOSX Srever (Intel x86-64)のマニュアルにはlaunchd.plistの例が全く記載されていないのでLaunchDaemonによる起動、停止はひとまずお預け。(後で実験はしますけどね。)
LeopardでもStartupItemsフォルダへ自動実行するスクリプトを配置しておけばSystemStarterLaunchdから呼び出されるので、昔ながらの方法で自動起動、停止、再起動するよう設定してみることに。。


Panther de Oracle10g R1 (PowerPC)で使っていた起動用のshellとStartupParameters.plistをベースに環境変数等を書き換えただけでは動作しない。
Oracle10g R1 10.1.0.3.0までは、リスナーの起動及び停止は$ORACLE_HOME/bin/dbstart又は、dbshut内で行われていなかったが、Oracle10g R2以降のdbstart/dbshutでは、lsnrctlにより起動/停止されるようになっている。
また、$ORACLE_HOMEをパラメータして渡すよう変更されている。

Oracle10g R2向けのスクリプトへ変更を加えないまま流用したらどうなるか?、、とりあえずPanther de Oracle10g R1(PowerPC)で試した際に動作していた起動用shellとStartupParameters.plistを環境変数だけを書き換えて実行した場合、どのような状況になるか確認しておく。(結果からお伝えしておくと、does not workなのは明白なのですが、どのようなエラーになるか知っておくとためになるでしょうから。)



以下に、Panther de Oracle10g R1で使ったStartupItems用のshellスクリプトとStartupParameters.plistを”単純に”パス等を書き換え、dbstart/dbshut内で実行されるリスナー起動部分を削除、onsctl(今回は起動しておかなくてもリスナーがハングしなくなった。というかonsはちゃんと動作しない。詳細は後日)、oem及び、isqlplusの起動部分を削除した。(エラーになるのでマネしないでね。どんなエラーになるか知りたいだけなので)

guppy:˜ discus$ cat /Library/StartupItems/Oracle/Oracle
#!/bin/bash
# define globally used paths/variables
PATH=/bin:/sbin:/usr/bin:/usr/sbin

TEMP=/tmp
TMPDIR=/tmp

ORACLE_BASE=/Users/shared/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1
ORACLE_SID= leopard1
NLS_LANG=Japanese_Japan.AL32UTF8
DYLD_LIBRARY_PATH=/usr/X11R/lib:$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:$DYLD_LIBRARY_PATH
PATH=$ORACLE_HOME/bin:/usr/X11R/bin:$PATH
ORACLE_OWNER_PATH=/Users/oracle
ORACLE_OWNER=oracle
TERM=vt100

export PATH ORACLE_BASE ORACLE_HOME ORACLE_OWNER ORACLE_OWNER_PATH ORACLE_SID DYLD_LIBRARY_PATH
export TERM NLS_LANG

# debug
echo '****************************'
echo ' env for Oracle'
echo '****************************'
env

echo ''
echo '*************************************'
echo ' hard and soft shell resource limits'
echo '*************************************'
echo 'Hard / Soft limit:'
launchctl limit

# get common system config setting
. /etc/rc.common

if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo 'Oracle startup : cannot start'
echo ' (cannot find one or both of dbstart or $ORACLE_HOME)'
exit
fi

StartService ()
{
ConsoleMessage 'Starting Oracle database...'
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart"
ConsoleMessage 'Started Oracle database'
}

StopService ()
{
ConsoleMessage 'Stopping Oracle Database...'
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut"
ConsoleMessage 'Stopped Oracle Database.'

ConsoleMessage 'Stopping TNS Listener...'
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop"
ConsoleMessage 'Stopped TNS Listener.'
}


RestartService ()
{
ConsoleMessage 'Stopping Oracle Database...'
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut"
ConsoleMessage 'Stopped Oracle Database.'

ConsoleMessage 'Stopping TNS Listener...'
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop"
ConsoleMessage 'Stopped TNS Listener.'

ConsoleMessage 'Starting TNS Listener...'
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start"
ConsoleMessage 'Started TNS Listener.'

ConsoleMessage 'Starting Oracle database...'
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart"
ConsoleMessage 'Started Oracle database'
}

RunService "$1"

guppy:˜ discus$
guppy:˜ discus$ cat /Library/StartupItems/Oracle/StartupParameters.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Description</key>
<string>Oracle10g 10.2.0.4.0 Database Server</string>
<key>OrderPreference</key>
<string>Late</string>
<key>Provides</key>
<array>
<string>Oracle10g 10.2.0.4.0 Database</string>
</array>
<key>Requires</key>
<array>
<string>Disks</string>
</array>
<key>Uses</key>
<array>
<string>Disksv/string>
<string>Network</string>
<string>NFS</string>
</array>
</dict>
</plist>
guppy:˜ discus$
guppy:˜ discus$


4

上記をテスト実行してみると・・・・
以下のようなerrorになり動作しない。

errorの原因は複数あるようで、1つはConsoleMessageがshでしか認識されていないこと、dbstart及びdbshutの実行時$ORACLE_HOMEを引数として渡さないといけないこと、それとdbstart及びdbshut自体がバグっていることが原因。
特にOracle10g R1のdbstart/dbshutとOracle10g R2のdbstart/dbshutが異なっているのでOracle10g R1の頃のスクリプトはそのままでは使えない。
そのような状態でLeopardのSystemStarterで実行しようとすると以下のようなエラーでまくりでとなる訳です。(><)

この場合、特徴的なエラーメッセージがあるので、そのポイントを赤太字で強調しておいたので注意深くご覧ください。

guppy::˜ discus$ sudo /sbin/SystemStarter -nd start "Oracle10g 10.2.0.4.0 Database"
SystemStarter[2256]: Found item: HP IO
SystemStarter[2256]: Found item: HP Trap Monitor
SystemStarter[2256]: Uses: Evaluating HP IO
SystemStarter[2256]: Uses: Keeping HP IO
SystemStarter[2256]: Found item: IntegoCommon
・・・・中略・・・・
SystemStarter[2256]: Running command (2257): /Library/StartupItems/Oracle/Oracle start
・・・・中略・・・・
*************************************
hard and soft shell resource limits
*************************************
Soft / Hard limit:
cpu unlimited unlimited
filesize unlimited unlimited
data 6291456 unlimited
stack 8388608 67104768
core 0 unlimited
rss unlimited unlimited
memlock unlimited unlimited
maxproc 2068 2068
maxfiles 65536 65536
/Library/StartupItems/Oracle/Oracle: line 46: ConsoleMessage: command not found
dyld: Library not loaded: /b/227/network/lib/libnnz10.dylib
Referenced from: /Users/shared/u01/app/oracle/oracle/product/10.2.0/db_1/bin/lsnrctl
Reason: image not found
/Library/StartupItems/Oracle/Oracle: line 48: ConsoleMessage: command not found
/Library/StartupItems/Oracle/Oracle: line 50: ConsoleMessage: command not found
ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
Usage: /Users/shared/u01/app/oracle/oracle/product/10.2.0/db_1/bin/dbstart ORACLE_HOME
Processing Database instance "leopard1": log file /Users/shared/u01/app/oracle/oracle/product/10.2.0/db_1/startup.log
/Library/StartupItems/Oracle/Oracle: line 52: ConsoleMessage: command not found
SystemStarter[2256]: Oracle10g 10.2.0.4.0 Database Server (2257) did not complete successfully
SystemStarter[2256]: none left
SystemStarter[2256]: The following StartupItems failed to properly start:
SystemStarter[2256]: /Library/StartupItems/Oracle
SystemStarter[2256]: - execution of Startup script failed
guppy:˜ discus$

上記のConsoleMessage: command not foundについてはスクリプトをbashではなくshで実行するようにすれば解決できる。
ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listenerについては、dbstart及び、dbshutの実行時に$ORACLE_HOME環境変数を引数として渡してやれば解決できる。
最後に一番問題なのは
dyld: Library not loaded: /b/227/network/lib/libnnz10.dylib部分。この問題の解決方法はオラクルが提供しているdbstart/dbshutの問題部分(後述)を修正するか、
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart"su $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart"のように-lオプションなしのsuコマンドで起動(USの方で-lオプション無しのsuコマンドで回避した方がいる模様。)するしか手っ取り早く解決する方法はなさそう。

他にあるというツッコミ大歓迎です。m(_ _)m

ということで前述の問題点を変更した自動起動/停止スクリプトを以下に示します。
尚、dbstartとdbshutはdiffによる差分のみ示しておきますね。(そのほうが分かり易いでしょうから。)

・まずStartupItemsに配置するOracle起動/停止/再起動スクリプト
以前のスクリプトを変更した部分は赤字太文字にしてあります。(削除部分除く)

guppy:˜ discus$ cat  /Library/StartupItems/oracle/oracle
#!/bin/sh
# define globally used paths/variables
PATH=/bin:/sbin:/usr/bin:/usr/sbin

TEMP=/tmp
TMPDIR=/tmp

ORACLE_BASE=/Users/shared/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1
ORACLE_OWNER=oracle
export PATH ORACLE_BASE ORACLE_HOME ORACLE_OWNER

# debug
echo '****************************'
echo ' env for Oracle'
echo '****************************'
env

echo ''
echo '*************************************'
echo ' hard and soft shell resource limits'
echo '*************************************'
echo 'Soft / Hard limit:'
launchctl limit

# get common system config setting
. /etc/rc.common

if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo 'Oracle startup : cannot start'
echo ' (cannot find one or both of dbstart or $ORACLE_HOME)'
exit
fi

StartService ()
{
ConsoleMessage "Starting Oracle database..."
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
ConsoleMessage "Started Oracle database."
}

StopService ()
{
ConsoleMessage "Stopping Oracle Database..."
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
ConsoleMessage "Stopped Oracle Database."
}


RestartService ()
{
ConsoleMessage "Stopping Oracle Database..."
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
ConsoleMessage "Stopped Oracle Database."

ConsoleMessage "Starting Oracle database..."
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
ConsoleMessage "Started Oracle database"
}

RunService "$1"
guppy:˜ discus$


・StartupItemsに配置するStartupParameters.plistは前のままで変更なし。

guppy:˜ discus$ cat /Library/StartupItems/Oracle/StartupParameters.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Description</key>
<string>Oracle10g 10.2.0.4.0 Database Server</string>
<key>OrderPreference</key>
<string>Late</string>
<key>Provides</key>
<array>
<string>Oracle10g 10.2.0.4.0 Database</string>
</array>
<key>Requires</key>
<array>
<string>Disks</string>
</array>
<key>Uses</key>
<array>
<string>Disksv/string>
<string>Network</string>
<string>NFS</string>
</array>
</dict>
</plist>
guppy:˜ discus$


そして最後に一番重要なdbstartとdbshutの変更というか修正と...

MacOSXではLD_LIBRARY_PATHではなくDYLD_LIBRARY_PATH環境変数なので(Oracleさん修正宜しくね。;)
それも合わせて修正してあります。LD_LIBRARY_PATHを使っているのはバグでしょう。:)
以下、変更前のdbstartと変更後のdbstartと変更前のdbshutと変更後のdbshutのdiffです。

Oracle10g R2向け環境変数一覧(全プラットフォーム分)のマニュアルはこちら。

尚、Oracle10g release2 10.2.0.4.0 for MacOSX Server(Intelx86-64)のdbstart及びdbshutは$ORACLE_HOME/bin以下にあります。(書く必要はないと思いますが・・)

guppy:˜ oracle$ diff $ORACLE_HOME/bin/dbstart.org $ORACLE_HOME/bin/dbstart

86c86
< SAVE_LLP=$LD_LIBRARY_PATH
---
> #SAVE_LLP=$LD_LIBRARY_PATH
89a90
> DYLD_LIBRARY_PATH=$ORACLE_HOME_LISTNER/lib; export DYLD_LIBRARY_PATH
147c148
< LD_LIBRARY_PATH=${SAVE_LLP}:${ORACLE_HOME}/lib ; export LD_LIBRARY_PATH
---
> #LD_LIBRARY_PATH=${SAVE_LLP}:${ORACLE_HOME}/lib ; export LD_LIBRARY_PATH
guppy:˜ oracle$
guppy:˜ oracle$
guppy:˜ oracle$
guppy:˜ oracle$ diff $ORACLE_HOME/bin/dbshut.org $ORACLE_HOME/bin/dbshut
75c75
< SAVE_LLP=$LD_LIBRARY_PATH
---
> #SAVE_LLP=$LD_LIBRARY_PATH
78a79
> DYLD_LIBRARY_PATH=$ORACLE_HOME_LISTNER/lib; export DYLD_LIBRARY_PATH
117c118
< LD_LIBRARY_PATH=${SAVE_LLP}:${ORACLE_HOME}/lib ; export LD_LIBRARY_PATH
---
> # LD_LIBRARY_PATH=${SAVE_LLP}/:${ORACLE_HOME}/lib ; export LD_LIBRARY_PATH
guppy:˜ oracle$

さて、お待たせしました。上記変更したスクリプトとplistで起動/停止の動作確認です。以下のように問題なく起動するようになります。ニッコリ :)
まずは起動から。

guppy:˜ discus$ 
guppy:˜ discus$ sudo /sbin/SystemStarter -nd start "Oracle10g 10.2.0.4.0 Database"
SystemStarter[11715]: Found item: HP IO
SystemStarter[11715]: Found item: HP Trap Monitor
SystemStarter[11715]: Uses: Evaluating HP IO
SystemStarter[11715]: Uses: Keeping HP IO
・・・・中略・・・・
SystemStarter[11715]: Running command (11716): /Library/StartupItems/Oracle/Oracle start
****************************
env for Oracle
****************************
SHELL=/bin/bash
TERM=xterm-color
ORACLE_OWNER=oracle
USER=root
・・・・中略・・・・
ORACLE_HOME=/Users/shared/u01/app/oracle/oracle/product/10.2.0/db_1
・・・・中略・・・・
*************************************
hard and soft shell resource limits
*************************************
Soft / Hard limit:
cpu unlimited unlimited
filesize unlimited unlimited
data 6291456 unlimited
stack 8388608 67104768
core 0 unlimited
rss unlimited unlimited
memlock unlimited unlimited
maxproc 2068 2068
maxfiles 65536 65536
Starting Oracle database...
Processing Database instance "leopard1": log file /Users/shared/u01/app/oracle/oracle/product/10.2.0/db_1/startup.log
SystemStarter[11715]: Waiting for Oracle10g 10.2.0.4.0 Database Server
SystemStarter[11715]: Waiting for Oracle10g 10.2.0.4.0 Database Server
SystemStarter[11715]: Waiting for Oracle10g 10.2.0.4.0 Database Server
Started Oracle database.
SystemStarter[11715]: Finished Oracle10g 10.2.0.4.0 Database Server (11716)
SystemStarter[11715]: none left
guppy:˜ discus$
guppy:˜ discus$ ps -axc | grep tnslsnr
11728 ?? 0:00.03 tnslsnr
guppy:˜ discus$ ps -ax | grep ora_
11820 ?? 0:00.05 ora_pmon_leopard1
11822 ?? 0:00.04 ora_psp0_leopard1
11824 ?? 0:00.13 ora_mman_leopard1
11826 ?? 0:00.05 ora_dbw0_leopard1
11828 ?? 0:00.07 ora_lgwr_leopard1
11830 ?? 0:00.10 ora_ckpt_leopard1
11832 ?? 0:00.40 ora_smon_leopard1
11834 ?? 0:00.06 ora_reco_leopard1
11836 ?? 0:01.33 ora_cjq0_leopard1
11838 ?? 0:00.92 ora_mmon_leopard1
11840 ?? 0:00.07 ora_mmnl_leopard1
11842 ?? 0:00.02 ora_d000_leopard1
11844 ?? 0:00.02 ora_s000_leopard1
11848 ?? 0:00.03 ora_qmnc_leopard1
11918 ?? 0:00.03 ora_q000_leopard1
11924 ?? 0:00.03 ora_q001_leopard1
11931 ttys000 0:00.00 grep ora_
guppy:˜ discus$

次は停止。ところでLeopardのSystemStarterコマンドって-nオプション付けてもスクリプト実行しちゃうのね。今気付いた。www (^^;;;

guppy:˜ discus$ sudo /sbin/SystemStarter -nd stop "Oracle10g 10.2.0.4.0 Database"
・・・・中略・・・・
SystemStarter[11933]: Found item: Oracle
SystemStarter[11933]: Requires: Evaluating Disks
SystemStarter[11933]: Uses: Evaluating Disks
SystemStarter[11933]: Uses: Evaluating Network
SystemStarter[11933]: Checking Oracle10g 10.2.0.4.0 Database Server
・・・・中略・・・・
SystemStarter[11933]: Running command (11934): /Library/StartupItems/Oracle/Oracle stop
・・・・中略・・・・
Stopping Oracle Database...
Processing Database instance "leopard1": log file /Users/shared/u01/app/oracle/oracle/product/10.2.0/db_1/shutdown.log
SystemStarter[11933]: Waiting for Oracle10g 10.2.0.4.0 Database Server
SystemStarter[11933]: Waiting for Oracle10g 10.2.0.4.0 Database Server
Stopped Oracle Database.
SystemStarter[11933]: Finished Oracle10g 10.2.0.4.0 Database Server (11934)
SystemStarter[11933]: none left
guppy:˜ discus$ ps -axc | grep tnslsnr
guppy:˜ discus$ ps -ax | grep ora_
12057 ttys000 0:00.00 grep ora_
guppy:˜ discus$

最後に、Pantherの頃だったか自動起動はするものの自動停止時にスクリプトが実行されていないという問題があったが、LeopardのSystemStarterでは解決しているようでOSの停止時にしっかり自動停止されていることが確認できた。以下、コンソールログとshutdown.log(自動停止時に記録するようになっているログファイル)


3


コンソールログ

4/18/09 1:20:03 AM com.apple.SystemStarter[25]  env for Oracle 
4/18/09 1:20:03 AM com.apple.SystemStarter[25] ORACLE_OWNER=oracle
4/18/09 1:20:03 AM com.apple.SystemStarter[25] ORACLE_BASE=/Users/shared/u01/app/oracle
4/18/09 1:20:03 AM com.apple.SystemStarter[25] ORACLE_HOME=/Users/shared/u01/app/oracle/oracle/product/10.2.0/db_1
4/18/09 1:20:03 AM com.apple.SystemStarter[25] Stopping Oracle Database...
4/18/09 1:20:03 AM com.apple.SystemStarter[25] Processing Database instance "leopard1":
log file /Users/shared/u01/app/oracle/oracle/product/10.2.0/db_1/shutdown.log
4/18/09 1:20:12 AM com.apple.SystemStarter[25] Stopped Oracle Database.

shutdown.logファイルの内容

SQL*Plus: Release 10.2.0.4.0 - Production on Sat Apr 18 01:20:03 2009

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

> Connected.
SYS> Database closed.
Database dismounted.
ORACLE instance shut down.
SYS> Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Database instance "leopard1" shut down.


今日はこれまで。次回は、え〜〜〜〜!!! onsがバグってる?! というお話




バックナンバー

Oracle10g R2 for MacOSX (Intel x86-64) released !!!
Leopard de Oracle10g release 2 (Intel x86-64)
Leopard de Oracle10g R2 (Intel x86-64) #1
Leopard de Oracle10g R2 (Intel x86-64) #2
Leopard de Oracle10g R2 (Intel x86-64) #3 (ちょいと寄り道)
Leopard de Oracle10g R2 (Intel x86-64) #4 (Companion CD installation)

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

2009年4月17日 (金)

Leopard de Oracle10g R2 (Intel x86-64) #4 (Companion CD installation)

Leopard de Oracle10g R2。データベースインストール、構成後、リスナーやデータベースインスタンスを停止してCompanion CD Installationへ。

TerminalからunzipしたCompanion CDディレクトリへ移動しrunInstaller.shを起動
Companion_cd_inst_002

Companion_cd_inst_003

あどは(訛ってどうするw)あとはOUIの指示に従いクリック、クリック。
Companion_cd_inst_004

Companion_cd_inst_005

Companion_cd_inst_006

Companion_cd_inst_007

Companion_cd_inst_008_2

Companion_cd_inst_009

Companion CDでは以下のプロダクトが提供されると書かれているがunsupported productであるUltra Searchはインストール、構成される模様。やはりOEMが構成されないのは構成自体がコケルからか・・・やはり??? 謎は深まる。。(爆
Companion_cd_inst_001

今日はこれまで。



バックナンバー

Oracle10g R2 for MacOSX (Intel x86-64) released !!!
Leopard de Oracle10g release 2 (Intel x86-64)
Leopard de Oracle10g R2 (Intel x86-64) #1
Leopard de Oracle10g R2 (Intel x86-64) #2
Leopard de Oracle10g R2 (Intel x86-64) #3 (ちょいと寄り道)

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

2009年4月16日 (木)

Leopard de Oracle10g R2 (Intel x86-64) #3 (ちょいと寄り道)

データベースをインストールして気付いたのだが、Oracle Enterprise Manager Database Controlが構成されていない。。。。Unsupported Productsのリストには記載されているけどiSQL*Plusは構成されているんだよな〜、使える使えない、サポートされるとかサポートされないとかは別としても。。。。
もしかしてOEMの構成自体がこけるとか?!・・・取りあえずリリースしたという感じがしないでもないOracle10g Release2 for MacOSX (Intel x86)ですが、Oracle11g release 1 for MacOSX (Intel x86) リリースへの伏線なのかも。
「MacOSXでもまだ営業中ですよ〜〜ん!」、というOracleさんの意志は感じますもの。。。:)

DBCAの画面でもOEMの構成は選択できない。
No_oem10g

しかし、同じくunsupportとなっているiSQL*Plusは何故か構成されているようだ。
Isqlplus

以下、Oracle10g R1 10.1.0.3.0 EE + APEX 3.0 for MacOSX Server Panther (PowerPC)Oracle10g R2 10.2.0.4.0 EE for MacOSX Server Leopard (Intel x86)のDBA_REGISTRYビューの比較。確かにOEMはR2には無いみたい。

 COMP_NAME                                VERSION              STATUS
---------------------------------------- -------------------- ---------------------------------
JServer JAVA Virtual Machine 10.1.0.3.0 VALID
OLAP Analytic Workspace 10.1.0.3.0 VALID
OLAP Catalog 10.1.0.3.0 VALID
Oracle Application Express 3.0.0.00.20 VALID
Oracle Data Mining 10.1.0.3.0 VALID
Oracle Database Catalog Views 10.1.0.3.0 VALID
Oracle Database Java Packages 10.1.0.3.0 VALID
Oracle Database Packages and Types 10.1.0.3.0 INVALID
Oracle Enterprise Manager 10.1.0.3.0 VALID
Oracle Expression Filter 10.1.0.3.0 VALID
Oracle OLAP API 10.1.0.3.0 VALID
Oracle Text 10.1.0.3.0 INVALID
Oracle Ultra Search 10.1.0.3.0 VALID
Oracle Workspace Manager 10.1.0.2.0 VALID
Oracle XDK 10.1.0.3.0 VALID
Oracle XML Database 10.1.0.3.0 VALID
Oracle interMedia 10.1.0.3.0 VALID
Spatial 10.1.0.3.0 VALID

18行が選択されました。

SYS>

COMP_NAME VERSION STATUS
---------------------------------------- -------------------- ---------------------------------
JServer JAVA Virtual Machine 10.2.0.4.0 VALID
OLAP Analytic Workspace 10.2.0.4.0 VALID
OLAP Catalog 10.2.0.4.0 VALID
Oracle Data Mining 10.2.0.4.0 VALID
Oracle Database Catalog Views 10.2.0.4.0 VALID
Oracle Database Java Packages 10.2.0.4.0 VALID
Oracle Database Packages and Types 10.2.0.4.0 VALID
Oracle Expression Filter 10.2.0.4.0 VALID
Oracle OLAP API 10.2.0.4.0 VALID
Oracle Rules Manager 10.2.0.4.0 VALID
Oracle Text 10.2.0.4.0 VALID
Oracle Workspace Manager 10.2.0.4.3 VALID
Oracle XDK 10.2.0.4.0 VALID
Oracle XML Database 10.2.0.4.0 VALID
Oracle interMedia 10.2.0.4.0 VALID
Spatial 10.2.0.4.0 VALID

16行が選択されました。

SYS>


今日はこれまで。




バックナンバー

Oracle10g R2 for MacOSX (Intel x86-64) released !!!
Leopard de Oracle10g release 2 (Intel x86-64)
Leopard de Oracle10g R2 (Intel x86-64) #1
Leopard de Oracle10g R2 (Intel x86-64) #2

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

2009年4月14日 (火)

Leopard de Oracle10g R2 (Intel x86-64) #2

Leopard de Oracle10g release 2 (Intel x86-64)の続きです。

前回はOracle Universal Installerを起動したところまでだった。
今回はその続き。Oracle10g release 2 10.2.0.4.0の起動確認と停止まで確かめてみた。

guppy:˜ oracle$ cd /Users/Shared/db/Disk1
guppy:Disk1 oracle$ ll
total 16
drwxr-xr-x@ 10 discus staff 340 Apr 3 02:18 doc
drwxr-xr-x@ 15 discus staff 510 Apr 2 22:49 install
drwxr-xr-x@ 7 discus staff 238 Apr 2 22:49
response
-rwxr-xr-x@ 1 discus staff 1980 Apr 2 22:49 runInstaller
drwxr-xr-x@ 47 discus staff 1598 Apr 2 22:49 stage
-rw-r--r--+ 1 discus staff 3911 Apr 3 02:18 welcome.html
guppy:Disk1 oracle$ ./runInstaller &
[1] 738
guppy:Disk1 oracle$ Starting Oracle Universal Installer...

No pre-requisite checks found in oraparam.ini,
no system pre-requisite checks will be executed.
Preparing to launch Oracle Universal Installer from
/tmp/OraInstall2009-04-12_03-gguppguppguppy:Disggggguguguggguppy:Disk1 oracle$

21_2

インストールの模様はYouTubeでどうぞ。HD版がおすすめですよ。


22_3
上記画面が現れたらいつものお約束、root.shの実行

guppy:˜ discus$ sudo /Users/shared/u01/app/oraInventory/orainstRoot.sh
権限の変更:/Users/shared/u01/app/oraInventory : 770.
グループ名の変更:/Users/shared/u01/app/oraInventory : oinstall.
スクリプトの実行が完了しました
guppy:˜ discus$ sudo /Users/shared/u01/app/oracle/oracle/product/10.2.0/db_1/root.sh
-bash: /Users/shared/u01/app/oracle/oracle/product/10.2.0/db_1/root.sh: Permission denied
guppy:˜ discus$ sudo /Users/shared/u01/app/oracle/oracle/product/10.2.0/db_1/root.sh
Running Oracle 10g root.sh script...

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

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


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
guppy:˜ discus$

これでOUIによるインストールは終了。MacOSX 10.5.6でもインストールできるでしょ!。:)

さて、仕上げは環境変数 .bashrcを以下のように設定(Oracle JDeveloper 11g with Oracle WebLogic Server for MacOSXをインストール済みなので関連する環境変数も入れてあるが気にしないでください。)

guppy:˜ oracle$ cat .bashrc
alias ll='ls -lv'

export ORACLE_BASE=/Users/shared/u01/app/oracle
export ORACLE_SID=leopard1
export ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1
export NLS_LANG=Japanese_Japan.AL32UTF8
export DYLD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH

#for Oracle11g and Jdeveloper Oracle Middleware HOME
export ORACLE_MIDDLEWARE_HOME=/Users/Shared/Oracle/Middleware

guppy:˜ oracle$

では最後の確認を。

guppy:˜ oracle$ . .bashrc
guppy:˜ oracle$ onsctl ping
ons is running ...
guppy:˜ oracle$ lsnrctl status

LSNRCTL for MacOS X Server: Version 10.2.0.4.0 - Production on 12-4月 -2009 16:51:09

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

(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))に接続中
リスナーのステータス
------------------------
別名 LISTENER
バージョン TNSLSNR for MacOS X Server: Version 10.2.0.4.0 - Production
開始日 12-4月 -2009 16:49:57
稼働時間 0 日 0 時間 1 分 12 秒
トレース・レベル off
セキュリティ ON: Local OS Authentication
SNMP OFF
パラメータ・ファイル /Users/shared/u01/app/oracle/oracle/product/10.2.0/db_1/network/admin/listener.ora
ログ・ファイル /Users/shared/u01/app/oracle/oracle/product/10.2.0/db_1/network/log/listener.log
リスニング・エンドポイントのサマリー...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=guppy.macdeoracle.jp)(PORT=1521)))
サービスのサマリー...
サービス"PLSExtProc"には、1件のインスタンスがあります。
インスタンス"PLSExtProc"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります...
サービス"leopard1.macdeoracle.jp"には、1件のインスタンスがあります。
インスタンス"leopard1"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"leopard1XDB.macdeoracle.jp"には、1件のインスタンスがあります。
インスタンス"leopard1"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"leopard1_XPT.macdeoracle.jp"には、1件のインスタンスがあります。
インスタンス"leopard1"、状態READYには、このサービスに対する1件のハンドラがあります...
コマンドは正常に終了しました。
guppy:˜ oracle$
guppy:˜ oracle$
guppy:˜ oracle$ sqlplus sys@leopard1 as sysdba

SQL*Plus: Release 10.2.0.4.0 - Production on 日 4月 12 16:51:25 2009

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

パスワードを入力してください:


Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
に接続されました。
SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for MacOS X Server: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production

SQL> exit
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing optionsとの接続が切断されました。
guppy:˜ oracle$

guppy:˜ oracle$ sqlplus /nolog

SQL*Plus: Release 10.2.0.4.0 - Production on 日 4月 12 16:59:33 2009

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

SQL> conn / as sysdba
接続されました。
SQL> shutdown
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL> exit
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing optionsとの接続が切断されました。
guppy:˜ oracle$ lsnrctl stop

LSNRCTL for MacOS X Server: Version 10.2.0.4.0 - Production on 12-4月 -2009 16:59:58

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

(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))に接続中
コマンドは正常に終了しました。
guppy:˜ oracle$

Copyright 2007というのが2009に登場したのだからOracle11gは意外とすんなりリリースされたりして・・・・・

次回はCompanion CDで追加インストールでもやりましょうか・・・・




バックナンバー

Oracle10g R2 for MacOSX (Intel x86-64) released !!!
Leopard de Oracle10g release 2 (Intel x86-64)
Leopard de Oracle10g R2 (Intel x86-64) #1

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

2009年4月13日 (月)

Leopard de Oracle10g R2 (Intel x86-64) #1

ひさびさに、Mac De Oracleらしい内容かも。。。:)

Oracle® Database Installation Guide 10g Release 2 (10.2) for Apple Mac OS X (Intel)を元にホスト名等を変更していますが、ホスト名はhogehoge.localのような形式でも問題なはず(試したわけではないので駄目かもしれませんが、以前のリリースではOKだったので)。また、該当マニュアルにはMacOSX PantherやTigerの初期をイメージした記述があるのでLeopard向けに一部マニュアルとは異なるコマンド等を利用しています。

前回は結果だけをお見せしたので、今日からはインストールの模様を数回に分けてか書く予定です。
今回はインストール環境を整えてOUI(Oracle Universal Installer)を起動するところまで。

まず、HardwareとSoftwareの確認から。(お約束なので。)
今回利用したマシンはApple MacBook Pro 15inchです。

インストレーションガイドにはOnly the versions listed in the previous table are supported. Do not install the software on other versions of Apple Mac OS X.と書いてありますが、お遊び環境ならそれ以外でもインストールできますよ。またJDK1.4.2と書かれていて、laterとはかかれていないことも気になったが取りあえずJavaSE6.0でいきます。(JDeveloper11gとかOracle WebLogic Serverもインストール済みなので。。。)

Macintosh:˜ discus$ /usr/sbin/system_profiler SPHardwareDataType | grep -E '(Processor|Cores|Memory)'
Processor Name: Intel Core 2 Duo
Processor Speed: 2.2 GHz
Number Of Processors: 1
Total Number Of Cores: 2
Memory: 2 GB
Macintosh:˜ discus$
Macintosh:˜ discus$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.5.6
BuildVersion: 9G55
Macintosh:˜ discus$
Macintosh:˜ discus$ df -h /
Filesystem Size Used Avail Capacity Mounted on
/dev/disk0s2 111Gi 66Gi 45Gi 60% /
Macintosh:˜ discus$
Macintosh:˜ discus$ df -h /tmp
Filesystem Size Used Avail Capacity Mounted on
/dev/disk0s2 111Gi 66Gi 45Gi 60% /
Macintosh:˜ discus$
Macintosh:˜ discus$ uname -a
Darwin Macintosh.local 9.6.0 Darwin Kernel Version 9.6.0: Mon Nov 24 17:37:00
PST 2008; root:xnu-1228.9.59˜1/RELEASE_I386 i386
Macintosh:˜ discus$
Macintosh:˜ discus$ gcc --version
i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5488)
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Macintosh:˜ discus$
Macintosh:˜ discus$ java -version
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06-153)
Java HotSpot(TM) 64-Bit Server VM (build 1.6.0_07-b06-57, mixed mode)
Macintosh:˜ discus$
Macintosh:˜ discus$ system_profiler SPApplicationsDataType | grep Xcode
Xcode:
Get Info String: Xcode version 3.1.1
Location: /Developer/Applications/Xcode.app
Macintosh:˜ discus$

次はOracle所有者のグループ及びOracle所有者の作成
既存gidとuidを確認後、oinstall及びdbaグループを作成し、oracleユーザーを作成します。
LeopardではNetInfoManagerが無くなったのでPantherの頃利用していたniclコマンドは使えないので、替わりにdsclコマンドを使って作成します。

Macintosh:˜ discus$ sudo dscl . -list /groups gid name | more
・・・中略・・・
netusers 52
network 69
nobody -2
nogroup -1
・・・中略・・・
Macintosh:˜ discus$
Macintosh:˜ discus$ sudo dscl . -create /groups/oinstall
Password:
Macintosh:˜ discus$ sudo dscl . -append /groups/oinstall gid 502
Macintosh:˜ discus$ sudo dscl . -append /groups/oinstall passwd "*"
Macintosh:˜ discus$
Macintosh:˜ discus$ sudo dscl . -create /groups/dba
Macintosh:˜ discus$ sudo dscl . -append /groups/dba gid 503
Macintosh:˜ discus$ sudo dscl . -append /groups/dba passwd "*"
Macintosh:˜ discus$ sudo dscl . -list /groups gid name | grep -E '(dba|oinstall)'
dba 503
oinstall 502
Macintosh:˜ discus$
Macintosh:˜ discus$ sudo dscl . -list /users uid name | more
・・・中略・・・
daemon 1
discus 502
nobody -2
root 0
uucp 4
(END)

Macintosh:˜ discus$
Macintosh:˜ discus$ sudo dscl . -create /users/oracle
Macintosh:˜ discus$ sudo dscl . -append /users/oracle uid 503
Macintosh:˜ discus$ sudo dscl . -append /users/oracle gid 502
Macintosh:˜ discus$ sudo dscl . -append /users/oracle shell /bin/bash
Macintosh:˜ discus$ sudo dscl . -append /users/oracle home /Users/oracle
Macintosh:˜ discus$ sudo dscl . -append /users/oracle realname "Oracle software owner"
Macintosh:˜ discus$ sudo mkdir /Users/oracle
Macintosh:˜ discus$ sudo chown oracle:oinstall /Users/oracle
Macintosh:˜ discus$ sudo passwd oracle
Changing password for oracle.
New password:
Retype new password:
Macintosh:˜ discus$ sudo dscl . -append /groups/dba GroupMembership oracle
Macintosh:˜ discus$ id oracle
uid=503(oracle) gid=502(oinstall) groups=502(oinstall),503(dba)
Macintosh:˜ discus$
Macintosh:˜ discus$
Macintosh:˜ discus$ sudo dscl . -read /users/oracle
・・・中略・・・
NFSHomeDirectory: /Users/oracle
Password: ********
PrimaryGroupID: 502
RealName:
Oracle software owner
RecordName: oracle
RecordType: dsRecTypeNative:users
UniqueID: 503
UserShell: /bin/bash
Macintosh:˜ discus$ sudo dscl . -read /groups/dba
AppleMetaNodeLocation: /Local/Default
GroupMembership: oracle
Password: *
PrimaryGroupID: 503
RecordName: dba
RecordType: dsRecTypeNative:groups
Macintosh:˜ discus$


これもお約束の作業、カーネルパラメータの調整です。既存の値を確認してインストレーションガイドで指定された値より小さければ変更します。変更するパラメータは/etc/sysctl.confへ設定しておきます。

Macintosh:˜ discus$ /usr/sbin/sysctl -a | grep sem
kern.sysv.semume: 10
kern.sysv.semmsl: 87381
kern.sysv.semmnu: 87381
kern.sysv.semmns: 87381
kern.sysv.semmni: 87381
kern.posix.sem.max: 10000
security.mac.sysvsem_enforce: 1
security.mac.posixsem_enforce: 1
Macintosh:˜ discus$ /usr/sbin/sysctl -a | grep shm
kern.sysv.shmall: 1024
kern.sysv.shmseg: 8
kern.sysv.shmmni: 32
kern.sysv.shmmin: 1
kern.sysv.shmmax: 4194304
machdep.pmap.hashmax: 11
security.mac.sysvshm_enforce: 1
security.mac.posixshm_enforce: 1
Macintosh:˜ discus$ /usr/sbin/sysctl -a | grep maxfiles
kern.maxfiles = 12288
kern.maxfilesperproc = 10240
kern.maxfiles: 12288
kern.maxfilesperproc: 10240
Macintosh:˜ discus$ /usr/sbin/sysctl -a | grep ortrange
net.inet.ip.portrange.hilast: 65535
net.inet.ip.portrange.hifirst: 49152
net.inet.ip.portrange.last: 65535
net.inet.ip.portrange.first: 49152
net.inet.ip.portrange.lowlast: 600
net.inet.ip.portrange.lowfirst: 1023
Macintosh:˜ discus$ /usr/sbin/sysctl -a | grep corefile
kern.corefile = /cores/core.%P
kern.corefile: /cores/core.%P
Macintosh:˜ discus$ /usr/sbin/sysctl -a | grep maxproc
kern.maxproc = 532
kern.maxprocperuid = 266
kern.maxproc: 532
kern.maxprocperuid: 266
Macintosh:˜ discus$
Macintosh:˜ discus$
Macintosh:˜ discus$
Macintosh:˜ discus$ cat /etc/sysctl.conf
#for Oracle10gR2 setting
kern.sysv.shmall=2097152
kern.sysv.shmmni=4096
kern.sysv.shmmax=1073741824
kern.maxfiles=65536
kern.maxfilesperproc=65536
net.inet.ip.portrange.first=1024
kern.maxproc=2068
kern.maxprocperuid=2068
Macintosh:˜ discus$

次にShell limitの設定。

マニュアルには/System/Library/StartupItems/IPServices/IPServices scriptを編集する・・・
とありますがLeopardではこのスクリプト自体というかSystemStarterが非推奨となりStartupItemsというディレクトリがあるだけでスクリプトはありません。替わりにlaunchdが用意されているので/etc/launchd.confに設定します。
一応LeopardでもStartupItemsにスクリプトを置けば実行してくれますが。。。元になるIPServicesスクリプトが無いのでね。Leopardには。(^^;;;;

現在の値を確認するにはulimitコマンドを利用してもいいですが、launchctlコマンドが用意されているのでこれを使ったほうがソフトリミット/ハードリミットの両方を一度に確認できて便利です。umaskは問題ないのでlimitだけ調整しておきます。

Macintosh:˜ discus$ umask
0022
Macintosh:˜ discus$ launchctl limit
cpu unlimited unlimited
filesize unlimited unlimited
data 6291456 unlimited
stack 8388608 67104768
core 0 unlimited
rss unlimited unlimited
memlock unlimited unlimited
maxproc 266 352
maxfiles 12288 65530
Macintosh:˜ discus$
Macintosh:˜ discus$ ulimit -aS
core file size (blocks, -c) 0
data seg size (kbytes, -d) 6144
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 12288
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 266
virtual memory (kbytes, -v) unlimited
Macintosh:˜ discus$
Macintosh:˜ discus$ ulimit -aH
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 65530
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 65532
cpu time (seconds, -t) unlimited
max user processes (-u) 352
virtual memory (kbytes, -v) unlimited
Macintosh:˜ discus$
Macintosh:˜ discus$
Macintosh:˜ discus$ cat /etc/launchd.conf
limit maxproc 2068 2068
limit maxfiles 65536 65536
Macintosh:˜ discus$


マウントポイントとORACLE_BASEとするディレクトリを作成しておきます。今回は/Users/Shared以下に作成することにしました。分かり易いようにu01としておきます。
詳細はマニュアル参照のこと

Macintosh:˜ discus$ cd /Users/Shared
Macintosh:Shared discus$ mkdir u01
Macintosh:Shared discus$ cd /Users/Shared/u01
Macintosh:u01 discus$ mkdir app
Macintosh:u01 discus$ mkdir app/oracle
Macintosh:u01 discus$ cd ..
Macintosh:Shared discus$ sudo chown -R oracle:oinstall u01
Macintosh:Shared discus$ sudo chmod -R 755 u01


そしてネットワーク関連の構成(自宅のLAN環境は固定IPなので今回利用するMacBook Proにはguppyと名付けてホスト名と/etc/hostsを構成します。この箇所はインストレーションガイドのChecking the Network Setupの内容とは異なりますのでご注意ください。)
ホスト名の変更にはhostnameコマンドの他、scutilコマンドを使いました。

Macintosh:˜ discus$ sudo hostname guppy
Macintosh:˜ discus$ hostname
guppy
Macintosh:˜ discus$ sudo scutil --set LocalHostName $(hostname)
Macintosh:˜ discus$ sudo scutil --set HostName $(hostname)
Macintosh:˜ discus$ hostname
guppy.macdeoracle.jp
Macintosh:˜ discus$ sudo scutil --get LocalHostName
guppy
Macintosh:˜ discus$ sudo scutil --get HostName
guppy.macdeoracle.jp
Macintosh:˜ discus$
Macintosh:˜ discus$ cat /etc/hosts | grep guppy
192.168.1.6 guppy.macdeoracle.jp guppy


ここでMacOSXを再起動


変更したkernel parameter値、及びshell limit値を確認

guppy:˜ discus$ sysctl -a | grep -E '(portrange.last|portrange.first)'
net.inet.ip.portrange.last: 65535
net.inet.ip.portrange.first: 1024
guppy:˜ discus$ sysctl -a | grep -E '(shmall|shmmni|shmmax)'
kern.sysv.shmall: 2097152
kern.sysv.shmmni: 4096
kern.sysv.shmmax: 1073741824
guppy:˜ discus$ sysctl -a | grep -E '(maxfiles|maxfilesperproc)'
kern.maxfiles: 65536
kern.maxfilesperproc: 65536
guppy:˜ discus$ sysctl -a | grep -E '(maxproc|macprocperuid)'
kern.maxproc: 2068
kern.maxprocperuid: 2068
guppy:˜ discus$
guppy:˜ discus$ launchctl limit
cpu unlimited unlimited
filesize unlimited unlimited
data 6291456 unlimited
stack 8388608 67104768
core 0 unlimited
rss unlimited unlimited
memlock unlimited unlimited
maxproc 2068 2068
maxfiles 65536 65536
guppy:˜ discus$


ここまでできたら、Fast User Switchでoracleユーザへログインし、Terminalを起動する。
Terminalを起動したら以下の環境変数を.bashrcに設定、反映させる。(あらかじめORACLE_BASEとして定義するディレクトリは作成しておいた。)

guppy:˜ oracle$ echo $ORACLE_BASE
/Users/shared/u01/app/oracle
guppy:˜ oracle$ echo $ORACLE_SID
leopard1
guppy:˜ oracle$


21

22_2


23


次に、ダウンロード、解凍したOracle10g R2 for MacOSX Server (Intel x86-64) DBのDisk1ディレクトリへ移動し、runInstaller起動してインストール開始。
(今回は特にカスタマイズせず、Enterprise Editionをインストールし、汎用タイプとして構成されたデータベースを作成。)

guppy:˜ oracle$ cd /Users/Shared/db/Disk1
guppy:Disk1 oracle$ ll
total 16
drwxr-xr-x@ 10 discus staff 340 Apr 3 02:18 doc
drwxr-xr-x@ 15 discus staff 510 Apr 2 22:49 install
drwxr-xr-x@ 7 discus staff 238 Apr 2 22:49
response
-rwxr-xr-x@ 1 discus staff 1980 Apr 2 22:49 runInstaller
drwxr-xr-x@ 47 discus staff 1598 Apr 2 22:49 stage
-rw-r--r--+ 1 discus staff 3911 Apr 3 02:18 welcome.html
guppy:Disk1 oracle$ ./runInstaller &
[1] 738
guppy:Disk1 oracle$ Starting Oracle Universal Installer...

No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
Preparing to launch Oracle Universal Installer
from /tmp/OraInstall2009-04-12_03-gguppguppguppy:Disggggguguguggguppy:Disk1 oracle$

22

次回へつづく。



バックナンバー

Oracle10g R2 for MacOSX (Intel x86-64) released !!!
Leopard de Oracle10g release 2 (Intel x86-64)

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

2009年4月12日 (日)

Leopard de Oracle10g release 2 (Intel x86-64)

昨日、Oracle10g R2 for MacOSX Server Leopard (Intel x86-64)版がなが〜〜い月日を経てようやくUS OTNからダウンロードできるようになったと書いたが早速インストールしてみた。

だたし、今日はデータベースのインストールの結果のみ。

(但し、うまくインストールできたが、幾つか気に入らないところもあるのでそれは後で。US OTNではその辺りを突っ込んでる方もいるみたいだけど。:)

22_3

Intel x86のみとはいえ、MacOSX Leopard 上で使えるOracle10g R2を見れるということはうれしい。(あとは11gね。)
ちなみに、Oracle10g R2 for MacOSX Server Leopard (Intel x86-84)版だが、今回はMacOSX Leopard、そうServerではなくてもインストールは可能、以前のように。:)
尚、動作確認された環境でないことは承知のうえで試してくださいね。

上記はMacOSX Tiger Server 10.4.11のOracle Instant Client 10g R1から接続している様子です。


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

2009年4月11日 (土)

Oracle10g R2 for MacOSX (Intel x86-64) released !!!

え〜〜、やった〜〜、ついにMacOSX版 Oracle10g R2リリース!!!
試すぞ〜〜〜〜。なが〜〜〜〜〜〜〜〜いことまったよ。w
11gのリリースも急いでね。楽しみにしてるから。:)

23

2009/4/12追記
いや〜Installation Guide見てて、かなり古いリリースでテストしていたんですね、という感じを受けた。でもOracle10g Release2が他のプラットフォームでリリースされていたのはこのころだったかもしれないけど....MacOSX 10.5.4でJDK1.4.2だからなぁ。JDKは古いバージョンのもあるけど、JavaSE6.0にしたからなぁ。まあ、どうにでもできる環境だからとりあえず全て最新ということでまずは試してみるか!

22

2009/4/13:タイポなど修正

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

2009年4月 9日 (木)

Oracle SQL Developer 1.5.4 for MacOSXでキーボードプリセットがロードされていない件

「Oracle SQL Developer 1.5.4 がリリースされたので早速入れ替えてみた」という記事を書いたが、使い始めてさらに気付いたことがあった。それはコードエディタで既存プロシージャを編集中にタイプミスした文字を削除しようとしたことから発覚。以下、発見当時の生中継! w

backspaceをタイプ。

ん?
backspace

backspace、ん?

backspace backspace backspace

あれ〜〜、backspaceが効かない。

enter keyをタイプしても改行しない!!


Oracle SQL Developer 1.5.4ってMacOSXのkeyboardにキ−イベントをちゃんとハンドリングしてくれてない?!。command+sで保存もできないし〜〜。なんで〜〜〜。

というところから捜査は始まった!

しかし、US OTNで同様の話題があることを発見しすぐに解決。MacOSXのkeyboard presetが正しくロードされていないのが原因らしい。。
次期リリースでは改善されることを期待します。オラクル様


6

上記のhogehoge部分を削除したいだけなのだがbackspaceが効かない。US OTNの該当スレッドによれば単純にkeyboard presetがロードされていないということなのでやってみた。
7

1

9_2

10

12

お〜〜〜めでたくbackspaceキーで削除できた。改行もenterキーでできた!。 command+sで保存もできた。ふ〜〜っ。やれやれ。

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

2009年4月 3日 (金)

Dashboard de Aquarium v1.3 - あ〜Top50圏外だ〜

今日のDashboard de Aquarium v1.3はついにTop50圏外に〜〜。

ということで今日はアクアリウム好きなあなたに送るiPhone/iPod touch向け115円でmなかなかお買い得なFreshwater Aquariumというアプリケ−ションを紹介しようと思う。FreshWater Aquarium

FreshWater Aquarium

このアプリケーション、単なる水槽を泳ぐ熱帯魚を眺めているだけのアプリケーションではなく、暇つぶしゲーム+AQUAZONE的な要素も持っていて115円と有料アプリながらお得感たっぷり。
暇つぶしゲームとして「釣りゲーム」があり、釣った熱帯魚は自分の水槽へポチャン。増えるわけですな。Dashboard de Aquariumの作者としても参考になります、このアプリ。

Img_0005_2

Img_0011_2

Img_0008

Img_0009

Img_0012

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

2009年4月 2日 (木)

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

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

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



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

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

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

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

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

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


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


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

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


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

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

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

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

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

SCOTT>

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

2009年4月 1日 (水)

Dashboard de Aquarium v1.3 - 46位

1

Dashboard de Aquarium v1.3 - 本日は46位、株価みたいな乱高下 :)

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

2009年3月31日 (火)

Dashboard de Aquarium v1.3 - 35位

1

Dashboard de Aquarium v1.3 - 本日は35位。ダウンロードしてくださったみなさんありがとうございます。再び浮上しました。:)

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

2009年3月30日 (月)

Oracle JDeveloper 11g (Build 5188) - with Oracle WebLogic Server 10.3 - #6(おまけ)

Oracle JDeveloper 11gのQuickStartからオンラインマニュアルへジャンプできなくても大した問題ではないのですが・・・とりあえず書いときます。
QuickStartからオンラインドキュメントへジャンプできるようになっているようなのだが、クリックすると、「ブラウザが見つかりません」と言われ、「了解」ボタンをクリックすると開く「ブラウザ選択」でSafariを選んでも「ブラウザが見つかりません」と言われる。ン〜〜。という状態、QuickStartにはPerferenceも無いようなのでFirefoxで試すことはしてない・・・面倒なのとQUickStartから開けなくても困らないから。というの理由で。

1

QuickStartのオンラインドキュメントのアクセスをクリックすると「ブラウザが見つかりません」。。なんで?
2

「了解」ボタンをクリックしてブラウザ(この例ではSafari)を選択して.....と
3

でもやっぱりブラウザが見つかりません・・・・なんですよね。OTNのドキュメントダウンロードすればいいのでこれ以上は調べてないですが・・・
2





バックナンバー
Oracle JDeveloper 11g (Build 5188) - with Oracle WebLogic Server 10.3 - #1
Oracle JDeveloper 11g (Build 5188) - with Oracle WebLogic Server 10.3 - #2
Oracle JDeveloper 11g (Build 5188) - with Oracle WebLogic Server 10.3 - #3
Oracle JDeveloper 11g (Build 5188) - with Oracle WebLogic Server 10.3 - #4
Oracle JDeveloper 11g (Build 5188) - with Oracle WebLogic Server 10.3 - #5

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

2009年3月29日 (日)

Dashboard de Aquarium v1.3 - 49位

Dashboard de Aquarium v1.3 - 再び土俵際。の49位
49位

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

2009年3月28日 (土)

Dashboard de Aquarium v1.3 - Apple(Japan)でも公開

7

いつのまにかApple(japan)でもDashboard de Aquarium v1.3が公開されていました。(^^;;

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

2009年3月27日 (金)

Dashboard de Aquarium v1.3 - 43位

3

Dashbaord de Aquarium v1.3、今日は43位。再浮上できるかな〜。

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

2009年3月25日 (水)

Dashboard de Aquarium v1.3 - 36位

2

土俵際で踏ん張って36位まで再浮上。:)

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

2009年3月24日 (火)

Dashboard de Aquarium v1.3 - 49位

49位

あ〜〜49位だ〜、土俵際。

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

2009年3月21日 (土)

Dashboard de Aquarium v1.3 - 39位

4

Dashboard de Aquarium v1.3。今日は39位。踏ん張ってますね〜、最近Twitterで熱帯魚好きな?方々にフォローされまくっているのもこの影響か?・・・

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

2009年3月20日 (金)

妻がWindows Vista Businessエディションを買おうかなぁ〜と言うので・・・

妻が仕事でWindowsを使っているのだが、調べものしたり実験したり、その他実際にWindowsを使わないと確認できないことも多いわけで、仕方なくWindows Vista Businessエディションを購入してMacBook ProでBootCampするか〜な〜〜〜〜〜っ。という話をしていた。で、Windows Vista Businessの価格を見てみたら、たまげたね〜〜〜、安くて3万円ほど、高いところで39000円だった。値段を見て買う気が失せた。(爆)
MacOSXであればMac Box Set(MacOSX Leopard/iWork '09/iLife '09のセット。なんとなくBig Mac Setみたいな名称だけど)24,800円のファミリーパックを買えば5台のマックにインストールできて1台あたり、4,960円なのに〜〜〜。(Windows VistaならUltimate以上の機能がこの値段だよ。仕事で必要なWindows Vista Businessとはいえあまりにも高過ぎるね、Windows)

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

2009年3月19日 (木)

Dashboard de Aquarium v1.3 - 45位

45位

ん〜〜〜、45位にダウン。まだ踏ん張れるか〜〜〜。w

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

2009年3月18日 (水)

Dashboard de Aquarium v1.3 - 27位

27位
Dashbaord de Aquarium v1.3徐々に順位を上げて本日は27位。いい感じですね〜。

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

2009年3月17日 (火)

Dashboard de Aquarium v1.3 - 36位

36位

お〜〜、踏ん張ってます、今日は36位

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

2009年3月14日 (土)

Dashboard de Aquarium v1.3 - 45位

45位

今日は45位、Top50ランクアウトは早いかも。踏ん張れるかな〜w

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

2009年3月13日 (金)

Dashboard de Aquarium v1.3 - Top50ランクイン

Apple Japanの分はカウントされていないのでApple USからダウンロードされたカウントだけのようですが、v1.3リリース後初のTop50ランクイン。本日は43位。どこまでいくでしょうか。今回は。:)
43位

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

2009年3月12日 (木)

Dashboard de Aquarium v1.3 - Apple(US)で公開されました

Dashboard de Aquarium v1.3

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

2009年3月 8日 (日)

Dashboard de Aquarium v1.3 released!

Dashboard de Aquarium v1.6 released.
(v1.6をリリースしましたよ〜 2012/01/01)


Dashboard de Aquarium v1.3をリリースしました。今回のリリースではFallin Hobby (formaly discus family)のhideさんのご協力により3種のディスカスを追加しました。hideさんありがとうございました。

尚、現時点では旧リリースのv1.2もダウンロード可能ですが、Apple US/Japanでv1.3公開後にはv1.2のダウンロードを停止予定です。


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

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

PowerBook G4 1Ghz - MacOSX 10.4.11 (Tiger)
PowerMac G5 Dual 2.7Ghz - MacOSX 10.4.11 (Tiger)
MacBook Pro 2.2Ghz Core 2 Duo - MacOSX 10.5.6 (Leopard)

Mixed_jaNeontetra_ja
Discus_jaWild_king_solid_blue_f1_ja
Licksons_red_spotted_jaHides_wild_blue_wild_brown_ja
Back_with_pref_2

★★2009/7/11 Dashboard de Aquarium v1.4 をリリースしました。詳細はこのリンクをクリック!★★

★★ 11-Jul-2009 Dashboard de Aquarium v1.4 released
See download page. ★★

日本語(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."


Note: 国際化対応しています。言語環境が英語であれば以下のように表示されます。
(Internationalized. When language setting is in English, it's displayed as follows.)

MixedNeontetra
DiscusWild_king_solid_blue_f1
Licksons_red_spottedHides_wild_blue_wild_brown
Back_with_pref_3

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

2009年3月 4日 (水)

Oracle SQL Developer 1.5.4 がリリースされたので早速入れ替えてみた


S/N Ratio:Oracle SQL Developer 1.5.4 リリース

のアナウンスがあったので早速Linux(CentOS5)/WindowsXP Professional(Vista入れてないの〜)/MacOSX Tiger/Leopardの各プラットフォームで旧リリースをアップグレードしてみた。
取りあえず入れ替えて起動〜Oracle11gへ接続(TNS接続)できるところまで確認。
小さいな問題なのだが英語版では気付かなかったが日本語にローカライズされ文字列が長くなってしまった為にデータベース接続の作成/選択ダイアログで「ネットワーク別名」とドロップダウンメニューの表示がオーバーラップしている。私が使っている範囲ではそれ以外に問題はさそう。。もうちょっと本気で使うと何か出てくるかもしれないけどね。:)


12

まず、MacOSX Tiger/Leopardのデータベース接続の作成/選択ダイアログ。赤丸部分で表示がオーバーラップしてしまっている。
尚、MacOSXのOracle SQL DeveloperでTNSを利用する方法は「Oracle SQL Developer for MacOSX で Oracle Instant Clientを使ってみる」を参照のこと。


7


次はLinux(CentOS5)で起動したSQL Developerの同ダイアログ。(同じくオーバーラップしている)
ちなみに以下はMacOSX側でX11 forwardingを利用してCentOS側のOracle SQL Developerを起動している。


5


WindowsXP Professionalで起動したSQL Developer1.5.4の同ダイアログでも現象は同じ。(ダイアログのスナップショットではわからないですが、Remote Desktop Connection for MacOSX経由でWindowsのSQL Developerを起動している。うちではまだリアルな環境しかないので・・w)

6

Linux環境で以下の様なメッセージで起動できない場合

Type the full pathname of a J2SE installation (or Ctrl-C to quit), the path will be stored in ˜/.sqldeveloper/jdk
JDKのインストール先へのフルパスを.bashrc等でJAVA_HOME環境変数に設定してやればOK。以下の例ではJava SE6 update 12へのフルパスを設定している。
[oracle@corydoras ˜]$ echo $JAVA_HOME
/usr/java/jdk1.6.0_12

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

2009年2月27日 (金)

Safari 4 - Smart Search Field and Search Suggestions

Safari4 - 150 featuresより

Smart Search Field
Find what you’re looking for instantly. As you enter text in its search field, Safari recommends relevant searches courtesy of Google Suggest
and lists your most recent searches, presenting them in an easy-to-read list.
Search Suggestions
Safari uses Google Suggest to complete search queries as you type, based on popular search terms.

この機能も便利です。YouTubeの検索などでも同じようなSuggestionsは出るようになっていますけどSafari4のSmart search fieldでも同様の機能や直近の検索フレーズが自動的にリストされるようになっています。

Safari3のsearch fieldに検索フレーズを入力しても何も起こらないが虫眼鏡アイコンをクリックすると検索履歴がポップアップする。

Safari3




Safari4だと自動的にSuggestionsとRecent searchesがポップアップする。

Safari4

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

2009年2月25日 (水)

Safari 4 Beta登場 - カバーフローや開発者に嬉しい機能も

Safari 4 beta Release!
いや〜おもしろいSafari4。
いろいろな記事で知っていたけどOperaなどですでに採用されているFull-Page Zoom In/Outのサポートはもちろんのこと、ブックマーク管理でITunesでおなじみのCover Flowのサポート、Top Sitesでは気に入ったWeb Pageのサムネールが一覧できたり、また、見た目ではタブが最上部に移動している。新機能が沢山ありすぎて全てを一度には体験することはできそうにないくらいの新機能の数々。開発者にも嬉しい機能が沢山あるようだ。私が気になるのは開発ツールに含まれているDatabase Brower機能かな、テーブルを参照したりクエリを実行できるとある。。。気になるねぇ〜

Oracle11gがどんなに機能てんこ盛りにしてもあまりワクワクしなくなったけど、Safariの場合はワクワクするな〜。


5

Safari 4 - 150 Features

3

4

ページズームアウトとズームインをためしてみたところ。
8

7

9

尚、Safari4 BetaをインストールするとSafari3.xは上書きされてしまうので要注意。Safari4 Betaにはアンインストーラーも付属している。

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

2009年2月23日 (月)

Dashboard de Aquarium v1.3 alpha #3 - Wild blue × Wild brown

Fall in Hobby (formaly: Discus Family)のhideさんのご協力によりDiscusの画像からDashboard de Aquarium v1.3向けのディスカス、その第三弾としてWild Blue とWild Brownの交配として紹介されているディスカスの画像を使ってみた。(これもいい感じ。)ということで3つの画像は決まり。あとは微調整してリリースしようかな。。と。

Hide_wildblue_wildbrown

Dashboard de Aquarium v1.3をリリースしたらOracleネタにしますかね。。(^^;;

2008/2/24追記
HideさんのWild blueとWild brown自家産なので、Hide's Wild blue * Wild brown としておきましょうかね。

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

2009年2月19日 (木)

Dashboard de Aquarium v1.3 alpha #2

Fall in Hobby (formaly: Discus Family)のhideさんのご協力によりDiscusの画像からDashboard de Aquarium v1.3向けのディスカス、その第二弾としてリクソンコピーブリードで紹介されているメス親の画像を使ってみた。(いい感じです。)
Lickson_copy_f1

この他に1匹選ぶ予定。

hideさんに確認したところ正式名は存在せず、ペナンのブリーダーであるリクソン氏の作出の赤系スポットディスカスの改良種ということだけは分かっているとのこと
Rickson's red spotted とでもしておこうかな?!

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

2009年2月13日 (金)

Dashboard de Aquarium v1.3 alpha - まずはWild Diaの雰囲気を試す!

Fall in Hobby (formaly: Discus Family)のhideさんのご協力によりDiscusの画像を利用させて頂くことができたので幾つかピックアップしてDashboard de Aquarium v1.3向けのディスカスとして試しているところなのですが、その第一弾としてワイルドダイヤの画像を使ってみた。
V13_test1


背景かディスカスの色合いか輝度のどちらかもしくはその両方を調整したほうがいいような気もする。まだ確定ではないので他のディスカスも試して数匹まで絞り込む予定だ。

hideさんより正式名を教えて頂いたので追記
正式名:Wild King Solid Blue F1

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

2009年2月 7日 (土)

Dashboard de Aquarium v1.2 - 再びTop50圏外

30

再びTop50圏外。
Quicktime Streaming版aquariumがウケてる模様。ん〜〜〜。

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

2009年2月 6日 (金)

Dashboard de Aquarium v1.2 - Apple(Japan)でも公開されました。

12
Apple(US)に遅れること数週間、やっと日本のAppleでもDashboard de Aquarium v1.2が公開されました。これに伴いv1.1のダウンロードは停止します。

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

In Oracle Database 11g, native dynamic SQL now supports statements bigger than 32K characters

久々にOracleネタ。

Oracle11gのPL/SQLのDynamic SQLでCLOBが使えるようになったようなので試してみた。
10gまではexecute immediate文で使えるのは最大でVARCHAR2(32767)までだったワケで、ど〜〜〜〜〜〜しても(書きたくないけど・・)巨大なSQL文をダイナミックに実行しなきゃいけない人には朗報?なんでしょうね。(DWH系ではCLOBが必要なくらい巨大なクエリをダイナミックに生成するなんてこともあるんでしょうね。私は今のところ32Kを超えるクエリは書いたことないけどそれに近いのは過去1度あったかな?! という程度。)

ということで10gと11g for linux(x86)を使って確認!(ClientはMacOSX(PPC)版Instant Clientですよん

まず最初はOracle10g
execute immediate文に利用できるのはVARCHAR2(32767)が最大サイズなのでダイナミックに生成するSQL文もそのサイズに制限されちゃう。VARCHAR2(32767)を超えるとORA-06502が発生する。(尚、10gの場合でもDBMS_SQLを使えばもっと大きいサイズの動的SQLも使用できる。)

G5Server:˜ discus$ sqlplus /nolog

SQL*Plus: Release 10.1.0.3.0 - Production on 金 2月 6 1:19:22 2009

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

> conn scott@catfish
パスワードを入力してください:
接続されました。
SCOTT> set serveroutput on
SCOTT> 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 Linux Server: Version 10.1.0.3.0 - Production
NLSRTL Version 10.1.0.3.0 - Production

SCOTT> l
1 CREATE OR REPLACE PROCEDURE dynamic_sql_test10g(iLength IN NUMBER)
2 IS
3 vSQL VARCHAR2(32767);
4 vResult NUMBER;
5 BEGIN
6 vSQL := 'SELECT 1';
7 FOR i IN 1.. iLength LOOP
8 vSQL := vSQL || '+1';
9 END LOOP;
10 vSQL := vSQL || ' FROM DUAL';
11 EXECUTE IMMEDIATE vSQL INTO vresult;
12 DBMS_OUTPUT.PUT_LINE('Result:'||TO_CHAR(vresult));
13* END;
SCOTT> /

プロシージャが作成されました。

SCOTT> exec dynamic_sql_test10g(16374);
Result:16375

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

SCOTT> exec dynamic_sql_test10g(16375);
BEGIN dynamic_sql_test10g(16375); END;

*
行1でエラーが発生しました。:
ORA-06502: PL/SQL: 数値または値のエラー:
文字列バッファが小さすぎます。が発生しました ORA-06512:
"SCOTT.DYNAMIC_SQL_TEST10G", 行10
ORA-06512: 行1

SCOTT>

11gの場合
execute immediate文にCLOBが使えるようになったことで以下のように32K超えの動的SQLも実行できちゃうのだ。

注)
以下のコードで遊ぶときは個人で遊べるデータベースでやってくださいね。(本番データベースや多数の開発者で共有しているテスト/開発データベースでとんでもなく巨大なクエリを実行すると他の方の迷惑になるので・・・・・)

SCOTT> 
SCOTT> conn scott@lampeye
パスワードを入力してください:
接続されました。
SCOTT>
SCOTT> select * from v$version;

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

SCOTT>
SCOTT> l
1 CREATE OR REPLACE PROCEDURE dynamic_sql_test11g(iLength IN NUMBER)
2 IS
3 vSQL CLOB;
4 vResult NUMBER;
5 BEGIN
6 vSQL := 'SELECT 1';
7 FOR i IN 1.. iLength LOOP
8 vSQL := vSQL || '+1';
9 END LOOP;
10 vSQL := vSQL || ' FROM DUAL';
11 EXECUTE IMMEDIATE vSQL INTO vresult;
12 DBMS_OUTPUT.PUT_LINE('Result:'||TO_CHAR(vresult));
13* END;
SCOTT> /

プロシージャが作成されました。

SCOTT> set serveroutput on
SCOTT> exec dynamic_sql_test11g(32767);
Result:32768

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

SCOTT>
SCOTT> set timi on
SCOTT> exec dynamic_sql_test11g(1000000);
Result:1000001

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

経過: 00:06:25.93
SCOTT>

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

Dashboard de Aquarium v1.2 - ギリギリ Top50ランクイン再び!

2

Wow! Top50に返り咲き。いつまで残っていられるか・・・w

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

2009年2月 5日 (木)

Dashboard de Aquarium v1.2 - 早くもTop50圏外か〜

30

Top50圏外じゃ〜。
今回は早いな落ちるの、とおもったら似たようなWidgetが登場してるのね〜w
じゃ早速v1.3の準備にでも取りかかるか〜

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

2009年2月 4日 (水)

Broken my iphone accelerometer! But...

iPhone 3Gのaccelerometer(加速度計)が壊れたようで縦や横へまわしても画面が切り替らない。当然iPodのカバーフロー等も表示されない...ということで困ったときのGenius Bar!
早速予約を取って行ってきました。で診断結果はやはり壊れているということでその場で本体毎交換とあいなりました。素早い対応、ステキです。(^^)

Apple Storeが出来る前はApple製品の対面修理と言えば、クリッククイックガレージさんや、ビット・システム・サービス株式会社ぐらいしか無かったけど随分便利になったものです。:)
ただ今iTunesに繋いでバックアップからリストア完了したばかり。


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

Dashboard de Aquarium v1.2 - 今日は34位

26
今日は34位か〜今回は15位が最高かなぁ〜。

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

2009年2月 3日 (火)

Dashboard de Aquarium v1.2 - 今日は28位

1
Oracleネタも書きたいのがあるけど風邪が治ってからじゃ〜。

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

2009年1月31日 (土)

Dashboard de Aquarium v1.2 - 今日の順位(20)

17
Dashboard de Aquarium v1.2の今日の順位は20位。さて、そろそろv1.3のネタに使うdiscusの画像など決めるとするか〜。

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

2009年1月30日 (金)

Dashboard widget top16 - Dashboard de Aquarium v1.2

13
今日のDashbaord de Aquarium v1.2は4ランクアップで16位 (^^

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

2009年1月29日 (木)

Dashboard widget top20 - Dashboard de Aquarium v1.2

2
Dashboard de Aquarium v1.2今日は20位と2ランクダウン。

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

2009年1月28日 (水)

Dashboard widget top18 - Dashboard de Aquarium v1.2

4

昨日より3ランクダウンの18位 (><)

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

2009年1月27日 (火)

Dashboard widget top15 - Dashboard de Aquarium v1.2

2

Dashboard de Aquarium v1.2、前回より1ランクアップのTop15入り。さて明日はどうなるか・・・

ところで13位のオバマ widgetがなんとなく気になる。(まだダウンロードしてないので後でダンロードしてみるか〜

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

2009年1月25日 (日)

Dashboard widgetのstylable popup menuで・・

Dashboard de Aquarium v1.2の初期設定パネルでDashcodeのstylable popup menuを利用したのだがその際に発見したLeopard上で発生するちょっとした問題点(これまた備忘録)

stylable popup menuではmouseoverとmouseoutイベントでマウスカーソルのスタイルをpointerとautoに切り替えているのだがMacOSX10.4.11(Tiger)では想定通りに動作するがMacOSX10.5.6(Leopard)だとstylable popup menuの淵の所でだけマウスカーソルがpointerに変化する。(stylable popup menu本体はmouseout扱いされている模様。対処方法よくわからんので今のところ放置。)

2_2

まずはMacOSX10.4.11(Tiger)で正しくマウスカーソルが変更されている状態から。
Dashcode_stylable_popup_002





つづいてMacOSX10.5.6(Leopard)でstylable popup menuの淵だけでマウスカーソルのスタイルが変更されている模様。
Dashcode_stylable_popup_001_2

マウスカーソルをpopup menu本体の上に移動させてくると。。。あれまぁ〜。(><)
Dashcode_stylable_popup_001

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

2009年1月24日 (土)

Dashboard de Aquarium v1.2 - Top20

Dashboard de Aquarium v1.2、早くもDownload Top20入り :)

今回はどこまで上がるだろうか〜〜

8

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

2009年1月23日 (金)

Dashcodeのstylable popup menuの国際化で少々ハマったこと(備忘録)

Dashboard de Aquarium v1.2の初期設定ペインでstylable popup menu(Dashcodeの部品に含まれている)を利用しているのだが、その国際化の際少々ハマったというかDashcodeのコード自動生成の癖というかバグ?に気付いたので備忘録として書いておく(ウッカリ見落とすと英語が表示されるべき状況で日本語が表示されることになってしまうので。他のボタンなどは国際化を定義しやすいのだがstylable popup menuはちょいと気を使う。Dashcodeの問題点としていずれ修正されるかも・・・)

Dashcodeのバージョンは以下
2_2

言語設定がenglishである場合に正しく表示されているstylable popup menu
Picture_3 Picture_4

上記のように表示させるため、デフォルト言語をEnglishとしてwidgetプロジェクトを作成し、言語設定が日本語である場合には日本語の文字列がセットされるようローカライズしてあるのだが、stylable popup menuの場合はボタンの場合とは異なりローカライズキーと値の設定がインスペクター上で行えない。

ボタンの場合、インスペクター上で英語と日本語の定義が一度に行える。

2

しかし・・、stylable popup menuではメニューアイテムの定義しかなく、インスペクター上でローカライズを済ませてしまうことができない。。ということで事前にローカライズした文字列を定義した。
3

4

ローカライズ文字列とキーを定義後、以下のようにstylable popup menuのメニューアイテムにローカライズキーを設定するとインスペクター上でも自動的に日本語文字列が設定されるのだが...
2_3

widgetを実行してみると以下のようにstylable popup menuだけが日本語になってしまう。。
Picture_1 Picture_2

で、いろいろ調べてみたがうまい解決方法が見当たらないので泥臭い方法だが、一旦コード自動生成を停止、setup.js(Dashcodeにより自動生成されるwidget上に配置される部品のスペック定義)の該当部分を手動修正後、自動生成を再開させるという方法を取った。ほかにうまい方法はないのか〜〜〜w(尚、再度メニューアイテムを追加したしたり修正した場合には同じ手順でコードを修正する必要がある。)

コードの自動生成停止
6

setup.jpの日本語化されてしまったstylable popup menuのメニューアイテムの文言を英語(ローカライズのキーにもなっている)に変更。
3_2

2_4

Dashcodeのコード自動生成を再開
7


この状態でwidgetを実行したり生成すれば英語と日本語双方がそれぞれの言語設定で正しく表示されるようになります。
6 Picture_4_2

さて、そろそろ子供を迎えに、保育園に行かなきゃ..(^^

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

2009年1月22日 (木)

Dashboard Widgets Top50

Apple(US)で公開されてから2日目ですがDashboard de Aquarium v1.2がDashboard Widgets Top50入りしたようです。ダウンロードしてくださった皆さんに感謝! (Thank you for downloading Dashboard de Aquarium v1.2!)
5

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

2009年1月20日 (火)

Dashboard de Aquarium v1.2 - Apple(US)で公開されました

Dashboard de Aquarium v1.2 - Apple(US)で公開されました。登録してから2日で公開されるんですねUSのAppleでは。なんか良いテンポです。でもApple(Japan)の方はまだ公開されず、2週間に一度程度なんでしょうかねぇ。公開のタイミングって。。。USと歩調を合わせてほしいです。m(_ _)m


9

ちなみに次期リリース予定のv1.3ではdiscusの種類を増やす予定です。

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

2009年1月18日 (日)

Dashboard de Aquarium v1.2 released!!

前回の予告したようにDashboard de Aquarium v1.2をリリースしました。今回のリリースで魚種(discus/neon tetra/mix:default)を選択することができるようになりました。
(Dashboard de Aquarium v1.2 new feature : Added preference pane and you can choose fish species(discus, neon tetra or mix:default).


(2009/1/18現在:
しばらくの間はv1.1もダウンロードできるようにしておきますが、Appleからのリンクが更新された時点でv1.1はダウンロードできなくする予定ですのでご了承ください。)

20-Jan-2009:
Apple(US)からのリンクは変更されましたがApple(Japan)からのリンクはまだ変更されていないようなのでもうしばらくv1.1のダウンロードは可能なままにしておきます。

6-Feb-2009
Apple(Japan)でも公開されたので旧リリースのダウンロードは停止します。

11-Mar-2009
Dashboard de Aquarium v1.3リリースに伴い、Apple US/Japanで公開後にv1.2のダウンロードは停止する予定です。


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

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

PowerBook G4 1Ghz - MacOSX 10.4.11 (Tiger)
PowerMac G5 Dual 2.7Ghz - MacOSX 10.4.11 (Tiger)
MacBook Pro 2.2Ghz Core 2 Duo - MacOSX 10.5.6 (Leopard)

v1.2(default)
v1.2(Discus) v1.2(neon tetra)
v1.2 back
v1.2 preference pane v1.2 popupmenu

Download Dashboard De Aquarium v1.2 Now!
Download! v1.2 dashboard_de_aquarium.zip (708KB)

日本語(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."


Note: 国際化対応しています。言語環境が英語であれば以下のように表示されます。
(Internationalized. When language setting is in English, it's displayed as follows.)

v1.2 default
v1.2(discus) v1.2(neon tetra)
v1.2 back
v1.2 preference pane Picture_4

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

2009年1月17日 (土)

Dashboard de Aauarium v1.2  やっと最終段階

今年初めのエントリはやはり、このネタ。

1年以上放置していたDashboard de Aquariumですが、子供に邪魔されつつなんとか一気にリビジョンアップ。
現在最終確認中!・・・・ですが、画像だけ載せておきましょう。今しばらくお待ちを。

3_2



MacOSXの言語設定が英語の場合、左の画像のように表示され、日本語の場合、右側の画像のように表示されます。
(When language seting of MacOSX is English, it is displayed like left pictures , and displayed like right pictures in case of Japanese.)

Picture_1 8
Picture_2 4
Picture_3 7
Picture_6 5
Picture_1_2 3
Picture_9 10
Picture_11 11

今回のリリースから設定パネル(Drawer風にしてあります)を追加し、魚種(今のところ以前のリリースから魚種は増やしていませんが)を選択できるように機能追加しました。

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

2009年1月 4日 (日)

謹賀新年

この画面を見るためだけの目的でMacOS9を起動...w
33

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

2008年12月28日 (日)

よいお年を!

さて、来年はいいことあるでしょうかね。みなさん、良いお年を!

懐かしいMacOS9のHappy new year風のスタートアップスクリーンで。

35

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

2008年12月 4日 (木)

Sun Tech Days 2008 in Tokyo 2日目

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

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

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

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

2008年10月19日 (日)

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

今回はOracle Net Serviceの確認

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



19.Oracle Net Serviceの確認

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

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

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

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

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

[oracle@discus1 ˜]$


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

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

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

G5Server:˜ discus$

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

SQL*Plus: Release 10.1.0.3.0 - Production

G5Server:˜ discus$ sqlplus /nolog

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SYS>
SYS> select * from v$version;

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

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

SQL*Plus: Release 10.2.0.4.0 - Production

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

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

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

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

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

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

SQL>

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

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

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

2008年10月10日 (金)

MySQL User Conference 2008

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

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

2008年9月30日 (火)

Objective-C 2.0 Definitive Guideが出ていたのね〜。

2006年のObjective-C MacOSXプログラミングにObjective-C 2.0に関する部分を加えた内容になっているということなので即購入。

ところで旧版がマーケットプレースではかなりの高値なのね。(希少本ということなのか・・。残しておくか。。w)

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

2008年6月29日 (日)

Mac de Ruby on Rails - #14 - IntelMac編 #5

さて、準備は整ったのでサンプルを作ってみましょう。利用するのはSCOTTスキーマのemp表。

Macintosh:test discus$ rails -d oracle emp_list
create
create app/controllers
create app/helpers
create app/models
create app/views/layouts
create config/environments
create config/initializers
create db
create doc
create lib

・・・・・・中略・・・・・・

create public/favicon.ico
create public/robots.txt
create public/images/rails.png
create public/javascripts/prototype.js
create public/javascripts/effects.js
create public/javascripts/dragdrop.js
create public/javascripts/controls.js
create public/javascripts/application.js
create doc/README_FOR_APP
create log/server.log
create log/production.log
create log/development.log
create log/test.log
Macintosh:test discus$
Macintosh:test discus$

scaffoldを使ってサンプルを作ってみます。
database.ymlの編集なども以前の記事と同じなので省略しますね。)

Macintosh:test discus$ vi emp_list/config/database.yml
Macintosh:test discus$
Macintosh:test discus$
Macintosh:test discus$ cd emp_list
Macintosh:emp_list discus$ rails ruby script/generate scaffold Emp ename:string job:string mgr:integer hiredate:date sal:integer
create
create app/controllers
create app/helpers
create app/models
create app/views/layouts
create config/environments
create config/initializers
create db
create doc
create lib
create lib/tasks
create log

・・・・・・中略・・・・・・

create public/500.html
create public/index.html
create public/favicon.ico
create public/robots.txt
create public/images/rails.png
create public/javascripts/prototype.js
create public/javascripts/effects.js
create public/javascripts/dragdrop.js
create public/javascripts/controls.js
create public/javascripts/application.js
create doc/README_FOR_APP
create log/server.log
create log/production.log
create log/development.log
create log/test.log
Macintosh:emp_list discus$ ruby script/server
=> Booting Mongrel (use 'script/server webrick' to force WEBrick)
=> Rails 2.1.0 application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
** Starting Mongrel listening at 0.0.0.0:3000
** Starting Rails with development environment...
** Rails loaded.
** Loading any Rails specific GemPlugins
** Signals ready. TERM => stop. USR2 => restart. INT => stop (no restart).
** Rails signals registered. HUP => reload (without restart). It might not work well.
** Mongrel 1.1.4 available at 0.0.0.0:3000
** Use CTRL-C to stop.

でアクセスしてみると。。。でました〜。これでIntelMac上でもRoRからOracleへアクセスできるようになりました〜〜。:-)

Ror

Scaffold




バックナンバー:
Mac de Ruby on Rails - #10 - IntelMac編 #1
Mac de Ruby on Rails - #11 - IntelMac編 #2
Mac de Ruby on Rails - #12 - IntelMac編 #3
Mac de Ruby on Rails - #13 - IntelMac編 #4


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

2008年6月22日 (日)

Mac de Ruby on Rails - #13 - IntelMac編 #4

前回のつづき旧バージョンが悪さをしているようなのでこの際、残っている古いバージョンをuninstallしてしまえ! ということに。
尚、Leopardでは事前にRoRが/System/Library/Frameworks/Ruby.framework/以下にインストールされている。


Macintosh:test discus$ sudo gem uninstall activerecord --install-dir=/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8

Select gem to uninstall:
1. activerecord-1.15.3
2. activerecord-1.15.6
3. activerecord-2.1.0
4. All versions
> 2

You have requested to uninstall the gem:
activerecord-1.15.6
actionwebservice-1.2.6 depends on [activerecord (= 1.15.6)]
rails-1.2.6 depends on [activerecord (= 1.15.6)]
If you remove this gems, one or more dependencies will not be met.
Continue with Uninstall? [Yn] Y
Successfully uninstalled activerecord-1.15.6
Macintosh:test discus$ ruby test.rb
/Library/Ruby/Site/1.8/rubygems.rb:139:in `activate': can't activate activerecord (= 1.15.3), already activated activerecord-2.1.0] (Gem::Exception)
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
from /Library/Ruby/Gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:509:in `require'
from /Library/Ruby/Gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:354:in `new_constants_in'
from /Library/Ruby/Gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:509:in `require'
from /Library/Ruby/Gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:230:in `establish_connection'
from test.rb:8
Macintosh:test discus$ sudo gem uninstall activerecord --install-dir=/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8

Select gem to uninstall:
1. activerecord-1.15.3
2. activerecord-2.1.0
3. All versions
> 1

You have requested to uninstall the gem:
activerecord-1.15.3
actionwebservice-1.2.3 depends on [activerecord (= 1.15.3)]
rails-1.2.3 depends on [activerecord (= 1.15.3)]
If you remove this gems, one or more dependencies will not be met.
Continue with Uninstall? [Yn] Y
Successfully uninstalled activerecord-1.15.3
Macintosh:test discus$ ruby test.rb
/Library/Ruby/Gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:232:in `establish_connection': Please install the oracle adapter:
`gem install activerecord-oracle-adapter` (no such file to load -- active_record/connection_adapters/oracle_adapter) (RuntimeError)
from test.rb:8
Macintosh:test discus$
Macintosh:test discus$

お〜〜〜、忘れていました。 oracle_adapter.rbを。

ということで、oracle_adapter.rbをダウンロード後、/Library/Ruby/Gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters以下へコピー。

Macintosh:test discus$ 
Macintosh:test discus$ curl -O http://svn.rubyonrails.org/rails/adapters/oracle/lib/active_record/connection_adapters/oracle_adapter.rb
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 27847 100 27847 0 0 28714 0 --:--:-- --:--:-- --:--:-- 66645
Macintosh:test discus$ ll
total 64
drwxr-xr-x 15 discus staff 510 6 14 07:31 emp_list
-rw-r--r-- 1 discus staff 27847 6 14 09:43 oracle_adapter.rb
-rw-r--r-- 1 discus staff 325 6 14 09:13 test.rb
Macintosh:test discus$ sudo cp oracle_adapter.rb /Library/Ruby/Gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters
Password:
Macintosh:test discus$
Macintosh:test discus$


再度、テストプログラムを実行。

Macintosh:test discus$ ruby test.rb
7934, MILLER,CLERK

動いた!。
ということで次回へつづく。



バックナンバー:
Mac de Ruby on Rails - #10 - IntelMac編 #1
Mac de Ruby on Rails - #11 - IntelMac編 #2
Mac de Ruby on Rails - #12 - IntelMac編 #3


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

2008年6月21日 (土)

Mac de Ruby on Rails - #12 - IntelMac編 #3

さて、少々間が空いてしまったがこれから暫くは土日中心に記事をアップすることが多くなるかも。(おチビちゃんの世話などいろいろあるのでね。w 土日に1週間分のネタを時間指定公開しるようにしておいてもよいかもしれないが、そのネタを纏めてる時間がなかなか取れない。く〜〜〜っ。という感じ。)

と長い前置きはこれくらいにして、本題です。前回は、ruby-oci8をインストールしたところまでだった。(自分でも忘れてる。。)
今日は確認のため以前PPC版の時も使ったテストコードでオラクルへアクセスできるか確認しておくことにする。

以下、PPC版の時と同じなのでさらりとながします。。

Macintosh:˜ discus$ mkdir test
Macintosh:˜ discus$ cd test
Macintosh:test discus$ rails -d oracle emp_list
create
create app/controllers
create app/helpers
create app/models
create app/views/layouts
create config/environments
create config/initializers
create db
create doc
create lib
create lib/tasks
create log

・・・・中略・・・・

create public/javascripts/controls.js
create public/javascripts/application.js
create doc/README_FOR_APP
create log/server.log
create log/production.log
create log/development.log
create log/test.log
Macintosh:test discus$

database.ymlを編集。編集内容は見ての通り。


Macintosh:test discus$
Macintosh:test discus$ vi emp_list/config/database.yml
Macintosh:test discus$ cat emp_list/config/database.yml
# Oracle/OCI 8i, 9, 10g
#
# Requires Ruby/OCI8:
# http://rubyforge.org/projects/ruby-oci8/
#
# Specify your database using any valid connection syntax, such as a
# tnsnames.ora service name, or a SQL connect url string of the form:
#
# //host:[port][/service name]
#
# By default prefetch_rows (OCI_ATTR_PREFETCH_ROWS) is set to 100. And
# until true bind variables are supported, cursor_sharing is set by default
# to 'similar'. Both can be changed in the configation below; the defaults
# are equivalent to specifying:
#
# prefetch_rows: 100
# cursor_sharing: similar
#

development:
adapter: oracle
database: lampeye
username: scott
password: tiger

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
adapter: oracle
database: lampeye
username: test
password: test

production:
adapter: oracle
database: lampeye
username: sample
password: sampleadmin

テストコードも以前作ったコードを使い回し。

Macintosh:test discus$ vi test.rb
Macintosh:test discus$
Macintosh:test discus$
Macintosh:test discus$ cat test.rb
require 'rubygems'
require 'active_record'

class Emp < ActiveRecord::Base
set_table_name "EMP"
end

ActiveRecord::Base.establish_connection(
:adapter => "oracle",
:database => "lampeye",
:username => "scott",
:password => "tiger"
)

emp = Emp.find(:first,:conditions =>["ENAME = ?", "MILLER"])
puts "#{ emp.empno}, #{ emp.ename}, #{emp.job}, #{emp.hiredate}"
Macintosh:test discus$
Macintosh:test discus$ ruby test.rb
/Library/Ruby/Site/1.8/rubygems.rb:139:in `activate': can't activate activerecord (= 1.15.6), already activated
ctiverecord-2.1.0]
(Gem::Exception)
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
from /Library/Ruby/Gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:509:in `require'
from /Library/Ruby/Gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:354:in `new_constants_in'
from /Library/Ruby/Gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:509:in `require'
from /Library/Ruby/Gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:230:in
establish_connection'
from test.rb:8


エラーメッセージをみると、activerecord-1.15.6なんてのが悪さしているようだ。。。

Macintosh:test discus$
Macintosh:test discus$ gem li

*** LOCAL GEMS ***

actionmailer (2.1.0, 1.3.6, 1.3.3)
actionpack (2.1.0, 1.13.6, 1.13.3)
actionwebservice (1.2.6, 1.2.3)
activerecord (2.1.0, 1.15.6, 1.15.3) activeresource (2.1.0)
activesupport (2.1.0, 1.4.4, 1.4.2)
acts_as_ferret (0.4.1)

・・・・中略・・・・
<
ruby-yadis (0.3.4)
rubygems-update (1.1.1)
rubynode (0.1.3)
sources (0.0.1)
sqlite3-ruby (1.2.1)
termios (0.9.4)

Macintosh:test discus$
Macintosh:test discus$

ということで、どうやら古いactiverecordが悪さしているらしい。。というところまでは分かった。。。uninstallすればいいらしい。どうやるか調べとく。=>TODO

ということで次回へ続く。




バックナンバー:
Mac de Ruby on Rails - #10 - IntelMac編 #1
Mac de Ruby on Rails - #11 - IntelMac編 #2


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

2008年6月15日 (日)

Mac de Ruby on Rails - #11 - IntelMac編 #2

さて、つづきです。ruby-oci8をインストールする。(ruby-oci8は、1.0.0を事前にダウンロードしておいた。尚、本記事を書いている時点では、1.0.1が最新。)

まず、make。

Macintosh:˜ discus$ ll
total 216
drwx------+ 32 discus staff 1088 6 8 23:25 Desktop
drwx------+ 10 discus staff 340 1 3 01:32 Documents
drwx------+ 14 discus staff 476 6 8 23:26 Downloads
drwxr-xr-x 10 discus staff 340 12 19 16:03 Image Browser
drwxr-xr-x 10 discus staff 340 12 19 16:57 Image Kit Browser
drwx------+ 32 discus staff 1088 3 1 14:07 Library
drwx------+ 3 discus staff 102 11 26 2007 Movies
drwx------+ 4 discus staff 136 2 2 11:12 Music
drwx------+ 9 discus staff 306 6 14 05:21 Pictures
drwxr-xr-x+ 5 discus staff 170 11 26 2007 Public
drwxr-xr-x+ 5 discus staff 170 11 26 2007 Sites
drwxr-xr-x 16 discus staff 544 11 25 2007 ruby-oci8-1.0.0
-rw-r--r-- 1 discus staff 107494 3 2 02:27 ruby-oci8-1.0.0.tar.gz
Macintosh:˜ discus$ cd ruby-oci8-1.0.0
Macintosh:ruby-oci8-1.0.0 discus$ make
ruby setup.rb config
---> lib
---> lib/DBD
---> lib/DBD/OCI8
<--- lib/DBD/OCI8
<--- lib/DBD
<--- lib
---> ext
---> ext/oci8
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby /Users/discus/ruby-oci8-1.0.0/ext/oci8/extconf.rb
checking for load library path... (DYLD_LIBRARY_PATH)...
found: /Users/Shared/OracleInstantClient/libclntsh.dylib.10.1 looks like an instant client.
checking for cc... ok
checking for gcc... yes
checking for LP64... no
checking for ruby header... ok
checking for OCIInitialize() in oci.h... no
---------------------------------------------------
error messages:
Could not compile with Oracle instant client.
You may need to set a environment variable:
DYLD_LIBRARY_PATH=/Users/Shared/OracleInstantClient
export DYLD_LIBRARY_PATH

---------------------------------------------------
See:
* http://ruby-oci8.rubyforge.org/ja/HowToInstall.html
* http://ruby-oci8.rubyforge.org/ja/ReportInstallProblem.html

*** /Users/discus/ruby-oci8-1.0.0/ext/oci8/extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.

Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=/Users/discus/ruby-oci8-1.0.0/ext/oci8
--curdir
--ruby=/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
--with-instant-client
--without-instant-client
/Users/discus/ruby-oci8-1.0.0/ext/oci8/oraconf.rb:941:in `initialize': RuntimeError (RuntimeError)
from /Users/discus/ruby-oci8-1.0.0/ext/oci8/oraconf.rb:236:in `new'
from /Users/discus/ruby-oci8-1.0.0/ext/oci8/oraconf.rb:236:in `get'
from /Users/discus/ruby-oci8-1.0.0/ext/oci8/extconf.rb:6
'system /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby /Users/discus/ruby-oci8-1.0.0/ext/oci8/extconf.rb ' failed
Try 'ruby setup.rb --help' for detailed usage.
make: *** [config.save] Error 1
Macintosh:ruby-oci8-1.0.0 discus$

checking for OCIInitialize() in oci.h... noというエラーが出てmakeできない。いろいろ調べてみたら、ruby-oci8 1.0.0はInteli386アーキテクチャのみ有効なようなので、以下のようにコンパイルオプションに"-arch i386"を追加すればインストールできるとのこと。
以下のサイトを参考にさせてもらった。
http://blog.rayapps.com/2008/04/24/how-to-setup-ruby-and-new-oracle-instant-client-on-leopard/

ということで再make。

Macintosh:ruby-oci8-1.0.0 discus$ export ARCHFLAGS="-arch i386"
Macintosh:ruby-oci8-1.0.0 discus$ make
ruby setup.rb config
---> lib
---> lib/DBD
---> lib/DBD/OCI8
<--- lib/DBD/OCI8
<--- lib/DBD
<--- lib
---> ext
---> ext/oci8
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby /Users/discus/ruby-oci8-1.0.0/ext/oci8/extconf.rb
checking for load library path... (DYLD_LIBRARY_PATH)...
found: /Users/Shared/OracleInstantClient/libclntsh.dylib.10.1 looks like an instant client.
checking for cc... ok
checking for gcc... yes
checking for LP64... no
checking for ruby header... ok
checking for OCIInitialize() in oci.h... yes
checking for OCIEnvCreate()... yes
checking for OCITerminate()... yes
checking for OCILobOpen()... yes
checking for OCILobClose()... yes
checking for OCILobCreateTemporary()... yes
checking for OCILobGetChunkSize()... yes
checking for OCILobLocatorAssign()... yes
creating ../../lib/oci8.rb from /Users/discus/ruby-oci8-1.0.0/ext/oci8/../../lib/oci8.rb.in
creating extconf.h
creating Makefile
<--- ext/oci8
<--- ext
ruby setup.rb setup
---> lib
---> lib/DBD
---> lib/DBD/OCI8
<--- lib/DBD/OCI8
<--- lib/DBD
<--- lib
---> ext
---> ext/oci8
make
gcc -I. -I. -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0 -I/Users/discus/ruby-oci8-1.0.0/ext/oci8 -DRUBY_EXTCONF_H=\"extconf.h\" -fno
-common -arch i386 -Os -pipe -fno-common -I/Users/Shared/OracleInstantClient/sdk/include -Wall -c oci8.c

・・・・中略・・・・

cc -arch i386 -pipe -bundle -undefined dynamic_lookup -o oci8lib.bundle oci8.o handle.o const.o env.o error.o svcctx.o server.o session.o
stmt.o define.o bind.o describe.o descriptor.o param.o lob.o oradate.o oranumber.o ocinumber.o attr.o -L"." -L"/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib" -L.
-arch i386 -lruby -L/Users/Shared/OracleInstantClient -lclntsh -lpthread -ldl -lm
<--- ext/oci8
<--- ext
Macintosh:ruby-oci8-1.0.0 discus$
Macintosh:ruby-oci8-1.0.0 discus$ sudo make install
Password:
ruby setup.rb install
---> lib
mkdir -p /Library/Ruby/Site/1.8/
install oci8.rb /Library/Ruby/Site/1.8/
---> lib/DBD
mkdir -p /Library/Ruby/Site/1.8/DBD
---> lib/DBD/OCI8
mkdir -p /Library/Ruby/Site/1.8/DBD/OCI8
install OCI8.rb /Library/Ruby/Site/1.8/DBD/OCI8
<--- lib/DBD/OCI8
<--- lib/DBD
<--- lib
---> ext
---> ext/oci8
mkdir -p /Library/Ruby/Site/1.8/universal-darwin9.0/.
install oci8lib.bundle /Library/Ruby/Site/1.8/universal-darwin9.0/.
<--- ext/oci8
<--- ext
Macintosh:ruby-oci8-1.0.0 discus$


少々注意する点はあるがそれ以外は順調、順調。



バックナンバー:Mac de Ruby on Rails - #10 - IntelMac編 #1


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

2008年6月14日 (土)

Mac de Ruby on Rails - #10 - IntelMac編 #1

さて、やっと時間ができたので前回Leopard(IntelMac)のRosettaで動作させていたOracle Instant Client 10g R1 10.1.0.3.0 for MacOSX(PPC)からネイディブで動作するOracle Instant Client 10g R2 10.2.0.4.0 for MacOSX(Intel x86)へ入れ替えたのもこれをやるための準備。


Mac OS X 10.5.1 Leopard (Intel x86)にはRuby/Ruby on Railsがインストールされている。やっとx86ネイティブなOracle Instant Client for MacOSX(intel x86)がリリースされたのだからその環境を整えておかないと。。。というのがその理由。

では早速。今日は、Ruby on RailsとRubyGemsをアップデートするまで。

まずは、MacOSXの環境

Macintosh:˜ discus$ uname -a
Darwin Macintosh.local 9.3.0 Darwin Kernel Version 9.3.0: Fri May 23 00:49:16 PDT 2008; root:xnu-1228.5.18~1/RELEASE_I386 i386
Macintosh:˜ discus$
Macintosh:˜ discus$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.5.3
BuildVersion: 9D34
Macintosh:˜ discus$ /usr/sbin/system_profiler SPApplicationsDataType | grep Xcode

Xcode:
Get Info String: Xcode version 3.1
Location: /Developer/Applications/Xcode.app

次はRuby関連のバージョン確認(プレインストールされているRailsは2.xではなく、1.2.6なので今回は、2.1へアップデート RubyGemsもついでにアップデートしておく。)

Last login: Sat Jun 14 05:18:31 on console
Macintosh:˜ discus$ ruby -v
ruby 1.8.6 (2007-09-24 patchlevel 111) [universal-darwin9.0]
Macintosh:˜ discus$ rails -v
Rails 1.2.6
Macintosh:˜ discus$ gem -v
1.0.1
Macintosh:˜ discus$
Macintosh:˜ discus$


では、railsのアップデートから。

Macintosh:˜ discus$
Macintosh:˜ discus$ sudo gem install rails --include-dependencies
Password:
INFO: `gem install -y` is now default and will be removed
INFO: use --ignore-dependencies to install only the gems you list
Bulk updating Gem source index for: http://gems.rubyforge.org
Successfully installed rake-0.8.1
Successfully installed activesupport-2.1.0
Successfully installed activerecord-2.1.0
Successfully installed actionpack-2.1.0

・・・・中略・・・・

Installing RDoc documentation for rake-0.8.1...
Installing RDoc documentation for activesupport-2.1.0...
Installing RDoc documentation for activerecord-2.1.0...
Installing RDoc documentation for actionpack-2.1.0...
Installing RDoc documentation for actionmailer-2.1.0...
Installing RDoc documentation for activeresource-2.1.0...
Macintosh:˜ discus$
Macintosh:˜ discus$

うまくいったようだ。。:)


お次は、RubyGemsのアップデート

Macintosh:˜ discus$
Macintosh:˜ discus$ sudo gem update --system
Updating RubyGems...
Attempting remote update of rubygems-update
Successfully installed rubygems-update-1.1.1
1 gem installed
Updating version of RubyGems to 1.1.1
Installing RubyGems 1.1.1
mkdir -p /Library/Ruby/Site/1.8/rbconfig
install -c -m 0644 rbconfig/datadir.rb /Library/Ruby/Site/1.8/rbconfig/datadir.rb
mkdir -p /Library/Ruby/Site/1.8/rubygems
install -c -m 0644 rubygems/builder.rb /Library/Ruby/Site/1.8/rubygems/builder.rb
install -c -m 0644 rubygems/command.rb /Library/Ruby/Site/1.8/rubygems/command.rb

・・・・中略・・・・

= Announce: RubyGems Release 1.1.1

Release 1.1.1 fixes some bugs.

Bugs Fixed:

* Gem.prefix now returns non-nil only when RubyGems was installed outside
sitelibdir or libdir.
* The `gem server` gem list now correctly links to gem details.
* `gem update --system` now passes --no-format-executable to setup.rb.
* Gem::SourceIndex#refresh! now works with multiple gem repositories.
* Downloaded gems now go into --install-dir's cache directory.
* Various fixes to downloading gem metadata.
* `gem install --force` now ignores network errors too.
* `gem pristine` now rebuilds extensions.
* `gem update --system` now works on virgin Apple ruby.
* Gem::RemoteFetcher handles Errno::ECONNABORTED.
* Printing of release notes fixed.

For a full list of changes to RubyGems including credits, see the ChangeLog
file.

・・・・中略・・・・

If you find a bug where RubyGems crashes, please provide debug output. You can
do that with `gem --debug the_command`.

== Thanks

Keep those gems coming!

-- Jim & Chad & Eric (for the RubyGems team)


------------------------------------------------------------------------------

RubyGems installed the following executables:
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/gem

If `gem` was installed by a previous RubyGems installation, you may need
to remove it by hand.

RubyGems system software updated
Macintosh:˜ discus$
Macintosh:˜ discus$

こちらも問題なくアップデートできたようだ。


最後にバージョン確認。

Macintosh:˜ discus$
Macintosh:˜ discus$ gem -v
1.1.1
Macintosh:˜ discus$ ruby -v
ruby 1.8.6 (2007-09-24 patchlevel 111) [universal-darwin9.0]
Macintosh:˜ discus$ rails -v
Rails 2.1.0
Macintosh:˜ discus$

順調、順調!

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

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