2022年4月17日 (日)
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) | トラックバック (0)
2013年3月23日 (土)
R(relationship)の線が無いERDを見てて..思いついたこと....でもメンテする気がなけりゃ同じだけどな
ExcelでメンテされてないERDとか、リリース当初からERDのR(relationship)の線がない(ヒアリングするrelationshipは確かにあるんだよ)ERDとか見てて...寂しくなった。
ERD見る意味ないじゃん。というか、なんでそんなERDメンテするのに工数取ってんの?
とか、そんなERDベースにテストデータどうやって作るのさ...急に呼ばれて飛び出てきたのに...
ということをもやもや考えてた日々がしばらくありまして...
Oracle SQL Developer ModelerでリバースエンジニアリングしてERD作ろうと思っても...
そういう所って外部参照制約なんてないんですよ。
そもそも外部参照制約作れないだろって所もあるわけですけど...それはない前提で...
ERDをリバースエンジニアリングで作成しようと思うと、エンティティ図になってしまうという残念な結果になるのは目に見えてるわけです。はい。(><)
外部参照制約作成していれば.....
こんな感じですぐにできるので、面倒くさくなくて素敵なんですね。
だた、参照整合性嫌いだし。とか、毎日夜間バッチで整合性チェックしてるからいいの!
ってところは多いわけです。
....で....ある日、電球がピカりんこと光った訳ですよ....
Oracle SQL Developer Data Modelerのリバースエンジニアリングって 、外部参照制約がdisableかつnovalidateで制約が効かない(一部制限あり*1)状態でもERDではrelation作成してくれるかも〜〜〜〜。と。
忘れないうちにすぐ試す!
外部参照制約はdropしないで、disable かつ novalidate済み!
できた〜〜〜〜っ!
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) | トラックバック (0)
2013年2月 3日 (日)
Instant Client v11.2.0.3.0 for Mac OS X (Intel x86) のセットアップ
そういえば、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) | トラックバック (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) | トラックバック (0)
2013年1月 4日 (金)
まだ、レガシーブラウザと戦うのですか...
あけましておめでとうございます。
新年最初のエントリは、IE7、IE8との不毛な戦いは、もうやめましょうよ! というか、IE7、IE8を使うというのであれば、無理言わないほうが幸せですよね...という思いを込めて.....
そして、IE9 64bit版が遅い...謎。
Webkit SunSpider 0.9.1 - http://www.webkit.org/perf/sunspider/sunspider.html

Google V8 javascript benchmark suit version 7 - http://v8.googlecode.com/svn/data/benchmarks/v7/run.html 
Google Octane V1 - http://octane-benchmark.googlecode.com/svn/latest/index.html 
これら有名なベンチマークとは別にdocument.write()だけを10000回実行してみたのですが...それでも結構な差がでます。
document.write()を10000回実行した状態をDynaTrance AJAX Editionで覗いてみると.....javascriptの実行ではなくHTML DOM APIの処理速度が......深いですよね〜〜この世界は....ほんと。
開発が終わってしまったSafari 5.1.7 for Windowsもなんですが.....
IE8はこんな状態です.....
計測もしませんでしたが...IE7なんて、こんな状態ですからね....

以上、正月休み中、毎日息子とウルトラマン戦いごっこしていてひらめいたネタでした。
本年もよろしくお願いいたします。
試験環境はVirtualBox4.2.4 for OS X上のWindowsXPとWindows7(64bit)とおまけでOS X Mountain Lion上でも行いました。
どちらのGestOSも4CPUとしてあります。
グラフの値は、各テスト、各ブラウザで10回行い最大値、最小値を除いた平均値です。
ホストOSは、OS X Mountain Lion 
| 固定リンク | 0 | コメント (0) | トラックバック (0)
2012年12月23日 (日)
2012年12月15日 (土)
VirtualBoxのゲストさん、いらっしゃ〜〜い
VirtualBox で いろんなGuestOS起動してみた。(MacOS Xは以前書きましたけど、他のOSもまとめて書いておきますね)
HostはMac/OS X Mountain Lionでございます。

VirtualBoxは、4.2.4でございます。

| 固定リンク | 0 | コメント (0) | トラックバック (0)
2012年11月10日 (土)
遅まきながら、JDK7 on Maountain Lion
JDK7インストールするのすっかり忘れてた。><
http://www.oracle.com/technetwork/java/javase/downloads/jdk7u9-downloads-1859576.html
| 固定リンク | 0 | コメント (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にしてしまうと仕様通り起動しなくなります。
遊びたい方は、統合アップデートしないのが吉だけど、セキュリティパッチも適用されていない状態なのでネットへのアクセスは控えたほうがいいかなと。

該当部分を拡大した画像は以下
Unsupported CPUってでてますよね。:)
ちなみに、Snow Leopard のDVDでインストールしようとする際はUnsupported CPUとでてpanic起こすようになってます。Serverならいいんでしょうけどね。うちにあるDVDはTiger Serverなんで試せないw
| 固定リンク | 0 | コメント (0) | トラックバック (0)
2012年11月 8日 (木)
MacOS X Leopard on VirtualBox 4.2.4 for OS X #2
しばらすくるとInstallerが起動して見慣れた画面に!

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




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

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

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

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

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

ちなみに、ディスプレイの解像度が動的に変更できないので、
$ VBoxManage setextradata "your vm name" "VBoxInternal2/EfiGopMode" "4"
とかするといいと思います。ググればこのあたりはすぐ見つかるかと。
your vm nameの箇所には仮想マシン名を指定してね。
ね。ほんとうに小細工なしで起動するでしょ :) 10.5までのLeopardならね。
ではでは。
Enjoy Vitrual Machines! :)
あ、忘れてた、サウンドは出ないので、以下のスレッド参考にしてね。
| 固定リンク | 0 | コメント (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の情報から.

ちなみに、VIrtualBox 4.2.4でサポートされているとされているOS X は以下の通り、Parallels Server for Mac 4.0と同じように見えます. これをみるとOS XでゲストOSが必要な場合、Parallels Desktop 8 for Macを使ったほう
・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の仮想マシンを変換して起動しようとすると仕様通りの結果になります。

ホストマシンによっても影響はありそうで今回使用したMacProでは以下の通り。
VirtualBox 4.2.4 for OS X へ Extention Packを追加してあります。


Leopardの場合32bitにしてね。

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

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




LionServer.vdi なのは気にしないでね。





そして最後は、これね。

| 固定リンク | 0 | コメント (2) | トラックバック (0)
2012年10月29日 (月)
VirtualBox 4.2.4 Released
余裕がなくてアップデート1つ飛ばしてしまった ><
OS X関連 bug fix含んでいるので更新など...
対応ゲストOS一覧はここ.
https://www.virtualbox.org/wiki/Guest_OSes




| 固定リンク | 0 | コメント (0) | トラックバック (0)
2012年10月 2日 (火)
2012年9月30日 (日)
あ、Mountain LionにはX11含まれてなかったんだった
Mountain LionにはX11含まれてなかったことを忘れてた><
ということで、ナビゲートされるので以下、XQuartsのサイトからダウンロードするべし。という備忘録
http://xquartz.macosforge.org/landing/
| 固定リンク | 0 | コメント (0) | トラックバック (0)
2012年9月23日 (日)
随分Mac率高くなって来た
以下の本ブログをアクセスしているプラットフォーム別比率を示しています。
Google Analyticsの値を基にしてNumbersでグラフを作ってみたのですが、ブログ開設当時(ブログ開設一年後からGoogle Analytics利用開始)に比べMacユーザのアクセス数が随分多くなってます :) iOSの伸びが凄いです

| 固定リンク | 0 | コメント (0) | トラックバック (0)
2012年9月22日 (土)
VirtualBox 4.2 Released !!!
VirtualBoxリリーススピードがすごいっす。。
VIrutalBox 4.2リリース! グループ化したVMは一括起動できるんで便利ですね〜
一括起動するとする際には、グループ内の並び順にで順次起動されてます。この機能が追加されるとたぶん更なる要求があるかもしれませんね。順に起動するだけでなく任意に一括起動とか、各VMの起動間隔したいとか :)


2012/9/23更新(相変わらずミスが多い ><)
| 固定リンク | 0 | コメント (0) | トラックバック (0)
2012年9月11日 (火)
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
確認は管理ポータルで!(どこみればよいか分からなかったので楽な方法で..)






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



表と索引ができたのでデータ登録。
これまた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>>
索引は正しく作成されています。(管理ポータルから確認した結果)


お〜〜〜〜〜っ!。 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) | トラックバック (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に見える。次いでなので軽く負荷をかけてみた :)

再び、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


| 固定リンク | 0 | コメント (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対応も順調のようですな〜 :)

とりあえず、MacOS X Lion阪はアップデートdone.
| 固定リンク | 0 | コメント (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の略じゃないからね!)のページを見てみると…
このページだと「システム環境設定」>「プリントとスキャン」からスキャナーとして使えるような記載に読めるような読めないような…わかりずら〜〜〜い。
(あ、ちなみに私のは、Mac OS X Lion 10.7.4です)
いろいろ試してみたものの実際にはそのようなペインは無いんです。はい。
と、再び、ぼ〜〜〜〜〜ぜん…
ではどうするか、Mac OS X にはイメージキャプチャというアプリケーションが付属しています! それを使えばいいの! (キリっ

| 固定リンク | 0 | コメント (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

とりあえずアップデート

| 固定リンク | 0 | コメント (0) | トラックバック (0)
2012年4月 7日 (土)
VirtualBox 4.1.12 released
https://www.virtualbox.org/wiki/Changelog

おやおや、今気づいたけど、VirtualBoxについてのダイアログ。バー部分が角張ってるよね。4.1.10から上部だけ角張ってる。
4.1.8まではラウンドだったのに…気になる
以下、4.1.8

| 固定リンク | 0 | コメント (0) | トラックバック (0)
2012年3月16日 (金)
VirtualBox 4.1.10 released - あれ前回は 4.1.8だったけど一つ飛んだね
少々時間空いたな〜と思っていたら、4.1.8の次は、一つ飛ばして4.1.10ですね。:)
Oracle OpenWorld Tokyo 2012 Unconference当日のデモ環境は VirtualBox4.1.10で、GuestOSはCentOS5.8、データベースはOracle11g R2で。もちろんホストOSはOS Xですよ:)
| 固定リンク | 0 | コメント (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) | トラックバック (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.)
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: 国際化対応しています。言語環境が日本語であればメニューやボタンのテキストは日本語で表示されます。![]()
![]()
![]()
![]()
![]()
| 固定リンク | 0 | コメント (0) | トラックバック (0)
2011年12月20日 (火)
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) | トラックバック (0)
2011年11月 9日 (水)
2011年10月 5日 (水)
2011年8月16日 (火)
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アプリケーションアイコンを右クリックし、「ボップアップメニュー」>「パッケージの内容を表示」を選択します。

でFinderに表示されたVirtualBoxパッケージないを開いていくと Contents/MacOS/VBoxGuestAdditions.iso というファイルが見つかります。これがGuest Additions用の.iso形式ファイル。これがなぜかマウントできないんだな。以前はマウントできてたのに…
この VBoxGuestAdditions.iso をDesktopなどアクセスしやすい場所にコピーしちゃいます。
あとはいつものように、CD/DVD-ROMとしてマウントして…

コマンドを打つだけ。:)
[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

これまでのあらずじ…
| 固定リンク | 0 | コメント (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として構築してみた。この続きは暇を見て…。


| 固定リンク | 0 | コメント (0) | トラックバック (0)
2011年7月22日 (金)
2011年7月17日 (日)
VirtualBox 4.0.12 リリース、活発だな〜 :)
気づいたら、4.0.12がリリースされてる。:) すげ〜活発な。 アップデートdone.
| 固定リンク | 0 | コメント (0) | トラックバック (0)
2011年6月29日 (水)
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)
| 固定リンク | 0 | コメント (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…
| 固定リンク | 0 | コメント (0) | トラックバック (0)
2011年3月11日 (金)
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) | トラックバック (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) | トラックバック (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確認環境のできあがり。
フォント追加がめんどくさいので日本語フォントを含んだのもあるといいんですけどね〜 :)
| 固定リンク | 0 | コメント (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 ˜]$
うまくいくもんですね〜 :)
・VirtualBox 4.0にアップデートした
| 固定リンク | 0 | コメント (0) | トラックバック (0)
2011年1月 6日 (木)
VirtualBox de Oracle11g R2 RAC #23
VirtualBox de Oracle11g R2 RACのつづき。
さて、いよいよVirtualBox de Oracle11g R2 RACの最終回。簡単なTAFのテスト!
- ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
- Linux (CentOS 5.5 x86_64)のインストール
- Openfiler2.3 x86のインストール
- Openfiler2.3 x86によるiSCSIボリュームの構成
- Oracle RACノードでのiSCSIボリュームの構成 その1、その2、その3
- Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
- Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
- Oracle RACノード間リモートアクセスの構成とntpの構成
(sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた) - ローカルネームサーバの構成
- Oracle RACノード構成ファイルの確認
- Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
- Oracle11g R2 11.2.0.1.0 RACインストール事前作業
- Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
- Oracle11g R2 11.2.0.1.0 Database softwareのインストール
- Oracle11g R2 11.2.0.1.0 examplesのインストール
- Oracle Cluster databaseの作成
- Net Serviceの確認
- Oralce Grid InsfastructureとDatabase構成の確認
- Clusterの開始と停止の確認
- 簡単な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) | トラックバック (0)
2011年1月 5日 (水)
VirtualBox de Oracle11g R2 RAC #22
VirtualBox de Oracle11g R2 RACのつづき。
ラス前です :) cluster databaseの起動停止確認。
- ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
- Linux (CentOS 5.5 x86_64)のインストール
- Openfiler2.3 x86のインストール
- Openfiler2.3 x86によるiSCSIボリュームの構成
- Oracle RACノードでのiSCSIボリュームの構成 その1、その2、その3
- Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
- Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
- Oracle RACノード間リモートアクセスの構成とntpの構成
(sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた) - ローカルネームサーバの構成
- Oracle RACノード構成ファイルの確認
- Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
- Oracle11g R2 11.2.0.1.0 RACインストール事前作業
- Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
- Oracle11g R2 11.2.0.1.0 Database softwareのインストール
- Oracle11g R2 11.2.0.1.0 examplesのインストール
- Oracle Cluster databaseの作成
- Net Serviceの確認
- Oralce Grid InsfastructureとDatabase構成の確認
- Clusterの開始と停止の確認
- 簡単な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) | トラックバック (0)
VirtualBox de Oracle11g R2 RAC #21
VirtualBox de Oracle11g R2 RACのつづき。
- ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
- Linux (CentOS 5.5 x86_64)のインストール
- Openfiler2.3 x86のインストール
- Openfiler2.3 x86によるiSCSIボリュームの構成
- Oracle RACノードでのiSCSIボリュームの構成 その1、その2、その3
- Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
- Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
- Oracle RACノード間リモートアクセスの構成とntpの構成
(sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた) - ローカルネームサーバの構成
- Oracle RACノード構成ファイルの確認
- Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
- Oracle11g R2 11.2.0.1.0 RACインストール事前作業
- Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
- Oracle11g R2 11.2.0.1.0 Database softwareのインストール
- Oracle11g R2 11.2.0.1.0 examplesのインストール
- Oracle Cluster databaseの作成
- Net Serviceの確認
- Oralce Grid InsfastructureとDatabase構成の確認
- Clusterの開始と停止の確認
- 簡単な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) | トラックバック (0)
VirtualBox de Oracle11g R2 RAC #20
VirtualBox de Oracle11g R2 RACのつづき。
データベースも無事?作成できたので、今回はNet Serviceの確認を。
- ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
- Linux (CentOS 5.5 x86_64)のインストール
- Openfiler2.3 x86のインストール
- Openfiler2.3 x86によるiSCSIボリュームの構成
- Oracle RACノードでのiSCSIボリュームの構成 その1、その2、その3
- Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
- Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
- Oracle RACノード間リモートアクセスの構成とntpの構成
(sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた) - ローカルネームサーバの構成
- Oracle RACノード構成ファイルの確認
- Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
- Oracle11g R2 11.2.0.1.0 RACインストール事前作業
- Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
- Oracle11g R2 11.2.0.1.0 Database softwareのインストール
- Oracle11g R2 11.2.0.1.0 examplesのインストール
- Oracle Cluster databaseの作成
- Net Serviceの確認
- Oralce Grid InsfastructureとDatabase構成の確認
- Clusterの開始と停止の確認
- 簡単な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) | トラックバック (0)
2011年1月 4日 (火)
VirtualBox de Oracle11g R2 RAC #19
VirtualBox de Oracle11g R2 RACのつづき。
いよいよデータベースの作成です。 :)
- ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
- Linux (CentOS 5.5 x86_64)のインストール
- Openfiler2.3 x86のインストール
- Openfiler2.3 x86によるiSCSIボリュームの構成
- Oracle RACノードでのiSCSIボリュームの構成 その1、その2、その3
- Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
- Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
- Oracle RACノード間リモートアクセスの構成とntpの構成
(sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた) - ローカルネームサーバの構成
- Oracle RACノード構成ファイルの確認
- Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
- Oracle11g R2 11.2.0.1.0 RACインストール事前作業
- Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
- Oracle11g R2 11.2.0.1.0 Database softwareのインストール
- Oracle11g R2 11.2.0.1.0 examplesのインストール
- Oracle Cluster databaseの作成
- Net Serviceの確認
- Oralce Grid InsfastructureとDatabase構成の確認
- Clusterの開始と停止の確認
- 簡単なTransparent Application Failover (TAF)の確認
Oracle Cluster databaseの作成
映像を見てもお分かりだと思いますが、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) | トラックバック (0)
2011年1月 3日 (月)
VirtualBox de Oracle11g R2 RAC #18
VirtualBox de Oracle11g R2 RACのつづきです。
インストールしなくてもいいんだけどいろいろと試したくなったときは便利なので、次いでにexamplesもインストール。
- ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
- Linux (CentOS 5.5 x86_64)のインストール
- Openfiler2.3 x86のインストール
- Openfiler2.3 x86によるiSCSIボリュームの構成
- Oracle RACノードでのiSCSIボリュームの構成 その1、その2、その3
- Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
- Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
- Oracle RACノード間リモートアクセスの構成とntpの構成
(sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた) - ローカルネームサーバの構成
- Oracle RACノード構成ファイルの確認
- Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
- Oracle11g R2 11.2.0.1.0 RACインストール事前作業
- Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
- Oracle11g R2 11.2.0.1.0 Database softwareのインストール
- Oracle11g R2 11.2.0.1.0 examplesのインストール
- Oracle Cluster databaseの作成
- Net Serviceの確認
- Oralce Grid InsfastructureとDatabase構成の確認
- Clusterの開始と停止の確認
- 簡単な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を起動中です...
・・・中略・・・
次回へつづく。
これまでのあらすじ
・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) | トラックバック (0)
VirtualBox de Oracle11g R2 RAC #17
VirtualBox de Oracle11g R2 RACのつづきです。
つづいてOracle11g R2 11.2.0.1.0 Database Installのインストール。
データベースは作成しないでソフトウェアだけのインストールを行います。
- ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
- Linux (CentOS 5.5 x86_64)のインストール
- Openfiler2.3 x86のインストール
- Openfiler2.3 x86によるiSCSIボリュームの構成
- Oracle RACノードでのiSCSIボリュームの構成 その1、その2、その3
- Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
- Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
- Oracle RACノード間リモートアクセスの構成とntpの構成
(sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた) - ローカルネームサーバの構成
- Oracle RACノード構成ファイルの確認
- Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
- Oracle11g R2 11.2.0.1.0 RACインストール事前作業
- Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
- Oracle11g R2 11.2.0.1.0 Database softwareのインストール
- Oracle11g R2 11.2.0.1.0 examplesのインストール
- Oracle Cluster databaseの作成
- Net Serviceの確認
- Oralce Grid InsfastructureとDatabase構成の確認
- Clusterの開始と停止の確認
- 簡単な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) | トラックバック (0)
VirtualBox de Oracle11g R2 RAC #16
VirtualBox de Oracle11g R2 RACのつづきです。
いよいよOracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール♪
- ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
- Linux (CentOS 5.5 x86_64)のインストール
- Openfiler2.3 x86のインストール
- Openfiler2.3 x86によるiSCSIボリュームの構成
- Oracle RACノードでのiSCSIボリュームの構成 その1、その2、その3
- Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
- Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
- Oracle RACノード間リモートアクセスの構成とntpの構成
(sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた) - ローカルネームサーバの構成
- Oracle RACノード構成ファイルの確認
- Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
- Oracle11g R2 11.2.0.1.0 RACインストール事前作業
- Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
- Oracle11g R2 11.2.0.1.0 Database softwareのインストール
- Oracle11g R2 11.2.0.1.0 examplesのインストール
- Oracle Cluster databaseの作成
- Net Serviceの確認
- Oralce Grid InsfastructureとDatabase構成の確認
- Clusterの開始と停止の確認
- 簡単な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. お待ちください...
インストールの後半で、上記画面が表示されたら、いつものお約束、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) | トラックバック (0)
2011年1月 2日 (日)
VirtualBox de Oracle11g R2 RAC #15
VirtualBox de Oracle11g R2 RACのつづきです。
今回はOracle11g R2 11.2.0.1.0 RACインストール事前作業。
- ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
- Linux (CentOS 5.5 x86_64)のインストール
- Openfiler2.3 x86のインストール
- Openfiler2.3 x86によるiSCSIボリュームの構成
- Oracle RACノードでのiSCSIボリュームの構成 その1、その2、その3
- Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
- Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
- Oracle RACノード間リモートアクセスの構成とntpの構成
(sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた) - ローカルネームサーバの構成
- Oracle RACノード構成ファイルの確認
- Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
- Oracle11g R2 11.2.0.1.0 RACインストール事前作業
- Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
- Oracle11g R2 11.2.0.1.0 Database softwareのインストール
- Oracle11g R2 11.2.0.1.0 examplesのインストール
- Oracle Cluster databaseの作成
- Net Serviceの確認
- Oralce Grid InsfastructureとDatabase構成の確認
- Clusterの開始と停止の確認
- 簡単な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) | トラックバック (0)
2011年1月 1日 (土)
VirtualBox de Oracle11g R2 RAC #14
VirtualBox de Oracle11g R2 RACのつづきです。
今回は、ASMlibのインストール及び構成です。(やっと半分w)
- ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
- Linux (CentOS 5.5 x86_64)のインストール
- Openfiler2.3 x86のインストール
- Openfiler2.3 x86によるiSCSIボリュームの構成
- Oracle RACノードでのiSCSIボリュームの構成 その1、その2、その3
- Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
- Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
- Oracle RACノード間リモートアクセスの構成とntpの構成
(sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた) - ローカルネームサーバの構成
- Oracle RACノード構成ファイルの確認
- Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
- Oracle11g R2 11.2.0.1.0 RACインストール事前作業
- Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
- Oracle11g R2 11.2.0.1.0 Database softwareのインストール
- Oracle11g R2 11.2.0.1.0 examplesのインストール
- Oracle Cluster databaseの作成
- Net Serviceの確認
- Oralce Grid InsfastructureとDatabase構成の確認
- Clusterの開始と停止の確認
- 簡単な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 ('[]'). Hittingwithout 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) | トラックバック (0)
2010年12月31日 (金)
VirtualBox de Oracle11g R2 RAC #13
VirtualBox de Oracle11g R2 RACのつづきです。
RACを構成する各ノードの構成ファイルを確認しておきま〜す。
- ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
- Linux (CentOS 5.5 x86_64)のインストール
- Openfiler2.3 x86のインストール
- Openfiler2.3 x86によるiSCSIボリュームの構成
- Oracle RACノードでのiSCSIボリュームの構成 その1、その2、その3
- Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
- Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
- Oracle RACノード間リモートアクセスの構成とntpの構成
(sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた) - ローカルネームサーバの構成
- Oracle RACノード構成ファイルの確認
- Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
- Oracle11g R2 11.2.0.1.0 RACインストール事前作業
- Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
- Oracle11g R2 11.2.0.1.0 Database softwareのインストール
- Oracle11g R2 11.2.0.1.0 examplesのインストール
- Oracle Cluster databaseの作成
- Net Serviceの確認
- Oralce Grid InsfastructureとDatabase構成の確認
- Clusterの開始と停止の確認
- 簡単な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のスナップショットを乗せておきますね。
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) | トラックバック (0)
2010年12月26日 (日)
VirtualBox de Oracle11g R2 RAC #12
VirtualBox de Oracle11g R2 RACのつづきです。
今回はRACノード構成ファイルの確認という予定だったのですが、DNSの構成を別建てにして置く事にします。量が多いので (^^;;
構成するDNSは、ローカルネットワークかつRACを構成するノードの管理さえできればいいので、ローカルネームサーバとして機能すれば十分。
ということで、RAC向けローカルネームサーバを構成することにします。(DNSは素人なので調べるほうが大変だったw)
では、さっそくやってみましょう。
- ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
- Linux (CentOS 5.5 x86_64)のインストール
- Openfiler2.3 x86のインストール
- Openfiler2.3 x86によるiSCSIボリュームの構成
- Oracle RACノードでのiSCSIボリュームの構成 その1、その2、その3
- Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
- Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
- Oracle RACノード間リモートアクセスの構成とntpの構成
(sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた) - ローカルネームサーバの構成
- Oracle RACノード構成ファイルの確認
- Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
- Oracle11g R2 11.2.0.1.0 RACインストール事前作業
- Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
- Oracle11g R2 11.2.0.1.0 Database softwareのインストール
- Oracle11g R2 11.2.0.1.0 examplesのインストール
- Oracle Cluster databaseの作成
- Net Serviceの確認
- Oralce Grid InsfastructureとDatabase構成の確認
- Clusterの開始と停止の確認
- 簡単な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
確認! 最新版になりました!
[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) | トラックバック (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の構成
では、さっそくやってみましょう。
- ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
- Linux (CentOS 5.5 x86_64)のインストール
- Openfiler2.3 x86のインストール
- Openfiler2.3 x86によるiSCSIボリュームの構成
- Oracle RACノードでのiSCSIボリュームの構成 その1、その2、その3
- Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
- Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
- Oracle RACノード間リモートアクセスの構成とntpの構成
(sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた) - ローカルネームサーバの構成
- Oracle RACノード構成ファイルの確認
- Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
- Oracle11g R2 11.2.0.1.0 RACインストール事前作業
- Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
- Oracle11g R2 11.2.0.1.0 Database softwareのインストール
- Oracle11g R2 11.2.0.1.0 examplesのインストール
- Oracle Cluster databaseの作成
- Net Serviceの確認
- Oralce Grid InsfastructureとDatabase構成の確認
- Clusterの開始と停止の確認
- 簡単な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]#
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ユーザで実施)
[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) | トラックバック (0)
2010年12月21日 (火)
VirtualBox de Oracle11g R2 RAC #10
VirtualBox de Oracle11g R2 RACのつづきです。
今回は、カーネルパラメータの調整、その他。
- ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
- Linux (CentOS 5.5 x86_64)のインストール
- Openfiler2.3 x86のインストール
- Openfiler2.3 x86によるiSCSIボリュームの構成
- Oracle RACノードでのiSCSIボリュームの構成 その1、その2、その3
- Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
- Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
- Oracle RACノード間リモートアクセスの構成とntpの構成
(sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた) - ローカルネームサーバの構成
- Oracle RACノード構成ファイルの確認
- Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
- Oracle11g R2 11.2.0.1.0 RACインストール事前作業
- Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
- Oracle11g R2 11.2.0.1.0 Database softwareのインストール
- Oracle11g R2 11.2.0.1.0 examplesのインストール
- Oracle Cluster databaseの作成
- Net Serviceの確認
- Oralce Grid InsfastructureとDatabase構成の確認
- Clusterの開始と停止の確認
- 簡単な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) | トラックバック (0)
2010年12月19日 (日)
VirtualBox de Oracle11g R2 RAC #9
VirtualBox de Oracle11g R2 RACのつづきです。
さて、やっと、Oracle所有者と関連ディレクトリの作成及び環境変数の設定作業まできました〜。
- ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
- Linux (CentOS 5.5 x86_64)のインストール
- Openfiler2.3 x86のインストール
- Openfiler2.3 x86によるiSCSIボリュームの構成
- Oracle RACノードでのiSCSIボリュームの構成 その1、その2、その3
- Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
- Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
- Oracle RACノード間リモートアクセスの構成とntpの構成
(sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた) - ローカルネームサーバの構成
- Oracle RACノード構成ファイルの確認
- Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
- Oracle11g R2 11.2.0.1.0 RACインストール事前作業
- Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
- Oracle11g R2 11.2.0.1.0 Database softwareのインストール
- Oracle11g R2 11.2.0.1.0 examplesのインストール
- Oracle Cluster databaseの作成
- Net Serviceの確認
- Oralce Grid InsfastructureとDatabase構成の確認
- Clusterの開始と停止の確認
- 簡単な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) | トラックバック (0)
2010年12月18日 (土)
VirtualBox de Oracle11g R2 RAC #8
VirtualBox de Oracle11g R2 RACのつづきです。
前回はiSCSI targetにローカルデバイス名をマッピングしたとこまででした。今回は前回iSCSIターゲットをマッピングしたローカルデバイスにパーティションを作成します。(
手順は前回と同じなので、そちらも参考に。
- ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
- Linux (CentOS 5.5 x86_64)のインストール
- Openfiler2.3 x86のインストール
- Openfiler2.3 x86によるiSCSIボリュームの構成
- Oracle RACノードでのiSCSIボリュームの構成 その1、その2、その3
- Oracle所有者と関連ディレクトリの作成及び環境変数の設定
- Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
- Oracle RACノード間リモートアクセスの構成(念のために行った、多分、実施しなくても大丈夫だと思うけど。別途確認する予定)
- Oracle RACノード構成ファイルの確認
- Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
- Oracle11g R2 11.2.0.1.0 RACインストール事前作業
- Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
- Oracle11g R2 11.2.0.1.0 Database softwareのインストール
- Oracle11g R2 11.2.0.1.0 examplesのインストール
- Oracle Cluster databaseの作成
- Net Serviceの確認
- Oralce Grid InsfastructureとDatabase構成の確認
- Clusterの開始と停止の確認
- 簡単な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) | トラックバック (0)
2010年12月12日 (日)
Oracle11g R2 EE 11.2.0.1.0 for Solaris10 (x86_64) on VirtualBox 3.2.12 for MacOS X
| 固定リンク | 0 | コメント (0) | トラックバック (0)
2010年12月10日 (金)
VirtualBox de Oracle11g R2 RAC #6
VirtualBox de Oracle11g R2 RACのつづきです。
前回はOpenfiler側でその準備をしたところまででした。今回はOracle RACの各ノードでiSCSIボリュームの構成です。
今回も以前行ったCentOS5.2(x86)内容と同じ手順なのでそちらの記事も参考してくださいね。
- ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
- Linux (CentOS 5.5 x86_64)のインストール
- Openfiler2.3 x86のインストール
- Openfiler2.3 x86によるiSCSIボリュームの構成
- Oracle RACノードでのiSCSIボリュームの構成 その1
- Oracle所有者と関連ディレクトリの作成及び環境変数の設定
- Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
- Oracle RACノード間リモートアクセスの構成とntpの構成
(sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた) - ローカルネームサーバの構成
- Oracle RACノード構成ファイルの確認
- Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
- Oracle11g R2 11.2.0.1.0 RACインストール事前作業
- Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
- Oracle11g R2 11.2.0.1.0 Database softwareのインストール
- Oracle11g R2 11.2.0.1.0 examplesのインストール
- Oracle Cluster databaseの作成
- Net Serviceの確認
- Oralce Grid InsfastructureとDatabase構成の確認
- Clusterの開始と停止の確認
- 簡単な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の管理画面で接続状態を確認してみます。
今日はこの辺で。
これまでのあらすじ
・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) | トラックバック (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ボリュームで利用することになります。(この未割当分が大切。この時点ではパーティションに割り当てないで残しておいてね)
この時点では/etc/hostsファイルだけで、DNSは利用していません。
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の共有ディスク・クラスタ・ファイルシステム管理は可能なようですが…)
- ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
- Linux (CentOS 5.5 x86_64)のインストール
- Openfiler2.3 x86のインストール
- Openfiler2.3 x86によるiSCSIボリュームの構成
- Oracle RACノードでのiSCSIボリュームの構成
- Oracle所有者と関連ディレクトリの作成及び環境変数の設定
- Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
- Oracle RACノード間リモートアクセスの構成とntpの構成
(sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた) - ローカルネームサーバの構成
- Oracle RACノード構成ファイルの確認
- Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
- Oracle11g R2 11.2.0.1.0 RACインストール事前作業
- Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
- Oracle11g R2 11.2.0.1.0 Database softwareのインストール
- Oracle11g R2 11.2.0.1.0 examplesのインストール
- Oracle Cluster databaseの作成
- Net Serviceの確認
- Oralce Grid InsfastructureとDatabase構成の確認
- Clusterの開始と停止の確認
- 簡単な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を参照のこと。)
・ネットワークアクセスの構成
・Partitionの作成および、Volume groupの作成
・論理ボリュームの割当
・iSCSI Target Qualified Name(IQN)の設定
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にしたほうがわかりやすかったですね〜…後から反省。
・Network ACLの設定
・LUNマッピング
マッピング内容は以下の通り。
ここまでくれば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) | トラックバック (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
- ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
- Linux (CentOS 5.5 x86_64)のインストール
- Openfiler2.3 x86のインストール
- Openfiler2.3 x86によるiSCSIボリュームの構成
- Oracle RACノードでのiSCSIボリュームの構成
- Oracle所有者と関連ディレクトリの作成及び環境変数の設定
- Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
- Oracle RACノード間リモートアクセスの構成とntpの構成
(sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた) - ローカルネームサーバの構成
- Oracle RACノード構成ファイルの確認
- Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
- Oracle11g R2 11.2.0.1.0 RACインストール事前作業
- Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
- Oracle11g R2 11.2.0.1.0 Database softwareのインストール
- Oracle11g R2 11.2.0.1.0 examplesのインストール
- Oracle Cluster databaseの作成
- Net Serviceの確認
- Oralce Grid InsfastructureとDatabase構成の確認
- Clusterの開始と停止の確認
- 簡単な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) | トラックバック (0)
2010年12月 5日 (日)
2010年12月 4日 (土)
VirtualBox de Oracle11g R2 RAC #3
VirtualBox de Oracle11g R2 RACのつづきです。
以下のような内容で進めていきます。ほぼ元ネタに近いですけどね :)
前々回、前回と少々構成もあるあるていど書いてますが、全体像をまとめて書いておきますね。
- ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
- Linux (CentOS 5.5 x86_64)のインストール
- Openfiler2.3 x86のインストール
- Openfiler2.3 x86によるiSCSIボリュームの構成
- Oracle RACノードでのiSCSIボリュームの構成
- Oracle所有者と関連ディレクトリの作成及び環境変数の設定
- Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
- Oracle RACノード間リモートアクセスの構成とntpの構成
(sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた) - ローカルネームサーバの構成
- Oracle RACノード構成ファイルの確認
- Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
- Oracle11g R2 11.2.0.1.0 RACインストール事前作業
- Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
- Oracle11g R2 11.2.0.1.0 Database softwareのインストール
- Oracle11g R2 11.2.0.1.0 examplesのインストール
- Oracle Cluster databaseの作成
- Net Serviceの確認
- Oralce Grid InsfastructureとDatabase構成の確認
- Clusterの開始と停止の確認
- 簡単なTransparent Application Failover (TAF)の確認
・Hardware
・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
・System virtual machine software - VirtualBox 3.2.8 x86_64 for Linux
・Guest OS (for iSCSI) - Openfiler2.3 x86 (rPath Linux)
・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ネットワーク向きなんじゃないかと思っている。
・メインメモリ - 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ネットワークとして使う。
・メインメモリ - 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) | トラックバック (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の仮想マシンです!
・Oracle11g R2 x86_64の各ノードで利用するCentOS5.5 x86_64向けVM構成は以下の通り。
※こちらは64bitの仮想マシンです。
次回へつづく。
これまでのあら
・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) | トラックバック (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使ってて悩んだ所などを中心に書く予定。
・Memory - 12GB (2GB * 6)
・Disk - S-ATA2 1TB * 2
・NIC - on board Gbit NIC
グラフィックカードは気にしてなかったので安めの、 NVIDIA GeForce GTS 250 (512MB)

ソフトウェアは以下の通り。
ホスト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からも見えない)

という案で、VMごとクラッシュさせたりいろいろ悩みながらなんとかインスコ&構築done。現在は以下ような状態! :)


次回へつづく。
関連エントリ
・Mac de Oracle - 10万円未満 de RAC (11g編)#28
| 固定リンク | 0 | コメント (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なので以下のようなダイアログが表示される.「取り出す」ボタンをクリックして取り出しましょ!

| 固定リンク | 0 | コメント (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) | トラックバック (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) | トラックバック (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) | トラックバック (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) | トラックバック (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) | トラックバック (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まで増加したはず!。
このエントリに載せていない確認内容も含めてまとめると…
- Oracle11g R1(32bit)で_pga_max_sizeの値が、1000MBを超えると動的に変化し始める。
- Oracle10g R2 (64bit)と同じ。 - pga_aggregate_targetが1GB近くまでだと、pga_aggregate_targetの20%。
- Oracle10g R2 (64bit)と同じ。 - pga_aggregate_targetが1GB以上になると、_pga_max_sizeが、pga_aggregate_targetの19.999%程度の値に自動設定され、さらにその値の50%。結果的として、pga_aggregate_target値の10%をほんの少し下回る値が設定される。pga_aggregate_targetが5GBである場合、512MBをほんの少し下回るのサイズがpgaとして割り当てられる。
- 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) | トラックバック (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に設定されるとしちゃっても特に問題ないかもしれませんけどね。
前回の結果も含めてまとめると、
- Oracle10g R2になると、10g R1までとは異なり_pga_max_sizeの値が、1000MBを超えると動的に変化し始める。
- pga_aggregate_targetが1GB近くまでだと、pga_aggregate_targetの20%。
- pga_aggregate_targetが1GB以上になると、_pga_max_sizeが、pga_aggregate_targetの19.999%程度の値に自動設定され、さらにその値の50%。結果的として、pga_aggregate_target値の10%をほんの少し下回る値が設定される。pga_aggregate_targetが10GBである場合、1GBをほんの少し下回るのサイズがpgaとして割り当てられる。
- 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) | トラックバック (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) | トラックバック (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) | トラックバック (0)
2010年7月21日 (水)
2010年7月14日 (水)
2010年7月12日 (月)
2010年7月 9日 (金)
2010年7月 5日 (月)
2010年7月 2日 (金)
2010年6月30日 (水)
2010年6月25日 (金)
2010年6月24日 (木)
Dashboard de Aquarium v1.5 - ほんとにがんばってた、50位↓
なんか50位ギリギリでがんばってますw Dashboard de Aquarium v1.5 :)

| 固定リンク | 0 | コメント (0) | トラックバック (0)
2010年6月23日 (水)
2010年6月19日 (土)
2010年6月18日 (金)
2010年6月16日 (水)
2010年6月11日 (金)
2010年6月 9日 (水)
2010年6月 3日 (木)
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.)
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: 国際化対応しています。言語環境が日本語であればメニューやボタンのテキストは日本語で表示されます。![]()
![]()
![]()
![]()
| 固定リンク | 0 | コメント (0) | トラックバック (0)
2010年5月31日 (月)
IEって遅いんだよー。ってことをあまり気にしてない方へ。
speed/validity selectors test for frameworks.っていう有名なサイトがあるんだけど、具体的にどのぐらいの差になんの? なんてあまり情報が載ってるところはないので自分で確認できる範囲で新旧CPUとブラウザで比較してみました。なにかの参考になるとは思います。jQueryでだけですけどね。

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) | トラックバック (0)
2010年5月22日 (土)
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #19
実は_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) | トラックバック (0)
2010年5月21日 (金)
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #18
実は_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) | トラックバック (0)
2010年5月20日 (木)
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #17
実は_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) | トラックバック (0)
2010年5月19日 (水)
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #16
実は_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) | トラックバック (0)
2010年5月18日 (火)
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #15
実は_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) | トラックバック (0)
2010年5月17日 (月)
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #14
実は_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) | トラックバック (0)
2010年5月16日 (日)
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #13
実は_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) | トラックバック (0)
2010年5月15日 (土)
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #12
実は_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) | トラックバック (0)
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #11
実は_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) | トラックバック (0)
2010年5月13日 (木)
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #10
実は_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) | トラックバック (0)
2010年5月12日 (水)
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #9
実は_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) | トラックバック (0)
2010年5月11日 (火)
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #8
実は_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) | トラックバック (0)
2010年5月10日 (月)
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #7
実は_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) | トラックバック (0)
2010年5月 9日 (日)
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #6
実は_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) | トラックバック (0)
2010年5月 8日 (土)
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #5
実は_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) | トラックバック (0)
2010年5月 7日 (金)
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #4
実は_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) | トラックバック (0)
2010年5月 6日 (木)
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #3
実は_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_targetの5%が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) | トラックバック (0)
2010年5月 5日 (水)
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #2
実は_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) | トラックバック (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) | トラックバック (0)
2010年3月28日 (日)
32bitと64bitのOracle10gでも_pga_max_sizeの値は同じ。
実は_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>
次ぎは、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>
バナーには 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) | トラックバック (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が起動できないということを除けば問題なく正常に使えている。という症状だった。
このような状態になった時にやることは、
- PRAM/NVRAMのリセット(音が出ないという症状なので)。ちなみに今回はIntel MacなのでNVRAMのリセットになる。
- それでも解決しないならPMU/SMCのリセット。今回はIntal MacなのでSMCのリセット。
- 前述の方法でも解決しないなら、/Users/xxxx以下の.DS_Store全て削除。(xxxxは問題の発生しているユーザid
- それでもダメなら、/Users/xxxx/Library/Caches以下にあるファイルを全て削除。
- それでもダメなら/System/Library/Caches及び、/Library/Caches以下のキャッシュファイルを全て削除して再起動
で今回やったことと結果を以下に時系列で書いておくと。。。
- 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:ソフトウェアに関するトラブルシューティング
| 固定リンク | 0 | コメント (1) | トラックバック (0)
2009年9月27日 (日)
Oracle SQL Developer Data Modeler #3
前回予告したようにOracle SQL Developer Data Modeler 2.0で日本語を使ったモデリングを試してみた。まず使用感から先に書いておくと”まあまあ”と言ったところ。
日本語を使う上で注意する点も現時点ではまだまだあるな。という感じで、その辺りが面倒だとか気になるようであればERwinとかObjectBrowser ERとか既存のツールを使った方が楽だと感じる方も多いかもしれない。
まずはYouTubeへアップしたムービーでご覧ください。
論理モデルを日本語で作成し、物理モデルへ変換する。
その際のポイントは以下。
ムービーは最大化するといいよ!
ムービーで作成した物理モデルから生成した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) | トラックバック (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を使ってみる」
| 固定リンク | 0 | コメント (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がインストールされていれば利用できます。)
では、さっそくやってみましょう!
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$
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) | トラックバック (0)
QuickTime X - Screen Recorder
以前もちょっと書いたけどSnow LeopardのQuickTime XからScreen Recorder機能が追加されている。この機能、操作ガイドなど作るのには非常に便利。いままではShareware使ってたりした方が多かったと思うけどSnow LeopardならQuickTime Xを起動してレコーディングすだけでOK。
| 固定リンク | 0 | コメント (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) | トラックバック (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) | トラックバック (0)
PL/SQL で Python Challenge Level 18 - 完
ということで、Python Challenge Level18の最終回。
前回報告した通り level 18 はPL/SQLだけで解けます。今回は問題の元ネタの抽出と回答を抽出した後の確認はOSに付属している機能を使ったが大切なのは問題の元ネタから解答を抽出する所なので。
SQL*Plusから実行したストアドプロシージャで問題を解いたところ....例によってヒントになりそうな部分はもやもやさせてます。 :)

ヒントになりまくりの答えのスナップショット。(これ以外にも私のブログにヒントになる記事もあるのだが・・・・・それは書きませんよ。。。。)
ちなみに絵を見れば分かると思いますが、MacOS XからX11のX forwordingを使って今回利用したLinuxのDesktopを表示/操作しています。X11のxtermからssh -Y user@hostで接続してgnome-sessionを実行しているだけ。
Python Challenge Level19へつづく!(?)
| 固定リンク | 0 | コメント (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の表示)
Opera 10(正式版)でのtext-shadowの表示。(text-shadow:1px 2px 3px grayの表示)。
改善されてます!!! ;)
| 固定リンク | 0 | コメント (0) | トラックバック (0)
PL/SQL で Python Challenge Level 18 解けた
一年以上間が空いてしまったが・・・Python Challenge Level18はPL/SQLだけで解けますよん。ヒントになるようなならないようなモヤモヤした記事は明日にでも。。
| 固定リンク | 0 | コメント (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) | トラックバック (0)
2009年8月 5日 (水)
2009年7月31日 (金)
2009年7月30日 (木)
2009年7月29日 (水)
2009年7月28日 (火)
2009年7月25日 (土)
2009年7月24日 (金)
2009年7月21日 (火)
2009年7月18日 (土)
2009年7月17日 (金)
2009年7月16日 (木)
Dashboard Top50 - ギリギリランクイン w
Dashboard de Aquarium v1.4が、Apple(US) で公開されて。ギリギリ Top 50にランクイン。
| 固定リンク | 0 | コメント (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)
Note: 国際化対応しています。言語環境が英語であれば以下のように表示されます。
(Internationalized. When language setting is in English, it's displayed as follows.)







| 固定リンク | 0 | コメント (0) | トラックバック (0)
2009年7月10日 (金)
Dashboard de Aquarium v1.4 少々改造
前回リリースしたDashboard de Aquarium v1.3で使っているディスカスの画像が大きくその影響もありwidgetサイズが大きかったので少々小さくしました。ついでなのでRed Sailfin mollyを追加でテスト完。ということでUSと日本のAppleへアップデート依頼する予定。
(問題なければUSはほぼ翌日にリリースされると思うが、日本は2〜3週間かかるのが通常の動き)
言語環境:日本語の場合

言語環境:英語の場合

v1.3のwidgetサイズ
v1.4のサイズ
| 固定リンク | 0 | コメント (0) | トラックバック (0)
2009年7月 1日 (水)
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させようとするとハングアップする。ハングアップしたまま冷却ファンが凄い勢いで廻りっぱなしになる。
対処方法:
システム環境設定→ネットワーク
左側のネットワークポートペインにイーサネットポートがリストされていない場合、本現象に遭遇する。"+"ボタンで使っていなくてもイーサーネットポートを追加する。


イーサーネットポートを追加したらOSを再起動する。このような対処でSleepさせようとするとhangしてしまう問題を回避できる。
(対処から4日経過したがいまのところ問題は再発していない。もし状況に変化があれば本記事を更新する予定。)
| 固定リンク | 0 | コメント (0) | トラックバック (0)
2009年6月11日 (木)
2009年6月 9日 (火)
2009年6月 8日 (月)
OraTweet 1.0 あそび始めた。
OraTweet v1.0が公開されたということなので早速試してみた。といってもちょっとだけ。細かいところはみてないけどとりあえずは日本語も使えるみたい。ちょうどPL/SQL gatewayからTwitter APIを使って遊んでみようと思っていたところだから少し遊ぶか。

| 固定リンク | 0 | コメント (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

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.

APEX3.2の管理画面にアクセスしてログイン.....OK
ログインしたついでに開発ユーザと作業領域を作成しておく。




開発ユーザでログインしてみる。......OK。やった〜〜〜!!!!! うまくいった


「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) | トラックバック (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のログイン画面にアクセスするまで

発生したエラーを確認すると、前々回の場合と同様に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...









Oracle HTTP Serverにアクセスしてみると・・・OK.うまくいってる。
HTML DBにアクセスしてみる・・・OK .準備完了。
[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) | トラックバック (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各画面のスナップショット。インストール構成が今回のテーマではないのでポイントになる箇所以外解説はしていません。(過去の記事なども参考にしてみてください。)


ちなみに、インストールするORACLE_HOMEは他のDatabase等とは異なるディレクトリにするところがポイントですよん。



HTML DBのパスワードはIntel MacでインストールしたAPEX3.2で設定予定のパスワード(現時点では未設定)と同じにしておくと楽です。(異なっても問題はないです。)
それ以外の項目はこのデータベースのインストールで設定したりした値やパスワードです。
HTML DB(APEX)はSYSAUX以外の表領域でもいいですが、今回はSYSAUX以外にする必要はないのでSYSAUXにしてあります。


HTML DB Configuration Assistantでエラーが発生してますが、あとで再実行するのでここでは「OK」ボタンクリック後、エラーを無視してインストールを続行します。

お約束のroot.shの実行です。指示された場所にあるroot.shをrootユーザで実行します。が・・・・以前とは違いちょっとしたエラーが・・・・
お約束の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を終了しておわり。

以前は発生していなかったのですが、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) | トラックバック (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やマニュアルを参考にしてくださいね。)




















データベースが作成できたら、リスナーの状態を確認してデータベースインスタンスの起動を確認!
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) | トラックバック (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とその構成中のスナップショット。(細かな解説は入れてませんのであしからず。)



















次回は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) | トラックバック (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も見てね)





今回はデータベースそのものよりOracle HTTP ServerとAPEXがメインなので必要最低限のオプションだけにしてインストール時間の節約。



インストール時にデータベース作成は行わない。


お約束のroot.shの実行要求が表示されたらTerminalからrootユーザでroot.shを実行する。
Configuration Assistantの実行でnetcaの実行に失敗するが、JavaSE6.0 Developer Preview 1を利用していることが影響していると考えられる内容であったためエラーを無視してすすめる。(netcaはこの後、手動で実行すれば問題ないので。)
JDK1.4.2又はJavaSE5.0を使っているのならこのエラーには遭遇しないと(思われる)。



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) | トラックバック (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) | トラックバック (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 | コメント (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に買収された。)
手順は長くなるので次回にするが、環境と動作したスナップショットを。。。。
クリックで拡大表示します。


環境
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) | トラックバック (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シーンの再現)
上記以外で確実な方法として、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) | トラックバック (0)
2009年5月15日 (金)
Leopard de Oracle10g R2 (Intel x86-64) #9 - (APEX3.2と遊ぶ #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) | トラックバック (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からダウンロード。
今回は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) | トラックバック (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みたい)。
ではiSQL*Plusはどうか? localhost:5560/isqlplusへアクセスしてみと・・・・お〜〜〜表示される・・・・しか〜〜〜し、なんかやけにこわ〜〜〜〜〜〜いメッセージが表示されている。なんでこんなメッセージ表示してんだろう。オラクルさん。
こわ〜〜〜〜いメッセージを横目で見つつログインしてみる・・・・え、エラーです。(動作しませんね〜.
iSQL*Plus。はどうしても必要な機能ではないのでこのままにしておきましょう...isqlplusctl stopで停止して起おきましょう。インストール直後は起動したままになっているので。

強烈なメッセージが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) | トラックバック (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) | トラックバック (0)
USBメモリ de 暗号化ディスクイメージ
昨日、Audiのロゴ入りUSBメモリ(1GB) 暗号化ソフト付きノベルティを頂いてきたので、USBメモリで暗号化ソフトなどのセキュリティ機能の無いUSBメモリだった場合、セキュリティをどうするか? ということでMacOSXの暗号化機能を使い保護してみましょうか、というお話。
幾つかUSBメモリをノベルティとして頂いているが一番のお気に入りはメルセデスベンツCクラスキー型USBメモリ。でもこのUSBメモリはセキュリティ機能が無いのでこのままでは大切な情報は持ち歩けない・・・落として中身を見られても問題ないものしか入れられない・・・さてどうしよう・・・・
利用するアプリケ−ションはMacOSXのに付属するディスクユーティリティ。このユーティリティを使い暗号化したディスクイメージ(読み書き可能なディスクイメージ)を作成後、作成したディスクイメージを暗号化機能の無いUSBメモリにコピーすればOK.
では、早速。
USBメモリをマウント
次にディスクユーティリティを起動
起動するとマウントしたUSBメモリも表示される。

「新規イメージ」をクリック
ディスクイメージにお好きな名称を付け、ディスクイメージのサイズ、暗号化方法(AES-128を選択というかこれしかない。いまのところ)、フォーマット(読み込み/書き込みディスクイメージを選択)を指定して作成ボタンをクリック。
尚、今回は890MBのディスクイメージを作成したが利用しているUSBメモリの利用可能空きサイズに応じ適宜調整してくださいね。
ディスクイメージ作成が開始されるとパスワードが要求されるので絶対忘れないようなパスワードを入力する。(当然ですけどパスワードには電話番号とか誕生日とか簡単にバレそうなものは使わないといのはあたりまえ過ぎるけど、一応書いておきますね。)
作成されると自動的にマウントされる。その際、前ステップで設定したパスワードを要求されるので入力すると以下のような状態になる。
USBメモリへディスクイメージをコピーするためマウントされた暗号化ディスクイメージは一旦アンマウントする。
アンマウント後、ディスクイメージをUSBメモリへコピーする。ディスクイメージのサイズが大きいとコピー時間もそれなりに必要なのでご注意を。

コピーが終わったらオリジナルのディスクイメージは削除する。その後、USBメモリ上の暗号化ディスクイメージをダブルクリックしてマウントする。(パスワード要求あり)

マウントされた暗号化ディスクへテキストファイルなどを作成すればAES-128で暗号化されたディスクイメージを他のMacへUSBメモリ経由で持ち運べる(PowerPCとIntel間の相互利用も今のところ問題なし。:)
ちなみに以下の例で作成したテキストファイルは暗号化されたディスクイメージ上で作成保存したので私のMac上にも残らないようにしてみた。
書き込みもできるディスクイメージにしてあるのでファイルを追加することも可能。ただUSBメモリへ保存するファイル容量が大きいと時間がかかるのが難点といえば難点かも。マウントされた暗号化ディスクイメージ、USBメモリの順でアンマウントしてUSBメモリをドリ取り外せば持ち運べまる :)

AESに関連する記事
AESファイナリストをめぐって - h2np.net
AES 概要説明 - A.I.Lab
2009/5/12
タイポ等修正、相変わらず打ちっ放しなところは治ってないw
| 固定リンク | 0 | コメント (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辺りの動きも気になる。
| 固定リンク | 0 | コメント (0) | トラックバック (0)
2009年5月 8日 (金)
MacOSXでCDやDVDを焼く方法(初心者でも分かり易い方法)
義理の妹が妻のお下がりのIMac G5を使いだしてからいろいろと質問されることがあるのだが専門的な用語はあまり使えない(Mac初心者なので)。多分言葉より分かり易いのはやはり絵で見る方だよね?!。
ということで、一昨日「iPhotoで管理している画像ファイルをCDやDVDに記録するにはどうするの?」という質問への回答。
(ちなみに、MacOSXでCDやDVDに画像データ等を直接書き出す方法として複数の方法があるのだが今回はMacOSX初心者でも簡単な方法を紹介しておくね。)
「Finderのメニュー」→「ファイル」→「新規ディスク作成フォルダ」をクリック。
ディスクトップ上に以下のようなフォルダが作成されるのでお好きな名前を付けておく
新規ディスク作成フォルダをダブルクリックして開くと以下のようになっている。
次にiPhotoを起動してCDやDVDに書き込みたい画像を選択する。(以下の例では、イベント単位で複数選択している。イベントを複数選択するときは⌘キーを押しながら該当イベントをクリックする。)
次に「iPhotoメニュー」→「ファイル」→「書き出し」を選択する。
「写真の書き出し」ダイアログが表示されるので、「ファイルの書き出し」タブで「種類」は”現在”、「サイズ」は”フルサイズ”となっていることを確認し「書き出し」ボタンをクリックする。
次に「ファイル選択」で先ほど作成した「新規ディスク作成フォルダ」を選択して「OK]ボタンをクリック。

書き出しが終わったら、「新規ディスク作成フォルダ」内にある「ディスクを作成」ボタンをクリック。
空のCDかDVDを挿入するよう指示されるので、CD(CD-R/RW等)又はDVD(DVD-R/RW等)を挿入する。

挿入すると書き込み速度やディスク名を聞かれるので必要であれば入力する。(「新規ディスク作成フォルダ」に名称を付けていればその名称が設定される)
確認後、「ディスクを作成」ボタンをクリックする。(あとはディスクが焼終わるのを待つだけ。

この例ではCD-RWを利用して約8MBの画像ファイルを書き込んだ。書き込みが完了すると以下のような感じでデスクトップ上に現れる。ダブルクリックして開けばiPhotoから書き出した画像ファイルが確認できるはず。あとはディスクを取り出せば終わり。:)
ディスクに書き出した「新規ディスク作成フォルダ」はゴミ箱へポイしてしまえばOK.
どう? わかった? 簡単でしょ?!ーー>義妹

おまけ。
ちなみに、もし「新規ディスク作成フォルダ」へ、挿入するCDやDVDに書き込めないくらいの画像データ等を入れてしまった場合はちゃ〜〜〜〜んと、駄目よ〜〜〜と警告を出してくれるからCDやDVDに書き込める程度になるまでファイルを削除してね!、1枚に入りきれなければまた別のディスクを焼けばいいわけだから。:)
以下の例は、「新規ディスク作成フォルダ」へ約2.6GBのデータを入れた状態。(DVDじゃないと書き込めないサイズになってます。)
「ディスク作成」ボタンをクリックすると2.63GB以上の容量のあるディスクが必要だと警告を出してくれるし、書き込みまで進めてしまってもディスクに書き込む前に容量不足で書き込めないことを知らせてくれます。




2010/10/10追記
・MacOSXでCDやDVDを焼く方法(Unix/Linux使いだけど、MacOS Xは初心者って方向けの方法)
・MacOSXでCDやDVDを焼く方法 #2(Unix/Linux使いだけど、MacOS Xは初心者って方向けの方法)
| 固定リンク | 0 | コメント (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 だけね)にもちゃんと参加してきましたよ。
今話題のSun Microsystemsさんのブースにて(T5440の256スレッドのデモ中)、知っている営業の方がいたので、つい話し込んでしまいました。あはは。
そしてちょっとしたサプライズ、MacとiPhoneがWendyのブースのお隣に!!!!(できればもっと目立つところに・・・・)
そして最後はOracle Master de Night!
ここで名刺交換した方々がこのブログをよく見てくださっているようで、名刺交換した時の反応に私自身が驚いてしまいました。:)
見て頂いてありがとうございます。
ところで、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してますけど。
| 固定リンク | 0 | コメント (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の略じゃないよ! 
という辺りを参照してほしい。
該当記事で書いているが「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) | トラックバック (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フォルダへ自動実行するスクリプトを配置しておけばSystemStarterがLaunchdから呼び出されるので、昔ながらの方法で自動起動、停止、再起動するよう設定してみることに。。
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$

上記をテスト実行してみると・・・・
以下のような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(自動停止時に記録するようになっているログファイル)

コンソールログ
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) | トラックバック (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を起動

あどは(訛ってどうするw)あとはOUIの指示に従いクリック、クリック。





Companion CDでは以下のプロダクトが提供されると書かれているがunsupported productであるUltra Searchはインストール、構成される模様。やはりOEMが構成されないのは構成自体がコケルからか・・・やはり??? 謎は深まる。。(爆
今日はこれまで。
バックナンバー
・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) | トラックバック (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の構成は選択できない。
しかし、同じくunsupportとなっているiSQL*Plusは何故か構成されているようだ。
以下、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) | トラックバック (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$
インストールの模様はYouTubeでどうぞ。HD版がおすすめですよ。

上記画面が現れたらいつものお約束、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) | トラックバック (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所有者の作成 次にShell limitの設定。 次回へつづく。
既存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$
マニュアルには/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$



次に、ダウンロード、解凍した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$
バックナンバー
Oracle10g R2 for MacOSX (Intel x86-64) released !!!
Leopard de Oracle10g release 2 (Intel x86-64)
| 固定リンク | 0 | コメント (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ではその辺りを突っ込んでる方もいるみたいだけど。:)
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) | トラックバック (0)
2009年4月11日 (土)
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が正しくロードされていないのが原因らしい。。
次期リリースでは改善されることを期待します。オラクル様
上記のhogehoge部分を削除したいだけなのだがbackspaceが効かない。US OTNの該当スレッドによれば単純にkeyboard presetがロードされていないということなのでやってみた。




お〜〜〜めでたくbackspaceキーで削除できた。改行もenterキーでできた!。 command+sで保存もできた。ふ〜〜っ。やれやれ。
| 固定リンク | 0 | コメント (0) | トラックバック (0)
2009年4月 3日 (金)
Dashboard de Aquarium v1.3 - あ〜Top50圏外だ〜
今日のDashboard de Aquarium v1.3はついにTop50圏外に〜〜。
ということで今日はアクアリウム好きなあなたに送るiPhone/iPod touch向け115円でmなかなかお買い得なFreshwater Aquariumというアプリケ−ションを紹介しようと思う。![]()

このアプリケーション、単なる水槽を泳ぐ熱帯魚を眺めているだけのアプリケーションではなく、暇つぶしゲーム+AQUAZONE的な要素も持っていて115円と有料アプリながらお得感たっぷり。
暇つぶしゲームとして「釣りゲーム」があり、釣った熱帯魚は自分の水槽へポチャン。増えるわけですな。Dashboard de Aquariumの作者としても参考になります、このアプリ。




| 固定リンク | 0 | コメント (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) | トラックバック (0)
2009年4月 1日 (水)
2009年3月31日 (火)
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から開けなくても困らないから。というの理由で。
QuickStartのオンラインドキュメントのアクセスをクリックすると「ブラウザが見つかりません」。。なんで?
「了解」ボタンをクリックしてブラウザ(この例ではSafari)を選択して.....と
でもやっぱりブラウザが見つかりません・・・・なんですよね。OTNのドキュメントダウンロードすればいいのでこれ以上は調べてないですが・・・
バックナンバー
・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) | トラックバック (0)
2009年3月29日 (日)
2009年3月28日 (土)
2009年3月27日 (金)
2009年3月25日 (水)
2009年3月24日 (火)
2009年3月21日 (土)
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) | トラックバック (0)
2009年3月19日 (木)
2009年3月18日 (水)
2009年3月17日 (火)
2009年3月14日 (土)
2009年3月13日 (金)
2009年3月12日 (木)
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)
★★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.)






| 固定リンク | 0 | コメント (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接続)できるところまで確認。
小さいな問題なのだが英語版では気付かなかったが日本語にローカライズされ文字列が長くなってしまった為にデータベース接続の作成/選択ダイアログで「ネットワーク別名」とドロップダウンメニューの表示がオーバーラップしている。私が使っている範囲ではそれ以外に問題はさそう。。もうちょっと本気で使うと何か出てくるかもしれないけどね。:)
まず、MacOSX Tiger/Leopardのデータベース接続の作成/選択ダイアログ。赤丸部分で表示がオーバーラップしてしまっている。
尚、MacOSXのOracle SQL DeveloperでTNSを利用する方法は「Oracle SQL Developer for MacOSX で Oracle Instant Clientを使ってみる」を参照のこと。
次はLinux(CentOS5)で起動したSQL Developerの同ダイアログ。(同じくオーバーラップしている)
ちなみに以下はMacOSX側でX11 forwardingを利用してCentOS側のOracle SQL Developerを起動している。
WindowsXP Professionalで起動したSQL Developer1.5.4の同ダイアログでも現象は同じ。(ダイアログのスナップショットではわからないですが、Remote Desktop Connection for MacOSX経由でWindowsのSQL Developerを起動している。うちではまだリアルな環境しかないので・・w)
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) | トラックバック (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に検索フレーズを入力しても何も起こらないが虫眼鏡アイコンをクリックすると検索履歴がポップアップする。
Safari4だと自動的にSuggestionsとRecent searchesがポップアップする。
| 固定リンク | 0 | コメント (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の場合はワクワクするな〜。

Safari 4 - 150 Features

ページズームアウトとズームインをためしてみたところ。


尚、Safari4 BetaをインストールするとSafari3.xは上書きされてしまうので要注意。Safari4 Betaにはアンインストーラーも付属している。
| 固定リンク | 0 | コメント (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つの画像は決まり。あとは微調整してリリースしようかな。。と。
Dashboard de Aquarium v1.3をリリースしたらOracleネタにしますかね。。(^^;;
2008/2/24追記
HideさんのWild blueとWild brown自家産なので、Hide's Wild blue * Wild brown としておきましょうかね。
| 固定リンク | 0 | コメント (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向けのディスカス、その第二弾としてリクソンコピーブリードで紹介されているメス親の画像を使ってみた。(いい感じです。)
この他に1匹選ぶ予定。
hideさんに確認したところ正式名は存在せず、ペナンのブリーダーであるリクソン氏の作出の赤系スポットディスカスの改良種ということだけは分かっているとのこと。
Rickson's red spotted とでもしておこうかな?!
| 固定リンク | 0 | コメント (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向けのディスカスとして試しているところなのですが、その第一弾としてワイルドダイヤの画像を使ってみた。
背景かディスカスの色合いか輝度のどちらかもしくはその両方を調整したほうがいいような気もする。まだ確定ではないので他のディスカスも試して数匹まで絞り込む予定だ。
hideさんより正式名を教えて頂いたので追記
正式名:Wild King Solid Blue F1
| 固定リンク | 0 | コメント (0) | トラックバック (0)
2009年2月 7日 (土)
2009年2月 6日 (金)
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) | トラックバック (0)
2009年2月 5日 (木)
2009年2月 4日 (水)
Broken my iphone accelerometer! But...
iPhone 3Gのaccelerometer(加速度計)が壊れたようで縦や横へまわしても画面が切り替らない。当然iPodのカバーフロー等も表示されない...ということで困ったときのGenius Bar!
早速予約を取って行ってきました。で診断結果はやはり壊れているということでその場で本体毎交換とあいなりました。素早い対応、ステキです。(^^)
Apple Storeが出来る前はApple製品の対面修理と言えば、クリッククイックガレージさんや、ビット・システム・サービス株式会社ぐらいしか無かったけど随分便利になったものです。:)
ただ今iTunesに繋いでバックアップからリストア完了したばかり。
| 固定リンク | 0 | コメント (0) | トラックバック (0)
2009年2月 3日 (火)
2009年1月31日 (土)
2009年1月30日 (金)
2009年1月29日 (木)
2009年1月28日 (水)
2009年1月27日 (火)
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扱いされている模様。対処方法よくわからんので今のところ放置。)
| 固定リンク | 0 | コメント (0) | トラックバック (0)
2009年1月24日 (土)
2009年1月23日 (金)
Dashcodeのstylable popup menuの国際化で少々ハマったこと(備忘録)
Dashboard de Aquarium v1.2の初期設定ペインでstylable popup menu(Dashcodeの部品に含まれている)を利用しているのだが、その国際化の際少々ハマったというかDashcodeのコード自動生成の癖というかバグ?に気付いたので備忘録として書いておく(ウッカリ見落とすと英語が表示されるべき状況で日本語が表示されることになってしまうので。他のボタンなどは国際化を定義しやすいのだがstylable popup menuはちょいとと気を使う。Dashcodeの問題点としていずれ修正されるかも・・・)
言語設定がenglishである場合に正しく表示されているstylable popup menu

上記のように表示させるため、デフォルト言語をEnglishとしてwidgetプロジェクトを作成し、言語設定が日本語である場合には日本語の文字列がセットされるようローカライズしてあるのだが、stylable popup menuの場合はボタンの場合とは異なりローカライズキーと値の設定がインスペクター上で行えない。
ボタンの場合、インスペクター上で英語と日本語の定義が一度に行える。
しかし・・、stylable popup menuではメニューアイテムの定義しかなく、インスペクター上でローカライズを済ませてしまうことができない。。ということで事前にローカライズした文字列を定義した。

ローカライズ文字列とキーを定義後、以下のようにstylable popup menuのメニューアイテムにローカライズキーを設定するとインスペクター上でも自動的に日本語文字列が設定されるのだが...
widgetを実行してみると以下のようにstylable popup menuだけが日本語になってしまう。。

で、いろいろ調べてみたがうまい解決方法が見当たらないので泥臭い方法だが、一旦コード自動生成を停止、setup.js(Dashcodeにより自動生成されるwidget上に配置される部品のスペック定義)の該当部分を手動修正後、自動生成を再開させるという方法を取った。ほかにうまい方法はないのか〜〜〜w(尚、再度メニューアイテムを追加したしたり修正した場合には同じ手順でコードを修正する必要がある。)
コードの自動生成停止
setup.jpの日本語化されてしまったstylable popup menuのメニューアイテムの文言を英語(ローカライズのキーにもなっている)に変更。

この状態でwidgetを実行したり生成すれば英語と日本語双方がそれぞれの言語設定で正しく表示されるようになります。

さて、そろそろ子供を迎えに、保育園に行かなきゃ..(^^
| 固定リンク | 0 | コメント (0) | トラックバック (0)
2009年1月22日 (木)
2009年1月20日 (火)
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)![]()
![]()
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.)



| 固定リンク | 0 | コメント (0) | トラックバック (0)
2009年1月17日 (土)
2009年1月 4日 (日)
2008年12月28日 (日)
よいお年を!
さて、来年はいいことあるでしょうかね。みなさん、良いお年を!
懐かしいMacOS9のHappy new year風のスタートアップスクリーンで。
| 固定リンク | 0 | コメント (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だし(^^)
| 固定リンク | 0 | コメント (0) | トラックバック (0)
2008年10月19日 (日)
Mac de Oracle - 10万円未満 de RAC (11g編)#24
今回はOracle Net Serviceの確認
- ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
- Linux (CentOS 5.2)のインストール
- Openfiler2.3のインストール
- Openfiler2.3によるiSCSIボリュームの構成
- Oracle RACノードでのiSCSIボリュームの構成 その1、その2
- Oracle所有者と関連ディレクトリの作成及び環境変数の設定
- Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
- hangcheck-timerカーネル・モジュールの構成
- Oracle RACノード間リモートアクセスの構成
- Oracle RACノード構成ファイルの確認
- Oracle Cluster File System (OCFS2)のインストール及び構成 その1、その2、その3
- Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
- Oracle11g R1 インストール事前作業
- Oracle11g R1 Clusterwareのインストール
- Oracle11g R1 Database softwareのインストール
- Oracle11g R1 examplesのインストール
- TNS Listenerの構成
- Oracle Cluster databaseの作成 その1、その2、その3
- Oracle Net Serviceの確認
- Oralce RAC ClusterとDatabase構成の確認
- Clusterの開始と停止の確認
- Oracle Clusterwareプロセス・モニター・デーモンの構成
- 簡単なTransparent Application Failover (TAF)の確認
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) | トラックバック (0)
2008年10月10日 (金)
MySQL User Conference 2008
MySQL User Conference 2008が10月30日と31日に開催される。すでに事前受付サイトもオープンしている。ただ30日のiPhone関連セミナーとバッティングしてるんだよな〜。(iPhoneセミナーが受けられようならそちら優先ということで・・・。。なんで行きたいセミナーってバッティングすることが多いのかね。まったく・・・)
| 固定リンク | 0 | コメント (0) | トラックバック (0)
2008年9月30日 (火)
Objective-C 2.0 Definitive Guideが出ていたのね〜。
2006年のObjective-C MacOSXプログラミングにObjective-C 2.0に関する部分を加えた内容になっているということなので即購入。
ところで旧版がマーケットプレースではかなりの高値なのね。(希少本ということなのか・・。残しておくか。。w)
| 固定リンク | 0 | コメント (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へアクセスできるようになりました〜〜。:-)
バックナンバー:
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) | トラックバック (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) | トラックバック (0)
2008年6月21日 (土)
Mac de Ruby on Rails - #12 - IntelMac編 #3
さて、少々間が空いてしまったがこれから暫くは土日中心に記事をアップすることが多くなるかも。(おチビちゃんの世話などいろいろあるのでね。w 土日に1週間分のネタを時間指定公開しるようにしておいてもよいかもしれないが、そのネタを纏めてる時間がなかなか取れない。く〜〜〜っ。という感じ。)
と長い前置きはこれくらいにして、本題です。前回は、ruby-oci8をインストールしたところまでだった。(自分でも忘れてる。。)
今日は確認のため以前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) | トラックバック (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) | トラックバック (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) | トラックバック (0)














































































































































































































































最近のコメント