<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/jinutsugi/">
    <title>ジン@ ウィキ</title>
    <link>http://w.atwiki.jp/jinutsugi/</link>
    <atom:link href="https://w.atwiki.jp/jinutsugi/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>ジン@ ウィキ</description>

    <dc:language>ja</dc:language>
    <dc:date>2014-03-10T11:45:35+09:00</dc:date>
    <utime>1394419535</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/jinutsugi/pages/2.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/jinutsugi/pages/24.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/jinutsugi/pages/23.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/jinutsugi/pages/21.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/jinutsugi/pages/19.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/jinutsugi/pages/20.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/jinutsugi/pages/18.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/jinutsugi/pages/17.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/jinutsugi/pages/13.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/jinutsugi/pages/1.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/jinutsugi/pages/2.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/jinutsugi/pages/2.html</link>
    <description>
      #javascript(){{
&lt;script language=&quot;javascript&quot; src=&quot;http://analyzer5.fc2.com:8080/ana/processor.php?uid=101421&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
	&lt;noscript&gt;&lt;div align=&quot;right&quot;&gt;&lt;img src=&quot;http://analyzer5.fc2.com:8080/ana/icon.php?uid=101421&amp;ref=&amp;href=&amp;wid=0&amp;hei=0&amp;&amp;col=0&quot; /&gt;&lt;strong&gt;&lt;a href=&quot;http://ranking.fc2.com/&quot;&gt;レンタル&lt;/a&gt;&lt;/strong&gt;&lt;/div&gt;&lt;/noscript&gt;
}}

**更新履歴
#recent(20)

**お買い得
#html2(){
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot; style=&quot;width:125px;height:200px;font-family:&#039;ＭＳ Ｐゴシック&#039;,&#039;Osaka－等幅&#039;;background-image:url(http://www.moshimo.com/mds/images/clbg3_1_2.gif);background-repeat:no-repeat;font-size:12px;line-height:14px;&quot;&gt;&lt;tr&gt;&lt;td align=&quot;center&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;background-image:url(http://www.moshimo.com/mds/images/cl_frame3_2.gif);width:82px;height:82px;margin-top:8px;&quot;&gt;&lt;a href=&quot;https://www.moshimo.com/item/138398/5187009&quot;&gt;&lt;img src=&quot;http://www.moshimo.com/item_image/0018800000164/1/m.jpg&quot; width=&quot;80&quot; height=&quot;80&quot; style=&quot;margin:1px;border:0;&quot; alt=&quot;「Ｆｒａｎｃｏ　Ｖｉｅｒｉ」　ピンホールクレリックシャツ＆ネクタイ6点セット　ＬＬサイズ&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;&lt;p style=&quot;font-size:12px;font-weight:900;color:#FF1A00;margin:2px 0;&quot;&gt;&lt;a href=&quot;https://www.moshimo.com/item/138398/5187009&quot; style=&quot;color:#0A50FF;text-decoration:underline;&quot;&gt;「Ｆｒａｎｃｏ　…&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;margin:3px 0;font-size:11px;color:#222222;&quot;&gt;希望小売価格￥20,790&lt;br&gt;&lt;span style=&quot;font-size:12px;font-weight:900;color:#FF1A00;&quot;&gt;販売価格￥10,500&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot; valign=&quot;top&quot;&gt;&lt;a href=&quot;https://www.moshimo.com/item/138398/5187009&quot;&gt;&lt;img src=&quot;https://www.moshimo.com/mds/images/cl_btn_detailed3_2.gif&quot; width=&quot;101&quot; height=&quot;17&quot; alt=&quot;商品詳細ページへ&quot; style=&quot;margin:0;border:0;&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;https://www.moshimo.com/?action_cart_add&amp;sid=138398&amp;bid=5187009&quot;&gt;&lt;img src=&quot;http://www.moshimo.com/mds/images/cl_btn_cart3_2.gif&quot; width=&quot;101&quot; height=&quot;17&quot; alt=&quot;カートページへ&quot; style=&quot;margin:3px 0;border:0;&quot;&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot; style=&quot;width:125px;height:200px;font-family:&#039;ＭＳ Ｐゴシック&#039;,&#039;Osaka－等幅&#039;;background-image:url(http://www.moshimo.com/mds/images/clbg3_1_2.gif);background-repeat:no-repeat;font-size:12px;line-height:14px;&quot;&gt;&lt;tr&gt;&lt;td align=&quot;center&quot; valign=&quot;top&quot;&gt;&lt;div style=&quot;background-image:url(http://www.moshimo.com/mds/images/cl_frame3_2.gif);width:82px;height:82px;margin-top:8px;&quot;&gt;&lt;a href=&quot;https://www.moshimo.com/item/138398/5187019&quot;&gt;&lt;img src=&quot;http://www.moshimo.com/item_image/0015601000029/1/m.jpg&quot; width=&quot;80&quot; height=&quot;80&quot; style=&quot;margin:1px;border:0;&quot; alt=&quot;エルメス ノマード レディース  ブラックカーフストラップ グレー NO1210.330/VBNM2&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;&lt;p style=&quot;font-size:12px;font-weight:900;color:#FF1A00;margin:2px 0;&quot;&gt;&lt;a href=&quot;https://www.moshimo.com/item/138398/5187019&quot; style=&quot;color:#0A50FF;text-decoration:underline;&quot;&gt;エルメス ノマー…&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;margin:3px 0;font-size:11px;color:#222222;&quot;&gt;希望小売価格￥241,500&lt;br&gt;&lt;span style=&quot;font-size:12px;font-weight:900;color:#FF1A00;&quot;&gt;販売価格￥105,000&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot; valign=&quot;top&quot;&gt;&lt;a href=&quot;https://www.moshimo.com/item/138398/5187019&quot;&gt;&lt;img src=&quot;https://www.moshimo.com/mds/images/cl_btn_detailed3_2.gif&quot; width=&quot;101&quot; height=&quot;17&quot; alt=&quot;商品詳細ページへ&quot; style=&quot;margin:0;border:0;&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;https://www.moshimo.com/?action_cart_add&amp;sid=138398&amp;bid=5187019&quot;&gt;&lt;img src=&quot;http://www.moshimo.com/mds/images/cl_btn_cart3_2.gif&quot; width=&quot;101&quot; height=&quot;17&quot; alt=&quot;カートページへ&quot; style=&quot;margin:3px 0;border:0;&quot;&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
}

-[[@ウィキ ガイド&gt;http://atwiki.jp/guide/]]
-[[@wiki 便利ツール &gt;http://atwiki.jp/tools/]]
-[[@wiki&gt;http://atwiki.jp]]

// リンクを張るには &quot;[&quot; 2つで文字列を括ります。
// &quot;&gt;&quot; の左側に文字、右側にURLを記述するとリンクになります

メニュー
-[[トップページ]]
-[[プラグイン]]
-[[メニュー]]
-[[メニュー2]]    </description>
    <dc:date>2014-03-10T11:45:35+09:00</dc:date>
    <utime>1394419535</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/jinutsugi/pages/24.html">
    <title>DB選択基準_検討メモ</title>
    <link>https://w.atwiki.jp/jinutsugi/pages/24.html</link>
    <description>
      Facebookのようなサイトを構築しようとしたときの、データベースの選定メモ。

-NoSQLかRDBMSか？
--NoSQLを選択する
---SNSやソーシャルゲームのWebサイトに適しているので
----RDBMSを使うと、データベースサーバの分散が困難になるため、処理性能を向上させたいときはスケールアップで対応するのが一般的。
----近年になってSNSやソーシャルゲームなどのBtoC向けWebサイトが増加。このようなWebサイトでは企業向けシステムでは考えられないほど爆発的な数のアクセスがあり。
----一貫性は犠牲にしても、低コストで拡張性がしやすい
---金が絡むような処理は、今のところ想定ない（もしくは割合的に非常に小さい）

-CassandraかHBaseか
--上記の２つは、非常に有名。
--可用性の担保の動きと、Hadoopとの相性でBigTable（HBase)の方がいいか。。
--比較観点
---http://lunarium.info/arc/index.php/HBase%E3%81%A8Cassandra%E3%81%AE%E6%AF%94%E8%BC%83(%E5%9B%B3)
----CAP原則の特徴
-----http://lunarium.info/arc/index.php/DB%E9%96%A2%E9%80%A3%E3%81%AE%E5%9F%BA%E6%9C%AC%E5%AE%9A%E7%90%86
---レスポンス
---開発者人口や技術情報の多さ
---分散バッチ処理（Hadoop)との親和性    </description>
    <dc:date>2011-12-20T19:13:28+09:00</dc:date>
    <utime>1324376008</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/jinutsugi/pages/23.html">
    <title>20110909_グロービス経営大学院_入試前特別セミナー</title>
    <link>https://w.atwiki.jp/jinutsugi/pages/23.html</link>
    <description>
          </description>
    <dc:date>2011-09-16T11:34:13+09:00</dc:date>
    <utime>1316140453</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/jinutsugi/pages/21.html">
    <title>マッキンゼー式 世界最強の問題解決テクニック　メモ</title>
    <link>https://w.atwiki.jp/jinutsugi/pages/21.html</link>
    <description>
          </description>
    <dc:date>2011-03-23T16:33:59+09:00</dc:date>
    <utime>1300865639</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/jinutsugi/pages/19.html">
    <title>Cassandra 初心者メモ</title>
    <link>https://w.atwiki.jp/jinutsugi/pages/19.html</link>
    <description>
      工事中
#contents()

*ダウンロード
下記の場所からダウンロードしてください。
[[http://cassandra.apache.org/&gt;http://cassandra.apache.org/]]

本章では、Cassandra 0.7.2 をベースに記載しています。

*とにかく動かしてみる
環境は、Windows 7で動作確認しました。。Unix系OSの場合、適当に読み替えてください。でも、説明の中の記述方法は、Unixのシェルっぽかったりします（＾＾；

1. Java6 を入手して、インストール。手順省略。
2. Cassandraをダウンロードして、適当なフォルダに展開。展開した（インストールした）ディレクトリを、以降、CASSANDRA_HOME と略す。
3. コマンドプロンプトを開く。
4. JAVA_HOMEをJava6をインストールした場所に指定して、設定。(set JAVA_HOME=&lt;Javaインストールした場所&gt;)
5. CASSANDRA_HOME の環境変数を設定。（例：CASSANDRA_HOME=C:\Applications\apache-cassandra）
5. $CASSANDRA_HOME/bin の配下にある、cassandra.bat を実行する。

上手くいけば、こんな感じで起動するはずです。

 C:\Applications\apache-cassandra\bin&gt;cassandra
 Starting Cassandra Server
  INFO 14:27:54,295 Heap size: 1065025536/1065025536
  INFO 14:27:54,342 JNA not found. Native methods will be disabled.
  INFO 14:27:54,413 Loading settings from file:/C:/Applications/apache-cassandra/conf/cassandra.yaml
  INFO 14:27:54,812 DiskAccessMode &#039;auto&#039; determined to be mmap, indexAccessMode is mmap
  INFO 14:27:55,270 Creating new commitlog segment /var/lib/cassandra/commitlog\CommitLog-1298352475270.log

※データファイルなどは、デフォルトで、C:\var 配下に作成する模様

*カスタマイズしてみる
個人的にカスタマイズした内容のメモです。意図的に手間がかかるような方法でやっているところもあるので、ここに書いてあることをそのまま実行する必要はありません。

**設定ファイルについて
***cassandra.yaml
Cassandraのメインとなる設定ファイルが
 $CASSSANDRA_HOME/conf/cassandra.yaml
となります。
※以前のバージョンまでは、storage-conf.xml だったようです。

オリジナルを取っておきたいので、cassandra-utsugi.yaml のように、別名でファイルを作成するようにしました。

その場合、新たに作成したファイル名を読み込むようにしますが、以下のように起動パラメタに指定することで可能になります。

 -Dcassandra.config=＜ファイル名&gt;

$CASSANDRA_HOME/bin/cassandra.bat を 同じように cassandra-utsugi.bat のように別名で作成した後、そのファイルを編集してます。
 :okClasspath
 REM Include the build\classes directory so it works in development
 set CASSANDRA_CLASSPATH=%CLASSPATH%;&quot;%CASSANDRA_HOME%\build\classes&quot;
 set CASSANDRA_PARAMS=-Dcassandra -Dcassandra-foreground=yes
 
 REM Customize by jin
 set CASSANDRA_PARAMS=%CASSANDRA_PARAMS% -Dcassandra.config=cassandra-utsugi.yaml
 REM ------------
 
 goto runDaemon
REM で囲まれた部分に追加してます。
-Dcassandra.config=&lt;値&gt; に記載する内容は、Javaのクラスパスを通している場所であれば、ファイル名で記述できます。逆に、クラスパスが通っていない場所は、file:///..... の形式で記述します。C:\cassandra\conf\cassandra-utsugi.yaml のような記述はできません。

***log4jプロパティ
Cassandraは、log4j を使ってロギングしています。conf ディレクトリ配下に、サーバ用として、log4j-server.properties があります。こちらもlog4j-server-utsugi.properties のようにファイルを別名で保存しています。

Cassndraの実行ファイル（cassandra-utsugi.bat）に、

 set JAVA_OPTS=^
  ....
  -Dlog4j.configuration=log4j-server.properties

とあるので、log4j-server-utsugi.properties を参照するように変更しました。

**データファイルなどの場所変更
デフォルトの C:\var にデータファイルやライブラリファイルを置きたくなかったため、C:\Applications\apache-cassandra\work\test1 の配下に一式カサンドラのファイル群が作成されるように、以下のように変更しました。

***設定ファイル(cassandra-utsugi.yaml)

 data_file_directories:
     - C:\Applications\apache-cassandra\work\test1/lib/cassandra/data
 
 # commit log
 commitlog_directory: C:\Applications\apache-cassandra\work\test1/lib/cassandra/commitlog
 
 # saved caches
 saved_caches_directory: C:\Applications\apache-cassandra\work\test1/lib/cassandra/saved_caches

***log4jログ

 # Edit the next line to point to your logs directory
 log4j.appender.R.File=C:\\Applications\\apache-cassandra\\work\\test1/log/cassandra/system.log

**ログレベル

***log4ログ
デバッグレベルにする場合、以下のように変更しました。

 log4j.rootLogger=DEBUG,stdout,R    </description>
    <dc:date>2011-03-02T16:06:03+09:00</dc:date>
    <utime>1299049563</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/jinutsugi/pages/20.html">
    <title>Cassandra 簡単プログラミング</title>
    <link>https://w.atwiki.jp/jinutsugi/pages/20.html</link>
    <description>
      簡単なプログラミングをしてみます。

#contents()

*データモデル
プログラミングする前に、Cassandraのデータモデルについて簡単に理解するために、以下のドキュメントを紹介します。

http://gihyo.jp/dev/serial/01/cassandra/0004
http://wiki.apache.org/cassandra/DataModel_JP

非常に乱暴にまとめると次のようになるかも。

|BGCOLOR(#555):COLOR(#fff):名称|BGCOLOR(#555):COLOR(#fff):BNF風な表現|BGCOLOR(#555):COLOR(#fff):説明|
|Column|name,value,timestamp|おおよそ１つのカラムに相当|
|Super Column|key,Column*|あまりRDBの概念にはないかも|
|Column Family|key,(Super Column* 又は Column*)|テーブルに相当|
|Keyspace|Key,Column Family*|スキーマやDB（インスタンス）に相当|

*KeySpace などの作成

大きく分けて2通りあります。

**cassandra-cli コマンド

**cassandra.yaml読み込み（StorageService.loadSchemaFromYAML）
0.7 より、cassandra.yaml を起動時に読み込まなくなりました。

読み込ませる場合は、MBeanのStorageServiceのloadSchemaFromYAMLメソッドをCallします。    </description>
    <dc:date>2011-02-25T16:41:34+09:00</dc:date>
    <utime>1298619694</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/jinutsugi/pages/18.html">
    <title>OSBメモ</title>
    <link>https://w.atwiki.jp/jinutsugi/pages/18.html</link>
    <description>
      *Oracle Service Bus メモ
-OSBは、WebLogic Serverの1アプリという位置づけ。
-基本的なインストール
+インストーラによるOSBのインストール
+WebLogicのドメイン作成（OSBを利用できるようにチェックすればOK）
-OSBのクラスタ構成については以下のマニュアル参照
http://otndnld.oracle.co.jp/document/products/osb/docs10gr3/deploy/cluster.html
-チュートリアルのURL
http://otndnld.oracle.co.jp/document/products/osb/docs10gr3/tutorial/tutGettingStarted.html
-OSBのコンソールURL
http://&lt;hostname&gt;:&lt;port&gt;/sbconsole    </description>
    <dc:date>2010-01-25T20:40:06+09:00</dc:date>
    <utime>1264419606</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/jinutsugi/pages/17.html">
    <title>Oracle Application Testing Suite スクリプト作成</title>
    <link>https://w.atwiki.jp/jinutsugi/pages/17.html</link>
    <description>
      *はじめに
Oracle Application Testing Suite 8.3 （旧：Empirix社のe-Test Suite）を使って、スクリプトの作成及び主な機能を一通り紹介する。

Webサイトでは、ログインなど入力を必要とする画面をよく見かけるが、テストでは多くのバリエーションのデータを用意して実行しなければならない。当然、このような要件を実現する機能を持っているが、実際のスクリプト作成においてよく利用する（言い換えれば便利な）機能も併せて載せていく。

今回は、Webサンプルアプリケーションで有名な「JPet Store」 のサイトを例に、テストのスクリプトを作ってみる。

ちなみに、自分が利用したサンプルは、Spring Framework（http://www.springframework.org/） に付属しているものを使用し、Oracle WebLogic Server 10.3 にデプロイしてで試してみた。

**ダウンロード＆インストール
Oracle Application Testing Suite は、OracleのOTNのサイト

http://www.oracle.com/technology/global/jp/software/products/app-testing/index.html
http://www.oracle.com/technology/software/products/app-testing/index.html

から、評価版をダウンロードできる。

インストール方法はそれほど難しくないが、JBossの設定だけ少し迷うかもしれない。こちらでもインストール＆セットアップ手順を紹介しているので、ご参考までに。

http://jinutsugi.blog120.fc2.com/blog-entry-22.html

Oracle Application Testing Suiteの主なコンポーネントは次の通り。
-e-Tester … スクリプト作成、及びスクリプトの動作確認が主な役目のコンポーネント
-e-Load … スクリプトを多重で実行する、いわゆる性能テストを行うコンポーネント

今回のスクリプト作成では、e-Testerを利用する。

*スクリプトの記録
テストスクリプトの作成は、e-Testerを利用する。スタートメニューの「すべてのプログラム」から[e-Test Suite]→[e-Tester]で起動する。

#ref(e-Tester.jpg)

アドレス部分に、http://&lt;server_name&gt;:&lt;port&gt;/jpetstore/shop/index.do を入力すると、ブラウザと同様にサイトが表示される。

#ref(e-Tester_top.jpg)

スクリプトの記録（赤い丸ボタン）の前に、メニューの[編集]→&amp;bold(){[記録状態の初期化]}を実行する。特殊なケースではない限り、新規スクリプト作成時は決まりきったお作法だと思ってもらって構わない。記録状態の初期化を行ったら、さっそく記録ボタンを押してみる。この後の操作は、ブラウザと同様にリンクをクリックするだけである。

今回は、以下のように画面遷移をさせた。

#ref(gamen-seni.jpg)

画面遷移をすべて行った後は、上部の停止（■ボタン）を押して終了。

基本的なスクリプトはこれで終了である。結構簡単。

最後に、[ファイル]メニューからスクリプトを保存する。デフォルトのスクリプト名は「Script1」等になってしまうので、スクリプトの管理面から名前を付けて保存した方がいいだろう。

*スクリプトの実行
記録したスクリプトを実際に動作させるには、ナビゲーションエディタで実行をする。e-Testerのメニュー[ツール]→[eLoad ナビゲーション エディタ]で起動する。ショートカット「Crtl+E」でも起動できるので、慣れるとこちらを使ったほうがいいだろう。

#ref(navi-editor.jpg)

スクリプトの再生（三角ボタン）を押下することで、実行する。

上手く実行できたら、右側の画面に最後の画面が表示されているだろう。また、下の「仮想ディスプレイ」でも確認できる。

※もし、残念ながらエラーが発生したら、、、。原因によって対処方法が違ってくる。書き出すときりがないため、ここでは省略する。

※ちなみに、eTesterにもスクリプト再生（三角ボタン）がある。こちらもスクリプトを実行できるが、この後の作業も含め、あまり使う場面がないと思う。

*データバンクの利用
このスクリプトのままでも動作するが、ログインするユーザが固定になってしまう。単発のテストであればいいかもしれないが、負荷テストを行うときはこの状態はあまり好ましくない。

ログイン画面などのフォーム（PostやGet）のパラメータ等を動的に変更することができるのが、&amp;bold(){データバンク}と呼ばれる機能である。データは、CSV形式で保存しておけばOK。

ログイン画面のユーザ名、パスワードの部分をデータバンク化する。まず、

 インストールディレクトリ\eTEST\DataBank

にファイル(ここでは、petstore_user.csv)を作成して、次のようにデータを作成する。

 usrename,password
 user1,user1
 user2,user2
 user3,user3
 user4,user4
 user5,user5

e-Testerの画面（ナビゲーションエディタではない）から、[編集]→[データバンクウィザード]又は、ドラムみたいなアイコン（×アイコンの右）を押すと、データバンクウィザードが開く。

#ref(data-bank1.jpg)

1. [変数の追加]で2つの変数を追加する。この変数は、あくまでデータバンク上での変数であり、ここでは「username」と「password」としているが、指定する名前は任意で構わない。

データバングウィザード画面の[データの連結]タブを押す。[選択]があるので、先程作成したCSVファイルを選ぶ。

#ref(data-bank2.jpg)

2. 変数とデータバンクフィールドにusernameとpasswordが入っているので、それぞれを選択してから[連結の追加]を押して、マッピングする。

この後、Formのパラメータとデータバンクで定義した変数をマッピングするのだが、2通りの設定方法があるが、ここではデータバンクウィザードで設定する方法を紹介する。

3. [変数]タブにて「パラメータ」と「変数」をマッピングさせる方法。パラメータusername[3,2]、password[3,3] と変数username、password をそれぞれ[マッピングの追加]で設定する。

#ref(data-bank3.jpg)

設定できたら、[OK]ボタンを押して画面を閉じる。

データバンク機能を使ってスクリプトの実行をしてみる。[実行]→[データバンクを使用して再生]か、先程スクリプト実行のボタンの隣にある「三角とドラム」アイコンを押す。

すると、次のような「データバンクを使用して再生」画面が表示される。

#ref(data-bank-execute.jpg)


レコード番号は適当に選んでOKを押すと、そのレコードデータを使って実行される。データバンクがきちんと使われたかどうかは、実行した時の画面を確認すればよい。自分の場合は、ログイン後の画面にユーザ名が表示されるのでそこで確認をした。
画面の確認は、ナビゲーションエディタの仮想ユーザディスプレイで該当する画面の行(ログイン後の画面は[3.1])をクリックすることで可能。

#ref(data-bank-result.jpg)
※user4 でスクリプトを実行した。

*動的な結果画面への対応
Googleの検索結果のように、入力したデータによって内容が変化するページは数多くある。このような画面に対応するために、JPetStoreを使ってスクリプトを変更していく。
具体的には、
-ログイン後に選ぶカテゴリ（FishやDogとか）をユーザ毎に変化
-カテゴリを変更すると商品（ペット）が変わるので、その対応
である。

**データバンクを使ってカテゴリを設定
まず、カテゴリを動的に変更させるには紹介したデータバンク機能を利用してみる。CSVにカラムを増やして、次のように定義する。

 usrename,password,category
 user1,user1,FISH
 user2,user2,DOGS
 user3,user3,REPTILES
 user4,user4,CATS
 user5,user5,BIRDS

なお、3つ目の値は、3ページ目のログイン後の画面に、
 /jpetstore/shop/viewCategory.do?categoryId=FISH
 /jpetstore/shop/viewCategory.do?categoryId=DOGS
 /jpetstore/shop/viewCategory.do?categoryId=REPTILES
 /jpetstore/shop/viewCategory.do?categoryId=CATS
 /jpetstore/shop/viewCategory.do?categoryId=BIRDS
のリンクの文字列があったので、そこから値を取り出した。

データバンクウィザードで設定をするが、先程記述した1 と 2の手順まで行う。3（パラメータと変数のマッピング）までは行わず、そのままOKを押してデータバンクウィザードを閉じる。

ナビゲーションエディタの「ナビゲーション」で、4番目の画面のURLを選ぶ。文字では説明しずらいのだが、画面の「FISH」の部分だけをマウスでドラッグして右クリックを選ぶ。
メニューが表示されるので[データバンク変数]→[category]を選択する。

#ref(data-bank-select.jpg)


上手く操作ができたら、「categoryId=category」というように変化し、「category」の部分が緑色に変化するはず。これで設定が完了となる。

#ref(data-bank-select2.jpg)

**ユーザ定義変数ウィザードを使って文字列（キーワード）を抜き出す
選ぶカテゴリが変わると、当然その次の画面（4番目）で出力される商品が変わる。そのため5番目に画面遷移するときのURLは変わってしまうのである。

 http://localhost:7002/jpetstore/shop/viewProduct.do?productId=FI-FW-01

5番目のURLは上記のようになっているが、productId「FI-FW-01」の部分は記録した時のものなので不適切なURLとなってしまう。

この対処方法として、「ユーザ定義変数ウィザード」を使って、前の画面（4番目）のHTML文書の中から正規表現で文字列を抜き出し、FI-FW-01の部分をその文字列で置き換えてしまおうという方法である。

5番目のURLの「FI-FW-01」の部分だけマウスで選択して右クリックをする。（少し操作が難しいが、、）

#ref(user-wizard-start.jpg)

[新規ユーザ定義変数]→[ユーザ定義変数ウィザード]でウィザードを起動する。

#ref(user-wizard.jpg)

だいたいの場合は、「次へ」を押すだけで上手くいってしまう。各画面は、以下に示す事を行っている。
+「新規ユーザ定義変数を作成」を選択
+動的に変更するキーワードを検索するための「キーワード」と検索対象（HTML文書とかURLとか）を指定
+前の画面の結果。複数見つかった場合は、複数結果が表示される。ほとんどの場合は、Formのパラメータの引数等になっているため、直前のページでキーワードが見つかる。
+キーワードを検索する正規表現が自動で作成されているので、これを確認する。もし、別の関係ないキーワードをHitしてしまいそうな場合などがあれば、手動で修正する。
+前の画面の設定の確認。
+動的に変更する値に対する一意の識別子（名前）をつける

その後、ナビゲーションエディタに戻り「FI-FW-01」をマウスで選び右クリック後、[新規ユーザ定義変数]→定義した名前 を選ぶ。
#ref(user-wizard-select.jpg)


その他に新規ユーザ定義変数を行う必要があるものとして、6ページ目のitemid=「EST-4」があるので同様に行う。

設定が一通り終了したら、データバンクの実行で動作を確認し、正常に画面遷移ができれば成功である。

*画面チェック
画面遷移が上手く行っていたように見えても、実はエラー画面が表示されている可能性がある。HTTPのレスポンスコードが500であればすぐに気付くが、200が返ってくるエラー画面の場合、スクリプトの実行をしても上手く画面が遷移していることがある。

ここでは、期待した画面が出ているかを確認する方法を紹介する。最後のページ（11ページ目）を例に説明する。

最後のページは、買い物が終了した画面で、「Thank you, your order has been submitted.」という文字が記述されているので、この文章が表示されていれば成功と判断することにする。

11ページ目の「[11]ナビゲーション1 -&gt; windows(index=0)」にカーソルを合わせ、右クリックをし[新規ユーザ定義変数]を選択する。

#ref(user-variable-define.jpg)

選択すると、以下のユーザ定義変数（緑色）が作成される。

#ref(user-variable-edit.jpg)


プロパティの部分で「名前」に適当な名前（ここではCheck）、Patternに先ほどの文章「Thank you, your order has been submitted.」を入力する。

#ref(user-variable-check.jpg)


その後、同じようにデータバンクの実行を行って動作を確認する。逆にチェックが機能しているかを確認するには、わざと間違えた文字を指定して失敗させてみると分かりやすい。    </description>
    <dc:date>2008-10-15T12:43:03+09:00</dc:date>
    <utime>1224042183</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/jinutsugi/pages/13.html">
    <title>Linux on VMWareでOracle RACを構築（準備）</title>
    <link>https://w.atwiki.jp/jinutsugi/pages/13.html</link>
    <description>
      RAC(Oracle Real Application Clusters)について、あまり知識がない初心者がチャレンジ。

&amp;bold(){ページ構成}

-Linux on VMWareでOracle RACを構築（準備）
-[[Linux on VMWareでOracle RACを構築（インストール）]]


&amp;bold(){目次}

#contents()

----

*VMWareの設定
**前提
***VMWareのバージョン
 VMWare Workstation 5.5.5

***ゲストOS

Oracle Enterprise Linux 4
※RedHat 4 と基本的に同じと思ってもらってOK。

サイト：http://www.oracle.com/technology/tech/linux/index.html
ダウンロード：http://edelivery.oracle.com/linux 

***ゲストOSの構成
|100.168.116.25|ubl1.utsugi.com(1号機)|外部通信用|
|192.168.139.25|ubl1i.utsugi.com(1号機)|内部通信用|
|100.168.116.35|ubl1v.utsugi.com(1号機)|Oracle用VIP用|
|100.168.116.26|ubl2.utsugi.com(2号機)|外部通信用|
|192.168.139.26|ubl2i.utsugi.com(2号機)|内部通信用|
|100.168.116.36|ubl2v.utsugi.com(2号機)|Oracle用VIP用|

※外部通信用に、以下のアドレスを指定すると、CVU使用時、またはVIP構成時に失敗というか、ちょっと手順が変わって（面倒）くる。192.168.xxx.xxx で構築したことはあるので、できない訳ではない。

|クラスA|10.0.0.0|
|クラスB|172.16.0.0 - 172.31.0.0|
|クラスC|192.168.0.0 - 192.168.255.0|


**イーサネットの追加
1号機で次を実施する。

「仮想マシンの設定」より「追加」を押して「ハードウェア追加ウィザード」を起動し、「イーサネットアダプタ」を選択する。
プライベート用のLANを組むため、「ホストオンリー」を選択する。

#ref(vm_network.jpg)


2号機に対しても同じ設定を行う。

**共有ディスクの作成
VMWare上で共有ディスクを作成する。
***設定ファイルの変更
VMWareのゲストOS1号機、2号機の設定ファイル（.vmx）をテキストエディタで開き、以下を追加する。

 disk.locking = &quot;false&quot;
 diskLib.dataCacheMaxSize = &quot;0&quot;
 diskLib.dataCacheMaxReadAheadSize = &quot;0&quot;
 diskLib.dataCacheMinReadAheadSize = &quot;0&quot;
 diskLib.dataCachePageSize = &quot;4096&quot;
 diskLib.maxUnsyncedWrites = &quot;0&quot;

これはキャッシュ機能やロック機能を無効にするため。

***ディスクの追加
共有ディスク用にディスクを作成する。ディスクは次の4つを作成する。

|領域|ファイル名|容量|
|OCR|ocr.vmdk|300MB|
|Voting Disk|vot.vmdk|300MB|
|ASM DG1|dg1_1.vmdk|5G|
|ASM DG1|dg1_2.vmdk|5G|

1号機を例に記載する。1号機の仮想マシンの設定にて「ハードディスク」を追加する。そして以下を実行。

+「仮想ディスクの新規作成」を選択。
+「SCSI」を選択
+ディスクサイズを指定。また「事前に割り当てる」にチェックする。
+ディスク保存場所は「D:\VMWare\storage\ocr.vmx」の専用ディレクトリに指定。

上記をディスク数分繰り返す。

次に2号機の仮想マシンの設定にて「ハードディスク」を追加し、以下を実行する。

+「既存の仮想ディスクを使用」
+storage配下のディスクファイル（.vmdk）を選択する。

上記をディスク数分繰り返す。

一連の作業後は、1号機、2号機両方とも次のような設定になっている。

#ref(vmware_disk.jpg)


*インストール前準備
1号機(ubl1)で実施した内容を元に記述。特に断りがない限り、2号機も同様に行う。
**ネットワークの設定（内部通信用）
***ifconfig -aでNICの確認[root]
OSを起動して、rootユーザでログイン。
 ifconfig -a
を実施し、NICが認識されていることを確認する。

 eth0      Link encap:Ethernet  HWaddr 00:0C:29:20:B3:27
           inet addr:100.168.116.25  Bcast:100.168.116.255  Mask:255.255.255.0
           inet6 addr: fe80::20c:29ff:fe20:b327/64 Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:940 errors:0 dropped:0 overruns:0 frame:0
           TX packets:936 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:443621 (433.2 KiB)  TX bytes:112204 (109.5 KiB)
           Interrupt:185 Base address:0x1400

 eth1      Link encap:Ethernet  HWaddr 00:0C:29:20:B3:31
           inet addr:192.168.139.25  Bcast:192.168.139.255  Mask:255.255.255.0
           inet6 addr: fe80::20c:29ff:fe20:b331/64 Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:11 errors:0 dropped:0 overruns:0 frame:0
           TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:1633 (1.5 KiB)  TX bytes:630 (630.0 b)
           Interrupt:169 Base address:0x1480
※上記は「eth1」のIPアドレスの設定まで終えた状態の表示。

***/etc/sysconfig/network-scriptsで設定[root][1号機、2号機]
/etc/sysconfig/network-scriptsで、2つめifcfg-eth1を作成する。ifcfg-eth0をベースに修正するのが簡単だろう。

 DEVICE=eth1
 BOOTPROTO=static
 BROADCAST=192.168.139.255
 IPADDR=192.168.139.25
 NETMASK=255.255.255.0
 NETWORK=192.168.139.0
 ONBOOT=yes
 TYPE=Ethernet

設定できたら、/etc/init.d/network restart でネットワークを再起動。その後、ifconfig で設定されたことを確認する。

**swapの拡大[root][1号機、2号機]
「Oracle Database インストレーション・ガイド 10gリリース2（10.2）for Linux x86」によるとswapの最小要件は次の通り。

|RAM|スワップ領域|
|1024～2048 MB|RAMのサイズの1.5倍|
|2049～8192 MB|RAMのサイズと同じ|
|8192 MB超|RAMのサイズの0.75倍|

ubl1サーバーのswap状態は次の通り。

 [root@ubl1 ~]# swapon -s
 Filename                                Type            Size    Used    Priority
 /dev/sda2                               partition       2096472 0       -1

VMWareの設定でRAMは1200MBとしていおり、swapは2GBであるため要件はクリアしているが、500MBさらにswapを拡張してみる。

 [root@ubl1 ~]# cd /tmp
 [root@ubl1 tmp]# dd if=/dev/zero of=/tmp/swap bs=1024k count=500
 読み込んだブロック数は 500+0
 書き込んだブロック数は 500+0
 [root@ubl1 tmp]# mkswap swap
 Setting up swapspace version 1, size = 524283 kB
 [root@ubl1 tmp]# swapon swap
 [root@ubl1 tmp]# swapon -s
 Filename                                Type            Size    Used    Priority
 /dev/sda2                               partition       2096472 0       -1
 /tmp/swap                               file            511992  0       -2

OS再起動後も自動でswapに割り当ててもらうように /etc/fstab に以下を追記しておく。
 /tmp/swap               swap                    swap    default         0 0


**パーティション作成[root][1号機のみ]
1号機での作業をベースに記述する。2号機はやる必要はなし。

***ハードディスクに認識を確認。
fdisk -l で、追加したハードディスクが認識されていることを確認。

 [root@ubl1 ~]# 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        6266    50331613+  83  Linux
 /dev/sda2            6267        6527     2096482+  82  Linux スワップ
 
 Disk /dev/sdb: 322 MB, 322122240 bytes
 64 heads, 32 sectors/track, 307 cylinders
 Units = シリンダ数 of 2048 * 512 = 1048576 bytes
 
 ディスク /dev/sdb は正常な領域テーブルを含んでいません
 
 Disk /dev/sdc: 322 MB, 322122240 bytes
 64 heads, 32 sectors/track, 307 cylinders
 Units = シリンダ数 of 2048 * 512 = 1048576 bytes
 
 ディスク /dev/sdc は正常な領域テーブルを含んでいません
 
 Disk /dev/sdd: 5368 MB, 5368709120 bytes
 255 heads, 63 sectors/track, 652 cylinders
 Units = シリンダ数 of 16065 * 512 = 8225280 bytes
 
 ディスク /dev/sdd は正常な領域テーブルを含んでいません
 
 Disk /dev/sde: 5368 MB, 5368709120 bytes
 255 heads, 63 sectors/track, 652 cylinders
 Units = シリンダ数 of 16065 * 512 = 8225280 bytes
 
 ディスク /dev/sde は正常な領域テーブルを含んでいません

***fdisk (デバイス名)
fdisk &lt;デバイス名&gt; を実行する。fdiskは次の手順を行う。
+「n」で新規パーティションを作成
+「p」でプライマリパーティションを指定
+「1」の領域を指定
+最初 シリンダはそのままEnter。（default 1）
+終点 シリンダもそのままEnter。
+「w」で保存

4つのデバイスについて同様に行う。

***領域作成の確認
fdisk -l で領域が作成されたことを確認する。

 [root@ubl1 ~]# 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        6266    50331613+  83  Linux
 /dev/sda2            6267        6527     2096482+  82  Linux スワップ
 
 Disk /dev/sdb: 322 MB, 322122240 bytes
 64 heads, 32 sectors/track, 307 cylinders
 Units = シリンダ数 of 2048 * 512 = 1048576 bytes
 
 デバイス Boot      Start         End      Blocks   Id  System
 /dev/sdb1               1         307      314352   83  Linux
 
 Disk /dev/sdc: 322 MB, 322122240 bytes
 64 heads, 32 sectors/track, 307 cylinders
 Units = シリンダ数 of 2048 * 512 = 1048576 bytes
 
 デバイス Boot      Start         End      Blocks   Id  System
 /dev/sdc1               1         307      314352   83  Linux
 
 Disk /dev/sdd: 5368 MB, 5368709120 bytes
 255 heads, 63 sectors/track, 652 cylinders
 Units = シリンダ数 of 16065 * 512 = 8225280 bytes
 
 デバイス Boot      Start         End      Blocks   Id  System
 /dev/sdd1               1         652     5237158+  83  Linux
 
 Disk /dev/sde: 5368 MB, 5368709120 bytes
 255 heads, 63 sectors/track, 652 cylinders
 Units = シリンダ数 of 16065 * 512 = 8225280 bytes
 
 デバイス Boot      Start         End      Blocks   Id  System
 /dev/sde1               1         652     5237158+  83  Linux

ここで一端リブートする。

**RAWパーティションのマウント[root,oracle][1号機、2号機]
/etc/sysconfig/rawdevices ファイルを次のように編集する。1号機、2号機両方実施する。

 /dev/raw/raw1 /dev/sdb1
 /dev/raw/raw2 /dev/sdc1
 /dev/raw/raw3 /dev/sdd1
 /dev/raw/raw4 /dev/sde1

※上記のデバイス名は、各環境に合わせて変更のこと

設定後、/etc/init.d/rawdevices restart を実行する。

 [root@ubl1 ~]# /etc/init.d/rawdevices restart
 Assigning devices:
            /dev/raw/raw1  --&gt;   /dev/sdb1
 /dev/raw/raw1:  bound to major 8, minor 17
            /dev/raw/raw2  --&gt;   /dev/sdc1
 /dev/raw/raw2:  bound to major 8, minor 33
            /dev/raw/raw3  --&gt;   /dev/sdd1
 /dev/raw/raw3:  bound to major 8, minor 49
            /dev/raw/raw4  --&gt;   /dev/sde1
 /dev/raw/raw4:  bound to major 8, minor 65

次に、rawデバイスを oracleユーザ のオーナーにする。

 chown oracle:oinstall /dev/raw/raw[1-4]

なお、上記の設定は再起動すると元に戻ってしまいCRSの起動に失敗するので、次の設定を /etc/inittab に追加した。

 r1:56:wait:/bin/chown oracle:oinstall /dev/raw/raw[1-4]

/etc/init.d/rawdevices のランレベルが 5 なので、上記のコマンドのランレベルは5と6を指定した。

その後、初期化するために、oracleユーザでddコマンドを実行する。1号機、2号機両方とも実施する。

 [root@ubl1 raw]# dd if=/dev/zero of=/dev/raw/raw1 bs=1024k count=300
 読み込んだブロック数は 300+0
 書き込んだブロック数は 300+0
 [root@ubl1 raw]# dd if=/dev/zero of=/dev/raw/raw2 bs=1024k count=300
 読み込んだブロック数は 300+0
 書き込んだブロック数は 300+0
 [root@ubl1 raw]# dd if=/dev/zero of=/dev/raw/raw3 bs=1024k count=5000
 読み込んだブロック数は 5000+0
 書き込んだブロック数は 5000+0
 [root@ubl1 raw]# dd if=/dev/zero of=/dev/raw/raw4 bs=1024k count=5000
 読み込んだブロック数は 5000+0
 書き込んだブロック数は 5000+0



**ntpd(/etc/ntp.conf)の設定[root][1号機、2号機]
ノード間で時刻のズレがある場合、インストールに失敗する可能性があるため、ntp.confで時刻同期の設定する。インターネットマルチフィード(MFEED) 時刻情報提供サービス for Public(http://www.jst.mfeed.ad.jp/)を利用した。

 server ntp1.jst.mfeed.ad.jp
 server ntp2.jst.mfeed.ad.jp
 server ntp3.jst.mfeed.ad.jp

***VMWare対策[1号機、2号機]
VMWare上のLinuxの場合、どんどん時刻がずれてしまう可能性がある。この対策として、「/boot/grub/grub.conf」にカーネル起動オプションとして、以下を記述する。
 clock=pit nosmp noapic nolapic

grub.conf の記述例は、次のようになる。

 title Enterprise (2.6.9-55.0.0.0.2.ELsmp)
         root (hd0,0)
         kernel /boot/vmlinuz-2.6.9-55.0.0.0.2.ELsmp ro root=LABEL=/ rhgb quiet clock=pit nosmp noapic nolapic
         initrd /boot/initrd-2.6.9-55.0.0.0.2.ELsmp.img
 title Enterprise-up (2.6.9-55.0.0.0.2.EL)
         root (hd0,0)
         kernel /boot/vmlinuz-2.6.9-55.0.0.0.2.EL ro root=LABEL=/ rhgb quiet clock=pit nosmp noapic nolapic
         initrd /boot/initrd-2.6.9-55.0.0.0.2.EL.img

**/etc/hostsの設定[root][1号機、2号機]
1号機は次のように記述。2号機も同様。

 127.0.0.1               localhost.localdomain localhost
 
 100.168.116.25          ubl1.utsugi.com ubl1
 100.168.116.26          ubl2.utsugi.com ubl2
 
 #Private for InterConnect
 192.168.139.25          ubl1i.utsugi.com ubl1i
 192.168.139.26          ubl2i.utsugi.com ubl2i
 
 #VIP
 100.168.116.35          ubl1v.utsugi.com ubl1v
 100.168.116.36          ubl2v.utsugi.com ubl2v

外部通信、内部通信、VIPについて、1号機、2号機の定義を記載している。

**グループ・ユーザの作成[root][1号機、2号機]
rootユーザでoracle用のユーザやグループを作成する。

oinstallグループ
 groupadd -g 2000 oinstall
dbaグループ
 groupadd -g 2001 dba
oracleユーザ
 useradd -d /home/oracle -g oinstall -G dba -m -s /bin/bash -u 2000 oracle
 passwd oracle　　＜－－適当に設定してね

また、nobodyユーザが必要なので、存在していなければ作成する。
 /usr/sbin/useradd nobody

※グループID、ユーザIDは環境に合わせて指定。


**カーネル・パラメータの構成[root][1号機、2号機]
/etc/sysctl.confを編集。以下を付け加える。
 kernel.shmall = 2097152
 kernel.shmmax = 2147483648
 kernel.shmmni = 4096
 kernel.sem = 250 32000 100 128
 fs.file-max = 65536
 net.ipv4.ip_local_port_range = 1024 65000
 net.core.rmem_default = 1048576
 net.core.rmem_max = 1048576
 net.core.wmem_default = 262144
 net.core.wmem_max = 262144

**oracleユーザーに対するシェル制限の設定[root][1号機、2号機]
-/etc/security/limits.conf
 oracle              soft    nproc   2047
 oracle              hard    nproc   16384
 oracle              soft    nofile  1024
 oracle              hard    nofile  65536

-/etc/pam.d/login
 session    required     /lib/security/pam_limits.so

-/etc/profile or /etc/csh.login
※oracleユーザーのデフォルト・シェルに応じて、デフォルトのシェル起動ファイルを次のように変更

Bourne、BashまたはKornシェルの場合
/etc/profile
 if [ $USER = &quot;oracle&quot; ]; then
         if [ $SHELL = &quot;/bin/ksh&quot; ]; then
               ulimit -p 16384
               ulimit -n 65536
         else
               ulimit -u 16384 -n 65536
         fi
 fi           

Cシェル（cshまたはtcsh）の場合
/etc/csh.login
 if ( $USER == &quot;oracle&quot; ) then
         limit maxproc 16384
         limit descriptors 65536
 endif

ここで一端、OSを再起動をしておく。

**jdk1.4の入手[root]
Database 10g R2にパッチは、OPatch 10.2のバージョンのためJDK1.4が必要。そのため予めJDK1.4を入手しておく。


**SSHの構成[oracle][1号機、2号機]
Oracle Real Application Clustersをインストールして使用する前に、すべてのクラスタ・ノードでoracleユーザー用のセキュア・シェル（SSH）を構成する必要がある。

***RSA鍵およびDSA鍵の作成
oracleでログインする。もし、homeディレクトリに .ssh ディレクトリがなければ作成して適切な権限に設定しておく。
 $ mkdir ~/.ssh
 $ chmod 700 ~/.ssh

そして、「/usr/bin/ssh-keygen -t rsa」「/usr/bin/ssh-keygen -t dsa」をそれぞれ実行してく。以下は、1号機で実際に実行した結果。

 [oracle@ubl1 .ssh]$ /usr/bin/ssh-keygen -t rsa
 Generating public/private rsa key pair.
 Enter file in which to save the key (/home/oracle/.ssh/id_rsa):
 Enter passphrase (empty for no passphrase):
 Enter same passphrase again:
 Your identification has been saved in /home/oracle/.ssh/id_rsa.
 Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.
 The key fingerprint is:
 b7:b5:57:d4:d4:3c:cb:80:7a:c5:96:2a:91:91:5a:e9 oracle@ubl1.utsugi.com
 [oracle@ubl1 .ssh]$ /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:
 48:03:dd:01:e1:cb:84:36:cf:ed:48:39:98:fd:b6:5a oracle@ubl1.utsugi.com
 [oracle@ubl1 .ssh]$ ls
 id_dsa  id_dsa.pub  id_rsa  id_rsa.pub

これを2号機でも実施する。

***認証鍵ファイルへの鍵の追加
-1号機
認証鍵ファイル（~/.ssh/authorized_keys）が存在していなければ、作成する。
 touch ~/.ssh/authorized_keys
 cd ~/.ssh/

そして、以下を実行する。

 [oracle@ubl1 .ssh]$ ssh ubl1 cat /home/oracle/.ssh/id_rsa.pub &gt;&gt; authorized_keys
 oracle@ubl1&#039;s password:
 [oracle@ubl1 .ssh]$ ssh ubl1 cat /home/oracle/.ssh/id_dsa.pub &gt;&gt; authorized_keys
 [oracle@ubl1 .ssh]$ ssh ubl2 cat /home/oracle/.ssh/id_rsa.pub &gt;&gt; authorized_keys
 oracle@ubl2&#039;s password:
 [oracle@ubl1 .ssh]$ ssh ubl2 cat /home/oracle/.ssh/id_dsa.pub &gt;&gt; authorized_keys
 oracle@ubl2&#039;s password:

作成したauthorized_keysファイルを、2号機にscp等を利用して転送する。

 [oracle@ubl1 .ssh]$ scp authorized_keys ubl2:/home/oracle/.ssh
 oracle@ubl2&#039;s password:
 authorized_keys                              100% 1688     1.7KB/s   00:00

また、authorized_keys の権限を変更しておく。
 [oracle@ubl1 .ssh]$ chmod 600 authorized_keys

-2号機
/home/oracle/.ssh/authorized_keys があるので、権限を変更しておく。
 [oracle@ubl2 .ssh]$ chmod 600 authorized_keys

***クラスタ・メンバー・ノードでのSSHユーザー等価関係の有効化
パス・フレーズを求めるプロンプトが表示されることなくsshおよびscpコマンドをOracle Universal Installerで使用できるようにする。
-1号機、2号機の両方
以下のコマンドを実施する。
 exec /usr/bin/ssh-agent $SHELL
 /usr/bin/ssh-add

その後、「ssh &lt;servername&gt; date」を実行して、パスワードが尋ねられず実行できたら成功。
 [oracle@ubl1 .ssh]$ ssh ubl1 date
 2007年 11月  1日 木曜日 16:32:57 JST
 [oracle@ubl1 .ssh]$ ssh ubl2 date
 2007年 11月  1日 木曜日 16:52:04 JST

**cvuqdiskパッケージのインストール[root][1号機、2号機]
Red HatまたはSUSE Linux系のOSを使用している場合は、オペレーティング・システムのcvuqdiskパッケージをダウンロードしてインストールする必要があり。

RACのメディアにcvsqdiskパッケージが入っているので、これを使用する。

 rpm -i cvuqdisk-1.0.1-1.rpm

** CVUを使用した検証[oracle]

oracleユーザーで「runcluvfy.sh」を使用してコマンドを入力して、Oracle Clusterwareをインストールするためのシステム要件を検証する。

 /mountpoint/crs/Disk1/cluvfy/runcluvfy.sh stage -pre crsinst -n node_list

今回は、node_listは、1号機(ubl1)、2号機(ubl2)なので、次のコマンドを実行。

 [oracle@ubl1 cluvfy]$ ./runcluvfy.sh stage -pre crsinst -n ubl1,ubl2
 
 クラスタ・サービス設定の事前チェックを実行しています
 
 ノード到達可能性をチェック中...
 ノード&quot;ubl1&quot;からのノード到達可能性チェックに合格しました。
 
 
 ユーザー等価をチェック中...
 ユーザー&quot;oracle&quot;のユーザー等価チェックに合格しました。
 
 管理権限をチェック中...
 &quot;oracle&quot;のユーザーの存在チェックに合格しました。
 &quot;oinstall&quot;のグループの存在チェックに合格しました。
 グループ&quot;oinstall&quot;内のユーザー&quot;oracle&quot;[プライマリ]のメンバーシップ・チェックに合格しました。
 
 管理権限チェックに合格しました。
 
 ノード接続性をチェック中...
 
 ノードubl2,ubl1を持つサブネット&quot;100.168.116.0&quot;のノード接続性チェックに合格しました。
 ノードubl2,ubl1を持つサブネット&quot;192.168.139.0&quot;のノード接続性チェックに合格しました。
 
 サブネット&quot;100.168.116.0&quot;のVIPに適したインタフェース:
 ubl2 eth0:100.168.116.26
 ubl1 eth0:100.168.116.25
 
 サブネット&quot;192.168.139.0&quot;のプライベート・インターコネクトに適したインタフェース:
 ubl2 eth1:192.168.139.26
 ubl1 eth1:192.168.139.25
 
 ノード接続性チェックに合格しました。
 
 
 システム要件をチェック中: &#039;crs&#039;...
 メモリー合計チェックに合格しました。
 ディスク空き領域チェックに合格しました。
 スワップ領域チェックに合格しました。
 システム・アーキテクチャチェックに合格しました。
 カーネル・バージョンチェックに合格しました。
 &quot;make-3.79&quot;のパッケージの存在チェックに合格しました。
 &quot;binutils-2.14&quot;のパッケージの存在チェックに合格しました。
 &quot;gcc-3.2&quot;のパッケージの存在チェックに合格しました。
 &quot;glibc-2.3.2-95.27&quot;のパッケージの存在チェックに合格しました。
 &quot;compat-db-4.0.14-5&quot;のパッケージの存在チェックに合格しました。
 &quot;compat-gcc-7.3-2.96.128&quot;のパッケージの存在チェックが失敗しました。
 ノードでチェックが失敗しました:
         ubl2,ubl1
 &quot;compat-gcc-c++-7.3-2.96.128&quot;のパッケージの存在チェックが失敗しました。
 ノードでチェックが失敗しました:
         ubl2,ubl1
 &quot;compat-libstdc++-7.3-2.96.128&quot;のパッケージの存在チェックが失敗しました。
 ノードでチェックが失敗しました:
         ubl2,ubl1
 &quot;compat-libstdc++-devel-7.3-2.96.128&quot;のパッケージの存在チェックが失敗しました。
 ノードでチェックが失敗しました:
         ubl2,ubl1
 &quot;openmotif-2.2.3&quot;のパッケージの存在チェックに合格しました。
 &quot;setarch-1.3-1&quot;のパッケージの存在チェックに合格しました。
 &quot;dba&quot;のグループの存在チェックに合格しました。
 &quot;oinstall&quot;のグループの存在チェックに合格しました。
 &quot;nobody&quot;の既存ユーザーチェックに合格しました。
 
 システム要件が失敗しました &#039;crs&#039;
 
 クラスタ・サービス設定の事前チェックはすべてのノードで失敗しました。

パッケージの依存チェックでエラーになっているが、今回はパッケージ要件はクリアしているはずなので大丈夫だろう。（おそらくruncluvfyツールのアルゴリズムエラー）


**インストールディレクトリの作成[root][1号機、2号機]
次のようなディレクトリ構成とする。

|Oracle Base|/opt/oracle|
|Oracle Clusterware Home|/opt/oracle/product/10.2/crs|
|Oracle Database Home|/opt/oracle/product/10.2/db|

以下は、1号機での実行した例である。
-Oracle Database Home
 [root@ubl1 opt]# mkdir -p /opt/oracle/product/10.2/db
 [root@ubl1 opt]# chown -R oracle:oinstall /opt/oracle
 [root@ubl1 opt]# chmod -R 775 /opt/oracle

-Oracle Clusterware Home
 [root@ubl1 opt]# mkdir -p /opt/oracle/product/10.2/crs
 [root@ubl1 opt]# chown -R root:oinstall /opt/oracle/product/10.2/crs
 [root@ubl1 opt]# chmod 775 /opt/oracle/product/10.2/crs


2号機でも同様に実施する。


**環境変数ファイルの作成[oracle][1号機、2号機]
1号機、2号機で実施。

-CRS用環境設定ファイル(.crs_profile)

 umask 022
 stty intr ^C
 
 ORACLE_BASE=/opt/oracle/app;export ORACLE_BASE
 ORA_CRS_HOME=/opt/oracle/crs/product/10.2/crs;export ORA_CRS_HOME
 ORACLE_HOME=$ORA_CRS_HOME;export ORACLE_HOME
 PATH=$ORACLE_HOME/bin:$PATH;export PATH
 LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH

-DB用環境設定ファイル
 umask 022
 stty intr ^C
 
 ORACLE_BASE=/opt/oracle/app;export ORACLE_BASE
 ORACLE_HOME=$ORACLE_BASE/product/10.2/db;export ORACLE_HOME
 PATH=$ORACLE_HOME/bin:$PATH;export PATH
 LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib:$LD_LIBRARY_PATH
 export LD_LIBRARY_PATH    </description>
    <dc:date>2008-10-02T00:24:19+09:00</dc:date>
    <utime>1222874659</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/jinutsugi/pages/1.html">
    <title>トップページ</title>
    <link>https://w.atwiki.jp/jinutsugi/pages/1.html</link>
    <description>
      ＊＊メニュー

-Linux on VMWareでOracle RACを構築
--[[Linux on VMWareでOracle RACを構築（準備）]]
--[[Linux on VMWareでOracle RACを構築（インストール）]]
-[[[入門]JDeveloperでJSF]]

-[[ジンのブログ&gt;http://jinutsugi.blog120.fc2.com/]]














以上    </description>
    <dc:date>2008-10-02T00:10:11+09:00</dc:date>
    <utime>1222873811</utime>
  </item>
  </rdf:RDF>
