[UCM] What Happened to the Content IDs in UCM 11g?

UCM10gでコンテンツIDの自動採番を有効(IsAutoNumber=true)にしていた場合、新規コンテンツをチェックインすると、コンテンツIDは1ずつインクリメントされていました。UCM11gではこうしたことは起こらないので、コンテンツIDが飛んでいても驚かないでください。

新しいUCM11gインスタンスにコンテンツをチェックインして数日経ってから、コンテンツIDが次のようになっていることがわかりました。
UCM_000001
UCM_000002
UCM_000003
UCM_000004
UCM_000005
UCM_000006
UCM_000201
UCM_000202
UCM_000203
UCM_000204
UCM_000205
UCM_000206
UCM_000207
UCM_001001
UCM_001201
UCM_001202
UCM_001203
UCM_001203
UCM_001204
UCM_001401
UCM_001402
UCM_001601
コンテンツIDが飛んでいますが、その理由がわからず、コンテンツIDと他のIDをUCMで生成する方法に変化があったのだろう、と推察しました。

少なくともOracle Database上で動作している場合には、UCM11gはカウンタ表のかわりにデータベースの順序(Sequence)を使ってIDを生成します。大量のコンテンツを登録しようとしている場合、カウンタ表でグローバルロックを使うと大きな問題を引き起こしたので、これは非常に大きな進歩です。

Oracle Databaseに詳しい人なら、ICDSEQDOCIDという順序 (Sequence) のキャッシュサイズが200であることが原因で、番号が飛ぶのだと教えてくれるでしょう。UCM起動時に毎回200個の値をデータベースから取得してメモリ上に保存しますが、キャッシュした200個の値を使い切る前にUCMもしくはデータベースを停止した場合、使われなかったキャッシュ上の値を捨てることになります。

もし番号が飛ばないようにする必要があるならば、順序の定義でNOCACHEを指定して再定義する必要があります。NOCACHEを指定した場合、性能に影響があります(RAC環境ならより影響が大きくなります)。それゆえ、これはあまりお勧めできません。コンテンツIDは本当に無意味なIDは本当もしくはコンテンツのキー値と見なすべきで、1ずつインクリメントしていないことに目くじらを立てるべきではないと考えます。


原文はこちら。
http://blogs.oracle.com/ecmarch/2011/03/what_happened_to_the_content_i.html

[Exadata] Siebel, E-Business Suite and OLTP apps on Exadata - Customer videos

  • AFG (Australian Finance Group) : Oracle Exadataを使って、クラウドベースのCRMを拡張
    Australian Finance Group は2000以上のモーゲージブローカーのネットワークをクラウドベースのCRMシステムで提供しました。このCRMシステムはOracle Exadata Database machine上で動作するSiebel CRMです。AFGはOracleにベンダーを集約したので、TCOを劇的に削減することができました。
  • Sogeti : Exadata上にe-Business Suiteを集約
    Sogeti(Capgeminiグループ)のITマネージャであるManohar Reddyは、性能を向上させながらもコストを削減するために複数のOLTPデータベースをExadataに集約することについて議論しています。
  • Commonwealth Bank : Oracle ExadataにOLTPアプリケーションを統合
    オーストラリア・コモンウェルス銀行は複数のデータベースサービスをExadataプラットフォームに統合し、性能とシステムの柔軟性を向上し、市場投入までの時間を短縮しました。
原文はこちら。
http://blogs.oracle.com/exadatapartnercommunity/2011/03/siebel_e-business_suite_and_oltp_apps_on_exadata_-_customer_videos.html

[Exadata] More Telcos are Using Oracle Exadata

Oracle Exadataは通信業界のお客様から非常に注目を集めています。世界中に顧客がいるこの業界では、Exadataを展開して性能を向上しITコストを低減させることにより、競争力を高めることができます。
次の新しい事例のビデオをご覧になって、通信業のお客様がOracle Exadataで利得を得ていることを直に確認してください。
  • Exadata Quickens Virgin Mobile's Response to Market Trends
    Virgin Mobile Australiaでは、最短時間で本稼働するために、1ベンダーのソリューションとしてOracle Exadata Database machineを選択しました。その結果、劇的に処理時間が向上し、市場の変化に素早く対応できるようになりました。
  • Exadata Delivers Dramatic Performance Gains to Robi-Axiata
    バングラデシュの通信業者であるRobi-AxiataはOracle Exadata Database machineがもたらした劇的な性能向上を目の当たりにしています。それは「業務のカルチャーが根底から変わった」というものです。
Oracle Exadataをお使いになっている他の通信業のお客様の事例

原文はこちら。
http://blogs.oracle.com/exadatapartnercommunity/2011/03/more_telcos_are_using_oracle_exadata.html

[BAM] BAM 11g : BAM-02702: The viewset expired.

Oracle BAM 11gを使っていると、次のようなエラーが出ることがあります。
Caused by: oracle.bam.middleware.reportcache.ViewSetExpiredException: BAM-02702: The viewset expired.
at oracle.bam.reportcache.engine.CacheEngine.getRecordSets(CacheEngine.java:971)
at oracle.bam.reportcache.engine.CacheEngine.getRecordSet(CacheEngine.java:862)
at oracle.bam.reportcache.server.ReportCacheServer.getRecordSet(ReportCacheServer.java:250)
解決方法
次のバグにヒットしています。
11825892 : VIEWSETS EXPIRE CAUSING ACTIVE DATA TO STOP
[訳注]My Oracle Supportから検索する場合は、画面右上の検索ボックスに「11825892」と入れて検索してみてください。

回避策
現時点(2011/03/31時点)ではパッチはありません。
回避するためには、リクエストからセッションまでのBeanのライフスコープを変更するか、再表示ボタンで表示する操作が必要です。


原文はこちら。
http://blogs.oracle.com/anirudhpucha/2011/03/bam_11g_bam-02702_the_viewset_expired.html

[Database, Python] cx_Oracle 5.1 for Python is Available

Anthony TuiningaがPython向けのcx_Oracle 5.1 extensionをリリースしました。
彼が紹介しているメールは以下の場所にあります。

http://mail.python.org/pipermail/python-announce-list/2011-March/008876.html

cx_Oracleとは、Oracleへの接続のためのPythonの拡張モジュールで、若干の例外があるものの、Python データベースAPI 2.0仕様に準拠しています。 

原文はこちら。
http://blogs.oracle.com/opal/2011/03/cx_oracle_51_for_python_is_ava.htm

[Java] Configuring your Linux server to use largepages for JRockit

 JRockitはLinuxプラットフォームのLargepageを利用できるので、メモリ割り当てやGCの激しいアプリケーションのパフォーマンスが向上します。しかし。Solarisのようなプラットフォームや、Hotspotを用いている場合、Largepageはすでに利用可能な状態になっており、利用するように設定するだけなのですが、Linuxの場合は以下のような設定をしてLargepageを利用できるようにする必要があります。

[訳注] LargepageはHugepageと呼ぶことがあります。このエントリではLargepageとしています。

(CONFIG_HUGETLB_PAGEとCONFIG_HUGETLBFSを使って)カーネルでLargepageを有効にしますが、たいていの場合はやる必要がなく、次の手順でLargepageを利用できるか否かを確認することができます。
# cat /proc/meminfo | grep Huge
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
Hugepagesize: 2048 kB
この結果、このシステムが2MBのLargepageをサポートしていることがわかります。
予約するLargepageに必要なメモリの量をカーネルに知らせるためには、以下のような設定が必要です。
# echo 4000 > /proc/sys/vm/nr_hugepages
上記の設定で、Largepageのために8GB予約したことになります。
変更を永続化する場合には、/etc/sysctl.confに次の設定を追加してください。
vm.nr_hugepages = 4000
/etc/fstab中に以下の行を加えて、uidが9500のユーザーに/mnt/hugepagesに対してRead/Write権限を与えます。
nodev            /mnt/hugepages        hugetlbfs    rw,auto,uid=9500,user,sync    0 0
再起動せずに、次のコマンドで設定を反映できます。
# mount -a
これで設定は終了したので、JRockitを-XlargePages:exitOnFailure=trueのオプションを指定して起動します。VMの起動が成功したら、JRockitで利用しているLargepageの個数を確認してみましょう。
# cat /proc/meminfo | grep Huge
VMが起動できない場合には、設定手順に問題があったことを示していますので、再度やり直してみましょう。


原文はこちら。
http://blogs.sun.com/dkumar/entry/configuring_your_jrockit_to_use

[misc] バックアップ、リカバリ、高可用性など

日本語で書かれていますので、是非原文をどうぞ。
データベースだけでなく、ミドルウェアのバックアップや災害対策に関する情報の在処がまとまっています。

原文はこちら。
http://blogs.oracle.com/hyoshino/2011/03/post_4.html

[Security] Making It Easier For Developers To Access LDAP

LDAPが開発者から採用されるスピードが遅い理由の一つに、データベースを扱うツールのほとんど(Hibernate、Toplink/JPA、ADF Business Componentsなど)はデータベースを抽象化する機能があるのに、LDAPの場合は抽象化するツールがないことです。

しかし、Oracleではこの問題を解決するすてきな方法を用意しています。LDAPをデータベースのように見せるだけではありません。

[訳注]
LDAPをSQLでクエリする方法は次のURLで日本語化しています。
http://orablogs-jp.blogspot.com/2011/03/how-to-query-ovd-oid-dsee-using-sql.html

  1. OVD(Oracle Virtual Directory) Webインターフェイス
  2. Oracle Platform Security Services 
    1. User/Role API
      http://download.oracle.com/docs/cd/E12839_01/core.1111/e10043/introroles.htm#CJAGBIAF
    2. Identity Governance Framework ArisID
      http://download.oracle.com/docs/cd/E17904_01/oim.1111/e16588/toc.htm


原文はこちら。
http://blogs.oracle.com/mwilcox/2011/03/making_it_easier_for_developer.html

[Identity Management, Java] How To Query OVD, OID, DSEE Using SQL

LDAPに関するよくある質問の一つに、「SQLでクエリを実行する方法」というものがあります。私も3年前にこの内容についてエントリをUpしました。

[訳注]上記のエントリは以下を指しています
Why Doesn't My Directory Speak SQL
http://blogs.oracle.com/mwilcox/2008/05/why_doesnt_my_directory_speak.html

そして、この質問あまり頻繁には出てこなかったのですが、今週、再び質問されました。なので、他にもそんな疑問を持ってらっしゃるのではないかと思っています。

第1に、明らかなのは、SQLはLDAPと全く違うということです。SQLは簡単かつ標準化されたRDBMSのクエリ言語です。各データベースは別のプロトコルを使っていますので、JDBC(ODBC、.NET ADOなど)のような標準的な接続APIのドライバを提供する必要があります。

第2に、 Oracle Database(Oracle XEであっても)に接続することができるなら、DBMS_LDAPというPL/SQL APIを使ってLDAPサーバにクエリを発行することができます。非常に有用なトリックとして、DBMS_LDAPの呼び出しにマップしているデータベースのビューを作ることがあります。この方法-PL/SQLの専門家にあるパッケージとビューに接続できる手段を作ってもらう-を使えば、PL/SQLやLDAPを使わずにデータを利用できます。

第3に、もしJavaを使っているなら、JDBC-LDAPライブラリを使うことができます。JDBC-LDAPとは約10年前にOctetStringで記述したJDBCドライバです。ほとんど需要がなかったので、実際にオープンソースとしてリリースし、OpenLDAPに寄贈しました。プリビルドのバイナリをダウンロードできます。

OpenLDAP : JDBC-LDAP Bridge Driver
http://www.openldap.org/jdbcldap/

Using SQL To Work With LDAP
http://myvd.sourceforge.net/jdbcldap.html

JDBC-LDAPを入手したら、他のJDBCドライバと同じように利用することができます。SQLクエリも同じように発行できます。ただ、非常にLDAPの雰囲気が強いですけど。
ResultSet rs = stmt.executeQuery("SELECT cn, uniquemember FROM subTreeScope;dc=example,dc=com WHERE objectclass=groupofuniquenames");
これは「dc=example, dc=comブランチにある、groupofuniquenamesオブジェクトから、cn属性とuniquemember属性を検索」という意味です。

LDAP用語で言えば、引き出したい属性(アスタリスクは全属性を意味します)のリストを文のはじめに配置し、スコープと検索ベースをFROMの後の配置します。WHERE句にはLDAPフィルタを配置します。以下は出力例です(NetBeansでの出力をキャプチャしました)。
run:
Sort by : null
numColumns is 4
uniquemember_0:uid=kvaughan,ou=People,dc=example,dc=com
uniquemember_1:uid=rdaugherty,ou=People,dc=example,dc=com
uniquemember_2:uid=hmiller,ou=People,dc=example,dc=com
cn:Directory Administrators
uniquemember_0:uid=scarter,ou=People,dc=example,dc=com
uniquemember_1:uid=tmorris,ou=People,dc=example,dc=com
uniquemember_2:
cn:Accounting Managers
uniquemember_0:uid=kvaughan,ou=People,dc=example,dc=com
uniquemember_1:uid=cschmith,ou=People,dc=example,dc=com
uniquemember_2:
cn:HR Managers
uniquemember_0:uid=abergin,ou=People,dc=example,dc=com
uniquemember_1:uid=jwalker,ou=People,dc=example,dc=com
uniquemember_2:
cn:QA Managers
uniquemember_0:uid=kwinters,ou=People,dc=example,dc=com
uniquemember_1:uid=trigden,ou=People,dc=example,dc=com
uniquemember_2:
cn:PD Managers
BUILD SUCCESSFUL (total time: 1 second)


原文はこちら。
http://blogs.oracle.com/mwilcox/2011/03/how_to_query_ovd_oid_dsee_usin.html

[E20] Using a Credential Map in UCM 11g

資格証明マップは11gでも有効です。外部ディレクトリサーバを使っているUCMデプロイメントのほとんどで使っています。資格証明マップを使うと、UCMでロールやアカウントに使っている名前と一致するグループを外部ディレクトリサーバに作成する場合に発生する問題を解決できます。 
11gの場合、JpsUserProviderの編集画面では資格証明マップを設定できず、ファイルシステム上のJpsUserProviderの設定ファイル(provider.hda)を手で編集する必要があります。

編集するファイルは以下にあります。
<UCM_Domain_Home>/ucm/cs/data/providers/jpsuserprovider/provider.hda
以下のエントリをローカルプロパティに追加してください。自分の資格証明マップの名前を代入しましょう。
ProviderCredentialsMap=(資格証明マップの名前)
追加した後はUCMを再起動して、変更を反映します。
重要なのは、provider.hdaファイルにエントリを追加し、UCMを再起動する前にUCMに資格証明マップを作成しておかなければならない、ということです。 provider.hdaファイルで利用している資格証明マップがUCMに存在しない場合、管理者も含めて誰もログインできなくなってしまいます。

原文はこちら。
http://blogs.oracle.com/ecmarch/2011/03/using_a_credential_map_in_11g.html

[Java] NetBeans 7.0 RC1 is released

以下のNetBeans 7.0の新機能、注目すべき事項、バンドルのマトリックスをチェックしてください。

NewAndNoteworthyNB70
http://wiki.netbeans.org/NewAndNoteworthyNB70

The Aquariumのエントリはこちら。
http://blogs.sun.com/theaquarium/entry/netbeans_7_0_rc_1


原文はこちら。
http://blogs.sun.com/arungupta/entry/netbeans_7_0_rc1_is

[WLS] My Oracle Support Unveils WebLogic Server Information Center

WebLogic Server Information CenterがMy Oracle Supportから利用できるようになりました。WebLogic Serverの開発者、利用者といったコミュニティの皆様が種々の有用な情報(アップグレードアドバイザ、リリース情報、トラブルシューティング、FAQ、既知の修正済み不具合、ツールなど)にアクセスできるようにまとめたものです。
アクセスは以下の方法で可能です。

[参考URL]
My Oracle Support
https://support.oracle.com/

原文はこちら。
http://blogs.oracle.com/WebLogicServer/2011/03/my_oracle_support_unveils_webl.html

[Java] Update of the Java EE 6 Tutorial available now

Java EE 6のチュートリアル Ver.6.0.6-1が、GlassFish 3.1と同時にリリースされました。両方ともJava EE 6 SDKに含まれています。新しい内容は以下の通りです。
  • 以下の事項に関する詳細を説明しています
    • 永続化
    • Enterprise Java Beans (EJB)
    • Java Server Faces (JSF)
    • CDI
    • JAX-RS
    • Bean Validation
    • その他のプラットフォームテクノロジー
  • 新しいケーススタディアプリケーション(Duke's Tutoring)で、たくさんのJava EEテクノロジーを使って一つのWebアプリケーションを作成する方法がわかります
  • NetBeans IDEの最新ビルドでも実行可能です
過去のリリースと同じく、Java EEチュートリアルのサンプルはオープンソースプロジェクトとして開発されています。プロジェクトを確認したい方は以下のURLをご確認ください。

The Java EE Tutorial
https://javaeetutorial.java.net/


原文はこちら。
http://blogs.sun.com/ievans/entry/update_of_the_java_ee

[Database] Cloud migrations - more then just infrastructure

Oracleクラウドへの移行は、単にハードウェアやネットワーク、冷却装置、電力、フリーアクセスフロアの移行というだけではありません。異なるOSやデータベース、ネットワーク、ハードウェアサーバ、アプリケーション開発言語、管理ツールおよび監視のための製品を統合することです。他のリレーショナルデータベースからOracle Databaseへのデータベースの移行は、少なくともデータの観点だけで言えば簡単です。
データベースに格納されているオブジェクト(ストアドプロシージャ、トリガー、ビューなど)の移行には、移行元のデータベース言語の構文からOracleのPL/SQLへの移行を含みます。これは、異なる3GLや4GL言語からJava EEやOracle APEX、Oracle PL/SQLへの移行、もしかするとレガシーのクライアント・サーバー言語の継続使用、データベースドライバやOracleでは動作しないデータベースへのアクセスのためのコード変更の判断にも影響を及ぼします。
性能監視やDBAの日常のクリーンナップタスク、バックアップやリカバリといったサーバーサイドのスクリプトは全て修正が必要です。それゆえ、クラウドへの移行時に移動するパーツの数を減らす必要があります。おそらく、まずデータベースを移行して、その後OSの意向と最後に言語をJava EEもしくはAPEXに移行することになるでしょう。


原文はこちら。
http://blogs.oracle.com/cloudmigrations/2011/03/cloud_migrations_-_more_then_just_infrastructure.html

[Java] EclipseCon 2011: Oracle, Java and Open-Source!

誰もがOracleが長きにわたってEclipse Foundationの戦略的メンバーであり、ボードメンバーであって、このプロジェクトに2番目の主なコントリビュータであることを知っている人は少なくないでしょう。Eclipse Foundationとの関係は、OracleがJavaの幹事になってからより重要なものになっています。Eclipse FoundationのMike Milinkovichは、OpenJDKのパネルディスカッションで、JavaはEclipse上で主要な技術ゆえ、「Javaの進むところに、Eclipseは進む」と述べています。

基調講演参加者の3分の1は、IBMがOpenJDKプロジェクトに参加したことに驚きましたが、誰もがそれは良いことだという認識で一致していました。Mark Reinhold (Oracle/Javaプラットフォームグループのチーフアーキテクト) とJohn Duimovich (IBM/Java CTO) は最近の動向を「Java Renaissance」と呼びました。Java Community Process (JCP) は再び機能し、Java SE 7 JSRを承認しました。IBM、Apple、Red HatはOpenJDKに参加しており、同一コードベースの実装がより多くのプラットフォームで動作するようになります。Javaプラットフォームの改善はJDK 7開発者プレビュー、プロジェクトCoin、JDK 7リリースと進んでいきます。JDK 8とJDK 9の機能も現在議論されているところです。Oracleの多くの製品がJavaで作成されていて、それらの製品が間接的に収益の重要な部分に相当するので、Javaとそのエコシステムへの投資に関して、Oracleは自身の利益に気を配っています。

Javaの将来に対する不確実性に対応するため、IBMはOpen JDKプロジェクトに参加して、Javaへのコミットメントを示しました。John Duimovichが「我々はJavaの未来を信じている。我々はJavaで出来た製品をたくさんもっており、それらは直接収益を上げているのだ」と説明するように、IBMの意向は、JCPプロセスを強化し、プロセスの透明化のためのリソースを提供し、IBMのもつ深い専門知識と経験を生かしてOpen JDKプロジェクトに貢献し、評価し、改善するということです。協同作業の主要なゴールはJavaエコシステムを豊かにすることです。つまり、より多くのコントリビュータをOpenJDKに参加させ、Java SEのリファレンス実装をより多く作ることを促進することです。

4日間のイベントで17のチュートリアルとレギュラーセッションがあり、Oracleはゴールドスポンサーでした。開発者が生産性を向上し、自分たちのプロジェクトをスケールするための製品とテクノロジーをカバーするセッションでした。より商用目的のセッションでは、OpenJDK、HotRockit、Beanstalk、EclipseLink DBWS、Oracle Enterprise Pack for Eclipseなどのテーマを扱っていました。より広いEclipseコミュニティ向けに、Project CoinによるJava言語やJava EEの改良に関するセッションや、RESTfulサービスを用いたGlassFishに関するセッション、OSGiベースのJava EEアプリケーションに関するセッションがありました。OracleエンジニアがGemini、Virgo、Sappire、Webツールプラットフォームに貢献しているEclipseプロジェクトも発表されました。

多くのことがJavaやオープンソースで起こっています。それらはオンライン上で確認できます。

原文はこちら。
http://blogs.oracle.com/java/2011/03/eclipsecon_2011_oracle_java_and_open-source.html

[OHS] Building PHP 5.3 with Oracle HTTP Server 11g

このエントリは、過去のエントリを基にして、Oracle HTTP Server 11g (OHS) でPHPを使うための方法をまとめましたものです。

Using PHP with Oracle HTTP Server 11g
http://www.oracle.com/technetwork/topics/php/php-ohs-092324.html

今回珍しいOSを使いましたが、手順は他のOSとほぼ同じはずです。このエントリは「備忘録」の類で、HP-UX Itanium上でPHPをビルドする「楽しさ」といわれるものを最近体験しました。このプラットフォームに関するOracleの発表を知って、非常にうれしく思っています。

(注意)Oracleは2011年3月22日に以下の発表をしています。
Oracle Stops All Software Development For Intel Itanium Microprocessor
http://www.oracle.com/us/corporate/press/346696

Itaniumを使っているPHPコミュニティの人たちはそれほど多くないと思います。PHPをコンパイルする間に、本運用のアプリケーションでItaniumを使うと非常に不快になる警告がたくさん出てきます。ItaniumへのPHPのインストール時のバグをかなり前に登録したのですが、まだパッチは出てきませんので、このプラットフォームに対する作業をする人があまりいないということなのでしょう。それゆえ、PHPをItaniumプラットフォーム上で動作させることは個人的にはおすすめできません。とにかく、必要があったので、後に続く皆様に手順を公開したいと思います。

PHP 5.3.5をOHS 11gでビルドする手順(HP-UX Itanium 64ビットの場合)

1. OSとコンパイラを確認します。
このバージョンより古い、もしくはこのバージョンとは異なるコンパイラを使っている場合、コンパイルに失敗してしまうという問題も含めて、HP-UXの開発環境全体でいろいろ問題を発見しました。
$ uname -a
HP-UX B.11.31 U ia64 2921109885 unlimited-user license
$ cc --version
cc: HP C/aC++ B3910B A.06.23 [May 18, 2009]
2. 環境変数を設定します。
ORACLE_HOMEにはOHSインスタンスを含んでいます。
export ORACLE_HOME=/path/to/your/oracle-home
export ORACLE_INSTANCE=$ORACLE_HOME/instances/instance1
export CONFIG_FILE_PATH=$ORACLE_INSTANCE/config/OHS/ohs1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/ohs/lib:$LD_LIBRARY_PATH
PHPコンパイラの環境変数を設定します。
export CFLAGS='+O2 +DD64'
export CC=/bin/cc
最良のコンパイラオプションを見つけ出す必要があります。Itaniumでは OHSと組み合わせて利用することができる64ビットバイナリをビルドするためには、+DD64のオプションが必要です。

3. Oracle InstantClientをダウンロードし展開します。
[訳注]11.2.0.2でもOKです
OTNからダウンロードする場合は、以下からダウンロードできます。
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
例えば11.1.0.7のSDKをダウンロードした場合、以下のようにZipファイルを展開します。
unzip sdk-11.1.0.7.0-hpux-ia64.zip
4. 新しいHeaderファイルをコピーします。
cp instantclient_11_1/sdk/include/*.h $ORACLE_HOME/rdbms/demo
5. php-5.3.5を作業ディレクトリに展開します。
gunzip php-5.3.5.tar.gz tar -xf php-5.3.5.tar
6. 展開したPHPディレクトリに移動します。
cd php-5.3.5
7. PHPのconfigureファイルを編集して、3720行目あたりにある'hpux'のcase中の'sl'を'so'に変更します。これはItanium固有の不具合で、提供されているパッチを使わずに手で変更しています。

Bug #15016 Unable to locate instantclient on HP-UX
http://pecl.php.net/bugs/bug.php?id=15016
case $host_alias in
*hpux*)
SHLIB_SUFFIX_NAME=so
SHLIB_DL_SUFFIX_NAME=so ;;
8. PHP 5.3.6もしくはそれ以前のものを使っている場合は、PHPのconfigureスクリプトを次のように編集します。
(修正前)APACHE_VERSION=`expr $4 \* 1000000 + $5 \* 1000 + $6`
(修正後)APACHE_VERSION=`expr $6 \* 1000000 + $7 \* 1000 + $8`
この手順はOHS11gへのPHPインストール手順から抜けています。OHSのApacheがエラー番号を別に報告するために必要です。詳細はPHP bug 54084を確認ください。5.3で修正済みで、PHPソースコードのブランチに組み込みました。

Request #54084 Fix apxs Apache version test to work with Apache variants
http://bugs.php.net/bug.php?id=54084

9. この手順を繰り返したり、別のオプションでconfigureを再事項しているなら、ビルドしたものをクリーンナップします。
make distclean
rm -rf config.cache autom4te.cache
10. 必要なオプションをつけてconfigureを実行し、PHPをビルドします。
./configure --disable-all --with-apxs2=$ORACLE_HOME/ohs/bin/apxs --with-oci8=$ORACLE_HOME --disable-rpath --prefix=$ORACLE_HOME --with-config-file-path=$CONFIG_FILE_PATH
make
この結果コンパイラの警告が山のように出てきます。これは実運用する上で非常に気分が悪くなるようなものなので、--disable-allを使うべきでしょう。システムライブラリはItaniumで少々違いますし、libxml2のようなライブラリにはアクセスしませんでした。おそらくインストールしたり、3rdパーティのソフトウェアをビルドすると、他のPHPエクステンションの依存性を解決できると思います。

11. デフォルトのphp.iniファイルをコピーします。
cp php.ini-devlopment $CONFIG_FILE_PATH/php.ini
もしくは
cp php.ini-production $CONFIG_FILE_PATH/php.ini
12. $CONFIG_FILE_PATH/php.iniを編集して、タイムゾーンを追加します(PHP 5.3では必須)
date.timezone=America/Los_Angeles
13. $CONFIG_FILE_PATH/php.iniを編集して、'variables_order'に'E'を追加します。これにより、PHPの run-tests.php実行時にOracleの環境を正しく認識します。この設定は後で削除します。
variables_order = "EGPCS"
14. run-tests.phpを編集し、60から600に変更することで、長時間のOracleテストでのタイムアウトを抑止します。

15. ext/oci8/tests/details.incを編集し、SYSTEMパスワードとデータベースへの接続文字列を設定します。

16. PHP の環境を設定し、PHPのテスト中に結果をメール配信しないようにしておきます。
export NO_INTERACTION=no
17. PHPコマンドラインバイナリをテストします。
make test
OCI8のテストは以下のコマンドで実行できます。
make test TESTS=ext/oci8
18. 失敗したテストの原因調査をします。同時に、64Bit Linuxのテスト結果と比較しておきましょう。デリケートでメモリ衝突の問題がよく発生するとはいえ、Itaniumでテスト成功した例はたくさんありますので、コードとしては問題なく動くという希望を持ちましょう。

19. テストが成功したら、PHPバイナリをインストールします。
make install
20. $CONFIG_FILE_PATH/httpd.confを編集して1行追加します。
AddType application/x-httpd-php .php
21. OHSを再起動します。
cd $ORACLE_INSTANCE/bin
     ./opmnctl start
     ./opmnctl stopproc ias-component=ohs1
     ./opmnctl startproc ias-component=ohs1
22. phpinfoファイルを作成します。
echo '<?php phpinfo(); ?>' > $ORACLE_INSTANCE/config/OHS/ohs1/htdocs/phpinfo.php
23. phpinfoを確認します。今回の場合、ポートは7777を使ったので、以下のURLで確認します。
http://localhost:7777/phpinfo.php
24. 余裕があれば、$ORACLE_INSTANCE/config/OHS/ohs1/htdocsにあるOCI8のスクリプトを作成し、実行します。

繰り返しになりますが、Itanium上でのPHP実行はお勧めしません。


原文はこちら。
http://blogs.oracle.com/opal/2011/03/building_php_53_with_oracle_ht.html

[BPM] How to become an Oracle BPM expert?

BPM Suite 11gで、OracleはBPMN2.0をサポートする最初のベンダーの一つになりました。GartnerはOracleをBPMのリーダーと位置づけています。Gartnerの2010年10月版Magic Quadrant for Business Process Management Suitesでは、BPM Suite 11gのおかげで、Oracleをリーダーの象限に位置づけています。

Magic Quadrant for Business Process Management Suites
http://www.gartner.com/technology/media-products/reprints/oracle/article161/article161.html

[訳注]以下の資料閲覧にはOracle Partner Networkのアカウントが必要です。
追加情報は、BPM Knowledge ZoneやBPMブログを参照してください。

原文はこちら。
http://blogs.oracle.com/soacommunity/2011/03/how_to_become_an_oracle_bpm_ex.html

[Identity Management] OVD-EUS: Questions and Answers About Mapping Database Users, Roles to AD Users and Groups

OVD-EUS ADのQ&Aからいくつかご紹介します。
[訳注]
OVD-EUS AD:Oracle Virtual DirectoryのEUS_ActiveDirectoryという、Active Directoryと連携するためのテンプレート。EUSとは、Enterprise User Securityの略。
Q : どのADオブジェクトタイプを使ってOracleユーザとロールをADに格納するか
A : OVD-EUSのデプロイには2個の方法があります。
  1. Oracle Internet Directory (もしくはDirectory Server Enterprise Edition)を使ってEUSのメタデータを格納します。これによってADで使われる唯一の属性は orclcommon という属性で、パスワードハッシュを格納するために使います(EUSパスワード認証を使うものと思われます) 。
  2. EUSのメタデータはこのデータを格納するために作成されたブランチに格納されます。これをサポートするために、ADスキーマを拡張しています。
Q : スキーマ拡張を使ってデフォルトでADに任意のロールを追加できるか
A : いいえ
Q : どのOracleアカウントが統合の対象外となるか
A : 10g Databaseでは、sysdbaユーザは利用できません。11g Databaseでは全てのユーザを利用できます。

原文はこちら。
http://blogs.oracle.com/mwilcox/2011/03/ovd-eus_questions_and_answers.html

[Java] Configuring projects for Java EE security annotations

Java EEセキュリティアノテーションは、エンティティで公開されているメソッドやユーザーアクセスをユーザーアクセスから保護するためにEnterprise Java BeansやJPAで使われています。新しいEJBプロジェクトをJDeveloperで作成したり、Java EE Web Applicationテンプレートから、EJBやADF Facesを使いWebアプリケーションを作成したりする場合、javax.annotation.securityパッケージのクラスをプロジェクトのクラスパスに追加しません。
これを解決し、@DenyAllのようなセキュリティアノテーションをコードエディタ中で利用できるようにするためには、WebLogic 10.3 Remote Clientライブラリを以下のように追加する必要があります。

  1. プロジェクトのダブルクリックもしくはコンテキストメニューからModelプロジェクトプロパティを開く
  2. [ライブラリとクラスパス]を選択
  1. [ライブラリの追加]ボタンをクリック
  2. WebLogic 10.3 Remote Clientライブラリを選択して追加


原文はこちら。
http://blogs.oracle.com/jdevotnharvest/2011/03/configuring_projects_for_java_ee_security_annotations.html

[SOA] Virtual Box Crash on Start/Stop Weblogic in Prebuilt Oracle SOA VirtualBox VM

以前のエントリで書いた通り、SOA SuiteのVMをダウンロードし、Windows XP上のVirtualBox 3.2で実行しようとしました、ログイン、JDeveloperの起動、OSの基本的な操作は特に問題なく実行できましたが、WebLogic Serverを起動・停止しようとすると、Guru Meditationのダイアログが現れてVMがクラッシュするのです。Googleで検索したところ、x86マシンで発生する問題ということがわかりました。

Guru Meditation - Critical Error while running the VM
http://www.virtualbox.org/ticket/7620

Ticketに従いRAMの割り当てを1250MBとしたところ、問題は解決したようです。

原文はこちら。
http://blogs.oracle.com/sravansarraju/2011/03/virtual_box_crash_on_startstop_weblogic_in_prebuilt_oracle_soa_virtualbox_vm.html

[Solaris] catching up: Solaris IB in Exadata & Exalogic

現在最大のOracleの売りはExadataでしょう。この製品の現在の世代はX2と呼ばれ、2ソケットx86サーバ (X2-2) と、8ソケットのx86サーバ (X2-8) の2種類があります。ご存じの通り、InfiniBandがこれらの製品の中心の通信基盤になっています。
あまり知られていないことと言えば、この製品群のオプションとしてSolarisを選べるということでしょうか。Solaris 11 Expressに関するプレスリリースによると、Solaris 11 ExpressはOracle Exadata Database Machine (X2-2、X2-8)、Oracle Exalogic Elastic Cloud Machineの両方でOSとして利用できるというものです。
Exalogic製品群もまたInifiniBand 通信ファブリックが使われていて、Solaris 11 Expressも利用できます。Exalogic X2-2はx86プロセッサ2ソケットのサーバを利用します。以前のリンクでも述べているように、ExalogicはExadataと統合して利用することに最適化されています。内部データセンタ層全体をInfiniBandの広帯域かつ低レイテンシで接続できるというわけです。
Exalogic T3-1B ではSPARCプロセッサ上でSolaris 11 Expressが動作します。プレスリリースによると、Solaris 10からこのプラットフォームへマイグレーションする方法の一つとして、Solaris 10 Zonesをあげています。
Solaris 11 ExpressのInfiniBand新機能の詳細は私の過去のエントリ(既に日本語にしています)を参照してください。

原文はこちら。

[Solaris] catching up: IB in the ZFS Storage Appliance

ZFSストレージアプライアンスはSolarisを基礎として使っていることはご存じのことと思います。この方面には詳しくない(Cindiのような人間がこの方面の本当のエキスパートです)のですが、Solaris InfiniBandのコンテンツが堅調に新しいリリースとともに増えてきています。もっと詳細を知りたいのであれば、FishWorks Software Updatesのwikiをご確認ください。

Fishworks Software Updates
http://wikis.sun.com/display/FishWorks/Software+Updates

InfiniBandのサポートが始まったのは 2009.Q3 のリリースで、IPoIBが最初でした。これは当然ながらIBリンクを流れるIPベースのプロトコル(NFSやiSCSIなど)はすべてサポートされています。このリリースはまたNFS over RDMA(NFSでIBのRDMA機能を利用可能にするもの)もサポートしていました。
2010.Q1 では、iSER(RDMAを使えるiSCSI)とSRP(SCSI RDMA Protocol)が追加されました。また2010年には、 2010.Q3 バージョンでは性能を向上するためにIPoIBのConnected Modeと、"Nevada"の開発からのフィードバックによるdladmの改良と並んで、新しいIPoIB管理モデルが追加されました。もちろんこれで終わりじゃありません。将来のリリースで何が追加されるのか、期待していてください。


原文はこちら。
http://blogs.sun.com/RandomDude/entry/catching_up_ib_in_zfs

[Solaris] catching up: IB in Solaris 11 Express

”Nevada”の開発の結果、IB (InfiniBand) の機能を持つOpenSolarisがリリースされました。そして、昨年の11月に、Solaris 11に先立ち、Solaris 11 Expressがリリースされました。

Solaris 11 Express
http://www.oracle.com/us/corporate/press/187136

Solaris 10とSolaris 11 Expressを比較すると、新しいIBの機能があることがわかるかと思います。ストレージでは、iSER (iSCSI Enhanced for RDMA) と SRP (SCSI RDMA Protocol) ターゲットが利用できます(これらは既にOpenSolarisでリリースされていました)。また、RDS (Reliable Datagram Sockets) version 3も利用でき、Oracle RACとの親和性が向上しています。SDP (Socket Direct Protocol) の採用により、劇的に性能が向上しています。さらに、SDPインターポジションライブラリ(libsdp) が利用可能で、必要であればTCPからSDPへ透過的にリダイレクトすることが可能です。IPoIBには、ネットワークに関する状態確認のための新しい管理インターフェイス dladm も導入されました。

最後に、Open Fabrics User Verbs (OFUV) がSolaris 11 Expressに追加されました。 OFED (Open Fabrics Enterprise Distribution) のLinux ディストリビューションが InfiniBandのデファクトスタンダードと見なされています。OFUVはOFEDのユーザーランドライブラリやコマンドの大多数を含んでいます。今ではLinuxユーザは自分たちのLinux InfiniBandアプリケーションをSolaris 11 Express上で再コンパイルして、使い慣れたおなじみのInfiniBand管理コマンドの多くを使うことができます。
もちろん、これらは改良点のほんの一部です。

原文はこちら。
http://blogs.sun.com/RandomDude/entry/catching_up_ib_in_solaris1

[Solaris] catching up: IB in Solaris 10

Solaris 10 10/09 (Update 8) では、"Nevada"の開発からの成果を反映した不具合の修正と機能改善が多数出てきましたので、その一部をご紹介します。一般に、"Reserved L_Key"と"PCI Relaxed Ordering"を利用し始めました。これにより性能が大きく向上しています。ConnectXもまたFMAとPCI Relaxed Orderingをサポートしています。IPoIB (IP over InfiniBand) はGLDv3に移行し、非常に性能が向上しています。
Solaris 10 9/10 (Update 9) では、ConnectXは4K InfiniBand MTUをサポートしました。IPoIBはより性能が向上しています。MTUを64Kまで許容するIB RC (InfiniBand Reliable Connected) トランスポートタイプを使う"Connected Mode"を使うこともできます。NFS over RDMA (Remote Direct Memory Access)もNevadaの開発からフィードバックされた大きなアップデートです。さらに、IBサブネットマネージャイベントを活用し、堅牢性も飛躍的に向上しています。これらはほんの一部です。もちろん他にも改善改良点があります。

Solaris 10 9/10 (Update 9)
http://www.oracle.com/us/corporate/press/170718

原文はこちら。
http://blogs.sun.com/RandomDude/entry/catching_up_ib_in_solaris

[WebCenter] Neue WebCenter iPhone App

本日、新しいバージョンのOracle WebCenter iPhone アプリケーションが利用できるようになりました。多くのUIで改良が加えられ、テキストと音声の”Quick Notes”をiPhone上のローカルドキュメントとして利用することができます。そのほか多数の改良がなされました。

詳細はiTunesのPreviewをご確認ください。
http://itunes.apple.com/us/app/oracle-webcenter-spaces-11g/id382334215?mt=8#


[訳注]
OracleのWebサイトでもご案内しています。
Oracle WebCenter Spaces iPhone Application
http://www.oracle.com/technetwork/middleware/webcenter/iphone-163241.html

以下のBlogエントリで詳細を説明しています。
RedStack - New updated iPhone app for Oracle WebCenter Spaces
http://redstack.wordpress.com/2011/03/19/new-updated-iphone-app-for-oracle-webcenter-spaces/


原文はこちら(ドイツ語)。
http://blogs.oracle.com/oracleaustria/2011/03/neue_webcenter_iphone_app.html

[Java] Some Kerberos Compiler Warnings on Windows

Windows上でのネイティブコードコンパイラの警告に関する古いバグがあります。このバグの担当エンジニアだったことがありますが、未だに対応を開始していません。不幸にもこのバグが原因でランタイムエラーが発生しています。本当に申し訳ありません(changesetはこちら)。
ご覧になるとわかる通り、swprintf()関数を標準的ではない使い方で利用していました。正しいこの関数の使い方は
swprintf( buffer, size, format, args... )
ですが、我々は引数サイズを与えていませんでした。Visual C++ 2003の時代にはすでに警告が出ていましたが、ランタイムがこの「オーバーロード」書式を許容しており、正常に動作しました。jdk7b108からは、VC++ 2010を使ってのJDK7のビルドを開始しました。まだ同じ警告が出ますが、今度はランタイムがこの書式を一切許容せず、JVMがクラッシュするようになりました。ランタイムはコンパイラの警告を無視しない、ということです。
この修正は数週でJDK7に取り込まれる予定で、動作確認したい人のために、修正版(32bit版)をこちらにUpしておきました。これはVirtualBox上のゲストOSでビルドし、ウイルスは含んでいません。

原文はこちら。
http://blogs.sun.com/wangwj/entry/some_kerberos_compiler_warnings_on

[WLS] Partner Webcast - Migration to Weblogic Server 11g

Partner Webcast - Migration to Weblogic Server 11g
March 25th, 12noonCET (1pm  EET/ 11am GMT)
(日本時間では 3月25日20時から)

Oracle Weblogic Server 11gアプリケーションサーバ製品群は、開発、デプロイ、エンタープライズアプリケーションの統合のための業界で最も包括的なJavaプラットフォームです。WebLogic Server 11gはApplication Gridという、運用コストを最低限に抑えながら、競合他社より効率よく性能を向上するためのアーキテクチャのための基盤を提供します。

Agenda
  1. Oracle WebLogic Server 11gとは
  2. 移行プロセスの概要
  3. iAS 10gからの移行
    1. SmartUptgradeユーティリティとは
    2. SmartUpgradeデモ
  4. 他社JavaEEアプリケーションサーバからの移行
    1. 潜在するリスクの理解
    2. WebLogicクラスローダメカニズムを使ってアプリケーションを分離
    3. 共有ライブラリの概要
  5. Oracle Fusion Middlewareコンポーネント(Forms & Reports、ADF、SOAなど)の移行
  6. まとめ
  7. Q&A
配信形態
無料のオンラインライブeセミナーとしてWebおよびコンファレンスコールで開催します。登録はこちら
質問は、Ruxandra.Radulescu@oracle.com にどうぞ。
開催時間まで24時間をきった状態で登録された場合、参加確認のメールが飛ばないことがあります。


原文はこちら。
http://blogs.oracle.com/imc/2011/03/partner_webcast_-_migration_to_weblogic_server_11g.html

[Java] Leave no device behind with Java ME technology

来週開催されるInternational CTIA WIRELESS® 2011で、Operaが新しいJava ME Webブラウザのリリースを発表します。

Opera to launch Opera Mini 6 and Opera Mobile 11 at CTIA next week
http://www.intomobile.com/2011/03/17/opera-launch-opera-mini-6-and-opera-mobile-11-ctia-next-week/

以下は引用です。
Operaは、Opera Mini 6とOpera Mobile 11を来週のCTIAでローンチする予定だ、とただ今アナウンスしました。Opera Miniは・・・・のためのネイティブフォームとして利用できます。そしてもちろんのことながら、両方ともOpera Miniユーザの大多数を構成するフィーチャーフォンで利用可能なJ2ME versionということのようです。  
「我々のラインナップでは、あらゆるプレイヤーが等しく重要だ。我々は置いてきぼりのデバイスは作らない…」
両方とも等しくJava MEテクノロジーで作成されています。非常にいいこと。特に我々のような「巨大な」Java MEユーザーにとっては!

原文はこちら。
http://blogs.sun.com/hinkmond/entry/leave_no_device_behind_with

[Identity Management] Do You Have The Right Directory Services for Cloud Computing ?

クラウドコンピューティングの登場により、多くの企業が自社のIDアーキテクチャを考え直さざるを得なくなっています。プライベートクラウド、ハイブリッドクラウド、いずれであっても、次のような要件を満たす強固なIDの基盤が必要です。
  • 種々のレガシーアプリケーションからIDデータを仮想化できる
  • OpenIDやSAMLといった標準ベースのセキュリティプロトコルを利用できる
  • 現在求められているSLAを満足する性能、安定性がある  
Oracle Directory Services PlusにはクラウドのためのID基盤を構築するために必要な製品一式が含まれています。Oracle Directory Services PlusとOracle Identity Foundationを組み合わせると、仮想ディレクトリ、ディレクトリサーバ、そしてAcitve Directoryと動機するためのディレクトリ統合ツールといった、完全なソリューションを得ることができます。このライブWebcastでは、Oracleのソリューションを使うことで、皆様のID基盤を費用対効果の高い方法で構築することができる、ということをご案内します。

Webcast Data
2011年3月24日(木) 10:00(PDT、日本時間では3月25日の2時)
登録はこちらからどうぞ。

原文はこちら。
http://blogs.sun.com/directoryservices/entry/do_you_have_the_right

[Exalogic] New Exalogic Hardware and Software Whitepapers Available

Exalogicに関する新しいホワイトペーパーが2通できました。一つはExalogic Elastic Cloud Softwareのメリット、もう一つはExalogicハードウェアの詳細に関するものです。また、概要情報に関するホワイトペーパーも更新されています。

Oracle Exalogic Elastic Cloud: A Brief Introduction
http://www.oracle.com/us/products/middleware/exalogic-wp-173449.pdf

Oracle Exalogic Elastic Cloud: Software Overview
http://www.oracle.com/us/products/middleware/exalogic/ssLINK/exalogic-software-overview-345527.pdf

Oracle Exalogic Elastic Cloud: X2-2 Hardware Overview
http://www.oracle.com/us/products/middleware/exalogic/ssLINK/exalogic-hardware-overview-345531.pdf


原文はこちら。
http://blogs.oracle.com/jamesbayer/2011/03/new_exalogic_hardware_and_soft.html

[WLS] rlwrap for wlst

SQL*Plusにrlwrapを使ったというGillesのエントリを読みましたが、このrlwrapはWLST (WebLogic Scripting Tool) にも使えます。
. $WL_HOME/server/bin/setWLSEnv.sh
rlwrap -f wlst.words --multi-line java weblogic.WLST
私はこんな辞書ファイルを使っています。

[参考URL]
Oracle Luxembourg XPS on Database
bash-like features in sqlplus, rman and other Oracle command line tools
http://blogs.oracle.com/xpsoluxdb/2011/03/bash-like_features_in_sqlplus_rman_and_other_oracle_command_line_tools.html
訳注:このエントリの日本語翻訳版は以下のURLにあります。
http://orablogs-jp.blogspot.com/2011/03/bash-like-features-in-sqlplus-rman-and.html

WLST用辞書ファイル
http://blogs.oracle.com/johngraves/code/wlst.words

原文はこちら。
http://blogs.oracle.com/johngraves/2011/03/rlwrap_for_wlst.html

[Database] bash-like features in sqlplus, rman and other Oracle command line tools

[訳注]パッケージのバージョンはエントリの当時のものゆえ、最新のバージョンでないことがあります。

覚えている限りでは、SQL*Plusには最後のコマンドを再呼び出しする機能がないことをいつも不満に思っていました。bashシェルやWindowsのcmdターミナルで可能な基本的な機能がOracleのコマンドラインツールには欠けていました。
EASYTEAMというブログにエントリを残したArnaudのおかげで、rlwrapというRPMパッケージを使うと、SQL*Plus、dgmgrl、rmanなどといったツールの機能強化が可能で、bashのような"再呼び出し/補完"機能が使えるようになります。
さくっとrlwrapをインストールし非常に快適に使っています。みなさんも是非使ってください。手順は以下の通りです。
  • RPM PBoneのようなサイトからrpmファイルをダウンロード
  • rootユーザでパッケージをインストール
    • rpm -ivh rlwrap-0.37-1.el5.x86_64.rpm
  • Oracleユーザで、(自動補完のための)辞書ファイルを作成
    • このファイルは一連の単語からなり、自動補完に利用する。
    • ディクショナリ表のリスト、SQLコマンドのリスト、SQL*Plusのコマンドリストなどお好みで登録すると、Bashシェルのように、<TAB>キーで補完可能
      • $HOME/.oracle_keywords
  • SQL*Plusのエイリアスを作成
    • alias sqlplus = '/usr/bin/rlwrap -if $HOME/.oracle_keywords $ORACLE_HOME/bin/sqlplus'
[参考URL]
EASYTEAM : Améliorer sqlplus, rman, et autres avec rlwrap
http://blog.easyteam.fr/2011/03/14/ameliorer-sqlplus-rman-et-autres-avec-rlwrap/

RPM PBone
http://rpm.pbone.net/


原文はこちら。
http://blogs.oracle.com/xpsoluxdb/2011/03/bash-like_features_in_sqlplus_rman_and_other_oracle_command_line_tools.html

[Certification] Platinum Club技術セミナー(Oracle Solaris/MySQL)レポート

ORACLE MASTER Platinum取得者のコミュニティ「Platinum Club」の方々限定で、2011年3月4日に技術セミナーを開催しました。
日本語なので、是非原文をどうぞ。

原文はこちら。
http://blogs.oracle.com/oraclemaster/2011/03/platinum_cluboracle_solarismysql.html

[Java] The Java Community Process: What's Broken and How to Fix It

今日開催されたTheServerSide Javaシンポジウムのパネルディスカッションで、Patrick Curran(Java Community Processの代表)、James Gosling、Reza Rahman(Java EE 6/EJB 3.1専門家グループ)らとJCPの状況について議論しました。Cameron McKenzie(TheServerSide.comの編集人)をモデレータとして、JCPの問題点と解決策を議論しました。

JCPの問題点
Reza RahmanはJCPを弁護し、こうコメントしました。
「コンサルタントとして仕事をしているので、大企業が下す判断よりもずっといい」
彼はJCPに「五つ星」を与え、いち個人としても、自身にとって重要なことに対して影響力を行使できたことを説明しました。
Cameronが「現在のこうしたJCPの問題すべてがOracleによるSun買収後に発生したと思っているのかい?」と尋ねました。爆笑した聴衆に対して、パネラー全員がJCPの問題の多くはSunの時代からあったことで一致しました。では、SunからOracleにかわってJCPはどのような扱いになったのでしょうか。Jamesは「ほぼ同じ」、Rezaは「Oracleはより現実路線に向かっている」、Patrickは「事態が再び動いてうれしい。我々はいくつかの新しいJSRを登録した」とそれぞれコメントしました。

改善策
パネラー全員がより一層の透明性の確保を第一の問題点としてあげています。透明性がなければ、疑心暗鬼になるでしょう。Patrickは「現在スペックリードは透明性を確保しようとしている。JCPオフィスはJCPプロセスを変更するためのJSRを提出しようと考えている。メーリングリストにとっても、問題のトラッキングにとっても、透明性は必須だ」とコメントしました。問題に光を当てることは解決のための最良の方法です。Rezaは「最大の問題はコミュニティからの傘下が少ないことだ。もっと参加してくれれば、多くの問題が解決するだろう。開発者があまりに無関心すぎる。JCPで起こっていることは自分たちに直接のインパクトがあることを認識すべきで、ぜひ参加してほしい」とコメントしました。

参加しよう!
Q&Aで、ある人がどうすれば開発者が参加できるだろうか、と質問していました。パネラーからは次のような回答がありました。
  • 関心のあるJSRをピックアップして追いかけよう
  • 手始めに、JSRに関する記事およびそのコメントを読もう(専門家グループのメンバーがコメントを読んでいる)
  • もしくは、仕様を読んで、議論して、議論の内容をブログにUpしよう
  • 専門家グループの議事録を読もう
  • JCP(個人なら無料!)に参加しよう
  • オープンソースプロジェクトにはダウンロードして触ることができるコードがあるので、ダウンロードしてフィードバックしよう
Patrickは「JCPは本当にもっと多くの方に参加してほしいと思っています。現在取り組んでいることですが、JUG(Java Users Group)を一つのグループとしてJCPに参加し、JUGのメンバー全員がJCPメンバーにするように推進しています」と述べました。
彼らはほとんどのスペックリードがフィードバックを欲していると述べています。「なので、仕様が確定するまでに参加してください!」とJamesは訴えていました。聴衆からは、「貴重な時間を仕様確定までに費やすことは難しい」との言葉があったので、Patrickは「JCPプロセスにおいては、Post Final Draft (PFD)  のタイミングが仕様レビューのタイミングではあるが、その時点ではまだ仕様は確定していない」と説明しました。パネラーは最悪なのは、Javaコミュニティの人々が参加せずにJCPに関する不平を言うことだという点で一致しました。 コンファレンスの参加者である開発者のSumit Goyalは、よい議論だったと思うとして、「JSRがどのようにプロセスを進み、確定するのかを知ることができた」と語りました。

[参考URL]
The Java Community Process Website
http://jcp.org/en/home/index

The Latest on the Java Community Process:
A Conversation with JCP Chair Patrick Curran
http://www.oracle.com/technetwork/java/patrickcurraninterview11-323983.html

Oracle Technology Network
http://www.oracle.com/technetwork/java/index.html

TheServerSide Java Symposium
http://javasymposium.techtarget.com/


原文はこちら。

[Solaris] Oracle Solaris 11 Express Image Packaging System

Oracle Solaris 11 ExpressのOTNのページでは、数ヶ月にわたり、いろいろなリソースをそろえて様々なテクノロジーを取り上げています。みなさんにOracle Solaris 11 Expressに含まれている最先端テクノロジーがどのようなものかを理解頂くことを目的としています。
3月は、Oracle Solaris 11 Express Image Packaging Systemがスポットライトページで取り上げられています。技術情報(ホワイトペーパー、チートシート、スクリーンキャスト、ポッドキャスト、などなど)を是非チェックしてください。
Image Packaging System (IPS) は新しいネットワークベースのパッケージ管理システムで、Oracle Solaris 11 Express 2010.11に含まれており、完全なソフトウェアライフサイクル管理(インストールやアップグレード、ソフトウェアパッケージの削除など)のためのフレームワークを提供します。

  • ZFS起動環境における安全なシステムアップグレード
  • ネットワークソフトウェアパッケージリポジトリ
  • 効率のよいダウンロードと依存性チェックの自動化
  • 接続していないデータセンター環境のサポート
  • 豊富なパッケージ配信ツール

[参考URL]
Oracle Solaris 11 Express (OTN)
http://www.oracle.com/technetwork/jp/server-storage/solaris11/overview/index.html


Oracle Solaris 11 Express Package Management with Image Packaging System (IPS)

http://www.oracle.com/technetwork/server-storage/solaris11/technologies/ips-323421.html


原文はこちら。
http://blogs.sun.com/theopenwaters/entry/oracle_solaris_11_express_image

[Linux] LIVE WEBCAST March 24 2pm PT- Why Switch from Red Hat and SUSE Linux to Oracle Linux?

Oracleは2006年から手頃な価格のLinuxサポートを提供しており、すでに6000人以上のお客様にご利用いただいています。Oracle Unbreakable Linuxサポートプログラムは、デプロイされているアプリケーションと統合されたLinuxの問題を診断し、解決する方法を理解している世界トップクラスのサポートチームの専門知識を利用します。このWebinarでサポート費用の50〜90%を節約できる方法を見つけてください。

Webinarについて
時間
3月24日14時(アメリカ太平洋夏時間、日本時間では3月25日6時)
参加者
  • Monica Kumar(Liux、Oracle VM、My SQLを担当するシニアディレクター)
  • Avi Miller(Linux/Virutalizationを担当するプリンシパルセールスコンサルタント)
内容
  • Oracle Linuxへ切り替える「理由と方法」
  • テストおよびシステムとアプリケーションの統合
  • 無料の管理と高可用性ツール
  • 顧客事例

原文はこちら。
http://blogs.oracle.com/linux/2011/03/live_webcast_march_24_2pm_pt-_why_switch_from_red_hat_and_suse_linux_to_oracle_linux.html

[UCM] UCM Search Cache Turned Off in UCM PS3 (11.1.1.4.0)

この問題を最近見つけました。PS3 (11.1.1.4.0) のUCMは、検索キャッシュがデフォルトでOffになっています。

UCMに投げるクエリを調査できる検索キャッシュと検索クエリトレースセクションを見たところ、出力トレース中に検索キャッシュステートメントがないということがわかりました。config.cfgファイル中のUseSearchCache=trueにして、検索キャッシュが有効になりました。

[訳注]config.cfgファイルは以下の場所にあります。
<Middleware_Home>/user_projects/domains/<UCM domain>/cs/config/config.cfg

これは既知のバグであることを、Oracle Supportと共に確認しました。まだPS3向けのパッチはありません。今のところ、PS3をお使いの場合は、UseSearchCache=trueをconfig.cfgファイル中で設定し、検索キャッシュが有効になっていることを確認してください。

今回の場合、PS3のフレッシュインストールでした。試してはいませんが、これはPS3へのアップグレードにおいても発生するものと考えられます。そのため、安全のためにUseSearchCache=trueを設定しておきましょう。


原文はこちら。
http://blogs.oracle.com/ecmarch/2011/03/ucm_search_cache_turned_off_in.html

[BPM] Architecture Standards – BPMN vs. BPEL for Business Process Management

BPMNとBPEL、どのビジネスプロセス標準を使うべきかという質問を受けることが多くありますが、どちらにも強みがある、と説明しています。両者のメリットとどこに適用すべきかを理解できる素晴らしい記事があります。よい知らせは、Oracle SOA SuiteとBPM Suiteを用いると、同じSCAモデルとランタイムコンテナで両方を使うことができるオプションおよび柔軟性を手にします。ではMark Nelsonの記事を見てみましょう。
適材適所
BPELとBPMNは、表現のための「言語」もしくは「表記法」であると同時に、ビジネスプロセスを実行するための「言語」もしくは「表記法」でもあります。両方ともオープンスタンダードです。多くのビジネスプロセスエンジンは、こうした言語のうち一つ以上をサポートしていますが、Oracleは両方とも等価にサポートすることを選択しました。この意味するところは、どの言語をプロセスに利用するか選択する自由があるということです。そして単一のコンポジット(SCA環境におけるデプロイメントの単位)内で、両言語を混在させることも自由にできます。
なぜ両方の言語をサポートしているのでしょうか。それはBPELはある種のプロセスをモデリングすることに適しており、BPMNは別のプロセスをモデリングすることに適していることが分かっているからです。もちろんかなりオーバーラップする箇所が部分があります。

[参考URL]
RedStack : What BPM adds to SOA Suite / Mark Nelson
http://redstack.wordpress.com/2011/01/15/what-bpm-adds-to-soa-suite/

原文はこちら。
http://blogs.oracle.com/enterprisearchitecture/2011/03/architecture_standards_bpmn_vs.html

[misc] 5 New Java Champions

Javaチャンピオンがノミネートされ、次の5名の新しいメンバーが承認されました。おめでとうございます。
Jonas Bonér
James Strachan
Rickard Oberg
Régina ten Bruggencate
Clara Ko
5名の方の簡単なご紹介です。
Jonas Bonér (Sweden)
Javaアントレプレナー、プログラマー、講師、セミナーでの講演や執筆をしています。Open Sourceコミュニティへの活発なコントリビュータで、中でも注目すべきは、Akka ProjectやAspectWerkzというアスペクト指向プログラミング(AOP)のフレームワークの作者であるところです。

James Strachan (UK)
20年以上の金融やミドルウェアの知識を持ち、エンタープライズソフトウェア開発の経験があります。数多くのオープンソースプロジェクト(Apache Karaf、Maven、Lift、Jerseyを含む)のコミッタでもあります。

Rickard Oberg (Malaysia)
JBossやXDocket、WebWorkといったJEE開発に関連するOpen Sourceプロジェクトに関わってきました。 また、彼はSiteVisionというCMS/portalプラットフォームのプリンシパルアーキテクトでもありました。SiteVisionはAOPを基礎にしています。現在はJaywayに勤務しており、Qi4jフレームワークとコンポジット指向プログラミングのパラダイムの開発に従事しています。

Régina ten Bruggencate (Netherlands)
iProfsの上級Java開発者で、10年以上のJava開発の経験があります。主にエンタープライズアプリケーションの開発に携わってきました。現在はDuchess(Javaテクノロジーに関わる女性のための世界的な組織、現在50ヶ国以上から350名の参加者)の代表をつとめ、サイトとコミュニティの代表となっています。
Dutchess : http://jduchess.org/

Clara Ko (Netherlands)
アムステルダム在住のJava/Java EEのプロフェッショナルでフリーランスです。開発者、アーキテクト、プロジェクトマネージャとして活躍しています。彼女は、オープンソースソフトウェアの使用を促進し、複数の組織間でアジャイルプラクティスを採用する取り組みを先導してきました。Duchessの共同設立者でもあります。

Javaチャンピオンは、コミュニティがノミネートし、Oracleが主催するプロジェクトの下で選定された、情熱的なJavaのテクノロジーとコミュニティのリーダーの限定されたグループです。彼らにはJavaプラットフォームが成長するために、Oracleに大してフィードバックやアイデア、方向性を低減する機会があります。この交流はOracleのJava開発と開発者プログラムチームとの技術的な議論とコミュニティ立ち上げ活動の形態をとります。チャンピオンの完全な経歴と詳細については以下のURLを参照してください。

Java Champions
http://java-champions.java.net/

 原文はこちら。
http://blogs.oracle.com/java/2011/03/5_new_java_champions.html

[JSF] Passing Parameters Between Web-Services and JSF Pages

2個のWebサービスがあって、一方がオブジェクトのリストを返し、他方がそのオブジェクトを更新するというシナリオのデモをご紹介します。今回、次のようなページフローを作成したいと考えています。
  • 最初のページでオブジェクトのリストを表示し、オブジェクトを1個選択
  • 次ページでそのインスタンスを編集して、2番目のWebサービスを呼び出し、データソースを更新する
デモでは以下のことをお見せします。
  • 行を選択し、オブジェクトの値をpageFlowScopeに保存する方法(setPropertyListenerを使用)
  • pageFlowScopeオブジェクトの値を編集可能なページの作成方法
  • オブジェクトをパラメータとして2番目のWebサービスに渡す方法
それでは動画でご確認ください。



原文はこちら。
http://blogs.oracle.com/shay/2011/03/passing_parameters_between_web.html

[Java ME] Bolt! Get HTML5 and Flash video support on Java ME cell phones

HTML5とFlash Videoのサポート、どちらも必要なら、Java ME フィーチャーフォンのBOLTモバイルWebブラウザをお使いください(iDroneとは違います)。2000万ユーザーがこの事実を知っていますし、すでにインストールしています。

以下は引用です。
20 million install Java ME BOLT
BOLTの基礎とする考えは、どんなに低スペックなデバイスに対しても、優れたモバイルwebのパフォーマンスをお届けすることです。BOLTはHTML5とFlash Videoを閲覧できる、唯一のJavaベースのブラウザです。実際、BOLTだけがJ2ME、Brew、Blackberryで動作します。そのiDroneを捨てて、BOLTの載っているJava MEフィーチャーフォンにすれば、サーフィンする犬やピアノを弾くハムスターといった、見たいFlash Videoをすべて見ることができますよ。 

原文はこちら。
http://blogs.sun.com/hinkmond/entry/bolt_get_html5_and_flash

[Java] JSR 269 Maintenance Review

Java SE 7の一般としてのJSR269、アノテーション処理のためのAPIの標準化は、現在メンテナンスレビューのフェーズです。JCPでは、メンテナンスレビューは小さな変更に対するコメントを受け入れるプロセスです。このプロセスを経て、全く新しいJSRを発行せずに、これらの小さな変化を正式に既存の仕様に組み込むことができます。

Java 7 : http://www.jcp.org/en/jsr/summary?id=336
JSR269 : http://www.jcp.org/en/jsr/summary?id=269
JSR269メンテナンスレビュー : http://jcp.org/aboutJava/communityprocess/maintenance/jsr269/index.html

メンテナンスレビューとは:
http://www.jcp.org/en/procedures/jcp2#4

この変更は、すでにJDK 7のJSR269メンテナンスレビューで提示されている変更内容は、
既にJDK 7のJSR269 APIで実装されている変更内容です。提案された変更は以下のURLにまとまっています。

JSR 269 Maintenance Review

原文はこちら。

[OSB] Running Multiple WebLogic and OSB Domains

ある時に作成した多くのOSBドメインがあります。例えば、様々なバージョンのOSBやSOA Suiteの様々なドメインがある場合です。また、様々な目的のために異なるドメインを持つ場合があります。例えばdemoドメインやブログに載せているプロジェクトのためのドメインなどです。
開発機に複数のドメインを作成したい場合、OSB 11gとApache Derbyサーバを起動すると小さな”落とし穴”があります。OSB11gの新しいドメインを作成した場合、すべてのデータベースの同じデータベース情報をすべてのデータベースで使うため、2個目のドメインで管理サーバを立ち上げるとエラーが発生します(最初のドメインではこのエラーが発生しません)。サーバコンソールに上がっているエラーメッセージの一例を以下に掲載します。
####<Mar 8, 2011 2:58:48 PM PST> <Critical> <JTA> <jeff-laptop> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1299625128464> <BEA-110482> <A logging last resource failed during initialization. The server cannot boot unless all configured logging last resources (LLRs) initialize. Failing reason: weblogic.transaction.loggingresource.LoggingResourceException: java.sql.SQLException: JDBC LLR, table verify failed for table 'WL_LLR_ADMINSERVER', row 'JDBC LLR Domain//Server' record had unexpected value 'osb11gR1PS3//AdminServer' expected 'OSBCIM//AdminServer'*** ONLY the original domain and server that creates an LLR table may access it ***
解決策は、各ドメインにそれぞれデータベースインスタンスを作成する、という非常にシンプルなものです。ドメイン構成ウィザードを使ってドメインを作成したあと、以下の手順を実行します。

  • <Domain_Home>/config/jdbc/wlsbjmsrpDataSource-jdbc.xmlを開く
  • wlsbjmsrpDataSource-jdbc.xmlに含まれる以下のエントリを見つける
    <url>jdbc:derby://localhost:1527/osbexamples;create=true;ServerName=localhost;databaseName=osbexamples</url>
  • データベース名を一意の名前に変更する。以下の例ではmydomainというデータベース名に変更する。
    <url>jdbc:derby://localhost:1527/mydomain;create=true;ServerName=localhost;databaseName=mydomain</url>
  • 管理サーバを再起動する。再起動によりmydomainというデータベースインスタンスが作成される。
これらの手順を各ドメインで実施すると、問題なく起動できます。
ドメイン構成ウィザードを使ってドメインを作成している場合には、この手順がずっと簡単です。構成ウィザードの「JDBCコンポーネント・スキーマの構成」ページで単にデータベースを命名すればよいのです。手順は以下の通りです。

  • OSB JMS レポーティングプロバイダを選択
  • [DBMS/サービス]フィールドにデータベース名を指定


これで終了です。たくさんのドメインを好きなだけご自身のPCや開発機に作成できますね。それぞれのドメインが衝突する心配もなくなります。


原文はこちら。
http://blogs.oracle.com/jeffdavies/2011/03/running_multiple_weblogic_and.html

[misc] Japan, March 2011

適切な言葉が見つからないということがありますが、今回の日本での災害はまさにそれに相当します。GlassFishチームとAquariumコミュニティは、Oracleの同僚、お客様、パートナー、友人、そして地震に見舞われた皆様と悲しみを共有している、ということを宣言します。この逆境に直面している皆様、心を強く持っていただきますように。
読者の皆様、寄付もぜひ検討してください。

原文はこちら。

[OSB, Coherence] OSB and Coherence Integration

Coherenceノードを管理したり、OSBに結果をキャッシュしようとしたりするのであれば、誰でもこの新しい機能が利用可能になったことをうれしく思うに違いないでしょう。WebLogic Server 10.3.4から、管理コンソールやWLSTから管理サーバ、ノードマネージャを使ってスタンドアロンのCoherenceキャッシュサーバのライフサイクルを監視できるようになっています。以前のようにスクリプトを自作することを考えれば、大きな進化といえるでしょう。WebLogic管理コンソールやノードマネージャからCoherenceキャッシュサーバを起動する方法は、James Bayerのエントリによい説明がありますし、WebLogic Serverのドキュメントにも(当然ながら)記載があります。

James Bayer's Blog - WebLogic Server 10.3.4 Screencast – Coherence Server Lifecycle Management
http://blogs.oracle.com/jamesbayer/2011/01/weblogic_server_1034_screencas.html

Oracle® Fusion Middleware Using ActiveCache11g Release 1 (10.3.4)
Starting Cache Servers Using Node Manager
http://download.oracle.com/docs/cd/E17904_01/web.1111/e16517/coh_wls.htm#COHWL729

Oracle Service Bus 11gR1 (11.1.1.3.0) より、OSBはCoherenceを使ったビジネスサービスのサービス結果キャッシュをサポートしています。あまり変動の多くない静的な結果を返すようなビジネスサービスを利用する場合、結果をキャッシュするように構成できます。結果キャッシュを使用するビジネスサービスについては、キャッシュ結果を保持する時間を管理できます。キャッシュ結果が期限切れになった場合は、次回のビジネスサービスの呼び出しでバックエンドのサービスを呼び出したときに結果を取得し、キャッシュします。このキャッシュ機能は夜間バッチで更新されるようなクロスリファレンスデータに非常に適していると思います。

Oracle® Fusion Middleware Administrator's Guide for Oracle Service Bus11g Release 1 (11.1.1.4.0)
Improving Performance by Caching Business Service Results
http://download.oracle.com/docs/cd/E17904_01/doc.1111/e15867/configuringandusingservices.htm#CHDDCGEE


専用のJVMでの結果キャッシュ


ここでは、OSBのビジネスサービスを構成して、WebLogic Serverで管理されている独立したCoherence JVMに結果をキャッシュする方法を説明します。独立した専用のJVMを使用する理由は、結果キャッシュのデータが非常に大きくなる可能性があり、OSBで利用するJavaのヒープを守るためです。
この例では、クライアントはOSBプロキシサービスを呼び出し、従業員IDから従業員データを取得しています。結果は自動的にキャッシュされ、再度呼び出されたときには、外部システムではなくキャッシュから結果を取得します。



Step 1 - Coherenceサーバをセットアップする
OSB管理コンソールからCoherenceサーバを作成して結果キャッシュとして使えるようにします。
サーバ起動のタブから、構成したCoherenceサーバの引数を以下に引用しています。なお、ドメイン中のデフォルトキャッシュ構成を利用して修正しています。
-Xms256m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=256m -Dtangosol.coherence.override=/app/middleware/jdev_11.1.1.4/user_projects/domains/osb_domain2/config/osb/coherence/osb-coherence-override.xml -Dtangosol.coherence.cluster=OSB-cluster -Dtangosol.coherence.cacheconfig=/app/middleware/jdev_11.1.1.4/user_projects/domains/osb_domain2/config/osb/coherence/osb-coherence-cache-config.xml -Dtangosol.coherence.distributed.localstorage=true -Dtangosol.coherence.management=all -Dtangosol.coherence.management.remote=true -Dcom.sun.management.jmxremote
Coherenceサーバのクラスパスも引用しておきます。
/app/middleware/jdev_11.1.1.4/oracle_common/modules/oracle.coherence_3.6/coherence.jar:
/app/middleware/jdev_11.1.1.4/modules/features/weblogic.server.modules.coherence.server_10.3.4.0.jar:
/app/middleware/jdev_11.1.1.4/oracle_osb/lib/osb-coherence-client.jar
デフォルトでは、OSBはローカル結果キャッシュインスタンスを作成しようとします。これを避けるためには、次のようなJVMパラメータを各OSB管理対象サーバに設定しておく必要があります。
-Dtangosol.coherence.distributed.localstorage=false -DOSB.coherence.cluster=OSB-cluster
リモートの結果キャッシュを構成する上でもっと情報が必要であれば、以下のドキュメントを参照してください。

Oracle® Fusion Middleware Administrator's Guide for Oracle Service Bus11g Release 1 (11.1.1.4.0)
Using an Out-of-Process Coherence Cache Server
http://download.oracle.com/docs/cd/E17904_01/doc.1111/e15867/configuringandusingservices.htm#sthref272

Step 2 - ビジネスサービスを構成する
各ビジネスサービスのメッセージ処理構成の詳細設定で、「結果キャッシュ」を有効にした上で、キャッシュデータのキーを決定する必要があります。以下に例を示しますが、今回は一意の従業員IDをキーとしています。

結果
このテストはノートPCで実施しました。実際の所要時間にキャッシュの結果が現れています。テストツールを使い、同一従業員IDのリクエストを10000件OSBに送信しました。このとき結果キャッシュはOffにしています。この結果から、各リクエストを受けるとその都度バックエンドのビジネスサービス(BS_GetEmployeeData)を呼び出していることがわかります。

では、結果キャッシュを有効にしてみましょう。同じ条件でリクエストを送信します。ビジネスサービスは最初の一度だけ起動され、以後のリクエストはすべて結果キャッシュを使っていることがわかります。


原文はこちら。
http://blogs.oracle.com/MarkSmith/2011/03/osb_and_coherence_integration_1.html

[WLS]「WebLogic Server勉強会」の最新アップデート: スキルアップは「セッション+クイズ」で実感

WebLogic Server勉強会の企画・運営をしている中の人が、先日行われた第9回WebLogic Server勉強会@大阪のフィードバックをされています。
原文は日本語なので、是非原文でどうぞ。

原文はこちら。
http://blogs.oracle.com/weblogicserverjp/2011/03/weblogic_server_1.html

[VirtualBox] VirtualBox Port Forward

VirtualBox 4.0の非常にすばらしい新機能といえば、NATを使ってポートフォワードできることでしょう。ssh -L/-Rを使う必要はないのです。このおかげで、DNSエントリや静的IPアドレスの設定という面倒を避けることができます。
この例では、ホストマシンのポート3xxxxをVMのwell-knownサーバーポートに割り当てています。
[注意]不適切なURLの書き換えを避けるために、フロントエンドのHTTPホスト/ポートをセットアップすることが重要です。
ネットワークアドレス 10.0.2.15 を使うローカルトラフィックを扱うために、HTTPチャネルをセットアップする必要があるかもしれません。 

原文はこちら。
http://blogs.oracle.com/johngraves/2011/03/virtualbox_port_forward.html

[BI] BI 11gに完全に統合された BI Publisher

Oracle BI Publisherの機能を簡単に説明しています。
日本語なので、ぜひ原文をどうぞ。

原文はこちら。
http://blogs.oracle.com/bijapan/2011/03/bi_11g_bi_publisher.html

[Exalogic] Oracle Applications Guidance for Exalogic

Oracleがタグライン”Hardware and Software - Engineered to Work Together”として掲げていることをExalogicでうまくやり遂げつつあります。
さきほどMy Oracle Supportに記事 ID: 1302529.1が登録されました。その中でExalogic上にデプロイが可能な種々のOracle Applicationsのバージョンを列挙しています。
現在のところ、以下のアプリケーションが含まれています。
  • Oracle Applications
    • E-Business Suite 
    • Siebel
    • PeopleSoft Enterprise
    • JD Edwards EnterpriseOne
  • Utilities Applications
    • Mobile Workforce Management
    • Meter Data Management
    • Customer Care
    • Billing
  • Oracle Retail Applications
    • Oracle Retail Merchandising Operations Management 
    • Oracle Retail Merchandise Planning and Optimization

参考までに、ExalogicがいかにOracle Applicationsを含むOracleのソフトウェア製品にとって理想的なプラットフォームであることを説明しているすばらしいビデオをご紹介します。



原文はこちら。
http://blogs.oracle.com/jamesbayer/2011/03/oracle_applications_guidance_f.html

    [WLS, Coherence] Coherence Warnings in WLS

    WebLogic Server 11g (10.3.4)ではCoherenceが多くのアプリケーションにビルトインされていますが、下記のようなエラーがOSBのログに出ていることに気づきました。
    ####<10/03/2011 10:45:40 AM EST> <Warning> <Coherence> <osb-jeos> <osb_server1> <Logger@324239121 3.6.0.4> <<anonymous>> <> <583c10bfdbd326ba:-8c38159:12e9d02c829:-8000-0000000000000003> <1299714340643> <BEA-000000> <Oracle Coherence 3.6.0.4 (member=n/a): UnicastUdpSocket failed to set receive buffer size to 714 packets (1023KB); actual size is 12%, 89 packets (127KB). Consult your OS documentation regarding increasing the maximum socket buffer size. Proceeding with the actual value may cause sub-optimal performance.>
    ####<10/03/2011 10:45:40 AM EST> <Warning> <Coherence> <osb-jeos> <osb_server1> <Logger@324239121 3.6.0.4> <<anonymous>> <> <583c10bfdbd326ba:-8c38159:12e9d02c829:-8000-0000000000000003> <1299714340650> <BEA-000000> <Oracle Coherence 3.6.0.4 (member=n/a): PreferredUnicastUdpSocket failed to set receive buffer size to 1428 packets (1.99MB); actual size is 6%, 89 packets (127KB). Consult your OS documentation regarding increasing the maximum socket buffer size. Proceeding with the actual value may cause sub-optimal performance.>
    ####<10/03/2011 10:45:40 AM EST> <Warning> <Coherence> <osb-jeos> <osb_server1> <Logger@324239121 3.6.0.4> <<anonymous>> <> <583c10bfdbd326ba:-8c38159:12e9d02c829:-8000-0000000000000003> <1299714340659> <BEA-000000> <Oracle Coherence 3.6.0.4 (member=n/a): MulticastUdpSocket failed to set receive buffer size to 714 packets (1023KB); actual size is 12%, 89 packets (127KB). Consult your OS documentation regarding increasing the maximum socket buffer size. Proceeding with the actual value may cause sub-optimal performance.>
    これらのエラーは、リソースの割り当て不足に起因します。
    解決のため、カーネルパラメータを編集します。
    /etc/sysctl.conf ファイルを開いて、以下の行を追記します。
    # Setup networking for coherence
    # maximum receive socket buffer size, default 131071
    net.core.rmem_max = 2000000
    # maximum send socket buffer size, default 131071
    net.core.wmem_max = 1000000
    # default receive socket buffer size, default 65535
    net.core.rmem_default = 2524287
    # default send socket buffer size, default 65535
    net.core.wmem_default = 2524287
    [訳注]
    Ubuntuの場合ですので、Oracle LinuxやReHat Enterprise Linuxでは異なる場合があります。

    原文はこちら。
    http://blogs.oracle.com/johngraves/2011/03/coherence_warnings_in_wls.html

    [WLS] WebLogic Silent Install 11.1.1.4 (WLS 10.3.4)

    以下は備忘録です。
    マウスなしでベース製品を非常に簡単にインストールできます。

    Windowsユーザーの方へ
    このエントリではLinuxの例だけをお見せします。Windowsの場合は当然違ってきます。

    install.sh
    !/bin/bash
    ./wls1034_oepe111161_linux32.bin -mode=silent -silent_xml=./silent.xml
    silent.xml
    <?xml version="1.0" encoding="UTF-8"?><bea-installer>
      <input-fields>
          <data-value name="BEAHOME" value="/opt/app/wls10.3.4" />
          <data-value name="WLS_INSTALL_DIR" value="/opt/app/wls10.3.4/wlserver_10.3" />
      </input-fields></bea-installer>
    Oracle_Homeについて
    すべての製品は共通のWLS_BASEに移動しますので、Oracle HomeとしてWLSバージョンを使っています。この例はwebLogic Server 10.3.4の場合です。
    また、user_projectsディレクトリをOracle_Homeディレクトリの外に配置して、整理しています。user_projectsとしてよく使うのは /opt/app/user_projects などです。

    原文はこちら。
    http://blogs.oracle.com/johngraves/2011/03/weblogic_silent_install_11114_wls_1034.html

    [Database] New hidden parameters in Oracle 11.2

    我々のスライドに対するみなさまからの評価、そしてワークショップに参加されたお客様からのコメントもお待ちしています。

    [訳注]
    ここで言っているスライドとは、こちらでご紹介しているスライドを指しています。

    [Database] New version of the upgrade slides available
    http://orablogs-jp.blogspot.com/2011/03/new-version-of-upgrade-slides-available.html

    では、1週間以上前に起こったことをお伝えしましょう。
    Marco Patzwahi(MuniqSoft GmbHのオーナー)はドイツで非常に長時間列車に乗っていて(機関士がその週にストライキをしていたらもっとひどくなっていたでしょう)、我々のスライドセットをレビューする以外やることがありませんでした。その彼からたくさんの提言を受け、さらに、彼は私が気づかなかったことを指摘し、スライドに追加すべきと提言してくれました。

    PatchSet 11.2.0.2では、データファイル書き込みエラー時の新しい挙動が実装されています。このリリースでは、データファイルへの書き込みエラーはすべてインスタンスを中断(abort)します。
    11.2.0.2より前のバージョンでは、データベースがアーカイブログモードで運転していて(本番環境では当然ですよね?)、データファイルがSYSTEM表領域に属していない場合、これらのエラーが発生するとデータファイルをオフラインにしていました。内部で議論した結果、この振る舞いは最新の振る舞いではなく、RACシステムや最新のストレージと協調する必要があるとの結論にいたりました。それゆえに振る舞いが変わり、新しいアンダースコア付きのパラメータが導入されました。これはデフォルト設定で、新しい振る舞いはOracle 11.2.0.2からです。
    _DATAFILE_WRITE_ERRORS_CRASH_INSTANCE=TRUE
    以前の振る舞いに戻したい場合には、init.oraもしくはspfile中のこのパラメータをfalseに設定する必要があります。ですが、この設定が変更された理由があることを覚えておいてください。My Oracle SupportのNote: 7691270.8に、詳細が記載されています。この件は前のエントリでお知らせしたスライドの254ページに記載しています。Marco、レビューありがとう!

    そして今日、Kurt Van Meerbeekからメールをもらいました。KurtはOracleコミュニティでは非常に有名な方で、Oracle Databaseをバイパスし、データブロックから直接データにアクセスするデータベースアンローディングツールのjDUL/DUDEのオーナーでもあります。
    Kurtは2週前のベルギーで開催したアップグレードのワークショップに参加して、「Oracle 11.2.0.1から、SGA_TARGET、MEMORY_TARGETいずれも設定していなくても、データベースがSGAサイズを変更することがある」ということを強調しました。この振る舞いの変化はORA-4031エラーを避けるためです。
    しかし非常に高負荷がかかっているデータベースでは、この振る舞いはトラブルの元になります。My Oracle Supportの Note: 1269139.1 に詳細情報がありますので、是非ご一読ください。このパラメータはTRUEがデフォルト値になっています。
    _MEMORY_IMM_MODE_WITHOUT_AUTOSGA=TRUE
    これはスライドの 239ページに記載しています。Kurt、情報提供ありがとう!

    [参考URL]
    My Oracle Support
    Crash the DB in case of write errors (rather than just offline files)
    https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&doctype=PATCH&id=7691270.8

    SGA Re-Sizes Occurring Despite AMM/ASMM Being Disabled (MEMORY_TARGET/SGA_TARGET=0)
    https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&doctype=BULLETIN&id=1269139.1

    原文はこちら。
    http://blogs.oracle.com/UPGRADE/2011/03/new_hidden_parameters_in_oracl.html

    [Database] New version of the upgrade slides available

    新しいスライドを先週アップロードしました。

    [訳注]
    このスライドでは、Database 11gR2にアップグレードする上で注意することやアップグレードの手順をまとめています。

    http://apex.oracle.com/folien で、キーワード"upgrade112"入力して Upgrade11gR2__2day_workshop.pdf というファイルをダウンロードしてください。
     
    原文はこちら。
    http://blogs.oracle.com/UPGRADE/2011/03/new_version_of_the_upgrade_sli.html

    [WLS] WLS Console Timeout

    WebLogic Server管理コンソールはセッションタイムアウトが設定されています。セキュリティにとってはよいのですが、開発時には困りものですね。何度もログインするのはいらいらします。このタイムアウト時間は簡単に設定できます。でも本番環境ではこの設定は絶対やりません。


    設定を変更するには…
    • WebLogic Serverのconsoleappのweblogic.xmlファイルを開きます。たいていの場合、<WebLogic_Home>/server/lib/consoleapp/webapp/WEB-INF/ にあります。
    • weblogic.xmlを編集します。

    表示されている部分を変更してTIMEOUT-SECSを増やします。この例では、ゼロを1個増やして、タイムアウトまで10時間の設定にしています。
     <session-descriptor>
        <timeout-secs>36000</timeout-secs>
        <invalidation-interval-secs>60</invalidation-interval-secs>
        <cookie-name>ADMINCONSOLESESSION</cookie-name>
        <cookie-max-age-secs>-1</cookie-max-age-secs>
        <cookie-http-only>false</cookie-http-only>
        <url-rewriting-enabled>false</url-rewriting-enabled>
      </session-descriptor>
    原文はこちら。
    http://blogs.oracle.com/johngraves/2011/03/wls_console_timeout.html

    [Database] New Oracle Certification Exam: 1Z0-058 - “11g Release 2: RAC & Grid Infrastructure Administration”

    データベース製品およびシステムズ製品のカリキュラムプロダクトマネジメントを勤める、Oracle UniversityのディレクターであるJay Nortonが、新しい認定試験「11g Release 2: RAC & Grid Infrastructure Administration」 (1Z0-058) をご紹介しています。



    原文はこちら。
    http://blogs.oracle.com/certification/2011/03/new_oracle_certification_exam.html

    [Java] Java EE 7 JSR Submitted

    Java EE 7はJSR 342としてJCPプログラム(Java Community Process)に登録されました。このJSR(Java Specification Request)がJava EE 7、つまりJavaプラットフォームEnterprise Eitionの次期バージョンを進展させるものです。この仕様が種々のJSRの集まりを含んでいるため、"umbrella JSR"です。
    この提言では、新しく2件のJSRの追加を提示しています。その2件とは、
    です。この2件と、JPA、JAX-RS、JSF、Servlets、EJB、JSP、EL、JMS、JAX-WS、CDI、Bean Validation、JSR-330、JSR-250、そしてJCA(Java Connector Architecture)のアップデートを提示しているのがJSR-342です。
    また、Java Web Sockets APIとJava JSON APIの新しい2個のAPIをどうするか議論されています。これらの新しいJSRはすべてExecutive Committeeの投票対象で投票が現在進行中、3月14日に締め切られます。そしてJava EE 7に取り込まれる予定になっています。
    • JSR 340: Java Servlet 3.1 Specification
    • JSR 341: Expression Language 3.0
    • JSR 342: Java Platform, Enterprise Edition 7 Specification
    • JSR 343: Java Message Service 2.0
    • JSR 344: JavaServer Faces 2.2
    これらのJSRはすべて専門家グループの推薦のために公開されています。JCPのメンバーであれば誰でもJSRを扱う専門家グループのメンバを推薦できます(自薦もOKです)。JCPのメンバーになるための詳細はjcp.orgをご覧ください。

    jcp.org : Participation Becoming a JCP Member
    http://jcp.org/en/participation/membership

    JCPのメンバーになると、あなたが作ったコンポーネントがJavaプラットフォームの公式コンポーネントに採用されたり、テクノロジーの改善および進展するようアドバイスできたりします。いずれにせよ、あなたが参加することでJavaコミュニティに関わる皆さんにメリットがあります。

    Java EEのスペックリード Robert ChinniciとのJava EE 7に関するよい議論がPodcastで聞くことができます。Aquariumのこのエントリにはより多くの情報があります。

    数多くのアクティビティが現在進行中なので非常にわくわくしますね。

    The GlassFish Podcast : Episode #071 - Java EE 7 discussion with Roberto Chinnici
    http://blogs.sun.com/glassfishpodcast/entry/episode_071_java_ee_7
    Aquarium : Java EE 7 has been filed as JSR 342
    http://blogs.sun.com/theaquarium/entry/java_ee_7_has_been

    原文はこちら。
    http://blogs.oracle.com/java/2011/03/java_ee_7_umbrella_jsr_submitted.html

    [Java] 6u25 EA and New Access Bridge is Available

    Java SE 6 Update 25のEarly Access版が利用できるようになりました。
    ダウンロードは以下のURLから可能です。

    Welcome to the Java SE 6 Updates Early Access Program!
    http://jdk6.java.net/6uNea.html

    このリリースには以下の内容を含みます。

    • BigDecimal型の性能改善
    • Big5 HKSCS-2008をサポート

    ぜひテストして、問題があればフィードバックしてください。

    Report a Bug or Request a Feature
    http://bugreport.sun.com/

    原文はこちら。
    http://blogs.sun.com/SDNProgramNews/entry/6u25_ea_and_new_access

    [Exadata] New Exadata Book Available Soon

    Oracle Pressから、3月14日にデータウェアハウスのパフォーマンスとExadataに関する最初の本がリリースされます。来週には書店で目にすることができるでしょう。

    Achieving Extreme Performance with Oracle Exadata
    Rick GreenwaldRobert StackowiakMaqsood Alam, and Mans Bhuller

    この本の中身をのぞき見したましたが、Exadataのパワー、そしてデータウェアハウスの性能を極限まで出すためにExadataの最適な利用方法を完全に把握するには最高の本だと思います。

    以下は出版社から
    最高の性能をOracle Exadataで叩きだし、Sun-Oracle database Machineには、デプロイメント、ハードウェアサイジング、最大の可用性を出すためのデータベースマシン環境の設計、バックアップと復旧などについてのベストプラクティスが満載です。Exadataで使われているOracle Database 11gR2の機能についてはもとより、Oracle Databaseおよび他社のDatabaseからOracle Exadataへの移行オプションと移行パスについてもカバーしています。このOracle Pressガイドではアーキテクチャ、管理、保守、監視、そしてOracle ExadataストレージサーバおよびSun Oracle Database Machineのチューニングについても取り扱っています。
    貴社でExadataのを検討している場合、もしくはもっとデータウェアハウスに性能が必要と感じている場合は、来週の発売とともにこの本をお求めになることをおすすめします。


    原文はこちら。
    http://blogs.oracle.com/robreynolds/2011/03/new_exadata_book_available_soo.html

    [WLS] Use WLST to Delete All JMS Messages From a Destination

    WebLogic Serverに、JMSキューからすべてのメッセージを削除するツールがあるか、という質問を今日もらいましたが、実はWLSのコンソールには、すでにこの機能があります。これは、下の画面のように、宛先の[監視]タブにある[メッセージ表示]ボタンをクリックすると利用できます。

    コンソールはアドホックに対応する場合にはいいのですが、自動化したい場合にはどうでしょうか。実は、管理コンソールというのは、JMX管理インターフェースに乗っかっているWebLogic ServerのApplicationの一つです。MBeanリファレンスには、JMSDestinationRuntimeMBeanというMBeanが掲載されています。このMBeanには、引数としてJMS Message SelectorをとるdeleteMessagesオペレーションが含まれています。この引数に空文字を入れると、すべてのメッセージを対象にするワイルドカードとして機能します。

    JMSDestinationRuntimeMBean
    http://download.oracle.com/docs/cd/E17904_01/apirefs.1111/e13951/mbeans/JMSDestinationRuntimeMBean.html#deleteMessages

    JMS Message Selector
    http://download.oracle.com/javaee/5/api/javax/jms/Message.html

    このためにスタンドアロン JMXクライアントをコーディングするのはあまりエレガントではないので、よりスクリプトに適した方法で実現しましょう。

    コンソール以外に、MBeansを参照、起動する別の方法として、JythonベースのWebLogic Scripting Tool (WLST)があります。送信先からメッセージを削除する対話型シェルセッションはこんな感じになります。
    D:\Oracle\fmw11gr1ps3\user_projects\domains\hotspot_domain\bin>setDomainEnv.cmd
    D:\Oracle\fmw11gr1ps3\user_projects\domains\hotspot_domain>java weblogic.WLST

    Initializing WebLogic Scripting Tool (WLST) ...
    Welcome to WebLogic Server Administration Scripting Shell
    Type help() for help on available commands
    wls:/offline> connect('weblogic','welcome1','t3://localhost:7001')
    Connecting to t3://localhost:7001 with userid weblogic ...
    Successfully connected to Admin Server 'AdminServer' that belongs to domain 'hotspot_domain'.
    Warning: An insecure protocol was used to connect to the server. To ensure on-the-wire security, the SSL port or Admin port should be used instead.
    wls:/hotspot_domain/serverConfig> serverRuntime()
    Location changed to serverRuntime tree. This is a read-only tree with ServerRuntimeMBean as the root.
    For more help, use help(serverRuntime)
    wls:/hotspot_domain/serverRuntime> cd('JMSRuntime/AdminServer.jms/JMSServers/JMSServer-0/Destinations/SystemModule-0!Queue-0')
    wls:/hotspot_domain/serverRuntime/JMSRuntime/AdminServer.jms/JMSServers/JMSServer-0/Destinations/SystemModule-0!Queue-0> ls()
    dr--   DurableSubscribers
    -r--   BytesCurrentCount                            0
    -r--   BytesHighCount                               174620
    -r--   BytesPendingCount                            0
    -r--   BytesReceivedCount                           253548
    -r--   BytesThresholdTime                           0
    -r--   ConsumersCurrentCount                        0
    -r--   ConsumersHighCount                           0
    -r--   ConsumersTotalCount                          0
    -r--   ConsumptionPaused                            false
    -r--   ConsumptionPausedState                       Consumption-Enabled
    -r--   DestinationInfo                              javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=DestinationInfo,items=((itemName=ApplicationName,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=ModuleName,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemNameopenmbean.SimpleType(name=java.lang.Boolean)),(itemName=SerializedDestination,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=ServerName,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=Topic,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=VersionNumber,itemType=javax.management.opule-0!Queue-0, Queue=true, SerializedDestination=rO0ABXNyACN3ZWJsb2dpYy5qbXMuY29tbW9uLkRlc3RpbmF0aW9uSW1wbFSmyJ1qZfv8DAAAeHB3kLZBABZTeXN0ZW1Nb2R1bGUtMCFRdWV1ZS0wAAtKTVNTZXJ2ZXItMAAOU3lzdGVtTW9kdWxlLTABAANBbGwCAlb6IS6T5qL/AAAACgEAC0FkbWluU2VydmVyAC2EGgJW+iEuk+ai/wAAAAsBAAtBZG1pblNlcnZlcgAthBoAAQAQX1dMU19BZG1pblNlcnZlcng=, ServerName=JMSServer-0, Topic=false, VersionNumber=1})
    -r--   DestinationType                              Queue
    -r--   DurableSubscribers                           null
    -r--   InsertionPaused                              false
    -r--   InsertionPausedState                         Insertion-Enabled
    -r--   MessagesCurrentCount                         0
    -r--   MessagesDeletedCurrentCount                  3
    -r--   MessagesHighCount                            2
    -r--   MessagesMovedCurrentCount                    0
    -r--   MessagesPendingCount                         0
    -r--   MessagesReceivedCount                        3
    -r--   MessagesThresholdTime                        0
    -r--   Name                                         SystemModule-0!Queue-0
    -r--   Paused                                       false
    -r--   ProductionPaused                             false
    -r--   ProductionPausedState                        Production-Enabled
    -r--   State                                        advertised_in_cluster_jndi
    -r--   Type                                         JMSDestinationRuntime
    -r-x   closeCursor                                  Void : String(cursorHandle)
    -r-x   deleteMessages                               Integer : String(selector)
    -r-x   getCursorEndPosition                         Long : String(cursorHandle)
    -r-x   getCursorSize                                Long : String(cursorHandle)
    -r-x   getCursorStartPosition                       Long : String(cursorHandle)
    -r-x   getItems                                     javax.management.openmbean.CompositeData[] : String(cursorHandle),Long(start),Integer(count)
    -r-x   getMessage                                   javax.management.openmbean.CompositeData : String(cursorHandle),Long(messageHandle)
    -r-x   getMessage                                   javax.management.openmbean.CompositeData : String(cursorHandle),String(messageID)
    -r-x   getMessage                                   javax.management.openmbean.CompositeData : String(messageID)
    -r-x   getMessages                                  String : String(selector),Integer(timeout)
    -r-x   getMessages                                  String : String(selector),Integer(timeout),Integer(state)
    -r-x   getNext                                      javax.management.openmbean.CompositeData[] : String(cursorHandle),Integer(count)
    -r-x   getPrevious                                  javax.management.openmbean.CompositeData[] : String(cursorHandle),Integer(count)
    -r-x   importMessages                               Void : javax.management.openmbean.CompositeData[],Boolean(replaceOnly)
    -r-x   moveMessages                                 Integer : String(java.lang.String),javax.management.openmbean.CompositeData,Integer(java.lang.Integer)
    -r-x   moveMessages                                 Integer : String(selector),javax.management.openmbean.CompositeData
    -r-x   pause                                        Void :
    -r-x   pauseConsumption                             Void :
    -r-x   pauseInsertion                               Void :
    -r-x   pauseProduction                              Void :
    -r-x   preDeregister                                Void :
    -r-x   resume                                       Void :
    -r-x   resumeConsumption                            Void :
    -r-x   resumeInsertion                              Void :
    -r-x   resumeProduction                             Void :
    -r-x   sort                                         Long : String(cursorHandle),Long(start),String[](fields),Boolean[](ascending)
    wls:/hotspot_domain/serverRuntime/JMSRuntime/AdminServer.jms/JMSServers/JMSServer-0/Destinations/SystemModule-0!Queue-0> cmo.deleteMessages('')
    2
    ここで、
    • ドメイン名:hotspot_domain
    • JMSサーバ名:JMSServer-0
    • キュー名:Queue-0
    • システムモジュール名:SystemModule-0
    です。オペレーションを呼び出すには、"cmo"オブジェクトを使います。これは”Current Management Object”で現在のMBeanオブジェクトを意味します。最後の2は2件のメッセージが削除されたことを示しています。
    このWLSTコードと、最近同僚のSteveが書いたエントリにある、暗号化されたファイルを使って認証資格情報を格納する方法を組み合わせれば、簡単にセキュアな自動スクリプトにすることができるでしょう。もしこの手順でわからないことがあれば、WLSTの基礎に関するかなり前のエントリを参考にしてください。

    参考URL
    Steveのエントリ
    Using Secure Config Files with the WebLogic Maven Plugin
    http://buttso.blogspot.com/2011/02/using-secure-config-files-with-weblogic.html

    過去のエントリ
    Automate WLS Console Tasks with WLST
    http://blogs.oracle.com/jamesbayer/2007/10/automate_wls_console_tasks_wit.html


    原文はこちら。
    http://blogs.oracle.com/jamesbayer/2011/03/use_wlst_to_delete_all_jms_mes.html