2017年3月1日

[Java] Java EE 8 - February recap

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

2月は1年で最も短い月ですが、それにもかかわらず、Java EE 8にとっては動きの多い月でした。以下に直近の活動および関連するアップデートをまとめておきます。

Java EE 8 platformのスケジュールが以下のようにアップデートされました。
  • Public Review - Apr/May 2017
  • Proposed Final Draft - June 2017
  • Final Release - July 2017(!)
[jsr366-experts] Java EE 8 schedule
https://java.net/projects/javaee-spec/lists/jsr366-experts/archive/2017-02/message/0
JSR 366: Java Platform, Enterprise Edition 8 (Java EE 8) Specification
https://jcp.org/en/jsr/detail?id=366
CDI 2.0のPublic Review期間がほぼ終わろう(訳注:3月2日までです)としていますので、JSR 365Expert Groupへのフィードバックがある方は今すぐお願いします。
CDI 2.0 is in public review
http://www.cdi-spec.org/news/2017/02/01/CDI_2_is_in_public_review/
JAX-RS 2.1 Early Draftはほぼ準備が完了しています。まもなくスタートします。以下のURLでちょっとのぞき見できます。
[jax-rs-spec users] JAX-RS 2.1 EDR
https://java.net/projects/jax-rs-spec/lists/users/archive/2017-02/message/84
このドラフトでは、Server-Sent Event APIが大幅に変更されています。詳細は、以下のURLをチェックしてください。
[jax-rs-spec users] Server-Sent Events API proposal​ - update
https://java.net/projects/jax-rs-spec/lists/users/archive/2017-02/message/46
JAX-RS 2.1 m04
https://github.com/jax-rs/api/releases/tag/2.1-m04
Bean Validation 2.0 Expert GroupはEarly Draftをリリースしました。
JSR 380: Bean Validation 2.0
https://jcp.org/en/jsr/detail?id=380
Bean Validation 2.0 Early Draft 1 is Out
http://beanvalidation.org/news/2017/02/14/bean-validation-2-0-early-draft-released/
Bean Validation 2.0について詳細を知りたい方は、このJBoss Community Asylumのエピソードを聞いてください。
Podcast #43 - Validating Beans 2.0
http://jbosscommunityasylum.libsyn.com/podcast-43-validating-beans-20
Servlet 4.0はrenewal ballotをパスしました。その間にServlet Expert GroupはEarly Draftに向けて作業を進めています。
JSR 369: JavaTM Servlet 4.0 Specification
https://www.jcp.org/en/jsr/detail?id=369
Servlet Specification: users@servlet-spec.java.net: Archive
https://java.net/projects/servlet-spec/lists/users/archive/2017-02/
Security API Expert Groupもまた、Early Draftの準備に忙しい状態です。
JSR 375: JavaTM EE Security API
https://www.jcp.org/en/jsr/detail?id=375
[jsr375-experts] Comments on Current Spec Content (take 3)
https://java.net/projects/javaee-security-spec/lists/jsr375-experts/archive/2017-02/message/3
また、Java EE 8にむけJPA Maintenance Releaseを行う意向があることも発表されました。
[jpa-spec users] [jsr338-experts] Re: EE8 and JPA
https://java.net/projects/jpa-spec/lists/users/archive/2017-02/message/2
JSF 2.3とJSON-P 1.1はPublic Review Ballot期間に入っています。これはつまりこの2個の仕様は完成に近付いていることを意味します。
JSR 372: JavaServer Faces (JSF 2.3) Specification
https://jcp.org/en/jsr/detail?id=372
JSR 374: JavaTM API for JSON Processing 1.1
https://jcp.org/en/jsr/detail?id=374
最後に、もし何か貢献したいと思ってらっしゃるのであれば、先頃JCPがホストした2nd Adopt-A-JSRというWebcastを是非ご覧ください。

2017年2月22日

[Linux, Docker] Put Your Containers on a Diet with Oracle Linux

原文はこちら。
https://blogs.oracle.com/developers/put-your-containers-on-a-diet-with-oracle-linux

最小のコンテナが最良だってこと、皆さんご存知ですよね?
Oracleは、ビジネスアプリケーションにとって最も効率的なプラットフォームを有することの重要性を認識しています。そして、そうしたアプリケーションのミッションクリティカルデリバリに最良のプラットフォームがOracle Linuxであると信じています。
Oracle Linux
https://www.oracle.com/linux/index.html
効率とセキュリティを確保する一つの方法として、できる限りコンテナに余分なものを入れないことがあります。Oracle Linuxイメージは今でも巨大ではありませんが、多くの必須ではないコンポーネントをできる限り取り除いてかなりサイズを小さくすることに成功しました。

Introducing the new Oracle Linux slim images for Docker

新しいベースイメージである、Oracle Linux 7-slim Docker Imageを導入しました。このイメージはわずか114MBです。
Oracle Linux 7-slim Docker image
https://hub.docker.com/_/oraclelinux/
確かに、Alpineほど小さくありませんが、他の主要なディストリビューションの中では最小のBaseイメージです。どれほど小さいかを是非グラフの数値でご確認ください。

このイメージは本当に小さく、テキストエディタすら入っていません。すべてのものを取り除いて、あなたのコンテナのためにできるだけ小さなイメージに仕立てました(したがって、攻撃される可能性も最小です)。しかし、yumは有効になっていて動作するので、実行したいサービスに必要なパッケージは簡単に入手できます。

Let's take the slim image for a spin

新しいスリム・イメージから独自のコンテナを構築するのは、DockerfileFROM:oraclelinux:7-slimを指定するだけです。公式のOracle LinuxイメージはすべてDocker Hubに公開されており、誰でも自由にダウンロード、配布、使用することができます。また、すべてのイメージでOracle Yum Serverからアップデートを取得できるため、コンテナ構築時に最新のセキュリティ修正および更新を適用できます。 さらに、OracleはCVE (Common Vulnerabilities and Exposures) がリリースされるたびにこれらのイメージを更新しますので、アップデートのほとんどは我々が実施します。

では、slim imageを拡張し、最新のPHPリリースを提供するSoftware CollectionをインストールするDockerfile の例を見てみましょう。
このイメージのビルドの結果、Docker Hubから入手できる公式PHP 7.0 CLIイメージよりもおよそ130MBほど小さいコンテナが作成されます。
イメージサイズの比較
1 php-ol7-slim 7.0 ed603c8d47a0  235.4 MB
2 php 7.0 6c38128f3482 363 MB

So where to from here?

まだGitHub上の公式Oracle Dockerfilesをチェックされていない場合には、是非チェックしてください。
oracle/docker-images
https://github.com/oracle/docker-images
Oracleのプロダクト・チームは、Database、WebLogic Server、Javaなどといった、利用可能なOracle製品のサンプルDockerfilesを数多く提供しています。独自のイメージを作成したくない場合は、Oracle Container Registryからイメージを取得するだけで、すぐに作業を開始できます。
Oracle Container Registry
https://container-registry.oracle.com/
Software Collections for Oracle Linuxリポジトリを有効化すれば、Oracle Linuxでサポートする全ての言語やサーバーソフトウェアの最新版を取得することができます。
Software Collection Library 2.3 for Oracle® Linux
http://docs.oracle.com/cd/E52668_01/E59096/html/index.html
Software Collections でご利用いただける全てのコンテンツは既存のOracle Linux Premier Supportサブスクリプションの対象です。

他のOracle開発者とDockerについて会話したい場合には、Oracle Technology NetworkにDocker and containersという専用コミュニティを用意していますので、そちらへどうぞ。
Containersスペース
https://community.oracle.com/community/server_&_storage_systems/containers

2017年2月21日

[Java] Plans for 2017 and Beyond

原文はこちら。
https://blogs.oracle.com/jcp/entry/jcp_meeting_jump_starts_plans

2017年も約2ヶ月が過ぎ、ほとんどの人が新年の抱負を忘れているかもしれませんが、Java Community Process(JCPプログラム)はそんなことはありません。 2017年が本格的に動き出すにつれて、自身のビジョンと優先事項を共有したいと考えています。自身はJCPプログラムに16年以上関わっており、現在JCP議長を務めています。この立場で奉仕できることを光栄に思っていますし、長年にわたり力を入れているJava Communityとの仕事を続けていくことに夢中になっています。Java開発者は、Javaテクノロジ成功の主な理由の1つのみならず、この惑星の最高の人々でもあります。リーダーや世界を駆け回る国際的なスピーカーといった様々な役割をJCPプログラムの中で務めてきたので、訪問国に関係なく、Java開発者コミュニティの寛大さ、優しさ、知性に驚かされ、共感しています。コミュニティであることこそが、何年もJCPプログラムで仕事を続けてきた理由です。
非常に技術的なコミュニティであっても、基本的には「人」であることが、はっきりと分かりました。この理念を念頭に置いて、私たちはコミュニティからのJCPプログラムへの参加を引き続き拡大する予定で、2016年の会員増強の成功の勢いを足がかりにします。2016年5月以来、300名以上の新会員がJCPプログラムに加わりました。
Java Community Process (JCP) version 2.10 with a focus on broadening JCP Membership takes effect 12 May
https://jcp.org/en/press/news/JCP_210_JSR364
JSR 364の完成に伴ってメンバーシップを拡大しました。このJSR 364は企業、個人開発者、Javaユーザーグループ(JUG)からのJCPメンバーシップを拡大する目的で策定され、結果JCPプログラムの最新バージョンJCP 2.10ができました。
JSR 364: Broadening JCP Membership
https://jcp.org/en/jsr/detail?id=364
JCP 2.10: Process Document
https://jcp.org/en/procedures/jcp2
2017年には、年間のJCP Award、Star Spec Leadの認知、グローバルAdoptionプログラム(Adopt-a-JSRとAdopt OpenJDK)を通じて、コミュニティ内のリーダーシップを引き続き讃えていきます。
JCP Program and Industry Awards
https://jcp.org/en/press/news/awards/awards_main
Star Spec Lead Program
https://jcp.org/en/press/news/star
JAVA COMMUNITY PROCESS
https://community.oracle.com/community/java/jcp 
JCPプログラムの力仕事は、Java Specification Requests(JSR)のコミュニティ開発を通じて起こります。Javaプラットフォームを発展させるJSRと、プラットフォームの最新版、Java Standard Edition(Java SE)9およびJava Enterprise Edition(Java EE)8を完成させる作業は年間を通じて継続します。
JSR 379: JavaTM SE 9 Release Contents
https://jcp.org/en/jsr/detail?id=379
JSR 366: Java Platform, Enterprise Edition 8 (Java EE 8) Specification
https://jcp.org/en/jsr/detail?id=366
さらに、ECメンバーであるGoldman Sachsがロンドンで開催したJCP Executive Committee(EC)とのFace-to-Faceミーティングでの議論の後、JCP ECがJCPプログラムで改善できる領域が以下の3個あることを確認しています。
  • JCPとOpenJDKの関係
    2グループ間のやりとりを合理化して改善できる領域を調査
  • Java MEの将来
    組み込みおよびIoT関連領域における技術的およびビジネスマーケットの要求の両方を定義
  • JCP.Nextの作業を通じたJCPのさらなる変革
    JCPプログラム内で共同開発を改善できる分野を特定
これらが来年注力する領域です。JCPミーティングのサマリーとJCP_orgのtwitterフィードでの議論をフォローしてください。私の個人的なTwitterアカウント@heathervcでも見つけることができます。
JCP EXECUTIVE COMMITTEE MEETING MATERIALS
https://jcp.org/en/resources/EC_summaries
JCP.org@Twitter
https://twitter.com/jcp_org
Heather VanCura@Twitter
https://twitter.com/heathervc
これらのアイテムについては、一年を通して議論を深めていきます。2017年もその先も、Java開発者コミュニティと協力していくことを楽しみにしています。

2017年2月20日

[Java] Creating Custom JDK9 Runtime Images

原文はこちら。
https://blogs.oracle.com/jtc/entry/creating_custom_jdk9_runtime_images

JDK9の新機能である、カスタムランタイムイメージ作成方法の概要は、以下のYouTube動画をご覧ください。

この動画の補遺として、最近公開したブログで、NetBeansプロジェクト内でランタイムイメージの作成自動化について説明しています。詳細は以下のエントリをご覧ください。
Automating the Creation of JDK9 Reduced Runtime Images
https://blogs.oracle.com/jtc/entry/automating_the_creation_of_jdk9
[Java] Automating The Creation of JDK9 Reduced Runtime Images in NetBeans
https://orablogs-jp.blogspot.jp/2017/02/automating-creation-of-jdk9-reduced.html
信じられないのですが、このブログを始めてから10年経ち、75件のエントリを投稿しました!

[Java] Automating The Creation of JDK9 Reduced Runtime Images in NetBeans

原文はこちら。
https://blogs.oracle.com/jtc/entry/automating_the_creation_of_jdk9

JDK9の次期リリースでは、Java SEプラットフォームはモノリシックな構造に変わって、一連のモジュールを組み合わせて構築されます。
JDK 9 Project
https://jdk9.java.net/
この大きな変化に伴い、開発者は自身のアプリケーションをモジュール化することができ、さらに、アプリケーションを実行するために必要なモジュールだけを使ってランタイムイメージを作成することができます。この大規模な進化について多くの記事が出ていますし、これからも出てくることでしょう。今日は、カスタムランタイムイメージを作成する機能と、NetBeansなどの統合開発環境でその作成方法を自動化する方法について説明します。
NetBeans IDE
https://netbeans.org/
最初に、早期アクセス版JDK9と、それに対応する早期アクセスJDK9対応 NetBeansをダウンロードして、始めることにしましょう。
JDK™ 9 Early Access Releases
https://jdk9.java.net/download/
NetBeans IDE Nightly Build ダウンロード
http://bits.netbeans.org/download/trunk/nightly/latest/
このレシピでは、SimpleAppという非常に単純なJDK9アプリケーションを作成し、Java Logging APIを使用してメッセージをログに記録します。
Package java.util.logging
http://download.java.net/java/jdk9/docs/api/java/util/logging/package-summary.html
すべてのJava 9プログラムでは、java.baseというモジュールを使用する必要があります。このプログラムでロギングメソッドを呼び出すためには、java.loggingと呼ばれる追加のモジュールを取り込む必要があります。以下はNetBeansプロジェクトとソースコードの例です。

NetBeansでこのプログラムを実行すると、出力ウィンドウに以下のような表示が現れます。

このプログラムをモジュール化するために、まずモジュールの依存性を識別する必要があります。JDK 9のユーティリティjdepsを使って、以下のようにこの作業を実行することができます。

最初に、jdeps -versionを呼び出し、JDK 9版のjdepsを使っていることを確認します。続いて、NetBeansで作成した SimpleApp.jar に対して jdeps -s を呼び出し、モジュール依存性を取得します。この例では、作成したプログラムには2個のモジュールが必要です。前述の通り、全てのJava 9アプリケーションはデフォルトで java.base というモジュールが必要です。さらに、今回のプログラムではモジュール java.logging のメソッドを呼ぶため、 java.logging にも依存します。
この情報を基に、SimpleAppプロジェクトを右クリックし、New->Java Module Info...を選択してNetBeansプロジェクト内にファイル module-info.java を作成します。

作成した後、module-info.javaはSimpleAppのデフォルトパッケージになります。モジュール仕様は最初は空で、以下のように2個のrequiresと、1個のexportsを追加します。

module-info.java を適切に設定したのち、 SimpleApp をビルドします。NetBeansはコンパイル済みの module-info.class をSimpleApp.jarに追加し、モジュールのJarファイルにします。
ゲームの少し早い段階ですが、JDK9のjlinkユーティリティを使用してランタイムイメージを構築する機能が、現時点でNetBeansには欠けているように見えるので、この機能を提供するようNetBeansをカスタマイズしてみましょう。より洗練されたソリューションは間違いありません。この機能を使えば、実際に実行されるJavaコマンドを出力することで、デバッグを支援することができます。
まず、SimpleAppのNetBeans project.propertiesファイルを探して編集します。 このファイルはNetBeansの[ファイル]タブをクリックすると、プロジェクトのファイルシステムビューが表示されます。 nbproject ディレクトリの下に、project.propertiesファイルがあります。 project.propertiesをダブルクリックすると、そのファイルを編集用に開くことができます。

以下のテキストを projects.properties ファイルの最後に追加します。
#
# Added to support creation of modular jar and jlink image.
# Change this property to match your JDK9 location
#
jdk9.basedir=C:\\Users\\jtconnor\\jdk-9
#
modular.jar.command=${jdk9.basedir}\\bin\\jar.exe
modular.jar.file=${dist.dir}\\${application.title}.jar
#
modular.jar.arg1=--verbose
modular.jar.arg2=--update
modular.jar.arg3=--file
modular.jar.arg4=${modular.jar.file}
modular.jar.arg5=--main-class
modular.jar.arg6=${main.class}
modular.jar.arg7=--module-version
modular.jar.arg8=1.0
modular.jar.arg9=-C
modular.jar.arg10=${build.dir}\\classes
modular.jar.arg11=module-info.class
modular.jar.args.concatenated=${modular.jar.arg1}  ${modular.jar.arg2} ${modular.jar.arg3} ${modular.jar.arg4}  ${modular.jar.arg5} ${modular.jar.arg6} ${modular.jar.arg7}  ${modular.jar.arg8} ${modular.jar.arg9} ${modular.jar.arg10}  ${modular.jar.arg11}
#
jlink.command=${jdk9.basedir}\\bin\\jlink.exe
jlink.module.dependency1=${modular.jar.file}
jlink.module.dependency2=${jdk9.basedir}\\jmods
jlink.module.path=${jlink.module.dependency1};${jlink.module.dependency2}
jlink.image.dir=${dist.dir}\\jimage
#
jlink.arg1=--module-path
jlink.arg2=${jlink.module.path}
jlink.arg3=--add-modules
jlink.arg4=${application.title}
jlink.arg5=--output
jlink.arg6=${jlink.image.dir}
jlink.arg7=--compress=2
jlink.args.concatenated=${jlink.arg1} ${jlink.arg2} ${jlink.arg3} ${jlink.arg4} ${jlink.arg5} ${jlink.arg6} ${jlink.arg7}
まぁ悪くないですね。基本的には、JDK9のjarユーティリティとjlinkユーティリティを実行するためのコマンドライン引数を設定することです。この設定では、モジュールのjarやランタイムイメージ作成に失敗した場合のデバッグがより簡単にできるはずです。1点、重要なポイントとして、jdk9.basedirプロパティを適切に設定する必要があります。
#
# Added to support creation of modular jar and jlink image.
# Change this property to match your JDK9 location
#
jdk9.basedir=C:\\Users\\jtconnor\\jdk-9  <-- ここをご自身のJDK 9の場所に変更してください!
この手順が完了したら、SimpleAppのビルドファイル(build.xml)を変更しましょう。その前に、このファイルはFileタブのSimpleApp/ディレクトリにあります。build.xmlをダブルクリックしてファイルを編集します。

ファイルを開き、最終行に移動します。追加のantタスクを</project>の前に以下のように配置します。

以下は追加するテキストです。
<target name="-post-jar" depends="-do-modular-jar,-do-jlink">
    </target>
    
    <target name="-do-modular-jar">
        <echo message="Updating ${dist.jar} to be a modular jar."/>
        <echo message="Executing: ${modular.jar.command} ${modular.jar.args.concatenated}"/>
        <exec executable="${modular.jar.command}">
            <arg value="${modular.jar.arg1}"/>
            <arg value="${modular.jar.arg2}"/>
            <arg value="${modular.jar.arg3}"/>
            <arg value="${modular.jar.arg4}"/>
            <arg value="${modular.jar.arg5}"/>
            <arg value="${modular.jar.arg6}"/>
            <arg value="${modular.jar.arg7}"/>
            <arg value="${modular.jar.arg8}"/>
            <arg value="${modular.jar.arg9}"/>
            <arg value="${modular.jar.arg10}"/>
            <arg value="${modular.jar.arg11}"/>
        </exec>
    </target>
    
    <target name="-do-jlink">
        <echo message="Creating jlink image in ${jlink.image.dir}/."/>
        <echo message="Executing: ${jlink.command} ${jlink.args.concatenated}"/>
        <exec executable="${jlink.command}">
            <arg value="${jlink.arg1}"/>
            <arg value="${jlink.arg2}"/>
            <arg value="${jlink.arg3}"/>
            <arg value="${jlink.arg4}"/>
            <arg value="${jlink.arg5}"/>
            <arg value="${jlink.arg6}"/>
            <arg value="${jlink.arg7}"/>
        </exec>
    </target>
SimpleApp プロジェクトの変更が完了しました。NetBeansでSimpleAppを "Clean and Build" すると、追加したantタスクが実行されます。以下はNetBeansの出力ウインドウに現れた出力例です。

最後に、ビルドされたものとカスタムランタイムイメージの実行方法を見てみましょう。 以下のスクリーンショットでは、NetBeansによって構築されたSimpleAppのdistディレクトリを調べています。SimpleApp.jar(モジュールjarファイル)とjimage ディレクトリ(カスタムランタイムイメージ)の2つのエントリがあることがわかります。続いて、JDK9ランタイムであることを示すためにjimage ディレクトリでjava -versionを実行し、java -list-modulesを実行して、このランタイムに含まれるモジュールを表示します。ここでは、3個のみ現れますが、本格的なJDK9ランタイムの場合は、通常90個前後現れます。そして最後のコマンドでは、SimpleAppアプリケーションがjimage/ ランタイムからどのように実行されるかを示しています。

上記の例はWindowsプラットフォームの場合です。LinuxやMacで実施したい場合には、project.propertiesファイルを適宜変更する必要があります。このエントリがJava 9の新機能のいくつかの理解に役立つことを願っています。

2017年2月19日

[Database] Client Certification for Oracle Database 12.1.0.2/12.2.0.1

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

先日Oracle Database 12.2.0.1に対するクライアントの動作保証に関する質問を受けました。
この質問に回答する内容が、My Oracle Supportの以下のドキュメントです。
Client / Server Interoperability Support Matrix for Different Oracle Versions (ドキュメントID 207303.1)
https://support.oracle.com/rs?type=doc&id=207303.1
このドキュメントではOracle Database 9.2にまでさかのぼって、クライアントの互換性を取り扱っており、非常に役に立つリソースです。
Client Certification Oracle Database
忘れないでいただきたいのは、時として、クライアントソフトウェアにもパッチが必要になることがある、ということです。定期的にメールをやりとりしているお客様はDatabaseをOracle Database 12.1.0.2にアップグレードしたばかりでしたが、すでに最新のJDBCクライアントを使っているにもかかわらず、JDBCクライアントでたびたび奇妙なエラーを見かけました。

以下のメッセージと共に、ORA-904, ORA-923 and ORA-920が発生していました。
oracle.jdbc.driver.OracleParameterMetaDataParser.computeBasicInfo(OracleParameterMetaDataParser.java:277)
結局JDBCクライアントにもパッチが必要だったということがわかりました。つまり、12.1.0.2クライアントに対し、マージパッチ #21623553 を当てる必要があったのです。
パッチ21623553: MERGE REQUEST ON TOP OF 12.1.0.2.0 FOR BUGS 21185279 21455135
https://support.oracle.com/rs?type=patch&id=21623553
このマージパッチは、別の有用な修正と共に、JDBCクライアント向けマージパッチ #24012252 として統合されました。
パッチ24012252: MERGE REQUEST ON TOP OF 12.1.0.2.0 FOR BUGS 22603057 20362778 23345279
https://support.oracle.com/rs?type=patch&id=24012252 
パッチ適用後、エラーは出なくなりました。JDBCクライアントへの推奨パッチは、以下のMy Oracle Supportのドキュメントをご覧ください。
Recommended patches on JDBC 12.1.0.2.0 version (ドキュメントID 2227214.1)
https://support.oracle.com/rs?type=doc&id=2227214.1
さらに言えば、OTNから簡単にダウンロードできデプロイできるInstant Clientの存在もお忘れなく。
Oracle Instant Client Downloads
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
Oracle Instant Client Download OTN

2017年2月16日

[Database] Updated In-Memory Advisor Now Available

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

Oracle Database In-Memory Advisorがアップデートされました。ドキュメントも同時に更新されています。詳細は、My Oracle Supportの以下のドキュメントをご覧ください。
Oracle Database In-Memory Advisor (Doc ID 1965343.1)
https://support.oracle.com/rs?type=doc&id=1965343.1
このアップデートには以下のものが含まれています。
  • スキーマやオブジェクト名などの属性によって、メモリ上に配置されると考えられるオブジェクトをフィルタリングできるようになりました
  • Oracle Database 12c Release 2を包括的にサポートします
  • Oracle Database 12c Release 2で導入されたマルチテナント・データベースでの機能強化されたPDBレベルのAWRデータをサポートします
  • 不具合の修正ならびに拡張性の強化