2015年7月30日

[Linux] Announcing the general availability of Oracle Linux 6.7

原文はこちら。
https://blogs.oracle.com/linux/entry/announcing_the_general_availability_of

Oracle Linux 6の7回目のアップデート版であるOracle Linux 6 Update 7のリリースを発表できることをうれしく思っています。個々のRPMパッケージはUnbreakable Linux Network (ULN) やパブリックyumリポジトリから入手できます。また、ISOインストールイメージいはOracle Software Delivery Cloudからダウンロードいただけます。
Unbreakable Linux Network (ULN)
https://linux.oracle.com/
public yum repository
http://public-yum.oracle.com/
Oracle Software Delivery Cloud
http://edelivery.oracle.com/new
Oracle Linux 6 Update 7には以下のカーネルが含まれています。
  • Unbreakable Enterprise Kernel (UEK) Release 3 (kernel-uek-3.8.13-68.3.4.el6uek) for x86-64
  • Unbreakable Enterprise Kernel (UEK) Release 2 (kernel-uek-2.6.39-400.250.7.el6uek) for i386 
  • Red Hat Compatible Kernel (kernel-2.6.32-573.el6) for i386 and x86-64
デフォルトでは、特定のアーキテクチャ(i386もしくはx86-64)ではUnbreakable Enterprise KernelおよびRed Hat Compatible Kernelがインストールされ、システムはUnbreakable Enterprise Kernelを起動します。このリリースでの新機能を一部ご紹介しましょう。
  • 強化されたセキュリティ監査およびコンプライアンスのためのOpen Security Content Automation Protocol (OpenSCAP)ならびに oscap ユーティリティ
  • Keepalived と HAProxyによるLoad BalancingおよびHigh Availabilityのサポート(Oracle Linux Premier Supportサブスクリプションのみ)
  • SSSD support for Active DirectoryでのSSSDのサポートを強化。これには以下のものが含まれます。
    • DNSへの動的アップデート
    • グループやユーザのNetBIOS名の検索
    • ドメインコントローラのサイトディスカバリ
    • ユーザやグループの解決。単一ADフォレスト内の信頼されたドメインに対するユーザ認証を含む
  • Updates to the hyper-daemons パッケージへのアップデート。このパッケージにはhypervfcopydhypervkvpdhypervvssdを含む。
Oracle Linux 6 Update 7の新機能や変更点の詳細は、リリースノートをご覧下さい。
Oracle® Linux Release Notes for Release 6 Update 7
http://docs.oracle.com/cd/E37670_01/E64030/html/index.html
Oracle Linux 6 Product Document Library
http://docs.oracle.com/cd/E37670_01/index.html
Oracle Linuxはダウンロード、利用、配布とも無料で、しかもアップデートやerrataも無料でご利用頂けます。サポートに関しては、貴社システムにサポート契約が必要かどうかを判断してください。つまり、Oracle Linuxが貴社の開発、テスト、本番運用システムにとっての理想的な選択肢たり得ます。全てのシステムを最新かつセキュアに保ちながら、どのサポート範囲が個々のシステムにとって最良かを決定してください。Oracle Linux Premier Supportをご契約のお客様であれば、ダウンタイム無しでカーネルのアップデートを可能にするOracle Kspliceもご利用頂けますし、Oracle OpenStack for Oracle Linuxのサポートも受けることができます。
Free Updates and Errata for Oracle Linux
https://blogs.oracle.com/linux/entry/free_updates_and_errata_for
Oracle Linux Support
http://www.oracle.com/us/technologies/linux/support/overview/index.html
Oracle OpenStack for Oracle Linux Now Generally Available
http://www.oracle.com/us/corporate/press/2298602
Oracle Linuxに関する詳細情報は、以下のリンクからどうぞ。
Oracle Linux and Support
(日本語)http://www.oracle.com/jp/technologies/linux/overview/index.html
(英語)http://www.oracle.com/linux

2015年7月26日

[Database, JavaScript] node-oracledb 0.7.0 now supports Result Sets and REF CURSORS

原文はこちら。
https://blogs.oracle.com/opal/entry/node_oracledb_0_7_0

Node.js driver for Oracle Databaseの新しいリリースがnpmjs.comやGitHubからご利用いただけるようになりました。
node-oracledb (npm)
https://www.npmjs.com/package/oracledb
node-oracledb (GitHub)
https://github.com/oracle/node-oracledb
node-oracledb 0.7はNode.js 0.10、Node.js 0.12、io.jsからOracle Databaseに接続できます。数多くのプラットフォームで動作しますnode-oracledbに関する詳細は、GitHubページをご覧ください。
0.7における変更点は以下の通りです。
  • 大きなデータセットの取得で結果セットが使えるようになりました。問い合わせ結果の行をResultsetクラスを使ってバッチで取得することができます。
    ResultSet class
    https://github.com/oracle/node-oracledb/blob/master/doc/api.md#resultsetclass
    これを使うことにより、大量の問い合わせ結果を一気に大量のメモリを使わず取得することができます。新たなgetRow()やgetRows()メソッドを繰り返し呼び出して問い合わせ結果をスクロールすることができます。
    getRow()
    https://github.com/oracle/node-oracledb/blob/master/doc/api.md#getrow
    getRows()
    https://github.com/oracle/node-oracledb/blob/master/doc/api.md#getrows
    一気にすべての行を返すというオリジナルのnode-oracledbの挙動は、デフォルトとして残っています。結果セットを返すには、新たなexecute()オプションである{ resultSet: true} を使う必要があります。以下はその例です。
  • //  (See the full code in examples/resultset2.js)
    
    . . .
    
    var numRows = 10;  // number of rows to return from each call to getRows()
    
    connection.execute(
      "SELECT employee_id, last_name FROM employees ORDER BY employee_id",
      [], // no bind variables
      { resultSet: true }, // return a result set.  Default is false
      function(err, result)
      {
        if (err) { . . . }
        fetchRowsFromRS(connection, result.resultSet, numRows);
      });
    });
    
    . . .
    
    function fetchRowsFromRS(connection, resultSet, numRows)
    {
      resultSet.getRows( // get numRows rows
        numRows,
        function (err, rows)
        {
          if (err) {
             . . .                        // close the result set and release the connection
          } else if (rows.length == 0) {  // no rows, or no more rows
            . . .                         // close the result set and release the connection
          } else if (rows.length > 0) {
            console.log(rows);
            fetchRowsFromRS(connection, resultSet, numRows);  // get next set of rows
          }
        });
    }
    
    もうデータがない、もしくはデータを使わなくなった場合には、新しい結果セットを閉じるclose()メソッドを使って結果セットを閉じることが重要です。
    close()
    https://github.com/oracle/node-oracledb/blob/master/doc/api.md#close
    Result Setsの詳細情報はマニュアルをご覧ください。
    Result Set Handling
    https://github.com/oracle/node-oracledb/blob/master/doc/api.md#resultsethandling
  • PL/SQLからの問い合わせ結果でREF CURSORが使えるようになりました。バインド変数を使ってREF CURSORの結果を返すPL/SQLコードは、新たなnode-oracledbの型であるOracledb.CURSORにバインドでき、新たなResultSetクラスを使って結果を取得することができます。
    //  (See the full code in examples/refcursor.js)
    
    var oracledb = require('oracledb');
    
    . . .
    
    var numRows = 10;  // number of rows to return from each call to getRows()
    
    var bindvars = {
      sal:  6000,
      cursor:  { type: oracledb.CURSOR, dir: oracledb.BIND_OUT }
    }
    
    connection.execute(
      "BEGIN get_emp_rs(:sal, :cursor); END;",  // The PL/SQL has an OUT bind of type SYS_REFCURSOR
      bindvars,
      function(err, result)
      {
        if (err) { . . . }
        fetchRowsFromRS(connection, result.outBinds.cursor, numRows);
      });
    
    . . .
    
    function fetchRowsFromRS(connection, resultSet, numRows)
    {
      resultSet.getRows( // get numRows rows
        numRows,
        function (err, rows)
        {
          if (err) {
             . . .                        // close the result set and release the connection
          } else if (rows.length == 0) {  // no rows, or no more rows
            . . .                         // close the result set and release the connection
          } else if (rows.length > 0) {
            console.log(rows);
            fetchRowsFromRS(connection, resultSet, numRows);  // get next set of rows
          }
        });
    }
    REF CURSORの利用に関する詳細情報は以下のマニュアルをご覧ください。
    REF CURSOR Bind Parameters
    https://github.com/oracle/node-oracledb/blob/master/doc/api.md#refcursors
  • 行のプリフェッチができるようになりました。新しいResultSetクラスでは新たな属性 oracledb.prefetchRows と新たな execute() オプションである refetchRows を通じてサポートします。
    oracledb.prefetchRows
    https://github.com/oracle/node-oracledb/blob/master/doc/api.md#propdbprefetchrows
    sexecute(): Options
    https://github.com/oracle/node-oracledb/blob/master/doc/api.md#executeoptions
    アプリケーションがOracle DatabaseからのResultSetの問い合わせ結果の行やREF CURSORの行を取得する都度、プリフェッチによって下位のOracle Databaseのライブラリに別の行を転送させることができます。これは、データベースやネットワークリソースのより有効な利用を促し、パフォーマンスやスケーラビリティに寄与します。プリフェッチサイズにかかわらず、アプリケーションへ返す行数は変化しません。基盤のOracleクライアントライブラリがバッファリングを司ります。
  • プリフェッチサイズのデフォルト値は100です。アプリケーションは各々のexecute()で所望のパフォーマンスを出すため、不要なメモリの割り当てや初期化を避けるために、プリフェッチサイズを調整すべきです。いくつかのTipsがマニュアルに記載されています。
    node-oracledb: Documentation for the Oracle Database Node.js Driver
    https://github.com/oracle/node-oracledb/blob/master/doc/api.md
    node-oracledb 0.7.0では、非ResultSetクエリは現在プリフェッチサイズを固定値2でプリフェッチしています。これらのクエリで必要なラウンドトリップの回数を削減しています。
  • テストスィートを追加しました。ディレクトリのREADMEをご覧いただいて、テスト実行方法を確認してください。
    Testing node-oracledb
    https://github.com/oracle/node-oracledb/blob/master/test/README.md
    テストスィートを実行すると、各テストには識別が容易になるよう、固有の番号があることに気付くことでしょう。番号は連番とは限りません。
    Linux、Windowsでほとんどのテストをしています。環境やバージョンの違いに由来するテスト結果の差異を確認した場合は、OCAに署名し、修正とその修正が必要な理由とともに、pullリクエストを送ってください。詳細は以下のリンクをご覧ください。
    Contributing to node-oracledb
    https://github.com/oracle/node-oracledb/blob/master/CONTRIBUTING.md
    (OCAに署名後)新たなテストを提示する場合、各テストに対し、テスト済み領域に適用するドキュメント対象範囲のユニークな番号を割り当てます。
  • RETURNING INTOを使うSQL文のエラー処理を修正しました。同じエラーメッセージをレポートするDML RETURNING文を伴うすべてのエラーの発生原因であるバグを修正しました。
  • SQLにRETURNING INTO句がある場合の日付のINSERTを修正しました。INSERTを使ってdateやtimestampをインサートし、SQL句の文字もしくは数値列にRETURNING INTOが含まれる場合、エラーが出ていましたが、これを修正しました。
  • Renumbered the values used by the Oracledb Constantsが用いる値を再割り当てしました。アプリケーションがOracledb.OBJECTやOracledb.BIND_INOUTといった定数を使う場合、変更に気付かないかもしれませんが、何らかの理由で数値を例えば2のようにハードコーディングしている場合、この新しい数字を使って書き換える必要があります。詳細は以下のページをご覧ください。
    lib/oracledb.js
    https://github.com/oracle/node-oracledb/blob/master/lib/oracledb.js
    もしくは、よりよい方法としては、コードを定数を使って書き換えてください。

2015年7月25日

[Java] WebSphere Liberty Now Java EE 7 Compatible!

原文はこちら。
https://blogs.oracle.com/theaquarium/entry/websphere_liberty_now_java_ee

With the greatest pleasure I can report that IBM WebSphere Liberty 8.5が先頃Java EE 7として認定されたことをお伝えできることを非常にうれしく思います。WebSphereがGlassFish 4、WildFly 8、Hitachi Cosminexus、TmaxSoft JEUSに続いてJava EE 7対応したことになります。IBMならびにWebSphereは全世界で非常に幅広いカスタマーベースを持っており、このニュースはJava EEにとって本当に非常に喜ばしいものです。IBMは長い期間にわたって強力なJCPサポーターであり続けており、Java EE 7に含まれる、非常に評判のよいJava Batch APIをリードしました。何十年にもわたるミッションクリティカルなバッチ処理における深い専門知識を注ぎこんでくれました。全てのJava EEの認定製品は、official Java EE compatibilityページからいつでもご覧頂けます。
Java EE Compatibility
http://www.oracle.com/technetwork/java/javaee/overview/compatibility-jsp-136984.html
WebSphere Libertyは最新、高速、軽量で高度にモジュール化されたJava EE実装です。実際、モジュラー型アーキテクチャを利用して、WebSphere Libertyはここ数ヶ月の間に完全にサポートされたサービスストリームにJava EE7の一部をリリースしています(ご注意頂きたいのですが、基本的にJavaOne2014でWebLogic12.1.3で同じことをやっています)。Holly CumminsはWebSphere Libertyの進化と、これがゲームチェンジャーであり、特にIBMのお客様にとってのゲームチェンジャーである理由を説明しています。
Growing up with the Little Application Server That Could
https://developer.ibm.com/wasdev/blog/2015/06/29/growing-up-with-the-little-application-server-that-could/
モジュール化に対するLibertyのアプローチにより、再インストールせずにJava EE 7への漸進的なアップグレードが可能で、Java EE 6ランタイムベースラインに対し既存のアプリケーションを実行し続けることすら可能です。Laura CowenからのJava EE7 certificationの発表は、こちらからご覧頂けます。
Java EE 7 has landed in WAS Liberty
https://developer.ibm.com/wasdev/blog/2015/06/25/java-ee-7-has-landed-in-was-liberty/
WebSphere Libertyはこちらからダウンロードできます。
Download the WAS Liberty runtime
https://developer.ibm.com/wasdev/downloads/liberty-profile-using-non-eclipse-environments/
多くの方がご存知のように、来るWebLogic 12.2.1リリースではJava EE 7 full compatibilityを最も重要なゴールの一つとしています。The Apache TomEEチームもまたJava EE 7機能を早期に提供できるよう取り組んでいます。JBoss ASやJBoss EAPの過去のリリースサイクルから判断すると、JBoss EAPが年内にJava EE 7の認定がなされるのではないかと思われます(ご存知ない方に対して補足すると、かつてのJBoss ASのように、JBoss EAPのための立ち上げプロジェクトがWildFlyです)。年内にJava EE 7ユーザーは6個を優に超えるfull compatible platformから選択できるようになることでしょう。
それゆえ、現在の質問は、誰がJava EE 7 compatibilityのフィニッシュラインを超えるのか、ということです。その人達だけがJava EE 8実装をスタートできるのですから。

[Database] Why does a PDB require an upgrade?

原文はこちら。
https://blogs.oracle.com/UPGRADE/entry/why_does_a_pdb_require

version Aから外し、version Bへつなぎ直した時に、Pluggable Database (PDB) をアップグレード(もしくはダウングレード)しなければならない理由は何なのでしょう。
この質問は、Royと共にワークショップ中にUpgrades and Oracle Multitenantを説明する際によくいただく質問の一つです。
ドキュメントを見てみると、以下のような記述があります。
Oracle® Database概要 12cリリース1 (12.1)
マルチテナント・アーキテクチャの概要
CDBのデータ・ディクショナリ・アーキテクチャ
http://docs.oracle.com/cd/E57425_01/121/CNCPT/cdblogic.htm#CIHIBAIE
Oracle® Database Concepts 12c Release 1 (12.1)
Overview of the Multitenant Architecture
Data Dictionary Architecture in a CDB
http://docs.oracle.com/database/121/CNCPT/cdblogic.htm#CIHIBAIE


しかし残念ながらこれは全てのオブジェクトに対して完全にあてはまるとは言えません。
OBJ$のような基本ディクショナリ構造の簡単なクエリを実行すると、PDBが自身でデータディクショナリを持っていることが容易にわかります。実際にPDBとのみ紐付いているものがあります。例えば、DBA_OBJECTSSHARING列です。メタデータ・リンクの場合、DBA_OBJECTSCDB$ROOTにあるDBA_OBJECTSの親と情報を交換することを示しています。しかし、これはPDBが空のメタオブジェクトである、ということを意味するわけではありません。PDBには実際に表が存在しますし、領域を割り当てています。ご自身で確かめてみてください。他のオブジェクトが実際に領域を割り当てているように、PDB内のOBJ$に実際に同じ属性があることがわかるでしょう。しかし、PDBやCDB$ROOTにもセグメントを有しています。もちろんそのオブジェクト定義はPDBにも存在します。
  • CDB$ROOT
    OBJ$ in CDB$ROOT
  • PDB 
    OBJ$ in PDB
ということで、回答はシンプルです。
Pluggable Database (PDB) 自身がデータディクショナリを有しているので、異なるバージョン間を移送する場合、PDBのアップグレード(もしくはダウングレード)が必須です。自動的にアップグレードされることはありません。

2015年7月21日

[Cloud, WebCenter] Get to Know the Latest Feature Updates in Documents Cloud Service

原文はこちら。
https://blogs.oracle.com/webcenter/entry/get_to_know_the_latest

利用者や組織が何かをしなくてもアップデートを自動的に実施すため、Oracle Documents Cloud Serviceの利用者にとってはシームレスですが、とは言いつつも、最新のOracle Documents Cloud Serviceに追加された機能の詳細や、Oracleのクラウドコラボレーションソリューションが急速に業界のベンチマークとなりつつある理由を知りたい方がいらっしゃるかもしれません。弊社の製品エキスパートで製品管理チームメンバーである、Ellen Gravinaがご説明します。

Oracle Documents Cloud Serviceがアップグレードされました。Web、モバイル、デスクトップクライアント用の最新機能が追加されています。追加機能をいくつかご紹介しましょう。

Oracle Documents Presenter

みなさんのお客様や見込み客の方々に最大の効果と結果をもたらす美しいプレゼンテーションを!
  • PowerPointスライドの表示、PDFドキュメントのレビュー、動画の再生など、その他多くのプレゼンテーションフォーマットを利用できます。
  • すべてのプレゼンテーションがタブレットに保存されるので、WiFi Hot Spotを探し求める必要はありません。
  • プレゼンテーションをフォルダ内のマテリアルを編成してデスクトップで編集できます。フォルダの背景とアイコン画像を使用して、ブランドの外観をカスタマイズできます。

Multiple Account Support

  • 複数のアカウントでコンテンツを同期することができます。

  • 複数のアカウントでモバイルデバイスからコンテンツにアクセスすることができます。

Enhancements to Public Link Policy

  • 管理者はパブリックリンクに対し許可された最大限のロールを設定することができます。

  • フォルダ所有者はパブリックリンクをフォルダごとに無効化できます。

Customize Oracle Documents with Your Own Branding

  • ヘッダのロゴを変更できるようになりました。
  • ユーザー・ヘルプのリンク、フィードバックの共有リンク、クライアントアプリケーションのダウンロードに関する情報のリンクを管理できます。


iOS Touch ID Support

  • 指紋を使って自身のコンテンツを保護することができます。
  • ネイティブモバイルアプリケーションやOracle Documents Presenterアプリケーションで利用できます。

Access Version History from Your Mobile Device

  • ドキュメントの旧バージョンを閲覧できます。
  • 旧バージョンを削除できます。
  • 旧バージョンを現行バージョンに変更できます。

Enterprise Installation Support for Desktop Client

  • EXEファイルやMSIインストーラ・パッケージを使い、Desktop Sync Clientソフトウェアを複数のクライアントマシンに展開することができます。
  • Active Directoryのグループポリシーを使って、MSIインストーラを展開できます。
  • 詳細は管理者ガイドをご覧ください。

Learn More

もっと知りたい方は、Oracle Documents Cloud Service Getting Startページをごらんください。
Oracle Documents Cloud Service Get Started
http://docs.oracle.com/cloud/latest/documentcs_welcome/index.html
その他のソリューション情報やマーケット情報はOracle Documents Cloud Serviceのページにアクセスしてください。
Oracle Documents Cloud Service
https://cloud.oracle.com/documents

Questions?

サポートの問い合わせはOracle Supportへどうぞ。
My Oracle Support
https://support.oracle.com
フィードバックはいつでも歓迎します。是非Documents Cloud Serviceのディスカッションフォーラムへどうぞ。
Oracle Documents Cloud Service (OTNのコミュニティフォーラム)
https://community.oracle.com/community/cloud_computing/platform-as-a-service-paas/oracle-documents-cloud-service

2015年7月20日

[FMW, WLS] Accessing WebLogic Logs via REST

原文はこちら。
https://blogs.oracle.com/WebLogicServer/entry/accessing_weblogic_logs_via_rest

WebLogic Server 12.1.3における最も重要な変化の一つが、RESTによる管理インターフェースの機能改善でしょう。Oracle ACE DirectorにしてWebLogicのエキスパートであるDr. Frank Munzがその変更のまとめて自身のブログで紹介してくれています。
New RESTful Management API in WebLogic 12.1.3
http://www.munzandmore.com/2014/ora/new-restful-management-api-in-weblogic-12-1-3
WLSTや管理コンソールのような既存のDevOps指向の機能に、さらにREST管理機能というすばらしい機能が追加されました。WebLogic Server 12.1.3のREST管理インターフェースで実現できる非常に興味深いものの一つとして、簡単に全てのWebLogic Serverのログにアクセスできる、ということです。Dr. Frank Munzは段階を追って別のエントリで実現方法を説明しています。是非ご一読ください。
Access WebLogic LogFiles with the RESTful Management Interface
http://www.munzandmore.com/2015/ora/log-files-restful-management
REST管理機能を学ぶ最適の方法が、ドキュメントをご覧いただくことであるのは言うまでもありません。
Oracle Fusion Middleware Oracle WebLogic Server RESTful管理インタフェース・リファレンス 12c (12.1.3)
http://docs.oracle.com/cd/E57014_01/wls/WLRMR/toc.htm
Oracle® Fusion Middleware RESTful Management Interface Reference for Oracle WebLogic Server(英語)
http://docs.oracle.com/middleware/1213/wls/WLRMR/index.html
(訳注)
ドキュメントに記載されているので詳細は説明しませんが、REST管理機能を有効化するには、まず、WebLogic Server管理コンソールのドメインの設定画面(左ペインのドメイン名をクリック)します。

右ペインのドメインの設定画面で[詳細]の[RESTful管理サービスの有効化]にチェックを入れます(再起動が必要です)。

このエントリで紹介しているように、サーバログにアクセスするには、
http://{host}:{port}/management/wls/latest/servers/id/{サーバ名}/logs/id/{ログ名}
でアクセスします。
例えば、管理サーバのサーバログにアクセスする場合、
http://{host}:{port}/management/wls/latest/servers/id/AdminServer/logs/id/ServerLog
というURLを使います。このURLでRESTクライアントからGETで呼び出すと、以下のような結果を得ることができます。

2015年7月15日

[Java, Certification] Still Celebrating Java?

原文はこちら。
https://blogs.oracle.com/certification/entry/1131_01

Java生誕20年を祝って、Java認定資格試験の受験料が今なら20%割引です。
Javaの認定資格を取得し、世界に向けて自身のスキルを示してください。
早速今日やりましょう!
  1. スキルレベルや経験に見合うJava認定資格試験を探しましょう。
    Java SE 研修コース & 認定資格
    http://education.oracle.com/pls/web_prod-plq-dad/ou_product_category.getPage?p_cat_id=267#tabs-3&intcmp=WWOUCERTBLOGPOST1131071415
  2. 受験のための準備やトピックを確認しましょう。
  3. Peason VUE社のWebサイトから受験登録しましょう。そのとき、20%割引のプロモーションコードJava20をお忘れなく!
    Peason VUEのWebサイト(英語)
    http://pearsonvue.com/oracle
    ピアソンVUEのWebサイト(日本語)
    http://www.pearsonvue.com/japan/IT/oracle_index.html
 このコードは全世界で有効で、有効期限は2015年12月31日までです。

Terms and Conditions

Oracle Certification’s 20% discount on all Java Certification Exams is available from May 20, 2015, through December 31, 2015. This offer cannot be combined with other Oracle Certification promotions or discounts. The offer does not apply to vouchers purchased from Oracle or Oracle resellers, only exam registrations paid for at Pearson VUE®. Exams must be taken within a Pearson VUE® Authorized Test Center. This offer is not applicable for exams taken within an Oracle Testing Center. Candidates must provide the 20% discount promotional code: Java20 at the time of registration.

Terms and conditions are subject to change without notice.

(訳注)
Terms and Conditionsはあえて原文のままにしています。

[Java] Develop Non-Blocking Web Applications in Java

原文はこちら。
https://blogs.oracle.com/java/entry/develop_non_blocking_web_applications

以下の記事でRe Laiが説明しているように、Webアプリケーションは伝統的にサーバーサイドで同期的にリクエストを処理してきました。非同期プログラミングは一般にクライアントサイドで利用されています。
Develop Non-Blocking Web Applications in Java
https://community.oracle.com/docs/DOC-918126
しかし、ソーシャルネットワーキングやモバイルデバイス、Internet of Thingsの出現により、これまでにない高いパフォーマンス要件に対応するため、ブロックせずにリクエストをサーバーサイドで処理する手法が、重要な技術として人気が出てきました。
Laiの記事では、サーバーサイドでブロックせずにリクエストを処理する方法を実装するにあたって、いくつかの人気のあるWebフレームワーク(Servlet、JAX-RS、Spring MVC、Vert.x、Play Framework)による非同期サポートを説明しています。また、todosappというサンプルアプリケーションを例に、これらのフレームワークを使って非ブロッキングWebアプリケーションを作成する方法を説明しています。是非ご一読ください。

[Java] JDK 8u51 Released!

原文はこちら。
https://blogs.oracle.com/thejavatutorials/entry/jdk_8u51_embedded_8u51_released

JDK 8u51がダウンロードできるようになっています。最新のJDKはJava SE Downloadsのページからダウンロードできます。
Java SE Downloads
http://www.oracle.com/technetwork/java/javase/downloads/index.html
このリリースに含まれる機能や修正内容の情報は関連するリリースノートをご覧ください。
さらに、Java SE Embedded 8u51およびJDK 8u51 for ARMもリリースされています。これらのリリースに関する詳細はそれぞれのリリースノートをご覧ください。

2015年7月14日

[Hardware, Virtualization] VCA is now Private Cloud Appliance

原文はこちら。
https://blogs.oracle.com/emeapartnerhardware/entry/vca_is_now_private_cloud

Virtual Compute Appliance (VCA) はPrivate Cloud Appliance (PCA) とリブランドされました。Oracle.comのPCAのページをご覧になって、新しい素材を入手し、これらの新たな変更をパートナーと共有してください。
Oracle Private Cloud Appliance—Converged Infrastructure
One Engineered System for All Your Applications
https://www.oracle.com/servers/private-cloud-appliance/index.html

2015年7月10日

[Database, Support] Bug Fixing Support for Oracle 11.2.0.3 will end soon

原文はこちら。
https://blogs.oracle.com/UPGRADE/entry/bug_fixing_support_for_oracle

Oracle Database 11.2.0.3のバグ修正サポート(Extended Support)の終了が近づいています。
ここ数ヶ月で1000個を優に超える本番環境のデータベースをお使いのお客様を訪問した結果わかったこととして、多くのOracle Database 11.2.0.3が稼働している、ということです。全ての人がこの事実を知っているようには思えません。
信じがたいことでしょうが、Oracle Database 11.2.0.3のエラー修正サポート(Error Correction Support for Oracle Database 11.2.0.3、Extended Support)は2015年8月27日に終了します。
My Oracle SupportのNote 742060.1には以下のような記述があります。
Release Schedule of Current Database Releases (ドキュメントID 742060.1)
https://support.oracle.com/rs?type=doc&id=742060.1
End of error Correction Support 11.2
該当する方々は、是非直接Oracle Database 12.1.0.2へアップグレードしてください。
詳細を知りたい方は、以前のエントリをご覧下さい。
Premier Support for Oracle 11.2 has ended months ago
https://blogs.oracle.com/UPGRADE/entry/premier_support_for_oracle_111

[Virtualization] Oracle VM VirtualBox 5.0 Officially Released!

原文はこちら。
https://blogs.oracle.com/virtualization/entry/oracle_vm_virtualbox_5_07

Oracle VM VirtualBox 5.0がリリースされました。
このリリースには、大きな改善点と数多くの機能強化、バグ修正が含まれています。
Oracleからの公式発表は以下からどうぞ。
Oracle VM VirtualBox 5.0 Now Available
https://www.oracle.com/corporate/pressrelease/oracle-vm-virtualbox-5-070915.html
新しいデータシートが既にご覧頂ける状態になっています。この中でOracle VM VirtualBox 5.0で利用可能な全ての機能を紹介しています。
Oracle VM VirtualBox Data Sheet
http://www.oracle.com/us/technologies/virtualization/oraclevm/oracle-vm-virtualbox-ds-1655169.pdf
新機能をいくつかご紹介しましょう。

モダンなWindows、Linuxゲストに対するParavirtualization(準仮想化)のサポート

Oracle VM VirtualBoxは正確かつ効率的なソフトウェアを実行するための準仮想化インターフェースを公開することができます。仮想マシンプラットフォームを定義すると、Oracle VM VirtualBoxは組み込み仮想化サポート(Linuxゲストの場合KVM、Windowsゲストの場合Hyper-V)を使ってゲストOSのパフォーマンスを向上します。

xHCIコントローラがUSB 3.0デバイスをサポート

ゲストOSはUSB 3.0でばいすを直接認識し、USB 3.0がサポートする最大速度で実行することができるようになりました。ゲストOSをUSB 1.1、2.0、3.0デバイスを使って構成することができるようになっています。

ドラッグ&ドロップのサポートを改善

Starting from Oracle VM VirtualBox 5.0から、ゲストOSとホストOS間での双方向のドラッグ&ドロップのサポートを改善しました。ドラッグ&ドロップサポートは最新のguest-additionsを使うとご利用頂けます。

ディスクイメージの暗号化

Oracle VM VirtualBox 5.0を使うと、AESアルゴリズムのXTSモード(128ビットもしくは256ビット)で暗号化された仮想ディスクイメージを可能にします。

DEK(Data Encryption Key、データ暗号化キー)は仮想マシン構成ファイルに格納されるので、暗号化によりセキュリティがより向上し、仮想マシン起動時にパスワードを尋ねてくるようになります。

ヘッドレス起動、デタッチ起動オプション

新しいOracle VM VirtualBoxでは、仮想マシンのヘッドレス起動やデタッチ起動ができるようになりました。これにより、バックグラウンドで仮想マシンを開始することができるようになりました。

さらなるGUIの改善

  • VMゲストコンテンツのスケーリングをサポート(3Dアクセラレーションを含む)
  • ステータスバー、メニューバーやゲストコンテンツのスケーリングをカスタマイズ可能な、新しいユーザーインターフェースの設定ページ
  • ディスクイメージの暗号化オプションをカスタマイズするための新たな暗号化設定タブ
  • アプリケーションアイコンやMac OS XでのスケールしないHiDPI出力(オプション)を含むHiDPIのサポート (3Dアクセラレーションを含む)
  • SATAディスクのホットプラグのサポート
  • MacとWindowsホストのHID LEDの同期を改善
  • プレビュー画面でもゲストOSの画面アスペクト比を尊重
  • VMセレクタのストレージメディアへの直接アクセスを提供
もっと詳細情報が知りたいということであれば、以下の公式Oracle VM VirtualBox 5.0データシートやユーザーマニュアル、VirtualBoxのWebサイトへどうぞ。
Oracle VM VirtualBox Data Sheet
http://www.oracle.com/us/technologies/virtualization/oraclevm/oracle-vm-virtualbox-ds-1655169.pdf
Oracle VM VirtualBox User Manual
http://download.virtualbox.org/virtualbox/5.0.0/UserManual.pdf
VirtualBox.org
virtualbox.org

2015年7月9日

[FMW, Support] OHS10g/11gユーザのための Oracle HTTP Server 12c 入門

ちょっと先の話にはなりますが、以下の予定で日本のOracle SupportチームによるAdvisory Webcastが開催されます。
今回のテーマはOracle HTTP Server 12c (OHS) 。10g、11gとの違いなどを日本語で紹介するとのことなので、是非ご参加ください。

[タイトル]
OHS10g/11gユーザのための Oracle HTTP Server 12c 入門 (日本語です)

[内容](構成は変更される可能性があります)
  • OHS とは
  • 旧バージョンと OHS 12c との違い
  • OHS12c の構造
  • トラブルシューティング
[開催日時]
2015年8月26日16:00 (JST) から60分

[申し込み]
以下のURLからどうぞ(My Oracle Supportのアカウントが必要です)。
https://support.oracle.com/rs?type=doc&id=2028062.1

2015年7月8日

[Java] JPA and Java SE 8 Streams

原文はこちら。
https://blogs.oracle.com/theaquarium/entry/jpa_and_java_se_8

大量の、本当に大量のデータセットをJPAを使って取得する場合、java.util.Listインスタンス内に収まるように結果セット全体を入れ込む必要があるので、用心する必要があります。そのため、大規模なデータセットには、アプリケーションを実行するサーバのメモリの制限に引っかかる可能性があります。
非常に大きな結果セットを伴うシナリオの場合、この制限を回避する上でページネーションが有効な場合があります。具体的には、以下の記事をごらんになってください。
How To Stream/Serialize JPA Result As JAX-RS Response For Large Data
http://www.javacodegeeks.com/2015/07/how-to-streamserialize-jpa-result-as-jax-rs-response-for-large-data.html
こうしたシナリオでは、本当はJava 8 Streamsが適しているのですが、残念ながら現在のJPA(JPA 2.1 - JSR 338)はJava 8以前に出たもののため、Streamsをサポートしていません。
JSR 338: JavaTM Persistence 2.1
https://jcp.org/en/jsr/detail?id=338
しかし、これはJPAの次のアップデートに対する潜在的なRFE(機能拡張依頼、Request for Enhancement)になるのは明らかです(以下のこの仕様に対するRFEをご覧ください)。
Add ability to stream the result of a query execution
https://java.net/jira/browse/JPA_SPEC-99?jql=project%20%3D%20JPA_SPEC
また、一部のJPA実装ではすでにJava 8 Streams(例えば、HibernateやEclipseLink)のサポートを追加し始めています。
Streams API for query result processing.
https://hibernate.atlassian.net/browse/HHH-9340
Bug 433075 - Stream API gets no results
https://bugs.eclipse.org/bugs/show_bug.cgi?id=433075
もう少し待って'JPA.next'のスコープがどうなるかを確認する必要があるでしょうが、みなさんはどう思われますか?Java SE 8 Streamsが'JPA.next'でサポートされるのを見てみたいですか?

[Solaris] Oracle Solaris 11.3 Beta Now Available!

原文はこちら。
https://blogs.oracle.com/gman/entry/oracle_solaris_11_3_beta

Oracle Solaris 11.3のベータ版が本日リリースされました。
Oracle Solaris 11.3 Beta
http://www.oracle.com/technetwork/server-storage/solaris11/overview/beta-2182985.html
このベータプログラムは、最新リリースをダウンロードして試し、皆様からフィードバックを頂く絶好の機会ととらえています。
このリリースには数多くの新機能を詰め込みました。一部をご紹介しましょう。
  • アップデートされたOpenStackディストリビューション(Juno)
  • Oracle Solaris Kernel Zonesのライブマイグレーションのサポートならびに共有ストレージを使うNFS上でのZonesをホスティング
  • ZFSファイルシステムでのLZ4サポートによる圧縮率の向上
  • PVLANのサポート
  • REST APIやRAD(Remote Administration Daemon)モジュールの追加(詳細は下記エントリをご覧ください)
    Remote Administration with RAD and Oracle Solaris 11
    https://blogs.oracle.com/gman/entry/remote_administration_with_rad_and
  • Puppetのマニフェストで簡単に変数置換を可能にするHiera
  • 最適化共有メモリ(Optimized Shared Memory)を使ったOracle Database 12cのスタートアップ時間ならびにSGAのリサイズ時間の短縮
  • 悪意ある攻撃時の不正メモリアクセスを防ぐのに有用なApplication Data Integrity(ADI)を含む、SPARC M7プロセッサベースのOracleの次世代システムをサポートするための機能
もっともっとあるのですが、細かいことは是非ご自身で以下の新機能リストを確認してください。
What's New in Oracle® Solaris 11.3
http://docs.oracle.com/cd/E53394_01/html/E54847/index.html

[Database] Oracle Announces Plans for Visual Studio 2015 Support

原文はこちら。
http://cshay.blogspot.jp/2015/07/oracle-announces-plans-for-visual.html

OracleはMicrosoft Visual Studio 2015と統合されるOracle Developer Tools for Visual Studioの新バージョンを提供する予定です。この新バージョンはVisual Studio 2015のRTM後1ヶ月以内にお届けする予定にしています。
Oracle Developer Tools for Visual Studio
http://www.oracle.com/technetwork/developer-tools/visual-studio/overview/index-097110.html
以前のVisual Studioと同様、このリリースを実現できるよう、OracleはMicrosoftとVisual Studio Industry Partner Programの一環として密に連携してきました。来る新バージョンのリリースの発表は、OTN .NET Developer Centerを注視したりTwitterアカウントをフォローしたりしてご期待ください。
OTN .NET Developer Center
http://otn.oracle.com/dotnet
@OracleDOTNET on Twitter
https://twitter.com/OracleDOTNET

2015年7月4日

[Database] Oracle Database In-Memory Bundle Patch 9 Released

原文はこちら。
https://blogs.oracle.com/In-Memory/entry/oracle_database_in_memory_bundle2

Database In-Memoryの最新のBundle Patchがリリースされました(#21053000、もしくは12.1.0.2 Bundle Patch 9 for Engineered Systems and DB In-Memory (June2015))。最新のBundle Patchの詳細情報はMy Oracle SupportのNoteをご覧ください。
12.1.0.2 Bundle Patches for Engineered Systems and DB In-Memory (Doc ID 1937782.1)
Bundle Patch 9固有の詳細情報は、以下のMy Oracle SupportのNoteをご覧ください。
Bug 21053000 - 12.1.0.2 Bundle Patch 9 for Engineered Systems and DB In-Memory (June 2015) (Doc ID 21053000.8)
https://support.oracle.com/rs?type=doc&id=21053000.8
Bundle Patchとは集積Patchであり、Bundle Patch 9にはBundle Patch 1からBundle Patch 8までのすべての修正Patchに加え、新しいPatchが含まれています。また、直近にリリースされたPatch Set Update(PSU)も含まれていますが、これにはBundle Patchが作成された時点での直近にリリースされたCritical Patch Update(CPU)が含まれています。このことがかなり懸念の対象になっていたので、詳細を記載したMy Oracle SupportのNoteをご紹介しておきます。
Exactaの箇所で怖がらないでください。Bundle PatchはExadata以外のDatabaseもサポートしています。Bundle Patch 9のNote(21053000.8)の文章に注意してください。
***
*** This patch includes fixes for both Engineered Systems and for DB In-Memory.
*** It can be used on both Exadata and non-Exadata systems, and can be used
*** for both RAC and non-RAC configurations. For RAC configurations the bundle
*** includes GI PSU fixes to be applied to the Grid home.
***
*** This patch includes all fixes from April 2015 GI PSU and DB PSU.
***

含まれているPSUについても言及があります。
CPU、PSU、Bundle Patchのパッチ適用方法の一つだけを使ってインストールすることができる、ということは重要なので覚えておいてください。この件は以下のMy Oracle SupportのNoteに記載があります。
Oracle Database - Overview of Database Patch Delivery Methods (Doc ID 1962125.1)
https://support.oracle.com/rs?type=doc&id=1962125.1
常に最新のBundle Patchを適用することをお勧めします。そして、この情報でBundle PatchがExadataプラットフォームだけのものといういかなる懸念も払拭ができることを願っています。

[Java] CDI 2.0 Early Draft Released!

原文はこちら。
https://blogs.oracle.com/theaquarium/entry/cdi_2_0_early_draft

Java EE 6で初めて登場して以後、Java EEにおいてCDIは重要なAPIの一つになりました。その後、CDI 1.1と1.2という2回のマイナーリリースがありましたが、CDI 2では、これまでと比較してかなり大規模な変更がありそうで、Javaのための標準的な依存性注入(Dependency Injection、DI)の限界を押し上げる機会です。その目的のため、CDI 2のスペックリードが早期ドラフトをレビューのためにリリースしました。
JSR 365: Contexts and Dependency Injection for Java 2.0
https://docs.jboss.org/cdi/spec/2.0.EDR1/cdi-spec.html
早期参照実装ビルドもまもなく登場し、試すことができるようになります。現時点では、ドラフト仕様を読み、フィードバックする時間にしてください。CDI 2のスペックリードであるAntoine Sabot-Durandは、以下のエントリで早期ドラフトの内容をまとめ、フィードバックの方法を紹介しています。
CDI 2.0 Early Draft Review 1 released
http://www.cdi-spec.org/news/2015/07/03/CDI-2_0-EDR1-released/
上記エントリで言及されている変更には、Java SEのサポート、イベントオブザーバの順序(Event observer ordering)、非同期イベント(asynchronous event)が含まれます。
この早期ドラフトは、CDI 2の計画が何か、という観点で、まだスタートにたったところでしかなく、これからたくさん変更が発生するということを覚えておいてください。口を挟んでCDIが我々が期待する高いクオリティの標準であることを確認するよい機会です。JUGとしてAdopt-a-JSRプログラムを通じて実施することもできます。
Adopt-a-JSR
https://glassfish.java.net/adoptajsr/

2015年7月1日

[Database] Oracle Database In-Memory Certified by SAP

原文はこちら。
https://blogs.oracle.com/exadatapartnercommunity/entry/oracle_database_in_memory_certified

Oracle Database In-MemoryがSAP NetWeaver 7.xベースのすべてのSAP製品での動作が検証され、サポートされました。
SAP on Oracle
http://scn.sap.com/community/oracle
詳細については、SAP node 2178980をご覧ください。
http://service.sap.com/sap/support/notes/2178980