2011年10月31日

[EM] Oracle Enterprise Manager Cloud Control 12c Setup Automation kit for Exadata

この記事では、Enterprise Manager 12c setup automation kit for Exadataについてお伝えしたいと思います。また、そのすべてのコンポーネントと共に、任意のサイズのExadataにエージェントを展開することが非常に簡単であることについても言及します。システムはEMが管理可能なシステムを見つけてから、1/4ラックのExaataに全コンポーネント、エージェントをデプロイするまでに30分しかかかりませんでした。

Oracle Enterprise Manager Cloud Control 12c Setup Automation kit for Exadataは、My Oracle Supportからパッチ番号 12960596 で探して下さい(訳注:My Oracle Supportへのログインアカウントが必要です)。

エージェントのデプロイはExadata configurator sheetを使って進めていきます。これは弊社のACSがExadataの展開時に使ってきたもので、今ではエージェント・OMSの自動デプロイのための構成出力ファイルを生成することができます。このファイルを個々ではem.paramsと呼ぶことにします。このファイルはOMS/EM 12cデプロイメントスクリプトの入力として利用することができます。このエントリでは、エージェントのデプロイについてのみ説明します。

この em.params ファイルは以下のような情報で構成されています。
# This is em.param file
# Written : 26-10-2011
EM_VERSION=1.0

OMS_LOCATION=REMOTE_CORP_GC
EM_BASE=/u01/app/oracle/product/EMbase
OMS_HOST=my-host.us.oracle.com
OMS_PORT=4900

EM_CELLS=(cel12 cel13 cel14)

EM_COMPUTE_ILOM_NAME=(db07-c db08-c)
EM_COMPUTE_ILOM_IP=(a.b.c.d a.b.c.e)

machinemodel="X2-2 Quarter rack"

EM_USER=oracle
EM_PASSWORD=passwd

swikvmname=sw-kvm
swikvmip=a.b.c.f
swiipname=sw-ip
swiipip=a.b.c.g
swiib2name=sw-ib2
swiib2ip=a.b.c.d
swiib3name=sw-ibh
swiib3ip=a.b.c.i
pduaname=pdu1
pduaip=a.b.c.j
pdubname=pdu2
pdubip=a.b.c.k
当然ながら、名前やIPアドレスなどの固有情報はわからないようにしてあります。キットをインストールする場合、構成ファイルは以下の場所にある必要があります。
/opt/oracle.SupportTools/onecommand
ここはOneCommandデプロイメントファイルがある場所です。

インストールの間、以下のような追加のチェックが走ります。
Trying to ping Oracle Management Server Host my-host.us.oracle.com .
Checking oracle user info
Searching for KVM Switch information by key swikvmname from /opt/oracle.SupportTools/onecommand/em.param
Searching for KVM Switch IP information by key swikvmip from /opt/oracle.SupportTools/onecommand/em.param
Searching for Cisco Switch information by key swiipname from /opt/oracle.SupportTools/onecommand/em.param
Searching for Cisco Switch IP information by key swiipip from /opt/oracle.SupportTools/onecommand/em.param
Searching for IB2 Switch information by key swiib2name from /opt/oracle.SupportTools/onecommand/em.param
Searching for IB2 Switch IP information by key swiib2ip from /opt/oracle.SupportTools/onecommand/em.param
Searching for IB3 Switch information by key swiib3name from /opt/oracle.SupportTools/onecommand/em.param
Searching for IB3 Switch IP information by key swiib3ip from /opt/oracle.SupportTools/onecommand/em.param
Searching for PDUA Name information by key pduaname from /opt/oracle.SupportTools/onecommand/em.param
Searching for PDUA IP information by key pduaip from /opt/oracle.SupportTools/onecommand/em.param
Searching for PDUA Name information by key pdubname from /opt/oracle.SupportTools/onecommand/em.param
Searching for PDUB IP information by key pdubip from /opt/oracle.SupportTools/onecommand/em.param
Searching for ILON Names information by key EM_COMPUTE_ILOM_NAME from /opt/oracle.SupportTools/onecommand/em.param
Searching for ILOM IPS information by key EM_COMPUTE_ILOM_IP from /opt/oracle.SupportTools/onecommand/em.param
Verifying ssh setup..
Verifying SSH setup for root
検証が終了すると、12.1.0.1.0_AgentCore_226.zip ファイルをCompute Nodeに転送します。11.1のインストールと同様に、ストレージセルにはエージェントはまだインストールされていない状態で、EMはCompute Nodeをストレージセルのプロキシとして利用します。EMに使用するノードを選択させるか、ご自身で選択したものを使わせるかはご自由に。

デプロイ後、EMのGUIに対して3個の簡単な作業をやる必要があります。
  • Exadata discovery
  • GI(Cluster) discovery
  • RAC discovery
ディスカバリーの手順をきれいなGUIがガイドしてくれます。ディスカバリープロセスでは、Compute Nodeにアクセスし、そこから全てのExadataコンポーネントを自動的に検出します。
EMが必要とするファイルは以下のファイルです。
/opt/oracle.SupportTools/onecommand/databasemachine.xml
EM12cにインストールキットとディスカバリーをインストールすると、コンポーネントとラックの概要を確認できます。ドリルダウンもできますし、ここから管理もできます。以下の例は1/4ラックです。



原文はこちら。
http://blogs.oracle.com/XPSONHA/entry/racle_enterprise_manager_cloud_control

[Java] How to Design & Create 3D Games in Java!

jMonkeyEngine 3 SDKのイメージをクリックして、(すぐにダウンロードして3Dゲームを作り始めたくなるような)このすてきな動画をご覧下さい。



jMonkeyEngine3 SDK Betaに関する詳細は以下からどうぞ。
http://netbeans.dzone.com/announcements/jmonkeyengine-3-beta-released

原文はこちら。
http://blogs.oracle.com/geertjan/entry/how_to_design_create_3d

2011年10月30日

[WLS, Java] Using JAX-RS with JDeveloper and Weblogic

最近JerseyとJAX- RSを触っているのですが、NetBeansとGlassFishの組み合わせだと簡単にJava EE 6を使えます。
お知らせまでに、JavaOne 2010でAdam Bien氏が提供したIronMan管理システムの例を複製しています。

IronManManagementSystem
http://kenai.com/projects/javaee-patterns/sources/hg/show/IronManManagementSystem?rev=134
Adam Bien - Sun Certified Architect and Trainer for Java Technology
http://adam-bien.com/

Adamはすばらしいプレゼンターであり、彼のプレゼンはチェックしておいて損はないでしょう。
Java EE 6では、EJBをWARに保持することができ、ejb-jarはオプション(!)です。JDeveloper、WebLogic Server 10.3.1で、Java EE 5を使うときは、EJBをWARファイルと分離する必要があります。Adamの例では、JAX-RSアノテーションをEJBに施していたので試してみましたが、Jerseyサーブレットが定義したパスを見つけることができず、結果としてManaged Beanに追加してEJBを注入しようとしました。
不幸にも、JAX-RS GETリクエストに関わるManaged BeanにEJBは注入されませんでした。JSFページを通じてManaged Beanにアクセスした場合にEJBを注入することができます。
Managed Beanのコードをこんな感じです。
@Path("ironmans")

public class IronManBean {   
    @EJB
    IronManServiceLocal ims;    

    public String sayHello() {
        IronMan im = new IronMan();
        ims.mergeIronMan(im);
        return ims.hiIronMan();  
    }    

    @GET
    @Produces({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML})

    public List<IronMan> getIronMans() {
        return ims.getIronManFindAll();      // NPE happens here
    }
}
EJBが注入されなかったので、上記の赤文字部分でNull Pointer Exceptionが発生しました。これはJava EE 5の制限なのか、それとも何か悪い設定やコーディングをしたのでしょうか(それとも両方?)…。


UPDATE:
Adamの助言を受けて修正したところ、Managed BeanおよびRESTのユースケースで問題なく動作します。IronManServiceLocal を IronManService に変更し、以下のポストコンストラクトメソッドを追加しました。
@PostConstruct
  public void diWorkAround() {

    try {
      ims = (IronManService)InitialContext.doLookup("IronManService#com.ims.IronManService");
    } catch (Exception e) {
       throw new RuntimeException("Unable to lookup IMS."+e);
    }
  }
「アノテーション付き EJB 3.0 クラスのプログラミング」が役に立ちました。

Programming WebLogic Enterprise JavaBeans, Version 3.0

Programming the Annotated EJB 3.0 Class (英語)
http://download.oracle.com/docs/cd/E11035_01/wls100/ejb30/program.html


WebLogic エンタープライズ JavaBeans バージョン 3.0 プログラマーズ ガイド
アノテーション付き EJB 3.0 クラスのプログラミング (日本語)
http://otndnld.oracle.co.jp/document/products/wls/docs100/ejb30/program.html


原文はこちら。
http://blogs.oracle.com/wayneyoung/entry/using_jax-rs_with_jdeveloper_a

[JavaFX] JavaFX 2.0 and JBox2D Sample Application

JavaFX 2.0とBox2D(JBox2D)をJavaに移植したものを使った、ボールが落下する動画のサンプルです。Box2Dは初心者なので非常に危なっかしいコードですが、とにかくUpしてみました。



プロジェクトはこちらからダウンロードできます(NetBeans 7.1互換)。

原文はこちら。
http://blogs.oracle.com/wayneyoung/entry/javafx_2_0_and_box2d

[JavaFX] Side Scroller in JavaFX 2.0

Silveira Netoが作成した、横へスクロールするデモをJavaFX v2.0に移植しました。



プロジェクトはこちらからダウンロードできます(NetBeans 7.1互換)。
[訳注]
原文にはソースコードがありますが、省略しています。

原文はこちら。
http://blogs.oracle.com/wayneyoung/entry/side_scroller_in_javafx_2

[JavaFX] Crazy Bookshelf in Java FX 2.0

Jim WeaverのEarchCubeFXというサンプルをベースにして、Crazy Bookshelfのプロトタイプを作りました。彼のCubeモデルを使って(Prismと名称を変更)本や追加したトランジションをレンダリングしています。



プロジェクトはこちらからダウンロードできます(NetBeans 7.1互換)。

原文はこちら。
http://blogs.oracle.com/wayneyoung/entry/crazy_bookshelf_in_java_fx

2011年10月28日

[SOA/BPM, Security] When to use OWSM? - 11g

Gaurav Sharmaのエントリが興味深いものだったのでご紹介します。最初、OWSMを使ってイントラネット上のWebサービスを保護することに懐疑的だった理由、そして考えが変わった理由をまとめています。

Securing webservices with OWSM - should we, should we not? (Infosys-Oracle Blog)
http://www.infosysblogs.com/oracle/2011/06/securing_webservices_with_owsm.html

どのあたりに興味を持ったかというと…
  1. Gaurav は主に送信メッセージの保護に焦点を絞っている
  2. 送信中のメッセージ保護について議論しているに際にも、Gaurevの主な関心事は、金融情報などの機密情報を扱うアプリケーションである
  3. 本当にセキュリティに関心がある場合、2個目のトピックに関連する3個目の興味深いトピックをピックアップするかもしれない。彼の主な関心事は、イントラネット外のコンポーネントを保護しても、機密情報にアクセスできる立場にないということです。
  4. パフォーマンスへの影響に関するディスカッション
セキュリティ面で検討すべき事柄は幅広く、検討対象の事柄はこれまで長きにわたって議論されてきました(本件に関して共同執筆した記事は以下から今もご覧頂けます)。ここでもう一度列挙することにします。

Best Practices for Securing Your SOA: A Holistic Approach
http://java.sys-con.com/node/232071
  • Authentication  (認証、略してAuthN)
  • Authorization (認可、略してAuthZ)
  • Spoofing(なりすまし)
  • Tampering(改ざん)
  • Repudiation(拒絶、拒否)
  • Information Disclosure(情報開示)
  • Denial of Service(サービス拒否)
  • Replay attacks(リプレイ攻撃)
  • Virus attacks and Intrusion Detection(ウイルス攻撃と侵入検知)
セキュリティ問題のリストは、大部分がかなり包括的ですが、「認証」と「認可」の2つをここで詳述したいと思います。

認証を必要とする場合、いくつか追加で検討すべき事項があります。
  • あなたのWebサービスには、アイデンティティの伝播が必要ですか?
  • あなたのWebサービスには、認証ブローカーを使った認証が必要ですか?
  • あなたのWebサービスには、連携型ID管理管理のシナリオが必要ですか?
認可が必要な場合、認可に関連して追加で検討すべき事柄があります。
  • あなたのWebサービスには、ロールベースの認可のサポートが必要ですか?
  • あなたのWebサービスには、許可ベースの認可のサポートが必要ですか?
  • あなたのWebサービスには、きめ細かい(Fine-grained)認可のサポートが必要ですか?
  • あなたのWebサービスには、コンテキストを意識した(Context-aware)認可のサポートが必要ですか?一般的なコンテキストを意識したセキュリティが必要ですか? (コンテキストを意識したセキュリティの必要性に関する以下をご覧下さい)

    The Future of Information Security is Context-Aware and Adaptive
    http://blogs.gartner.com/neil_macdonald/2010/05/15/the-future-of-information-security-is-context-aware-and-adaptive/
イントラネットに公開しているWebサービスがある場合、もしくはこれらが部門のWebサービスであるなら、今こうしたすべてのセキュリティの側面が必ずしも関係しないでしょう。しかし、あなたのWebサービスのための露出の表面積を考慮する必要があります。特に「ITのコンシューマ化」が進むにつれて、セキュリティはこの状況に挑戦しています。

Consumerization of IT Raises New Security Challenges
http://www.forbes.com/sites/tomkemp/2011/10/05/consumerization-of-it-raises-new-security-challenges/

部門のWebサービスでそれほど大きく公開しておらず、社内イントラネット経由でしかアクセスできない場合であっても、一般的に認証と認可は必要でしょう。さらに監査も、通常、様々な規制を義務づけているコンプライアンスのニーズに対処するために必要です。

OWSMは必ずしも全てのセキュリティ課題、特にウイルスの攻撃やリクエストの制限、侵入検知などに関連する課題には対処しないことは考慮しておく必要があります。
OracleのSOAセキュリティ戦略を以下の埋め込み画像でまとめました。

SOA Security Strategy
さまざまなセキュリティ上の課題を考える上で、それぞれのOracle製品がこれらのセキュリティ課題にどのように対処するのかを理解する助けとなれば幸甚です。


原文はこちら。
http://blogs.oracle.com/owsm/entry/when_to_use_owsm

[SOA/BPM, Spring] Accessing Coherence Cluster Using Spring Bean on SOA SUITE 11g

以下に記載するソリューションをSOA Suite 11.1.1.4とCoherence 3.6.0でテストしてみました。SOA SuiteからCoherenceクラスタにアクセスするには、以下のように他のやり方もあるはずです。

OTN Discussion Forum
Thread: Oracle Coherence Examples with Oracle SOA suite 11.1.1.4.0 and JDeveloper.
https://forums.oracle.com/forums/thread.jspa?threadID=2268739&tstart=180


背景
Coherenceのキャッシュ設定(cache-config)はSOAクラスタ用に定義済みで全てのSOAコンポジットアプリケーションがこの設定を継承します。このキャッシュ設定はsoa-coherence-cache-config.xml(クラスタ構成の管理対象サーバからログで確認できます)という名前でfabric-runtime.jarに含まれています。tangosol-coherence-override.xmlもまたfabric-runtime.jarに含まれており、SOAサーバがfabric-runtime.jarに含まれているキャッシュ設定を利用するように強制しています(結果として、setDomainEnv.cmd/sh内の -Dtangosol.coherence.cacheconfig の指定が効果を果たさないのです)。
私は全部を動作させるためのいくつかのオプションをテストしたので、これは比較的きれいなソリューションだと思います。SOA Suite 11gでCoherence*ExtendとSpring Beanを使っています。

手順
1. tangosol-coherence-override.xml と soa-coherence-cache-config.xml を fabric-runtime.jar (<WLS_HOME>/Oracle_SOA1/soa/modules/oracle.soa.fabric_11.1.1/fabric-runtime.jar) から抽出し、まずは tangosol-coherence-override.xml を編集します。
cache-config を自身のcache-configファイルに指定しましょう(デフォルトでは、fabric-runtime.jarに含まれているsoa-coherence-cache-config.xmlが指定されています)。

soa-coherence-cache-config.xml にremote-scheme を追加します。
2. SOAドメインのドメインホームに移動し、setDomainEnv.sh/cmd を編集します。-Dtangosol.coherence.override を指定し、手順1で抽出・編集したファイルを指定します。

3. TCP*Extendプロキシを持つように Coherence Clusterを構成します(これは非常に簡単なので省略します)。

4. コーディング時の利便性を考慮して、Java Embeddingの代わりにSpring Beanを使うことにします。SOAプロジェクトでは、以下のように1つのインターフェースと1つのクラスを作成します。

5. コンポーネントパレットからコンポジットダイアグラムへのSpring Contextをドラッグ&ドロップし、[Create New Context]を選択して、新しいSpring Beanコンテキストファイルを作成します。


右ペインから”Service”をドラッグ&ドロップしてサービスを追加し、Beanの定義を作成します。

6. BPELもしくはMediatorとSpring Contextをつなぎ、'ASSIGN' や 'INVOKE'などを追加して、適切に実装します。以下はBPELの例です。

7. これで終了ですが、あと一つだけ、ちょっとしたことをやる必要があります。それは、"wlfullclient.jar"と"jps-internal.jar"をCoherenceキャッシュサーバのCLASSPATHに追加することです。そうしなければ、"ClassNotFound"が出てしまいます。
もしかするとこれよりいい方法があるかもしれません。現在も調査中です。

原文はこちら。
http://blogs.oracle.com/jaylee/entry/accessing_coherence_cluster_using_spring

[BI Publisher] Time for a Timeout

BI Publisher 11gのインストール時のデフォルトタイムアウトとデフォルトタイムアウト設定の変更に関する問い合わせがありました。現在のところこのあたりは記述がない(Leslieが今やっています)が、やるべきことをご覧になれば、その理由がわかるかもしれません。それは非常に醜いものですが、まぁやっていきましょう。

BI PublisherのセッションタイムアウトはWEB-INFディレクトリ中のweb.xmlで定義されています。
<session-config>
 <session-timeout>30</session-timeout>
</session-config> 
WebLogic Serverにはちょっと面倒な機能と、2個のお役立ち機能があります。まず、Webアプリケーションのweb.xmlを更新し、WLSを再起動しなければ変更が有効にならないことです。これまでの調査の結果、WebLogic Serverからアプリケーションを削除した後に、web.xmlを更新し新しい設定で再デプロイする必要があることがわかりました。ここでの手順は、次のとおりです。
  1. MW_HOMEの下のxmlpserver.warをバックアップしておく。
  2. WebLogic Server管理コンソールにログインし、[デプロイメント]へ移動
  3. BI Publisherのエントリを削除。BI Publisherは、現在のサーバーから削除される。
  4. warファイルをディレクトリ構造を維持しながら展開
  5. WEB - INFディレクトリに移動して、web.xmlファイルを編集する。タイムアウト値を増やして、ファイルを保存。設定は、session-configセクションに行う。
        <session-config>
           <session-timeout>60</session-timeout>
         </session - config>
  6. ディレクトリ構造を維持したまま、warファイルに固める
  7. コンソールUIに戻り、[デプロイメント]からBI Publisherのwarファイルをインストール。全てデフォルト設定でOK。
  8. これでBI Publisherが利用可能。この時点で新しいタイムアウトが適用されている。
厄介ではありますが、ちゃんと動作します。あなたのいくつかは、WebLogic Server管理コンソール上で、セッションタイムアウトを設定できるアプリケーションを見かけられたことがあるかもしれません。当然ながら、(WebLogic Serverの有用な機能の一つですし)設定変更すれば機能するだろう、と思うはずですが、web.xmlの設定はWebLogic Serverの設定に優先するのです。

まだ試していないのですが、web.xmlからsession-configセクションを削除してBI Publisherを再デプロイすると、WebLogic Serverの設定が有効になるようです。セッション管理するにはよりよい方法だと思います。タイムアウト設定のもっと優れた方法を開発チームが提供するか、web.xmlからデフォルトタイムアウトの設定を削除するまでは、パッチの適用もしくはアップグレード時にはタイムアウトの設定方法を維持する必要がある、ということは覚えておくべきでしょう。


原文はこちら。
http://blogs.oracle.com/xmlpublisher/entry/time_for_a_timeout

[WebCenter] Q&A: Andy Macmillan on Oracle WebCenter Strategy and Roadmap

Oracle WebCenterのプロダクトマネージメントVPであるAndy MacMillanが、以前のOracle Enterprise 2.0からOracle WebCenterへと移行を主導してきましたが、落ち着いてきたので、Oracle WebCenterの今後の戦略と製品ロードマップを尋ねてみました。
詳しくはINFORMATION INDEPTH NEWSLETTER WebCenter Editionに記載がありますので、そちらをどうぞ。

INFORMATION INDEPTH NEWSLETTER
WebCenter Edition
(October 2011)

http://www.oracle.com/us/dm/h2fy11/100012204-prodstrategy-513309.html


原文はこちら。
http://blogs.oracle.com/emeapartnerwebcenter/entry/oracle_technology_network

2011年10月26日

[Applications] 中堅企業向けERP「JD Edwards EnterpriseOne」のiPad対応を発表

JD Edwards EnterpriseOneのiPad対応が発表されました。

JD Edwards EnterpriseOne 8.12/9.0をお使いのお客様は、JD Edwards EnterpriseOne Tools R8.98.4.5を使うと、JD Edwards EnterpriseOneで構築されたERPシステムをiPadから利用できるようになります。

日本語ですので、是非原文をどうぞ。

原文はこちら。
http://blogs.oracle.com/Oraclejapanpr/entry/%E4%B8%AD%E5%A0%85%E4%BC%81%E6%A5%AD%E5%90%91%E3%81%91erp_jd_edwards_enterpriseone_%E3%81%AEipad%E5%AF%BE%E5%BF%9C%E3%82%92%E7%99%BA%E8%A1%A8

[EM] Cloud, cloud everywhere and not a drop to drink - new whitepaper talks about the challenges and Oracle's solution

今ではみんながクラウドに関する話をしており、ITベンダーのほとんどは、クラウドに対して期待をしています。伝統的なシステム管理ベンダーも例外ではありません。ただし、ほとんどの場合、クラウドはテクノロジーにおけるファッション、つまり、エンタープライズテクノロジーの変化する風景の中における最新の流行語(バズワード)として扱われます。

Enterprise Cloudに必要なものは何か、という点を掘り下げたホワイトペーパーができました。クラウドのライフサイクルと、Oracle Enterprise Manager 12cでは完全に統合されたビジネス駆動型クラウド管理をどのように提供しているのか、という点について説明しています。


詳細はOracle Enterprise Managerのページ、もしくは以下のリンクからどうぞ。

Oracle Enterprise Manager (US)
http://www.oracle.com/us/products/enterprise-manager/index.html

Oracle Enterprise Manager (JP)
http://www.oracle.com/jp/products/enterprise-manager/index.html

Twitter   Facebook YouTube Linkedin


原文はこちら。
http://blogs.oracle.com/oem/entry/cloud_cloud_everywhere_and_not

[Security] A RESTful interface to Oracle Entitlements Server 11g

OESの役目は、許可の決定をクライアントに提供することです。クライアントは、OpenLiberty OpenAZ PEP APIインタフェースを実装するJava APIだけでなく、XACMLのWebサービスインタフェースを使用することができます。
しかし、いくつかのクライアントにとっては、RESTスタイルのAPIを介してOESにクエリを投げるほうが容易かもしれません。これは特に古いJavaまたはJava以外のクライアント、またはスマートフォンやその他の組み込みデバイスなどといった、より制限された環境で実行中のクライアントに当てはまります。別の例では、データベースで実行中のストアドプロシージャもそうです。RESTのスタイルを使用してサーバーに問い合わせる機能、基本的にHTTPのURLを使用して問い合わせる機能を使って、依存性をなくし、インタフェースを簡素化することで、クライアントを簡素化することができます。
このエントリでは、OESクライアントPEP APIにアクセスする、自然なRESTスタイルのインターフェイスを提供するOESへのゲートウェイを説明します。

OpenAZ PEP API (JavaDoc)
http://openaz.svn.sourceforge.net/viewvc/openaz/test/doc/index.html


The PEP API
まず、OpenAZ PEP APIを思い出してみましょう。 JavaクライアントAPIの典型的な呼び出しは次のようにようになります。
contextMap.put("level","5);
contextMap.put("speciality","Energy");
PepResponse response =
  PepRequestFactoryImpl.getPepRequestFactory().newPepRequest(
    "glen.byrne",                             //subject
    "execute",                                //_action,
    "TradingApp/Options/BlackScholes/UK-Gas", //resource
    contextMap).decide();                     //attributes map
System.out.println("Response from OES for request: {" + user + ", " +
  action + ", " + resource + "} \nResult: " + response.allowed());
Map obligations = response.getObligations();
指定されたサブジェクトが(属性値のペアのコンテキストマップ付き)特定のリソースに対してアクションを実行する権利を持っているかどうかというリクエストに対し、いわゆる義務は、クライアントが承認決定の微調整として解釈できる許可の決定と共に返される、キー/値ペアのリストです。例えば、データベースクライアントは、ユーザーが閲覧を許可されているテーブルのどの行をユーザは閲覧できるかを、データベースクライアントに提供できるように、where句が提供されることがあります。


Ầ la REST
HTTPリクエストとしてこのようなクエリをエンコードする場合、通常は以下のようなURLの形でHTTPのGETを発行します。
http://<machine>:<port>://<context root/TradingApp/Options/BlackScholes/UK-Gas/execute?user=glen.byrne&level=5&speciality=Energy
リソースをURLにマッピングし、ユーザとコンテキストマップをクエリパラメータとして渡します。
この小さなJDeveloperのプロジェクトで、OESのインターフェースを提供するゲートウェイを実装しています。このゲートウェイは、OES11gクライアントを用いてWebLogic Server Security Moduleとして構成されたWebLogic10.3.5ドメインにデプロイする必要があります。これが、OESを呼び出すWebアプリケーションをサポートするWebLogic Serverドメインを設定する標準オペレーションです。デプロイが終了すれば、以下のURLにアクセスして、ゲートウェイをテストできます。
http://localhost:7001/oesgateway/sayHello
この結果、'Hello World!'という文字列が返ってくるはずです。

アプリケーション、リソースタイプ、リソースや認可ポリシーをOESで構成すれば、上記の例のように、URLにアクセスし、ゲートウェイを経由してOESにクエリを発行することができます。一般的なパターンでは、すべてのコンテキスト属性をクエリパラメータとして渡し、以下の形式のURLにアクセスします。
http://localhost:7001/oesgateway/<resource string>/<action>/?user=<user name>
Webブラウザを使って、ゲートウェイから上記のURLにアクセスできます。ゲートウェイにアクセスするクライアントプログラムはプロジェクトに含まれており、HTTPのgetを直接実行する非常に簡単なJavaプログラムもこちらからダウンロードできます。
なお、ゲートウェイはJersey 1.2 APIと、OES 11g (11.1.1.5) Client APIに依存しています。


原文はこちら。
http://blogs.oracle.com/robsayin/entry/a_restful_interface_to_oracle

[Identity Management, SOA] Reassigning Leaver tasks in OIM11g

ユースケース
OIM11gでは、SOA BPELワークフローと組み合わせて複雑な承認ルールを定義することができます。また、例えば典型的なjoiner-mover-leaverのサイクルといったユーザーライフサイクルの管理も可能です。
それでは、ユーザーが退職したり、例えば、何らかの理由でアカウントが無効状態になった場合に、当該ユーザーが処理していない承認処理はどうなるのでしょうか。ここで問題になるのは、対処しない承認者を待値続けるという状態のまま、エンドユーザーの要求が止まってしまう、ということです。

ソリューション
イベント検知のためにOIM11gのイベントハンドラと、SOA Workflow Services APIを組み合わせて利用すれば、中退者のタスクを合意済みユーザーに再割り当てすることで、この問題に簡単に対処することができます。

SOA Workflow Services API
http://download.oracle.com/docs/cd/E21764_01/integration.1111/e10224/bp_worklistcust.htm#BHAHBHID

このJDeveloperプロジェクトはOIMの定期的なタスクを実装します。このタスクは、ロック状態のユーザをスキャンし、未処理の承認タスクを彼らの上司に再割り当てするというものです。スケジュールされたタスクのMDSデータはconfigディレクトリにあります。このタスクはのOracle® Fusion Middleware Developer's Guide for Oracle Identity Managerの[6 Developing Scheduled Tasks]に記載の通り、OIMにロードすることができます。

Oracle® Fusion Middleware Developer's Guide for Oracle Identity Manager
6 Developing Scheduled Tasks
http://download.oracle.com/docs/cd/E21764_01/doc.1111/e14309/refsched.htm#CIHBFCJG

ロック状態もしくは無効状態になった瞬間に再割り当てするイベントハンドラで使用しているテクニックを使うことができます。一旦ユーザが無効状態になると、承認タスクの再割り当てができませんので、ユーザが向こうになる前に再割り当てする必要があることに注意して下さい。

タスクはスケジュールされたタスクに対し、正規表現を使って一致するすべてのユーザーをスキャンします。ヒットした各ユーザについて、Workflow Services APIを使って、IWorkflowConstants.TASK_STATE_ASSIGNEDまたはIWorkflowConstants.TASK_STATE_INFO_REQUESTED状態にあるユーザに割り当てられているタスクを復旧します。これは現時点でアクティブなタスクの再割り当てのみに関心があるためです。getTasksForUser()メソッドを参照してください。OIMは、次のコードを使用してSOA環境からパラメータ(ユーザ名、パスワード、SOAのURL)を入手することができます。
BPELConfig bpelConfig = Platform.getConfiguration().getBPELConfig();
対象ユーザに現在割り当てられている各タスクについて、reassignTask()メソッドを使って当該ユーザの上司にタスクを割り当てたり、上司が存在しない場合にはハードコードされたユーザを割り当てます。Workflow Services APIの鍵となる呼び出しがここで、wfCtxがワークフローコンテキストであり、taskSvcがタスクサービスへの参照であるということにご注意下さい。
taskSvc.reassignTask(wfCtx, t.getSystemAttributes().getTaskId(),  newAssignee);
サンプルコードでは、BPEL Configオブジェクトから、この再割り当てを行うために使用できるタスクサービスとワークフローコンテキストオブジェクトを回復する方法を確認できます。

結論
OIM11gを使うと、ユーザのライフサイクルイベントを迅速に検知し、対応することができます。ユーザがロックされたり、無効になったり、削除されたりしても、実行中のあらゆるビジネスプロセスが継続実行することを保証します。

参考資料

原文はこちら。
http://blogs.oracle.com/robsayin/entry/reassigning_leaver_tasks_in_oim11g

[SOA/BPM] Oracle Announces Oracle SOA Suite for Healthcare Integration

OracleはOracle SOA Suite for Healthcare Integrationを本日発表しました。この新しいソリューションにより、医療業界のお客様がコスト削減と、システム稼働までの時間を短縮することができます。

New Facts
医療業界向けに、統合されたエンタープライズアプリケーションインフラストラクチャプラットフォーム内に包括的な医療システム統合機能を提供するため、Oracleは本日Oracle SOA Suite for healthcare integrationを発表しました。

Oracle SOA Suite for healthcare integrationは、医療業界のメッセージ標準をサポートしており、医療業務のコラボレーションのためのダッシュボードや監視ツール、HIPAA 5010に迅速にアップグレード・遵守するためのツールキットを提供します。

Oracle SOA Suite for healthcare integrationは、迅速な統一されたユーザーインターフェース、管理コンソールや監視環境だけでなく、医療機関の顧客のプロジェクト向けの医療のライブラリとテンプレートを提供していますので、医療機関の運営コストを削減し、システム導入までの時間を短縮できます。

Oracle SOA Suite for healthcare integrationはHealthcare Adapter for Oracle SOA Suite 11gの一部です。

Oracle Fusion Middleware 11gの1コンポーネントであるOracle SOA Suite 11gは、高度な俊敏性と適応性を備えたビジネス・アプリケーションの迅速な設計、構築、デプロイ、管理をサポートする、ベスト・オブ・ブリードの統合された製品スイートです。


Oracle Fusion Middleware 11g
http://www.oracle.com/jp/products/middleware/index.html
Oracle SOA Suite 11g
http://www.oracle.com/jp/technologies/soa/soa-suite/index.html

プレスリリースはこちらからどうぞ。
Oracle Announces Oracle SOA Suite for Healthcare Integration
http://www.oracle.com/us/corporate/press/520240


原文はこちら。
http://blogs.oracle.com/SOA/entry/oracle_announces_oracle_soa_suite

[SOA/BPM] Official Oracle SOA Suite 11g Samples have a new home

Oracle SOA Suite 11gのサンプルプロジェクトがjava.netにできました。

Official Oracle SOA Suite 11g Samples
http://java.net/projects/oraclesoasuite11g/pages/Home

サンプルの閲覧やダウンロードに特別なログインは不要なので、興味のあるコンポーネントをクリックして試してみてはいかがでしょう。
サンプルは以下のものを用意しています。
SOAコミュニティプロジェクトも調べてみてくださいね。あなたのサンプルをUpすることもできますよ。

原文はこちら。
http://blogs.oracle.com/SOA/entry/official_oracle_soa_suite_11g

[Database, Hardware] ODA (Oracle Database Appliance) resources summary

現時点で公開されているOracle Database Applianceに関するリソースをまとめました。
  1. 手始めに
  2. 詳細(OPNへのログインが必要です)
  3. もっと深い内容は…

原文はこちら。
http://blogs.oracle.com/eSTEP/entry/oda_oracle_database_appliance_resources

2011年10月25日

[FMW] Oracle Forms 11gR2 - Windows and Linux 64 bit now available

Oracle Forms and Reports 11gR2のWindows x86-64版、Linux x86-64版がOTNからダウンロードできるようになりました。

Oracle Forms Services 11g
http://www.oracle.com/technetwork/developer-tools/forms/overview/index.html
ダウンロードページ
http://www.oracle.com/technetwork/developer-tools/forms/downloads/index.html

原文はこちら。
http://blogs.oracle.com/grantronald/entry/oracle_forms_11gr2_windows_and

[Identity Management, Security] Oracle Identity Analytics 11gR1 PS1 (11.1.1.5) quick installation


Oracle Identity Analytics(以下、OIA)の最新版であるOIA 11.1.1.5は、認証の使いやすさおよびリスク管理だけでなく、OIMとの統合の改善という点からもかなり機能強化されています。

OIAのドキュメント
http://download.oracle.com/docs/cd/E24179_01/index.htm

このantプロジェクトは、デプロイの準備や標準的な手動タスクのほとんどを処理することができるサンプルです。詳細は README.txt と利用方法の表示をご覧になって下さい。

利用方法の画面は以下のようなものです。
usage:
     [java] Buildfile: build.xml

Helper script to install OIA11gR1PS1.

You should give the App server at least 1024m (-Xms1024m -Xmx1024m)

Pre-requisites:

* Download the product zip file from the Oracle website and copy to the ./product-zips directory
* Download and prep the required jar file dependencies as described in the Installation Guide and copy to the ./custom directory:
cloverETL.rel-1-8-1.jar,jasper-jdt-6.0.18.jar,jxl-2.5.9.jar,wsdl4j-1.6.1.jar
* Download the oracle JDBC driver for your Oracle Database and copy to the ./custom directory:
ojdbc6.jar
* Fixup the build-config.properties

Typical sequence of commands:
    ant -projecthelp
    ant show-build-properties
        ant clean
        ant dist
        ant repo-drop-oracle
        ant repo-create-oracle

        ant deploy-rbacxhome       -- copy the built rbacxhome to the deployment location
        ant deploy-rbacx           -- deploy to WLS

Deploy rbacx to WLS:
        ant deploy

Undeploy rbacx from WLS:
        ant undeploy

Main targets:

 checkAntVersion        Ensure that we're running ant 1.7
 clean                  delete the dist and staging directories
 dist                   cleans the build directories and then rebuilds the war file
 repo-create-oracle     Run the repo set up script. Make sure neither rbacx schema nor rbacxservice user exist
 repo-drop-oracle       drop the schema and rbacxservice user
 show-build-properties  show the build properties
Default target: usage

BUILD SUCCESSFUL
Total time: 0 seconds

原文はこちら。
http://blogs.oracle.com/robsayin/entry/oracle_identity_analytics_11gr1_ps1


2011年10月24日

[misc] Presentation Slides - OTN Architect Day - Chicago

OTN Architect Day in Chicago(10月24日開催)のプレゼン資料がでてきました。
(参考)

原文はこちら。
http://blogs.oracle.com/archbeat/entry/presentation_slides_otn_architect_day

[Linux] trying uek2

Unbreakable Enterprise Kernel Version 2 (UEK2)が Oracle Openworldで発表されました。これについても少々情報を追加したいと思います。
UEK2は Linux 2.6.39 をベースに、UEK2はLinux3.0.3まで適用されるチェンジセット(バックポートではありません)を備えています。Linusによると、2.6から3.0への変更は任意で、2.6.39以前のカーネルと設計に違いはありませんが、バージョンの変更によりユーザー空間のプログラムに影響を及ぼす可能性があります。互換性を維持し、コードの変更を避けるためには、2.6.39にしておくのが最善でした。
UEK2 beta は無料でご利用頂けます。やるべきことは、Oracle Linux 6 をインストール(edelivery から無料でダウンロードできます)し、すでにOracle Linux Supportをお使いのお客様であれば、Unbreakable Linux Network (ULN) に接続して下さい。もしちょっとお試し、という方であれば、 public yum repositoryを利用して下さい。

gitリポジトリ用にソースコードはoss.oracle.comからダウンロード出来るようになっています。
http://oss.oracle.com/git/?p=linux-2.6-unbreakable-beta.git;a=summary

2.6.32以降のメインラインカーネルの変更点をまとめると大変なので、新機能として議論した内容を列挙します。

- btrfs production.
Btrfsは厳密なテストを通りつつある素晴らしいファイルシステムで、uek2と共に、正式リリースできる品質であると発表する予定にあります。このファイルシステムには素晴らしい機能が含まれていて、過去のエントリでもご紹介していますので、ご一読下さい。BTRFSをルートファイルシステムとして使い、パッケージのアップグレード時にスナップショットを撮る機能は、間違いなく興味深い機能でしょう。既存のOracle Linux 6のbtrfsのプログラムは正常に動作しますが、UEK2チャネルにはまもなく、UEK2の全機能にフルアクセスできる、このbtrfsのユーザースペースプログラムが更新版が含まれることでしょう。

- Linux containers
これは、Solaris Zonesを移植したものではありません。Linux containersはlxcベースで、過去数年の全てのcgroupsの作業がカーネルに取り込まれています。Containerを操作するために必要なカーネルの機能はBtrfsプログラムと同様、すべてuek2に含まれていて、Oracle Linux Containerを簡単に作成できるようにするための、ユーザー空間におけるlxcツールと共に、ベータチャネルを更新する予定にしています。Oracle VMのテンプレートを使うと、簡単にコンテナとして実行させるだけでなく、Oracle VMにおける仮想マシンとして実行させるように変換できるでしょう。

- Open vSwitch
Open vSwitchは、非常に興味深い仮想スイッチ製品で、特に仮想環境で役立ちますが、Linuxブリッジの交換対象としても優れています。これらのパッケージもまた、ベータチャンネルのuek2で利用可能になる予定です。 Open vSwitchの詳細については、以下のリンクをご覧下さい。

Production Quality, Multilayer Open Virtual Switch
http://openvswitch.org/

- 現在のuekからの性能向上を含む多くの新しい拡張機能詳細については、詳細なデータやユースケースを添えて今後ブログに掲載していきます。その中で、これらの機能を使うと、他社のLinuxに比べてがいかにOracleのソフトウェアだけでなく、他社のソフトウェアであっても、メリットがあることをお伝えする予定にしています。

ULNから始める場合
uln_registerを使って、ULNにお使いのOracle Linux 6サーバを登録しましょう。サーバをクリックし、[Manage subscriptions]をクリックして、 ol6_x86_64_UEK_BETA チャネルをこのサーバのチャネルリストに追加します。その上で、サーバ上で  yum update kernel-uek を実行し、再起動して終了です。

public-yum リポジトリを使って始める場合

# cd /etc/yum.repos.d
# wget http://public-yum.oracle.com/beta/public-yum-ol6-beta.repo

リポジトリファイル (repo) を編集して、 enabled=0 から enabled=1 に変更します。
# yum update kernel-uek
Loaded plugins: refresh-packagekit, rhnplugin
This system is not registered with ULN.
ULN support will be disabled.
uek2_beta                                                |  951 B     00:00
uek2_beta/primary                                        | 339 kB     00:01
uek2_beta                                                                   8/8
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package kernel-uek.x86_64 0:2.6.39-100.0.12.el6uek set to be updated
--> Processing Dependency: kernel-uek-firmware >= 2.6.39-100.0.12.el6uek for pac
kage: kernel-uek-2.6.39-100.0.12.el6uek.x86_64
--> Running transaction check
---> Package kernel-uek-firmware.noarch 0:2.6.39-100.0.12.el6uek set to be updat
ed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                Arch      Version                    Repository    Size
================================================================================
Installing:
 kernel-uek-firmware    noarch    2.6.39-100.0.12.el6uek     uek2_beta    1.1 M
     replacing  kernel-firmware.noarch 2.6.32-71.el6
     replacing  kernel-uek-firmware.noarch 2.6.32-100.28.5.el6
Updating:
 kernel-uek             x86_64    2.6.39-100.0.12.el6uek     uek2_beta     25 M

Transaction Summary
================================================================================
Install       1 Package(s)
Upgrade       1 Package(s)

Total download size: 26 M
Is this ok [y/N]:
Downloading Packages:
(1/2): kernel-uek-2.6.39-100.0.12.el6uek.x86_64.rpm      |  25 MB     00:51
(2/2): kernel-uek-firmware-2.6.39-100.0.12.el6uek.noarch | 1.1 MB     00:05
--------------------------------------------------------------------------------
Total                                           452 kB/s |  26 MB     00:58
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
  Installing     : kernel-uek-firmware-2.6.39-100.0.12.el6uek.noarch        1/5
  Updating       : kernel-uek-2.6.39-100.0.12.el6uek.x86_64                 2/5
  Cleanup        : kernel-uek-2.6.32-100.28.5.el6.x86_64                    3/5
  Cleanup        : kernel-uek-firmware-2.6.32-100.28.5.el6.noarch           4/5
  Erasing        : kernel-firmware-2.6.32-71.el6.noarch                     5/5

Installed:
  kernel-uek-firmware.noarch 0:2.6.39-100.0.12.el6uek

Updated:
  kernel-uek.x86_64 0:2.6.39-100.0.12.el6uek

Replaced:
  kernel-firmware.noarch 0:2.6.32-71.el6
  kernel-uek-firmware.noarch 0:2.6.32-100.28.5.el6

Complete!

この時点で、新しいカーネルがインストールされ、利用できるようになっています。 /etc/grub.conf にはこのベータ版のカーネルが追記されていますので、単に再起動すれば利用できるようになります。

# reboot

原文はこちら。
http://blogs.oracle.com/wim/entry/trying_uek2

2011年10月23日

[EM] Installing OEM 12c

Oracle Enterprise Manager Cloud Control(以前はGrid Controlでした)をインストールしてみました。
バージョン:12
プラットフォーム:OEL 6.1, x86_64 (VM上にインストール)
前提条件:Oracle Database 11g Release 2 11.2.0.3

1. データベースのインストール
a) ファイアウォールとSELinuxを無効にしておきます。
# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  
# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
# SELINUX=enforcing
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 

#
b) /etc/hostsにサーバのFQDNが入っていることを確認します。
# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
10.169.82.44    sr-ire-44.ie.oracle.com sr-ire-44
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
# 
c) カーネルパラメータを変更します。/etc/sysctlconfに以下のエントリを追加します。
fs.suid_dumpable = 1
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default=4194304
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048586
追加したら、以下のコマンドで反映します。
# /sbin/sysctl -p 
d) /etc/security/limits.conf に以下の設定を追加します。
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  4096
oracle              hard    nofile  65536
oracle              soft    stack   10240
e) ユーザ、グループを追加します。
# groupadd -g 502 oinstall
# groupadd -g 503 dba
# groupadd -g 504 oper
# groupadd -g 505 asmadmin
# groupadd -g 506 asmoper
# groupadd -g 507 asmdba
# useradd -u 503 -g oinstall -G dba,asmdba,oper oracle
# passwd oracle
f) データベースインストール先のディレクトリを作成します。
# mkdir -p /u01/app/oracle/product/11.2.0/db_1
# chown -R oracle:oinstall /u01
# chmod -R 775 /u01
g) oracleユーザでログインし、.bash_profileに以下の設定を追加します。
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=sr-ire-44.ie.oracle.com; export ORACLE_HOSTNAME
ORACLE_UNQNAME=orcl; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
h) oracleユーザでログインし、oracle-dbのzipファイルを展開し、runInstallerを実行します。今回は以下の設定を使用しました。
セキュリティアップデートの構成:NULL
ソフトウェアの更新のダウンロード:スキップ
インストール・オプションの選択: データベースの作成
システム・クラス:サーバー
Gridインストール・オプション: シングルインスタンス
インストールタイプの選択:標準
標準インストール: デフォルト値のまま。osdba グループ: oinstall
インベントリの作成:デフォルト
前提条件のチェック:yumで以下のコンポーネントをインストール
compat-libcap1, compat-libstdc++-33, ksh, libaio-devel
Finish: run scripts: # /u01/app/oraInventory/orainstRoot.sh  # /u01/app/oracle/product/11.2.0/db_1/root.sh 
i) /etc/oratabを編集し、再起動フラグを'Y'に指定します。
orcl:/u01/app/oracle/product/11.2.0/db_1:Y
j) rootユーザとして、/etc/init.d/dbora を作成します。
#!/bin/sh
# chkconfig: 345 99 10
# description: Oracle auto start-stop script.
#
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database in ORA_HOME.

ORA_HOME=/u01/app/oracle/product/11.2.0/db_1
ORA_OWNER=oracle

if [ ! -f $ORA_HOME/bin/dbstart ]
then
    echo "Oracle startup: cannot start"
    exit
fi

case "$1" in
    'start')
        # Start the Oracle databases:
        # The following command assumes that the oracle login
        # will not prompt the user for any values
        su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME"
        touch /var/lock/subsys/dbora
        ;;
    'stop')
        # Stop the Oracle databases:
        # The following command assumes that the oracle login
        # will not prompt the user for any values
        su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME"
        rm -f /var/lock/subsys/dbora
        ;;
esac
dboraファイルの権限を変更し、ブート時に起動するように設定します。
# chmod 750 /etc/init.d/dbora
# chkconfig --add dbora
k) Oracle Databaseを起動します。
l) oracleユーザとしてログインし、 sqlplus / as sysdba でsys、sysman、systemユーザのパスワードをリセットします。

2 oracleユーザとして以下のコマンドを実行し、DatabaseのEnterprise Managerの構成を解除します。
emca -deconfig dbcontrol db -repos drop -SYS_PWD <password-SYS> -SYSMAN_PWD <password-SYSMAN>
3 oracleユーザとしてSQL*Plusを使い、DBA権限でログインし、システム設定を変更します。
sqlplus / AS SYSDBA

ALTER SYSTEM SET processes=300 SCOPE=SPFILE;
ALTER SYSTEM SET session_cached_cursors=200 SCOPE=SPFILE;
ALTER SYSTEM SET sga_target=2G SCOPE=SPFILE;
ALTER SYSTEM SET shared_pool_size=600M SCOPE=SPFILE;
ALTER SYSTEM SET pga_aggregate_target=1G SCOPE=SPFILE;
ALTER SYSTEM SET job_queue_processes=20 SCOPE=SPFILE;

-- May be required if using older versions of DB.
--ALTER SYSTEM SET log_buffer=10485760 SCOPE=SPFILE;
--ALTER SYSTEM SET open_cursors=300 SCOPE=SPFILE;

-- Restart the instance.
SHUTDOWN IMMEDIATE
STARTUP 
データベース起動時に問題が発生したので…
SQL> startup
ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 3072M
spfileからpfileを作成して…
SQL> create pfile from spfile;
pfileを編集し、
/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora
and set *.memory_target=3221225472
rootユーザで/dev/shmを再マウントします。
# df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
...
tmpfs                  1929528       528   1929000   1% /dev/shm
...
# mount -t tmpfs shmfs -o size=4g /dev/shm
# df -h
...
tmpfs                 4.0G     0  4.0G   0% /dev/shm
...
# vi /etc/fstab
...
tmpfs        /dev/shm        tmpfs    size=4g        0 0
...
#
で、データベースを再起動します。
SQL> startup pfile=/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora
ORACLE instance started.
Total System Global Area 3206836224 bytes
Fixed Size            2232640 bytes
Variable Size         1761611456 bytes
Database Buffers     1426063360 bytes
Redo Buffers           16928768 bytes
Database mounted.
Database opened.
SQL> 
spfileを再作成して…
SQL> CREATE SPFILE FROM PFILE;
4 - oracleユーザとして、ディレクトリを作成します。
/u01/app/oracle/Middleware
5 - Enterprise ManagerのZipファイルを展開し、oracleユーザとしてrunInstallerを実行します。
MOS:メールアドレスは入力せず、チェックボックスを解除
ソフトウェアの更新のダウンロード:スキップ
前提条件のチェック:glib-devel の警告が出たが、無視して継続
インストールタイプ:新しいEMインスタンスを作成 > シンプル > ミドルウェアインストール先
/u01/app/oracle/Middleware 
詳細の構成: ... (管理者パスワードをDBのパスワードと一致させる)
警告ダイアログ:'Yes' をクリックして、統計情報収集ジョブを無効化する
警告:'OK'
サマリー:'Install'をクリック
# yum install glibc-devel(x86-32)
# yum install libgcc-4.4.5-6.el6.i686 
# yum install binutils-devel-2.20.51.0.2-5.20.el6.i686 
# yum install libstdc++-4.4.5-6.el6.i686 libstdc++-devel-4.4.5-6.el6.i686 compat-libstdc++-33-3.2.3-69.el6.i686
# rpm -q glibc-devel
glibc-devel-2.12-1.25.el6.x86_64
glibc-devel-2.12-1.25.el6.i686

原文はこちら。
http://blogs.oracle.com/VDIpier/entry/installing_oem_12c

2011年10月21日

[Identity Management] Identity Management for a Car ?

アイデンティティ管理の話のほとんどは、法規制の遵守とセキュリティリスクを強調しています。同時に、アイデンティティのコンテキストは重要なビジネスイネーブラーでもあります。

下のビデオは、トヨタスマートセンターのコンセプトを説明しているものですが、このビデオでは、車は輸送のみならず、カレンダーやナビゲーションの支援を受けて、用事のスケジューリングをするというパーソナルアシスタントの役目も果たします。このケースでは、おそらく結婚すら車が助けてくれるでしょう。トヨタが本当によくわかってらっしゃるなぁ、と思わずにいられないのは、.このビデオでは、ユーザー認証が非常に簡単で、エンドユーザーにほとんど負担をかけていない、ということです。



原文はこちら。
http://blogs.oracle.com/OracleIDM/entry/identity_management_for_a_car

[EM] New IDC report on Oracle Enterprise Manager 12c

IDCからOracle Enterprise Manager 12cに関するレポートが出ています。

"Oracle Enterprise Manager 12c Embraces the Cloud with Integrated Lifecycle Management"
http://www.oracle.com/us/corporate/analystreports/infrastructure/idc-oem-12c-517156.pdf


原文はこちら。
http://blogs.oracle.com/emeapartnermanageability/entry/new_idc_report_on_oracle

[Linux] trying out DTrace

[訳注]
原文では、DTraceをdtrace/Dtraceと記載していますが、後日エントリの筆者が訂正していますので、ここではDTraceとして表記します。

Oracle OpenWorldで発表したDTrace for Linuxについてもうちょっと情報をお伝えしたいと思います。
今回DTraceのプレビュー版をリリースしましたが、まだ全ての機能が出揃っていませんので、新しい機能を追加するごとにアップデートを提供する予定です。

DTraceは、Oracle Linuxのサポート加入者であればご利用頂けますが、以下の作業が必要です。
  • 貴社のシステムをUnbreakable Linux Network (ULN) に登録
  • Oracle Linux 6 + Unbreakable Enterprise Kernelを実行
  • DTraceチャンネル(ol6_x86_64_Dtrace_BETA)を使用してサーバーを登録
  • UEK 2.6.32のアップデートバージョンとDTraceカーネルモジュール、ユーザースペースのプログラムのインストール
  • 実行
詳細の手順は以下の通りです。
  1. サーバー上でuln_registerrootユーザーとして実行し、ULNにサーバーを登録する。その際、シングルサインオンID、パスワードおよびOracleのLinuxサポートID(CSI)の入力が必要。
  2. システム登録後、ULNのWebサイトにログインし、Systemsをクリック、登録したばかりのサーバ(複数可)を確認
  3. サーバをクリックし、Manage Subscriptionsを参照
  4. 利用中のサーバにDTrace for Oracle Linux 6チャンネルを追加し、[Save]をクリック
  5. サーバのバックエンドで、yum repolistを入力して全て正常に動作していれば、ol6_x86_64_Dtrace_BETA が表示されるはずなので、確認しておく
  6. 必要なパッケージをインストール
    1. yum install dtrace-modules
    2. yum install dtrace-utils
    3. yum install kernel-uek-2.6.32-201.0.4.el6uek
  7. DTrace ULNチャネルから指定のカーネルをインストール
  8. 再起動して新しいカーネルに移行
  9. カーネルモジュールをロードする。
    modprobe dtrace
    modprobe systrace
これでDTraceを使う準備ができました。数多くの有用なDTraceスクリプトを提供する予定にしていますが、簡単な例を一つ用意しました。サーバ上でOracle Databaseが動作している場合に、Oracle Databaseの実行ファイルがサーバのどのファイルを開いているか、調べてみたいと思います。この場合の簡単なコマンドは以下のようになります。
dtrace -n 'syscall::open*:entry/execname == "oracle"/{ printf("%s %s", execname, copyinstr(arg0)); }'
この例は、どんなファイルをoracleが開いているかを表示します。

もっと多くの機能がでてきますが、とりあえずみたいという既存のお客様のために、チェックしてみましょう。 カーネル 2.6.32-201.0.4 のソースはULNで利用可能で、DTraceカーネルモジュールのソースは、CDDLライセンスに基づいており、これもULNで利用可能です。userspaceツールはもあります。UEK2ベータ版のカーネル用DTraceはまだありませんが、UEK2ベータカーネルのアップデートで出てくる予定です。現在、実行時にプローブ/プロバイダを「切り張り」する、Kspliceテクノロジーが利用できるか検証中です。うまく行けば、余分なコードなしでカーネルを実行できるようになるでしょう。DTraceを有効にしたければ、まずはKSplice DTraceのアップデートをして、DTraceを実行し、事後にアンロードしましょう。しかし、ここで鍵になるのは、単語のEVALUATEです:)。

[簡単な例]
# dtrace -n 'syscall::open*:entry/execname == "oracle"/{ printf("%s %s", execname, copyinstr(arg0)); }'
dtrace: description 'syscall::open*:entry' matched 2 probes
CPU     ID                    FUNCTION:NAME
  2      8                       open:entry oracle /proc/2672/stat
  2      8                       open:entry oracle /proc/2674/stat
  2      8                       open:entry oracle /proc/2678/stat
  2      8                       open:entry oracle /proc/2682/stat
  2      8                       open:entry oracle /proc/2686/stat
  2      8                       open:entry oracle /proc/2688/stat
  2      8                       open:entry oracle /proc/2690/stat
  2      8                       open:entry oracle /proc/2692/stat
  2      8                       open:entry oracle /proc/2694/stat
  3      8                       open:entry oracle /proc/loadavg
  1      8                       open:entry oracle /u01/app/oracle/oradata/XE/system.dbf

原文はこちら。
http://blogs.oracle.com/wim/entry/trying_out_dtrace

2011年10月20日

[Java] JavaOne 2011 Report in Japanese

Oracleの寺田さん(寺田佳央)がJJUG CCCで報告したJavaOne 2011のスライドがSlideShareにUpされています。掲載後たった2日で35,000以上も閲覧されました。

JavaOne 2011 Report
View more presentations from Oracle Fusion Middleware


原文はこちら。
http://terrencebarr.wordpress.com/2011/10/19/javaone-2011-report-in-japanese/

2011年10月19日

[Java] Have you seen the "Java Life" Rap Music video yet?

JavaOneで流れましたね…。



原文はこちら。
http://blogs.oracle.com/governance/entry/have_you_seen_the_java

[Identity Management] Monitor your OUD Directory Services

ディレクトリサービスをちゃんと監視していますか?
ライブで監視し、統計情報にアクセスしましょう。
以下のような情報、すぐに入手できますか?
  • ディレクトリサービスインスタンスの可用性の監視
  • 数多くのディレクトリの指標を使って性能監視
  • 監視データに設定した閾値をもとに、アラートを発生
  • 標準のリッチなレポート
Oracle Directory Server Enterprise Editionの監視にあたり、System Monitoring Plug-in for Oracle Unified Directoryを使うと、Oracle Enterprise Manager Grid ControlからOracle Unified Directoryのインスタンスの監視(ストレージやプロキシ、同期の監視を含む)することができます。

詳細は以下のリンクをご覧下さい。

原文はこちら。

[Identity Management] Cool IDM videos :-)

Oracle OpenWorldで公開したIDMの動画のリンクをお知らせします。

[訳注]
ひとつめの動画は以前ご紹介した動画です。
http://orablogs-jp.blogspot.com/2011/08/videodont-slap-yourself-if-you-forget.html

Oracle Enterprise Single Sign-on Suiteの動画
Operant Conditioning -- Too Many Passwords Can Drive You Crazy!




Oracle Identity Analytics の動画
Audit Eye


Oracle Identity Managementの動画
Auction




原文はこちら。
http://blogs.oracle.com/directoryservices/entry/cool_idm_videos

[NoSQL Database] Oracle NoSQL Database Doc available on OTN

Oracle NoSQL DatabaseのドキュメントがOTNで公開されています。

Oracle NoSQL Database, 11g Release 2
http://www.oracle.com/technetwork/database/nosqldb/documentation/index.html

[訳注]
ダウンロードパッケージにもドキュメントが含まれています。

原文はこちら。
http://blogs.oracle.com/charlesLamb/entry/oracle_nosql_database_doc_available

[VM] Migrating from Hyper-V and vSphere to Oracle VM

vSphereやHyper-VからOracle VMへマイグレーションするにはどうしたらいいの、という問い合わせをたくさん頂きますが、非常に簡単です。Oracle VMはどちらの製品のファイルもロードできますし、自動的にOracle VM用のファイルに変換することもできます。

必要な作業は以下の通りです。
  • 仮想環境をOVAファイルフォーマットで保存(vSphereの場合は単にOVAとしてエクスポートすればOKです)
  • Oracle VM Managerで、Assemblyとしてインポート
  • これから先は他のAssemblyと同じで、テンプレートを作成して必要なだけ複製を作成できます。
他の専用ツールや変換ツールが不要です。簡単でしょ。


原文はこちら。
http://blogs.oracle.com/virtualization/entry/migrating_from_hyper_v_and

2011年10月18日

[Database] Database Upgrade: Most important Support Notes

データベースのアップグレードに関するMOS(My Oracle Support)のNoteで最も重要と思われるものをリストアップしてみました。アップグレードされる際には、このあたりの情報を確認されることをお勧めします。

原文はこちら。
http://blogs.oracle.com/UPGRADE/entry/database_upgrade_most_important_support

[Linux] Containers on Linux

Oracle OpenWorldではLinux Containersについてお話しましたが、Oracle Linux6.1、UEK2betaやbtrfsと共にLinux containerを取得する例をご紹介しましょう。READMEファイルを読んでらっしゃらない方向けに、これはサンプルですので、リリース版でも無ければ本運用向けでもありませんし、バグがあるかもしれません。
このcontainerの例では、環境を作成するにはメインラインカーネル(UEK、UEK2でもOK)にある、Linuxの既存のcgroupsの機能とLXCツールを使用しています。

サンプルの前提条件
  • ホストOS
    • Oracle Linux 6.1(UEK2 beta)
  • containerのファイルシステム
    • btrfs (スナップショット機能を利用するため)
  • ファイルシステムを/containerにマウント
  • ベースとなる環境として、Oracle VMテンプレートを使用
  • Oracle Linux 5のcontainer
今回使用したテスト機の2番目のディスク(/ dev / sdbなど)で実行します。
# mkfs.btrfs  -L container  /dev/sdb

# mount
/dev/mapper/vg_wcoekaersrv4-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/mapper/vg_wcoekaersrv4-lv_home on /home type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/mapper/loop0p2 on /mnt type ext3 (rw)
/dev/mapper/loop1p2 on /mnt2 type ext3 (rw)
/dev/sdb on /container type btrfs (rw)
lxcツールをインストールします。
# rpm -qa|grep lxc
lxc-libs-0.7.5-2.x86_64
lxc-0.7.5-2.x86_64
lxc-devel-0.7.5-2.x86_64
lxcツールはテンプレート構成ファイルに含まれています。
# ls /usr/lib64/lxc/templates/

lxc-altlinux  lxc-busybox  lxc-debian  lxc-fedora  lxc-lenny  
lxc-ol4  lxc-ol5  lxc-opensuse  lxc-sshd  lxc-ubuntu
Oracle Linux 5用のツール lxc-ol5 を作成しました。

Oracle Linux 5のOracle VMテンプレートを http://edelivery.oracle.com/linux からダウンロードします。今回は OVM_EL5U5_X86_PVM_10GB を使用しました。
二度手間を避けるため、containerとVMモードの両方で使用できる1個の環境を作成してみたいと思います。

VMテンプレートを展開します。
# tar zxvf OVM_EL5U5_X86_PVM_10GB.tar.gz
以下の手順を実施します(将来は自動化されるはず…)。

VM仮想ディスクのルートファイルシステムをbtrfsサブボリュームにコピーして、ベーステンプレートの複製を簡単に作成できるようにします。
テンプレート構成スクリプトは以下のような設定にしています。

template_path=/container/ol5-template

-  /containers にサブボリューム ol5-template を作成します。
# btrfs subvolume create /container/ol5-template
Create subvolume '/container/ol5-template'

- Oracle VMテンプレートのSystemイメージのルートパーティションをマウントします。l
# kpartx -a System.img 
# kpartx -l System.img 
loop0p1 : 0 192717 /dev/loop0 63
loop0p2 : 0 21607425 /dev/loop0 192780
loop0p3 : 0 4209030 /dev/loop0 21800205

仮想ディスクイメージの2番目のパーティションをマウントする必要がありますが、kpartx が仮想ディスクパーティションの各々に対応するループバックデバイスを設定しますので、テンプレート中のOracle Linux 5 のルートファイルシステムを含む loop0p2 をマウントしましょう。
# mount /dev/mapper/loop0p2 /mnt

# ls /mnt
bin  boot  dev  etc  home  lib  lost+found  media  misc  mnt  opt  proc  
root  sbin  selinux  srv  sys  tftpboot  tmp  u01  usr  var

利用可能なテンプレートのルートファイルシステム全体をサブボリュームにコピーしましょう。このサブボリュームはOracle Linux 5 Containerのベースとなるものです。
# cd /mnt
# tar cvf - * | ( cd /container/ol5-template ; tar xvf ; )
近い将来、上記手順は自動化されるはずです。

# pwd
/container/ol5-template

# ls
bin  boot  dev  etc  home  lib  lost+found  media  misc  mnt  opt  proc  
root  sbin  selinux  srv  sys  tftpboot  tmp  u01  usr  var

この時点から、lxc-createスクリプトに引数としてテンプレートの設定を渡してあげると、自動的にスナップショットを作成し、正しくファイルシステムをセットアップすることができるはずです。
# lxc-create -n ol5test1 -t ol5

Cloning base template /container/ol5-template to /container/ol5test1 ...
Create a snapshot of '/container/ol5-template' in '/container/ol5test1'
Container created : /container/ol5test1 ...
Container template source : /container/ol5-template
Container config : /etc/lxc/ol5test1
Network : eth0 (veth) on virbr0
'ol5' template installed
'ol5test1' created

# ls /etc/lxc/ol5test1/
config  fstab

# ls /container/ol5test1/
bin  boot  dev  etc  home  lib  lost+found  media  misc  mnt  opt  proc  
root  sbin  selinux  srv  sys  tftpboot  tmp  u01  usr  var

では、作成、構成が終了したので、起動してみましょう。
# lxc-start -n ol5test1
INIT: version 2.86 booting
                Welcome to Enterprise Linux Server
                Press 'I' to enter interactive startup.
Setting clock  (utc): Sun Oct 16 06:08:27 EDT 2011         [  OK  ]
Loading default keymap (us):                               [  OK  ]
Setting hostname ol5test1:                                 [  OK  ]
raidautorun: unable to autocreate /dev/md0
Checking filesystems
                                                           [  OK  ]
mount: can't find / in /etc/fstab or /etc/mtab
Mounting local filesystems:                                [  OK  ]
Enabling local filesystem quotas:                          [  OK  ]
Enabling /etc/fstab swaps:                                 [  OK  ]
INIT: Entering runlevel: 3
Entering non-interactive startup
Starting sysstat:  Calling the system activity data collector (sadc): 
                                                           [  OK  ]
Starting background readahead:                             [  OK  ]
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: nat mangle filter         [  OK  ]
Applying iptables firewall rules:                          [  OK  ]
Loading additional iptables modules: no                    [FAILED]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:  
Determining IP information for eth0... done.
                                                           [  OK  ]
Starting system logger:                                    [  OK  ]
Starting kernel logger:                                    [  OK  ]
Enabling ondemand cpu frequency scaling:                   [  OK  ]
Starting irqbalance:                                       [  OK  ]
Starting portmap:                                          [  OK  ]
FATAL: Could not load /lib/modules/2.6.39-100.0.12.el6uek.x86_64/modules.dep: No such file or directory
Starting NFS statd:                                        [  OK  ]
Starting RPC idmapd: Error: RPC MTAB does not exist.
Starting system message bus:                               [  OK  ]
Starting o2cb:                                             [  OK  ]
Can't open RFCOMM control socket: Address family not supported by protocol

Mounting other filesystems:                                [  OK  ]
Starting PC/SC smart card daemon (pcscd):                  [  OK  ]
Starting HAL daemon:                                       [FAILED]
Starting hpiod:                                            [  OK  ]
Starting hpssd:                                            [  OK  ]
Starting sshd:                                             [  OK  ]
Starting cups:                                             [  OK  ]
Starting xinetd:                                           [  OK  ]
Starting crond:                                            [  OK  ]
Starting xfs:                                              [  OK  ]
Starting anacron:                                          [  OK  ]
Starting atd:                                              [  OK  ]
Starting yum-updatesd:                                     [  OK  ]
Starting Avahi daemon...                                   [FAILED]
Starting oraclevm-template...
Regenerating SSH host keys.
Stopping sshd:                                             [  OK  ]
Generating SSH1 RSA host key:                              [  OK  ]
Generating SSH2 RSA host key:                              [  OK  ]
Generating SSH2 DSA host key:                              [  OK  ]
Starting sshd:                                             [  OK  ]
Regenerating up2date uuid.
Setting Oracle validated configuration parameters.

Configuring network interface.
  Network device: eth0
  Hardware address: 52:19:C0:EF:78:C4

Do you want to enable dynamic IP configuration (DHCP) (Y|n)? 

... 

これはよく知られているOracle VMテンプレートのconfigureスクリプトを実行し、Oracle VMのゲストOSと同じようにコンテナをセットアップしています。
lxc-startの実行はローカルコンソールから実施するのがベストです。切断および再接続が可能です。
この時点で、lxc-consoleを使って、Containerのローカルコンソールにログインできます。また、Countainerの内部ネットワークが立ち上がっていて、SSHデーモンが動作しているのであれば、SSH経由でゲストOSにログインできます。
# lxc-console -n ol5test1 -t 1

Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)
Kernel 2.6.39-100.0.12.el6uek.x86_64 on an x86_64

host login: 

コンソールから出るには ctrl-a q を押せばOKです。
Container内部から…
# mount
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

# /sbin/ifconfig
eth0      Link encap:Ethernet  HWaddr 52:19:C0:EF:78:C4  
          inet addr:192.168.122.225  Bcast:192.168.122.255  Mask:255.255.255.0
          inet6 addr: fe80::5019:c0ff:feef:78c4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:141 errors:0 dropped:0 overruns:0 frame:0
          TX packets:19 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:8861 (8.6 KiB)  TX bytes:2476 (2.4 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:560 (560.0 b)  TX bytes:560 (560.0 b)

# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0   2124   656 ?        Ss   06:08   0:00 init [3]  
root       397  0.0  0.0   1780   596 ?        Ss   06:08   0:00 syslogd -m 0
root       400  0.0  0.0   1732   376 ?        Ss   06:08   0:00 klogd -x
root       434  0.0  0.0   2524   368 ?        Ss   06:08   0:00 irqbalance
rpc        445  0.0  0.0   1868   516 ?        Ss   06:08   0:00 portmap
root       469  0.0  0.0   1920   740 ?        Ss   06:08   0:00 rpc.statd
dbus       509  0.0  0.0   2800   576 ?        Ss   06:08   0:00 dbus-daemon --system
root       578  0.0  0.0  10868  1248 ?        Ssl  06:08   0:00 pcscd
root       610  0.0  0.0   5196   712 ?        Ss   06:08   0:00 ./hpiod
root       615  0.0  0.0  13520  4748 ?        S    06:08   0:00 python ./hpssd.py
root       637  0.0  0.0  10168  2272 ?        Ss   06:08   0:00 cupsd
root       651  0.0  0.0   2780   812 ?        Ss   06:08   0:00 xinetd -stayalive -pidfile /var/run/xinetd.pid
root       660  0.0  0.0   5296  1096 ?        Ss   06:08   0:00 crond
root       745  0.0  0.0   1728   580 ?        SNs  06:08   0:00 anacron -s
root       753  0.0  0.0   2320   340 ?        Ss   06:08   0:00 /usr/sbin/atd
root       817  0.0  0.0  25580 10136 ?        SN   06:08   0:00 /usr/bin/python -tt /usr/sbin/yum-updatesd
root       819  0.0  0.0   2616  1072 ?        SN   06:08   0:00 /usr/libexec/gam_server
root       830  0.0  0.0   7116  1036 ?        Ss   06:08   0:00 /usr/sbin/sshd
root      2998  0.0  0.0   2368   424 ?        Ss   06:08   0:00 /sbin/dhclient -1 -q -lf /var/lib/dhclient/dhclient-eth0.leases -pf /var/run/dhc
root      3102  0.0  0.0   5008  1376 ?        Ss   06:09   0:00 login -- root     
root      3103  0.0  0.0   1716   444 tty2     Ss+  06:09   0:00 /sbin/mingetty tty2
root      3104  0.0  0.0   1716   448 tty3     Ss+  06:09   0:00 /sbin/mingetty tty3
root      3105  0.0  0.0   1716   448 tty4     Ss+  06:09   0:00 /sbin/mingetty tty4
root      3138  0.0  0.0   4584  1436 tty1     Ss   06:11   0:00 -bash
root      3167  0.0  0.0   4308   936 tty1     R+   06:12   0:00 ps aux

ホストマシンから…
# lxc-info -n ol5test1
state:   RUNNING
pid:     16539

# lxc-kill -n ol5test1

# lxc-monitor -n ol5test1
'ol5test1' changed state to [STOPPING]
'ol5test1' changed state to [STOPPED]

もっとコンテナを作成するには、単にlxc-createを連発すればOKです。
# lxc-create -n ol5test2 -t ol5

# btrfs subvolume list /container
ID 297 top level 5 path ol5-template
ID 299 top level 5 path ol5test1
ID 300 top level 5 path ol5test2

lxc-tools がUEK2betaチャネルにアップロードされ、使えるようになっているはずです。

Oracle Linux 4 の例
以下はOracle Linuxの場合です。やり方は同じで、テンプレートを使ってlxc-ol4スクリプトを作成します。今回は OVM_EL4U7_X86_PVM_4GB テンプレートを使い、以下の手順で実施しました。
# kpartx -a System.img 

# kpartx -l System.img 
loop0p1 : 0 64197 /dev/loop0 63
loop0p2 : 0 8530515 /dev/loop0 64260
loop0p3 : 0 4176900 /dev/loop0 8594775

# mount /dev/mapper/loop0p2 /mnt

# cd /mnt

# btrfs subvolume create /container/ol4-template
Create subvolume '/container/ol4-template'

# tar cvf - * | ( cd /container/ol4-template ; tar xvf - ; )

# lxc-create -n ol4test1 -t ol4

Cloning base template /container/ol4-template to /container/ol4test1 ...
Create a snapshot of '/container/ol4-template' in '/container/ol4test1'
Container created : /container/ol4test1 ...
Container template source : /container/ol4-template
Container config : /etc/lxc/ol4test1
Network : eth0 (veth) on virbr0
'ol4' template installed
'ol4test1' created

# lxc-start -n ol4test1
INIT: version 2.85 booting
/etc/rc.d/rc.sysinit: line 80: /dev/tty5: Operation not permitted
/etc/rc.d/rc.sysinit: line 80: /dev/tty6: Operation not permitted
Setting default font (latarcyrheb-sun16):                  [  OK  ]

                Welcome to Enterprise Linux
                Press 'I' to enter interactive startup.
Setting clock  (utc): Sun Oct 16 09:34:56 EDT 2011         [  OK  ]
Initializing hardware...  storage network audio done       [  OK  ]
raidautorun: unable to autocreate /dev/md0
Configuring kernel parameters:  error: permission denied on key 'net.core.rmem_default'
error: permission denied on key 'net.core.rmem_max'
error: permission denied on key 'net.core.wmem_default'
error: permission denied on key 'net.core.wmem_max'
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.core_uses_pid = 1
fs.file-max = 327679
kernel.msgmni = 2878
kernel.msgmax = 8192
kernel.msgmnb = 65536
kernel.sem = 250 32000 100 142
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.sysrq = 1
fs.aio-max-nr = 3145728
net.ipv4.ip_local_port_range = 1024 65000
kernel.shmmax = 4398046511104
                                                           [FAILED]
Loading default keymap (us):                               [  OK  ]
Setting hostname ol4test1:                                 [  OK  ]
Remounting root filesystem in read-write mode:             [  OK  ]
mount: can't find / in /etc/fstab or /etc/mtab
Mounting local filesystems:                                [  OK  ]
Enabling local filesystem quotas:                          [  OK  ]
Enabling swap space:                                       [  OK  ]
INIT: Entering runlevel: 3
Entering non-interactive startup
Starting sysstat:                                          [  OK  ]
Setting network parameters:  error: permission denied on key 'net.core.rmem_default'
error: permission denied on key 'net.core.rmem_max'
error: permission denied on key 'net.core.wmem_default'
error: permission denied on key 'net.core.wmem_max'
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.core_uses_pid = 1
fs.file-max = 327679
kernel.msgmni = 2878
kernel.msgmax = 8192
kernel.msgmnb = 65536
kernel.sem = 250 32000 100 142
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.sysrq = 1
fs.aio-max-nr = 3145728
net.ipv4.ip_local_port_range = 1024 65000
kernel.shmmax = 4398046511104
                                                           [FAILED]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:                                [  OK  ]
Starting system logger:                                    [  OK  ]
Starting kernel logger:                                    [  OK  ]
Starting portmap:                                          [  OK  ]
Starting NFS statd:                                        [FAILED]
Starting RPC idmapd: Error: RPC MTAB does not exist.
Mounting other filesystems:                                [  OK  ]
Starting lm_sensors:                                       [  OK  ]
Starting cups:                                             [  OK  ]
Generating SSH1 RSA host key:                              [  OK  ]
Generating SSH2 RSA host key:                              [  OK  ]
Generating SSH2 DSA host key:                              [  OK  ]
Starting sshd:                                             [  OK  ]
Starting xinetd:                                           [  OK  ]
Starting crond:                                            [  OK  ]
Starting xfs:                                              [  OK  ]
Starting anacron:                                          [  OK  ]
Starting atd:                                              [  OK  ]
Starting system message bus:                               [  OK  ]
Starting cups-config-daemon:                               [  OK  ]
Starting HAL daemon:                                       [  OK  ]
Starting oraclevm-template...
Regenerating SSH host keys.
Stopping sshd:                                             [  OK  ]
Generating SSH1 RSA host key:                              [  OK  ]
Generating SSH2 RSA host key:                              [  OK  ]
Generating SSH2 DSA host key:                              [  OK  ]
Starting sshd:                                             [  OK  ]
Regenerating up2date uuid.
Setting Oracle validated configuration parameters.

Configuring network interface.
  Network device: eth0
  Hardware address: D2:EC:49:0D:7D:80

Do you want to enable dynamic IP configuration (DHCP) (Y|n)? 
...
...

# lxc-console -n ol4test1

Enterprise Linux Enterprise Linux AS release 4 (October Update 7)
Kernel 2.6.39-100.0.12.el6uek.x86_64 on an x86_64

localhost login: 


原文はこちら。
http://blogs.oracle.com/wim/entry/containers_on_linux

2011年10月17日

[Certification] WebCenter Implementation Specialist EXAM

WebCenter certified implementation specialistを取得したいパートナーの皆様に、試験対策にお役立ちの資料を用意しました。

[訳注]
ダウンロードにはOPNアカウントが必要です。

WebCenter Content Essentials Exam (1Z0-542) Preparation Presentation
http://www.oracle.com/partners/secure/engage-with-oracle/webcenter-content-11g-exam-432232.pdf

WebCenter Portal Essentials 11g Exam (1Z0-541) Preparation Presentation
http://www.oracle.com/partners/secure/engage-with-oracle/webcenter-content-11g-exam-prep-432207.pdf

原文はこちら。
http://blogs.oracle.com/emeapartnerwebcenter/entry/webcenter_implementation_specialist_exam

[Big Data Appliance] A Closer Look at Oracle Big Data Appliance

Big Data Applianceについてもう少し詳しい情報(マシン構成、ソフトウェア構成、Exadataとの統合など)をご案内したいと思います。もし読みたくないということなら、OpenWorldのOTNラウンジで録画した、Todd Trichlerへのインタビューをご覧下さい。

TechCast Live Big Data - Exadata - and More
http://medianetwork.oracle.com/video/player/1187441794001

Oracle Big Data Appliance

マシンの詳細は…
  • Sun Serverが18ノード
  • 1ノードあたり2CPU(6コア)
  • 1ノードあたり12 Disk (総容量432 TB)
  • 冗長化されたInfiniBandスイッチ(10GigE接続)
マシンをスケールするには、単にInfiniBandを介して既存のフルラックにラックを追加します。インフィニバンドを活用することで、マシン間のネットワークのボトルネックを取り除くのです。10GigE接続のInfiniBand選んだ理由は、40Gb/secのネットワーク容量が、Hadoopクラスタで重要な資産であると考えているからです。また、ExadataとBig Data Applianceとの接続にInfiniBandを使用すると、Oracleシステムにバッチロードを投入する上で性能が向上すると考えています。


マシンにプリインストールされる予定のソフトウェアは…
  • Oracle LinuxとOracle Hotspot
  • Apache Hadoop(オープンソース)
  • Oracle NoSQL Database Enterprise Edition (スタンドアロンでも利用可能)
  • Oracle Loader for Hadoop (スタンドアロンでも利用可能)
  • Oracle Data Integrator Application Adapter for Hadoop (スタンドアロンでODIと組み合わせることが可能)
アプライアンスとしてSunのハードウェアとこうしたソフトウェアスタックを組み合わせた目的は、Big Data用のエンタープライズクラスのソリューションを作り出すことにあります。つまり、
  • Optimized and Complete - 情報の密度の低いデータを格納し、統合するために必要なすべてのものを用意
  • Oracle Exadataとの統合 - すべてのデータを分析
  • 導入が容易 - リスク無しで、素早くインストールやセットアップができる
  • シングルベンダーのサポート - システムおよびソフトウェア群全体をOracleがフルサポート
ご提供できる日時が近づきましたら、より詳細の情報をお伝えしますので、ご期待ください。


原文はこちら。
http://blogs.oracle.com/datawarehousing/entry/a_closer_look_at_oracle

[misc] Oracle Communications Unified Communications Suite 7 Update 2 Ships

Oracle Communications Unified Communications Suiteの最新版、7 Update 2がリリースされました。 Oracle Software Delivery Cloud からダウンロード可能です。

目玉は以下の通りです。
  • Oracle Communications Calendar Server
    • Oracle DB 11g release 2のサポートされました。
    • Outlook ConnectorがCalDAVをサポートし、Outlookとの接続が改良されました。
    • Apple iCalおよびMicrosoft ExchangeのDelegationモデルをサポートしました。これにより、 カレンダーの共有や他者にカレンダーの管理を任せることができます。
    • セキュアな環境で利用するための、証明書ベースの認証をサポートしました。また、イベントや予定に含まれている添付ファイルのウイルススキャンもサポートしました。
  • Oracle Communications Instant Messaging Server
    • 外部のIM(リアルタイムIMプレゼンス接続を含む)をサポートしました。以下のIMをサポートしています。
      • Yahoo
      • AOL
      • MSN
      • Google
      • Facebook.
    • SIP/ SIMPLEベースのIMネットワークとのフェデレーション
  • Unified Communications Suiteのためのインデックス作成と検索サービスが機能強化され、より高い可用性と信頼性の高いサービスを提供できるようになりました。
詳細は以下からどうぞ。

原文はこちら。

[Java] JAX-RS 2.0 Progress and Client API


非常に参加者数が多かった一連のセッションの一つで、非常に期待されているJava EE7のテクノロジーとして、JAX- RS2.0(JSR339)があります。これは現在、初期ドラフトの公開を待っている状態にあります。
共同SpecリードのSantiago Pericas- Geertsenは、重要な機能に関するブログを始めました。手始めはClient APIからです。

JAX-RS 2.0 - Client API (Santiago Pericas- Geertsenのブログから)
http://weblogs.java.net/blog/spericas/archive/2011/10/14/jax-rs-20-client-api

期待通り、このエントリでは、Clientクラスと可読性をあげるためのビルダーパターンを明確にしています。Santiagoのエントリを一読いただくと、どのようなMessage Body Writers(もしくはMBWs)があって、このAPIがどのような設定が可能なのか、を知って頂けると思います。


原文はこちら。
http://blogs.oracle.com/theaquarium/entry/jax_rs_2_0_progress

2011年10月16日

[misc] Podcast Show Notes: Migrating to the Cloud

今週のOTN ArchBeat Podcastでは、Syngressから発行された「Migrating to the Cloud」という書籍の執筆者であるTom LaszewskiとPrakash Nauduriへのインタビューの第1回(全3回)をお伝えします。
  • 第1回
  • 第2回(10月19日)
  • 第3回(10月26日)
Amazon (JP)
http://www.amazon.co.jp/Migrating-Cloud-Oracle-Client-Modernization/dp/1597496472

抜粋版はこちら。
http://www.oracle.com/technetwork/articles/cloudcomp/migrating-to-the-cloud-chap-3-495856.pdf

書籍「Oracle Information Integration, Migration, and Consolidation」の執筆者へのインタビューは近日公開予定です。しばしお待ちを。

Amazon (JP)
http://www.amazon.co.jp/Oracle-Information-Integration-Migration-Consolidation/dp/1849682208

原文はこちら。
http://blogs.oracle.com/archbeat/entry/podcast_show_notes_migrating_to

2011年10月14日

[Linux] Oracle Linux is on a Roll! DTrace, UEK2, Ksplice and More...

大成功に終わったOracle OpenWorldで発表した内容のうち、Linuxコミュニティに関連している項目について共有したいと思います。

1. Unbreakable Enterprise Kernel Release 2 (Beta)
Unbreakable Enterprise Kernel 2 (UEK2) beta を発表しました。これはLinux 2.6.39をベースにして、btrfs in production, Linux container, Open vSwitch などの機能を追加したものです。UEK2 betaは無料でダウンロードできます。動作させるには、Oracle Linux 6 をインストールし(これもedeliveryから無料でダウンロードできます)、Unbreakable Linux Network (ULN) に接続します(既にお使いの場合)。試して見たいだけの場合は、Yumリポジトリにアクセスして下さい。Wim CoeakertのエントリにUEK2の詳細がありますので、是非ご一読下さい。

trying UEK2 (Wim Coekaerts Blog)
http://blogs.oracle.com/wim/entry/trying_uek2

2. DTrace in Linux
もう一つの興味深い機能が発表されたのが、これはOracle Linuxのお客様は既に利用可能になっている DTraceです。Oracle Linuxサポートをご購入の方向けにDTraceのプレビュー版をリリースしました。これについても、Wimがエントリで詳細情報を記載しています。

trying out DTrace (Wim Coekaerts Blog)
http://blogs.oracle.com/wim/entry/trying_out_dtrace

3. Zero downtime updates with KspliceKsplice はLinuxにとって最大のトピックでしょう。Oracle Premier Support for Systems and Operating Systems をご購入頂いている、Oracle Linuxをお使いのお客様は、9月頭から新しく追加された、Kspliceが含まれている"zero downtime kernel updates"にアクセスできます。Kspliceのアップデートは実行システム上へのカーネルアップデートであって、システムの稼働中にパッケージの新しいアップデートをインストールし、再起動後に有効にするということを言っているのではありません。Kspliceパッチは実行中のLinuxカーネルに直ちに適用され、直ちに有効になるのです。その後の再起動で、これらのパッチを起動時に適用しますし、お客様が新しいバージョンのカーネルのRPMをインストールした場合には、当然ながら新しいカーネルをロードします。クールですね。詳細は、以下のリンクをどうぞ。

Getting started with Oracle Linux and ksplice updates (Wim Coekaerts Blog)
http://blogs.oracle.com/wim/entry/getting_started_with_oracle_linux


OracleはこれからもLinuxへ多大な投資をし、Linuxの発展をLinuxコミュニティと共に進めていきます。Oracle Linux Supportは非常に低コストでありつつも、お客様へ提供する内容が非常に富んでいると確信しています。

Linux Cost Calculator
http://www.oracle.com/us/media/calculator/linuxtco/index.html

 Oracle Linuxはエンタープライズコンピューティングにとって最良のLinuxです。

Oracle Linuxのページを是非チェックして下さい。
http://www.oracle.com/us/technologies/linux/index.html


原文はこちら。
http://blogs.oracle.com/linux/entry/looking_back_at_oracle_openworld

[WLS] Offloading SSL from WLS to the F5

WebLogic Server管理コンソールで問題が起きたことはありませんか?Enterprise Manager Fusion Middleware Controlや管理コンソールで更新した内容を保存しようとしたときに、Webブラウザから奇妙なHTTPSやSSLメッセージを受信したことはありませんか?
私の場合、こんな警告メッセージが現れました。
「このページは暗号化されています。入力した情報は暗号化されていない接続で送信されるため、第三者に容易に読み取られる可能性があります。この情報の送信を継続しますか?」
"Although this page is encrypted, the information you have entered is to be sent over an unencrypted connection and could easily be read by a third party.  Are you sure you want to continue sending this information?"
この後、WebLogic Server管理コンソールは加えた変更を保存しませんでした。

このような事象は、次のような設定をすることで回避できます。
今回の場合、F5(ロードバランサ+SSLアクセラレータ)、OHS(Oacle HTTP Server)、そしてWLS(WebLogic Server 10.3.4)の3つのパーツが関連します。SSL (or HTTPS) がF5(BIG-IP LTM)で終了し、F5からOHSへのHTTPトラフィックは平文ですがOHSにはSSOソリューションが必要だったのです。
F5で始まったHTTPリクエストを通すためには、WL-Proxy-SSLをtrueにして、HTTPヘッダを構成する必要があります。F5側でこのことを記載しているドキュメントは以下の通りです。

DEPLOYMENT GUIDE
DEPLOYING F5 WITH ORACLE’S BEA WEBLOGIC SERVER 10
(Creating an HTTP profileの章)
http://www.f5.com/pdf/deployment-guides/f5-weblogic10-dg.pdf

HTTPSリクエストを受け取ってWebLogic Serverに送信する際、F5はこのヘッダを付加します。これにより、WebLogic Serverは元のリクエストがSSL越し届いたものだと認識します。F5へのインバウンドトラフィックがSSL(HTTPS)でない場合にはこのヘッダは送信されません。
2つめの鍵は、WebLogic ServerのOHSプラグインです。プラグインパラメータに関するドキュメントにある通り、WLProxySSLPassThrough を ON にする必要があります。これにより、OHS プロキシプラグインはWL-Proxy-SSLヘッダをWebLogic Serverに通します。このパラメータは、以下の例のように要素Locationの各々に設定します。
<Location /console>
    SetHandler weblogic-handler
    WebLogicHost MyHostName
    WeblogicPort 7001
    WLProxySSLPassThrough ON
</Location>
Oracle® Fusion Middleware Using Web Server Plug-Ins with Oracle WebLogic Server
Parameters for Web Server Plug-Ins
http://download.oracle.com/docs/cd/E21764_01/web.1111/e14395/plugin_params.htm

次の2個の変更はWebLogic Server管理コンソールのチェックボックスです。一つ目は、WebLogic Server管理コンソールの[プリファレンス]>[共有プリファレンス]の、「構成変更の追跡」(デフォルトで有効)を無効にして下さい。これにより、管理コンソールで変更を有効にした場合、構成ページのリロードを抑止できます。


次の設定変更は、プロキシプラグインヘッダを認識させるように管理サーバを構成することです。そのために、[管理サーバ]>[構成]>[全般]の[詳細]を開き、「WebLogicプラグインの有効化」をONにします。このフラグを有効にした場合、潜在的なセキュリティリスクが生まれます。このフラグをONにした場合、プロキシを装って不正なクライアントからの接続も受け付けてしまうため、サーバを保護して、既知のプロキシからのみトラフィックが到達するようにしておくべきです。この件の詳細は以下の書籍のChapter 11(Using WebLogic Security)に記載があります。

Professional Oracle WebLogic Server
http://www.amazon.co.jp/Professional-Oracle-WebLogic-Server-Programmer/dp/0470484306



原文はこちら。
http://blogs.oracle.com/ateamsoab2b/entry/configuration_notes_for_offloading_of