2015年6月27日

[misc] うるう秒

先日、2015年6月30日23時59分60秒(UTC、日本時間では2015年7月1日8時59分60秒)の閏秒に関する以下のエントリを紹介しました。
The 2015 Leap Second’s impact on the Oracle JDK
https://blogs.oracle.com/java-platform-group/entry/the_2015_leap_second_s
[Java] The 2015 Leap Second’s impact on the Oracle JDK
http://orablogs-jp.blogspot.jp/2015/06/the-2015-leap-seconds-impact-on-oracle.html
これに関連して、閏秒がOracle製品にもたらす影響をまとめたドキュメントがMy Oracle Supportに掲載されています。
Information Center: Leap Second Information for All Products - Database - Exadata - Middleware - Exalogic - Linux - Sun - Fusion - EBS - JDE - Siebel - Peoplesoft (ドキュメントID 2019397.2)
https://support.oracle.com/rs?type=doc&id=2019397.2
Fusion Middleware製品群については、以下のドキュメントをどうぞ(上記リンクからも到達します)。
Leap Second Vulnerability on Fusion Middleware Products (ドキュメントID 2024181.1)
https://support.oracle.com/rs?type=doc&id=1967141.1

2015年6月26日

[Java] HTTP/2 and Server Push

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

数週間前に最終化されたHTTP/2は、2個の関連する仕様(RFC 7540とRFC 7541)から構成されています。HTTP/2では、現在のHTTP 1.1と可能な限り互換性を持たせることを目標としているため、既存のHTTP 1.1セマンティクスを完全に失わないようにしています。HTTP/2の主要な目的は、ネットワークリソースをより効率よく利用しつつ、同時に全体のレイテンシを削減する方法を提供することにあります。このHTTP/2とHTTP/1.1の根本の違いはトランスポートレベル、つまりネットワークでどのようにビットを交換するかという部分に存在します。そして、それこそがHTTP/2の新たなバイナリフレームのプロトコルなのです。

HTTP/2は既存のHTTP/1,1セマンティクスに依存しており、同じHTTP動詞(GET、PUT、POSTなど)、同じHTTPステータスコードなどを使います。サーバーサイドJava開発者の立場からすると、実のところ何も変わりません。既存のアプリケーションをHTTP/2スタックを使った実行は透過的ですが、ワイヤレベルでの性能向上を確認することはできるでしょう。つまり、ほとんどのHTTP/2の機能はServlet APIレベルで公開されない(透過的)、ということです。しかし、このルールに対する例外が少々存在します。Server PushはこのHTTP/2の重要な機能の一つですが、この機能は、開発者が利用できることが理想的です。

Server PushはHTTP/2の新機能で、これを使うと通常のクライアントリクエストの応答として、サーバがプロアクティブに複数のリソースを投げつけることができます。そして、サーバーサイドアプリケーションは、特定のページに描画するためにどのリソースを必要としているかはわかっているので、クライアントがそうしたリソースを必要とするだろうと知る前に、プロアクティブにクライアントが要求するリソースをアプリケーションに送信することができます。

Servlet 4.0 Expert Groupでは、このServer Push機能をAPIレベルで公開する方法を検討・決定する必要があります。方策の一つとして、 Jetty 9.3のPushBuilder APIを基にしたGreg Wilkinsの提案からインスパイアされたものがあります。
Jetty 9.3.0.v20150612
https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00080.html
[servlet-spec users] [jsr369-experts] Re: Feedback on Greg's December 2014 push API Thread
https://java.net/projects/servlet-spec/lists/users/archive/2015-03/message/0
Gregは活発に活動しているServlet EGのメンバーであり、Jettyを開発した人でもあります。
Greg Wilkins
https://twitter.com/gregwilkins
彼はJava 0.9を使って20年前にJettyの開発をスタートしました。Jettyも20歳の誕生日なんですね。おめでとうございます!

Useful resources:


2015年6月25日

[Java] The 2015 Leap Second’s impact on the Oracle JDK

原文はこちら。
https://blogs.oracle.com/java-platform-group/entry/the_2015_leap_second_s

6月30日、公式UTC(Universal Coordinated Time)に閏秒が入ります。多くのテクニカルニュースサイトでは来る閏秒の様々なシステムへの影響に関する記事が書かれています。
Leap second: What is the extra second you will get on 30 June? (International Business Times)
http://www.ibtimes.co.uk/leap-second-what-extra-second-you-will-get-30-june-1507606
閏秒を心配するシステム管理者は Javaのタイムゾーン情報のアップデートやNTPのようなOSの時間ツールを使う際の標準的なメンテナンスの問題として着目すべきです。

Update Time Zone Information

タイムゾーンのアップデートは以前以下のエントリで取り上げました。
Understanding Time Zone Updater 2.0
https://blogs.oracle.com/java-platform-group/entry/understanding_time_zone_updater_2
システムをアップデートしようとしているシステム管理者はTime Zone Updater Tool (tzupdater)を使ってJDKを更新しさえすればよいのです。
Timezone Updater Tool
http://www.oracle.com/technetwork/java/javase/tzupdater-readme-136440.html
その他、各JDKリリースにはアップグレードするユーザーのために、常に最新のタイムゾーン情報が含まれています。

Check the Operating System

Javaは時間をOSの時計に依存しています。各OSは閏秒のような時間変更を取り扱う方法がそれぞれ異なりますので、閏秒の取り扱いに関するOS情報の詳細をあたってください。Linuxユーザーの場合、Linus Torvalds氏とWiredのインタビュー"Linux’s creator wants us all to chill out about the leap second."(Linuxの作者は、うるう秒について落ち着いてもらいたいと思っている)をご覧ください。
LINUX'S CREATOR WANTS US ALL TO CHILL OUT ABOUT THE LEAP SECOND
http://www.wired.com/2015/01/torvalds_leapsecond/
Windowsの場合、詳細情報は以下のリンクからどうぞ。
KB-909614 How the Windows Time service treats a leap second
https://support.microsoft.com/en-us/kb/909614(英語)
うるう秒に関する Windows タイム サービスの処理
https://support.microsoft.com/en-us/kb/909614/ja(日本語)
AmazonやGoogleといったホスティング事業者は一日の間で時間を調整するようです。
Amazon finds its own way around leap second problem - by skewing time instead
http://www.zdnet.com/article/amazon-find-its-own-way-around-leap-second-problem-by-skewing-time-instead/
Got a second? A leap second that is. Be ready for June 30th!
http://googlecloudplatform.blogspot.jp/2015/05/Got-a-second-A-leap-second-that-is-Be-ready-for-June-30th.html

Some applications may still require restarts

閏秒に対応するため、Java APIは秒を0から61までの間の数として定義しているとはいえ、アプリケーションによっては、1分は60秒または1日は86400秒と仮定して短絡している可能性があります。
Date (Java Platform SE 8)
http://docs.oracle.com/javase/jp/8/docs/api/java/util/Date.html(日本語)
https://docs.oracle.com/javase/8/docs/api/java/util/Date.html(英語)
他システムと時間ベースのトランザクションを同期するシステムは、一方のシステムがアップデートしたり、他方がアップデートしなかったりすると、問題になる可能性があります。

2015年の閏秒は2015年6月30日23時59分60秒(UTC)に発生します。システム管理者の皆様におかれましては、この時間の間プロセスを監視し、しばしの間システムへの関心をいつもよりあげていただくことをおすすめします。

[Java] Take Early JDK 9 For A Spin In Early NetBeans 9

原文はこちら。
https://blogs.oracle.com/geertjan/entry/take_early_jdk_9_for

本当の冒険者、危ない、尖っているJava開発者向けの非常にクールで新しい開発ツールです。
NetBeans IDEの新しいビルドでは、JDKの早期アクセスビルドをちょっと試すために必要なツールを提供することをメインにしています。
評判を広げてプロセスに加わってください。早期アクセス版JDKとNetBeans IDEの初期ビルドをダウンロードしてください。JDK 9をNetBeans 9に登録すると、Java SEプロジェクトでJDK 9が使えるようになります。

設定の詳細やフィードバックは以下のリンクからどうぞ。
JDK9 Support | NetBeans Wiki
http://wiki.netbeans.org/JDK9Support

2015年6月24日

[Database] Package Differences between Oracle 11.2.0.4 and 12.1.0.2?

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

この質問はかなり簡単そうに思えます。
Which packages did exist in Oracle 11.2.0.4 but don't exist in Oracle 12.1.0.2 anymore?
(どのパッケージがOracle Database 11.2.0.4にあって、Oracle Database 12.1.0.2からはなくなっているの?)
もうちょっとこの質問を深掘りしてみましょう。
Which procedures and functions calls of SYS packages have been changed since then?
(どのSYSパッケージのプロシージャやファンクションが変更されたの?)
ある同僚が(ACS SupportのThomas Kempkensがすてきなプロシージャを書いてくれました。すべては彼のおかげです。)顧客からこんな質問を受けて、情報を探し出す必要がありました。

その結果をみてみましょう。

以下のパッケージはOracle Database 12.1.0.2には含まれませんが、Oracle Database 11.2.0.4には含まれています。17個のパッケージがなくなっていることがわかります。
CWM2_OLAP_INSTALLER
DBMS_AMD
DBMS_APPCTX
DBMS_DBLINK
DBMS_DM_IMP_INTERNAL
DBMS_DM_UTIL_INTERNAL
DBMS_DUMA_INTERNAL
DBMS_JDM_INTERNAL
DBMS_RULE_COMPATIBLE_90
DBMS_SQL2
DBMS_XDSUTL
DBMS_XS_SECCLASS_INT
DBMS_XS_SECCLASS_INT_FFI
EXF$DBMS_EXPFIL_SYSPACK
HTMLDB_SYSTEM
ODM_ABN_MODEL
SQLJUTL2
続いて、Oracle SYSパッケージの中のプロシージャやファンクションコールのうち、Oracle Database 12.1.0.2で変更があったものです。204個のプロシージャやファンクションが変わっていました。
PACKAGE_NAMESUBTYPESUBTYPE NAME
CWM2_OLAP_INSTALLER PROCEDUREVALIDATE_CWM2_INSTALL
DBMS_AMD PROCEDUREMOVE_OLAP_CATALOG
DBMS_APPCTX PROCEDURECLEAR_CONTEXT
DBMS_APPCTX PROCEDURESET_CONTEXT
DBMS_AQADM_SYS PROCEDUREGET_CORR_MSG
DBMS_AQADM_SYS PROCEDURERESET_CORR_MSG
DBMS_AQADM_SYSCALLS PROCEDUREKWQA_3GL_UPDPERSTATS
DBMS_DATA_MINING FUNCTIONGET_MODEL_DETAILS_ABN RETURNS DM_ABN_DETAILS
DBMS_DATA_MINING_INTERNALPROCEDURECREATE_TEMP_META_TABLE
DBMS_DBLINK PROCEDUREUPGRADE
DBMS_DDL_INTERNAL FUNCTIONGEN_NEW_OBJECT_ID RETURNS BINARY_INTEGER
DBMS_DM_EXP_INTERNAL FUNCTIONGET_TRACE RETURNS BOOLEAN
DBMS_DM_EXP_INTERNAL PROCEDUREDELETE_FROM_TEMP
DBMS_DM_EXP_INTERNAL PROCEDUREDO_TEMP_TABLE
DBMS_DM_EXP_INTERNAL PROCEDUREDUMP_STATUS
DBMS_DM_EXP_INTERNAL PROCEDUREGET_LIST_MODELS
DBMS_DM_EXP_INTERNAL PROCEDUREINSERT_LIST_MODELS
DBMS_DM_EXP_INTERNAL PROCEDURESET_TRACE
DBMS_DM_IMP_INTERNAL PROCEDUREREGISTER_TEMP_TABLE
DBMS_DM_IMP_INTERNAL PROCEDUREUNREGIST_TEMP_TABLE
DBMS_DM_MODEL_EXP FUNCTIONINSTANCE_INFO_EXP RETURNS VARCHAR2
DBMS_DM_MODEL_EXP FUNCTIONSCHEMA_INFO_EXP RETURNS VARCHAR2
DBMS_DM_MODEL_EXP PROCEDURESCHEMA_CALLOUT
DBMS_DM_UTIL PROCEDUREDISPLAY_MSG
DBMS_DM_UTIL PROCEDUREDUMP_MSG
DBMS_DM_UTIL_INTERNAL PROCEDUREDUMP_DM_TRACE
DBMS_DUMA_INTERNAL FUNCTIONGET_PROPERTY RETURNS NUMBER
DBMS_DUMA_INTERNAL FUNCTIONREAD_LONG_TO_BLOB RETURNS BLOB
DBMS_DUMA_INTERNAL PROCEDURECONVERT_LONG
DBMS_DUMA_INTERNAL PROCEDURESCAN_TABLE
DBMS_DUMA_INTERNAL PROCEDUREWRITE_BLOB_TO_LONG
DBMS_INTERNAL_LOGSTDBY PROCEDUREEDS_EVOLVE_TABLE_1_FINISH
DBMS_INTERNAL_LOGSTDBY PROCEDUREEND_INSTANTIATION
DBMS_INTERNAL_LOGSTDBY PROCEDUREINSTANTIATE_FEATURE
DBMS_INTERNAL_LOGSTDBY PROCEDURELOCK_TABLES
DBMS_INTERNAL_LOGSTDBY PROCEDUREPREPARE_INSTANTIATION
DBMS_INTERNAL_LOGSTDBY PROCEDUREREGISTER_SCHEMA
DBMS_INTERNAL_LOGSTDBY PROCEDUREUNSUPPORTED_DML
DBMS_JAVA FUNCTIONDEPLOY_INVOKE RETURNS VARCHAR2
DBMS_JAVA FUNCTIONDROP_JAR RETURNS NUMBER
DBMS_JAVA FUNCTIONFINISH_LOADING_JAR RETURNS NUMBER
DBMS_JAVA FUNCTIONGETSOURCECHUNK RETURNS VARCHAR2
DBMS_JAVA FUNCTIONHANDLEMD5 RETURNS RAW
DBMS_JAVA FUNCTIONINITGETSOURCECHUNKS RETURNS NUMBER
DBMS_JAVA FUNCTIONJAR_STATUS RETURNS NUMBER
DBMS_JAVA FUNCTIONRJBC_INIT RETURNS VARCHAR2
DBMS_JAVA FUNCTIONRJBC_NORMALIZE RETURNS NUMBER
DBMS_JAVA FUNCTIONRJBC_REQUEST RETURNS NUMBER
DBMS_JAVA FUNCTIONRJBC_RESPOND RETURNS NUMBER
DBMS_JAVA FUNCTIONSTART_LOADING_JAR RETURNS NUMBER
DBMS_JAVA PROCEDUREDEPLOY_COPY
DBMS_JAVA PROCEDUREDEPLOY_OPEN
DBMS_JAVA PROCEDURERJBC_DONE
DBMS_JAVA PROCEDURERJBC_OUTPUT
DBMS_JDM_INTERNAL FUNCTIONGET_JDM_ATTR_NAMES RETURNS JDM_ATTR_NAMES
DBMS_JDM_INTERNAL FUNCTIONGET_JDM_NUM_VALS RETURNS JDM_NUM_VALS
DBMS_JDM_INTERNAL FUNCTIONGET_JDM_STR_VALS RETURNS JDM_STR_VALS
DBMS_JDM_INTERNAL FUNCTIONTO_CHAR_VARRAY RETURNS VARCHAR2
DBMS_JDM_INTERNAL FUNCTIONUNIQUE_OBJECT_NAME RETURNS VARCHAR2
DBMS_JDM_INTERNAL PROCEDUREAPPLY_TASK
DBMS_JDM_INTERNAL PROCEDUREBUILD_TASK
DBMS_JDM_INTERNAL PROCEDUREEXPLAIN_TASK
DBMS_JDM_INTERNAL PROCEDUREEXPORT_TASK
DBMS_JDM_INTERNAL PROCEDUREIMPORT_TASK
DBMS_JDM_INTERNAL PROCEDUREPREDICT_TASK
DBMS_JDM_INTERNAL PROCEDUREPROFILE_TASK
DBMS_JDM_INTERNAL PROCEDURESQL_APPLY_TASK
DBMS_JDM_INTERNAL PROCEDURETEST_TASK
DBMS_JDM_INTERNAL PROCEDUREXFORM_SEQ_TASK
DBMS_JDM_INTERNAL PROCEDUREXFORM_TASK
DBMS_LOGMNR_INTERNAL PROCEDUREADDXTENDEDPKLOGGROUP
DBMS_LOGMNR_INTERNAL PROCEDUREDROPXTENDEDPKLOGGROUP
DBMS_LOGMNR_INTERNAL PROCEDUREKRVGDRM2
DBMS_LOGMNR_INTERNAL PROCEDURELOGMNR_KRVILD
DBMS_LOGMNR_INTERNAL PROCEDURELOGMNR_KRVIULD
DBMS_LOGMNR_INTERNAL PROCEDURESET_PARAMETER
DBMS_LOGMNR_INTERNAL PROCEDUREUNSET_PARAMETER
DBMS_LOGSTDBY FUNCTIONVALIDATE_AUTH RETURNS BOOLEAN
DBMS_LOGSTDBY PROCEDUREEDS_EVOLVE_TABLE
DBMS_METADATA_INT PROCEDURECLEAR_CACHE
DBMS_METADATA_INT PROCEDURECLEAR_XSL_CACHE
DBMS_OBJECTS_UTILS FUNCTIONSPLIT_SOURCE RETURNS NUMBER
DBMS_OBJECTS_UTILS PROCEDURERECOMPILE_TYPES
DBMS_OBJECTS_UTILS PROCEDUREUPDATE_TYPES
DBMS_REPORT FUNCTIONSTORE_FILE RETURNS NUMBER
DBMS_REPORT PROCEDURECREATE_SHARED_DIRECTORY
DBMS_REPORT PROCEDUREDROP_SHARED_DIRECTORY
DBMS_RMIN PROCEDUREINSTALL
DBMS_RMIN PROCEDURERM$_CALIBRATE_IO
DBMS_RMIN PROCEDURERM$_CLRPAREA
DBMS_RMIN PROCEDURERM$_CONSUMER_GROUP_MAPPING_PRI
DBMS_RMIN PROCEDURERM$_CRTPAREA
DBMS_RMIN PROCEDURERM$_CUP_CATEGORY
DBMS_RMIN PROCEDURERM$_CUP_GROUP
DBMS_RMIN PROCEDURERM$_CUP_PLAN
DBMS_RMIN PROCEDURERM$_CUP_PLAN_DIRECTIVE
DBMS_RMIN PROCEDURERM$_CUP_STORAGE_POOL_MAPPING
DBMS_RMIN PROCEDURERM$_DRP_CATEGORY
DBMS_RMIN PROCEDURERM$_DRP_GROUP
DBMS_RMIN PROCEDURERM$_DRP_PLAN
DBMS_RMIN PROCEDURERM$_DRP_PLAN_CSD
DBMS_RMIN PROCEDURERM$_DRP_PLAN_DIRECTIVE
DBMS_RMIN PROCEDURERM$_SET_CAPABILITY
DBMS_RMIN PROCEDURERM$_SET_CONSUMER_GROUP_MAPPING
DBMS_RMIN PROCEDURERM$_SET_INSTANCE_CAPABILITY
DBMS_RMIN PROCEDURERM$_SUBPAREA
DBMS_RMIN PROCEDURERM$_SWTCH_SESSION_GROUP
DBMS_RMIN PROCEDURERM$_SWTCH_USR_GROUP
DBMS_RMIN PROCEDURERM$_VLDPAREA
DBMS_RMIN PROCEDUREUNINSTALL
DBMS_RULE_COMPATIBLE_90 FUNCTIONINCOMPATIBLE_RULES_ENGINE_OBJ RETURNS NUMBER
DBMS_RULE_COMPATIBLE_90 PROCEDUREDOWNGRADE_RULE_OBJECTS
DBMS_RULE_COMPATIBLE_90 PROCEDUREINCOMPATIBLE_EVCTXS
DBMS_RULE_COMPATIBLE_90 PROCEDUREINCOMPATIBLE_RULES
DBMS_RULE_COMPATIBLE_90 PROCEDUREINCOMPATIBLE_RULESETS
DBMS_RULE_COMPATIBLE_90 PROCEDUREUPGRADE_RULE_OBJECTS
DBMS_SPM_INTERNAL FUNCTIONFETCH_PLAN_INFO RETURNS REF CURSOR
DBMS_SPM_INTERNAL PROCEDUREGET_SPM_HINTSET
DBMS_SQL2 PROCEDUREEXPAND_SQL_TEXT
DBMS_SQL2 PROCEDUREPARSE
DBMS_STATS FUNCTIONTO_CASCADE_TYPE RETURNS BOOLEAN
DBMS_STATS FUNCTIONTO_DEGREE_TYPE RETURNS NUMBER
DBMS_STATS FUNCTIONTO_ESTIMATE_PERCENT_TYPE RETURNS NUMBER
DBMS_STATS FUNCTIONTO_PUBLISH_TYPE RETURNS BOOLEAN
DBMS_STATS_INTERNAL FUNCTIONCOMPOSE_HASHVAL_CLOB RETURNS CLOBTAB
DBMS_STATS_INTERNAL FUNCTIONGET_CHTAB RETURNS CHTAB
DBMS_STATS_INTERNAL FUNCTIONGET_SYNOPSIS_BLKCNT RETURNS NUMBER(38)
DBMS_STATS_INTERNAL PROCEDUREDELETE_TABLE_SYNOPSIS
DBMS_STATS_INTERNAL PROCEDUREEXPORT_SYNOPSIS_HEAD
DBMS_SWRF_REPORT_INTERNALFUNCTIONTO_1000S RETURNS VARCHAR2
DBMS_SWRF_REPORT_INTERNALFUNCTIONTO_1024S RETURNS VARCHAR2
DBMS_WORKLOAD_REPLAY FUNCTIONSYNCPOINT_WAIT_TO_POST RETURNS NUMBER
DBMS_WRR_INTERNAL FUNCTIONDATE_TO_EPOCH_SECS RETURNS BINARY_INTEGER
DBMS_WRR_INTERNAL FUNCTIONIS_CONSOLIDATED_DIR RETURNS BOOLEAN
DBMS_XDS PROCEDUREREFRESH_DSD
DBMS_XDSUTL PROCEDUREINVALIDATE_DSD_CACHE
DBMS_XDSUTL PROCEDUREINVALIDATE_DSD_CACHE_BY_ACLID
DBMS_XS_SECCLASS_INT PROCEDUREDELETE_SEC_CLASS
DBMS_XS_SECCLASS_INT PROCEDUREGET_LEAF_PRIVILEGES
DBMS_XS_SECCLASS_INT_FFI PROCEDUREDELETE_SEC_CLASS
DBMS_XS_SECCLASS_INT_FFI PROCEDUREGET_LEAF_PRIVILEGES
DBMS_XS_SESSIONS FUNCTIONCHECK_ROLE RETURNS BOOLEAN
DBMS_XS_SESSIONS FUNCTIONCHECK_SESSION RETURNS BOOLEAN
DBMS_XS_SESSIONS FUNCTIONGET_SESSIONID_FROM_COOKIE RETURNS RAW
DBMS_XS_SESSIONS PROCEDUREABORTATTACH_SESSION
DBMS_XS_SESSIONS PROCEDUREGET_SESSION_COOKIE
DBMS_XS_SESSIONS PROCEDURESET_NAMESPACE_ACL
DBMS_XS_SESSIONS PROCEDURESET_NAMESPACE_HANDLER
DBMS_XS_SESSIONS_FFI PROCEDUREABORTATTACH_SESSION
DBMS_XS_SESSIONS_FFI PROCEDURECHECK_ROLE
DBMS_XS_SESSIONS_FFI PROCEDURECHECK_SESSION
DBMS_XS_SESSIONS_FFI PROCEDUREGET_SESSION_COOKIE
DBMS_XS_SESSIONS_FFI PROCEDURESET_NAMESPACE_ACL
DBMS_XS_SESSIONS_FFI PROCEDURESET_NAMESPACE_HANDLER
DMP_SEC FUNCTIONGET_MODEL_DETAILS_ABN RETURNS VARCHAR2(32767)
DMP_SYS PROCEDUREDUMP_MODEL_REC
DMP_SYS PROCEDUREDUMP_TRACE
DMP_SYS PROCEDUREDUMP_VARCHAR2A
DMP_SYS PROCEDUREDUMP_VARCHAR2S
DM_QGEN PROCEDURELS_DUMP
EXF$DBMS_EXPFIL_SYSPACK FUNCTIONGET_CMTSCN_FOR_XID RETURNS NUMBER
EXF$DBMS_EXPFIL_SYSPACK FUNCTIONGET_EXPRID_4M_TEXTID RETURNS VARCHAR2
EXF$DBMS_EXPFIL_SYSPACK FUNCTIONGET_SPATIAL_MDATAREP RETURNS VARCHAR2
EXF$DBMS_EXPFIL_SYSPACK FUNCTIONGET_TAB_NAME RETURNS VARCHAR2
EXF$DBMS_EXPFIL_SYSPACK FUNCTIONGET_TAB_OWNER RETURNS VARCHAR2
EXF$DBMS_EXPFIL_SYSPACK FUNCTIONGET_TYPELV_STATUS RETURNS VARCHAR2
EXF$DBMS_EXPFIL_SYSPACK FUNCTIONGET_TYPE_OID RETURNS RAW
EXF$DBMS_EXPFIL_SYSPACK FUNCTIONPROC_IS_DEFINERS RETURNS NUMBER
EXF$DBMS_EXPFIL_SYSPACK FUNCTIONTAB_COLUMN_EXISTS RETURNS NUMBER
EXF$DBMS_EXPFIL_SYSPACK PROCEDURECLR_EXP_DEPACTION
EXF$DBMS_EXPFIL_SYSPACK PROCEDURECLR_OBJECT_NOEXP
EXF$DBMS_EXPFIL_SYSPACK PROCEDURECLR_USER_NOEXP
EXF$DBMS_EXPFIL_SYSPACK PROCEDUREDOWNGRADE_COMPILED_SPARSE
EXF$DBMS_EXPFIL_SYSPACK PROCEDUREPARSE_PROC_AS_OWNER
EXF$DBMS_EXPFIL_SYSPACK PROCEDUREPARSE_PROC_AS_OWNER2
EXF$DBMS_EXPFIL_SYSPACK PROCEDURESET_EXP_DEPACTION
EXF$DBMS_EXPFIL_SYSPACK PROCEDURESET_OBJECT_NOEXP
HTMLDB_SYSTEM FUNCTIONVERIFY_USER RETURNS BINARY_INTEGER
INITJVMAUX FUNCTIONDO_JIS_DROP RETURNS BOOLEAN
KUPD$DATA FUNCTIONCONVENTIONAL_LOAD_CALLOUT RETURNS BINARY_INTEGER
KUPF$FILE_INT FUNCTIONGET_ENCPWD RETURNS RAW
KUPF$FILE_INT FUNCTIONGET_OBFPWD RETURNS RAW
KUPF$FILE_INT PROCEDUREENCRYPT_PWD
KUPP$PROC PROCEDUREINTALGCONV
LOGMNR_DICT_CACHE PROCEDUREPURGE_SCN
LOGSTDBY_INTERNAL PROCEDUREEDS_EVOLVE_TABLE_1_I
ODM_ABN_MODEL PROCEDUREBUILD
ODM_ABN_MODEL PROCEDUREESTIMATE_FEATUREBLD_TIME
ODM_ABN_MODEL PROCEDUREGET_MODEL_STATE
ODM_CLUSTERING_UTIL FUNCTIONIS_DEBUG_ENABLED RETURNS BOOLEAN
ODM_MODEL_UTIL FUNCTIONUNIQUE_SEQUENCE_NAME RETURNS VARCHAR2(30)
ODM_MODEL_UTIL PROCEDURECREATE_SEQUENCE
ODM_MODEL_UTIL PROCEDUREDEBUG_DUMP
ODM_MODEL_UTIL PROCEDUREDROP_SEQUENCE
ODM_MODEL_UTIL PROCEDUREGET_TIME_MILLISECONDS
ODM_UTIL FUNCTIONCOMPUTE_LOG_COMBINATIONS RETURNS NUMBER
PRVT_RTADDM FUNCTIONEXTRACTOSSTAT RETURNS NUMBER
PRVT_RTADDM FUNCTIONGETDATA RETURNS CLOB_T
PRVT_RTADDM FUNCTIONGETVERSION RETURNS VARCHAR2
SQLJUTL2 FUNCTIONEVALUATE RETURNS LONG RAW
SQLJUTL2 FUNCTIONINVOKE RETURNS LONG RAW
SQLJUTL2 FUNCTIONREFLECT RETURNS LONG
SQLJUTL2 FUNCTIONREFLECT2 RETURNS CLOB
STANDARD FUNCTIONASCII RETURNS BINARY_INTEGER

2015年6月23日

[BPM] Why your Initiator Task is not Visible in the Oracle BPM Workspace by Dan Atwood

原文はこちら。
https://blogs.oracle.com/soacommunity/entry/why_your_initiator_task_is1

Oracle BPMを使い始めた人にとって、プロセスイニシエータ・タスクのリンクがBPM Workspaceのアプリケーション・タブに出るか出ないかでやきもきしたことは一度や二度ではないでしょう。
以下の短い動画で、6個(いや、本当は7個ですね)のよくある理由と、それぞれの解決方法をご紹介します。

2015年6月22日

[Database] The New PL/SQL Challenge Site Available: plsqlchallenge.oracle.com

原文はこちら。
https://blogs.oracle.com/plsqlchallenge/entry/the_new_pl_sql_challenge

ちょっと時間がかかりましたが、Oracleドメインに移植したPLSQLChallenge.comが立ち上がりました。
以前のドメイン(訳注:http://plsqlchallenge.com/)でもアクセスできますが、以下のすてきなドメインでもアクセスできます。
PL/SQL Challenge  
http://plsqlchallenge.oracle.com/
あまりサイトが変わっていないのですが、少々気をつけていただきたいことがございます。

1. MOST IMPORTANT!

Oracle SSOで使っているメールアドレスと異なるメールアドレスでPL/SQL Challengeで遊んだことがあれば、おそらくPL/SQL Challengeの履歴をSSOアカウントに紐付けたいことでしょう。そのためには、PL/SQL Challengeで以前使ったメールアドレスをホームページの以下のフィールドに入力することで実現できます。



この "fine print" を使って、PL/SQL ChallengeからOracle Profileへ情報を転送することを承認することを求められます。これは、PL/SQL Challengeは、Oracleで「真実を語る資料」である、Oracle Profileにすでに存在するプロファイル情報をすべて収集したためです。そのため、もう、PL/SQL Challengeで自分の名前、国や企業に提供することができなくなりますが、この情報は、Oracleのプロファイルに保存されます。
Oracle Profile
http://profile.oracle.com/
OTNコミュニティランキングとPL/SQL Challengeのポイントを統合することを時間をかけて計画していますが、完了までに少々時間がかかりそうです。でも心配しないでください。このサイトでの作業とがんばりはちゃんと認識しています。

2. 新Webサイトへのプライベートレポートのインポートはできません。 

これは全くもって当方の失敗です。この件について、「どんだけ時間を無駄にしたことか!」といった怒りのコメントを承ります。あぁ、願わくば、あなたのお気に入りのレポートを再作成する手間が少ないことを。。。

3. 今のところまだ賞品を配っていますが、賞に関わる賞品の提供を当分の間停止する予定です。

賞品を獲得することは常に楽しいことではありますが、私はあなたが賞を受けるという認識があなたにとってずっと重要であると確信しています。ところで、O'Reilly Media様より、この5年間、e-book賞品をPL/SQL Challengeの賞品として提供いただけることになりました。では、これからのPL/SQL Challengeはどうなるのでしょう。より幅広いOracleテクノロジーを範囲とするより多くのクイズを追加したいと思っています。新しい改良されたPDF生成機能(およびそれに伴う証明書)でQuizbooksに戻ってくる予定です。PL/ SQL Challengeがどうなるべきか、お考えをお持ちですか?是非コメント欄(訳注:原文にお願いします)に記載して教えてください。

そして、最後に感謝のことば

まず第一に、Application Expressの開発者・管理者のエキスパートであるだけでなく、すべての面でナイスガイであり、しかもPL/SQL ChallengeのWebサイトを長きにわたって管理してくれたJohn Scott(@aejes)に心から感謝の意を申し上げます。
PL/SQL Challengeへの初期の貢献者は、John以外に、Finn Nielsen(2010年に私と一緒にサイトを共同で設立しました)、Dimitri Gielis(もう一人すばらしいAPEXのプロであり、すばらしい人間)、Paul Broughton、Dan McGhan、そしてMike Bたちです。
多くのプレイヤーが時間や専門知識を使って、クイズの管理と作成、そしてレビューをしてくれました。リストアップすべき方がたくさんいらっしゃるのですが(サイト上で[プレーヤー]タブをクリックすると、すべての著者と査読者を確認できます)、特に以下の方々は、サイトに多大なる貢献をいただきました。Kim Berg Hansen 、Chris Saxon 、Elic、Darryl Hurley 、Livio、Iudith Mentzel 。
ここOracleでは、Mike HichwaとJoel Kallman、Christina Cho、Vlad Uvarov、Shakeeb Rahman、Sharon Kennedyを含む彼の多数の部下が、PL/SQL Challengeを新しいWebサイトに移行、立ち上げに必要な多くのプロセスを通じて手助けをしてくれていました。本番リリースへの道で躓いたときには、PDITのWei、Amita、Johnがすばらしい支援をしてくれ、我慢強く対応してくれました。PL/SQL Challengeの成功に貢献してくれた方はもっとたくさんいらっしゃるのですが、お名前をあげることができなかった方々に対して、本当に申し訳なく思っています。

2015年6月21日

[Cloud, BPM] Now Launching Oracle Process Cloud Service

原文はこちら。
https://blogs.oracle.com/bpm/entry/now_launching_oracle_process_cloud

Announcing Oracle Process Cloud Service
Empowering Business Users with Process Automation
Oracle Process Cloud Serviceを使うと、ITの力を借りずに貴社事業部門内でプロセスアプリケーションの自動化を実施することができます。コードを書く必要のないクラウドベースの基盤で、Oracle Process Cloud Serviceはビジネスユーザーが業務プロセスのライフサイクル全体を管理し、プロセスの状態やSLAに対する実用的な洞察を得ることができます。この結果、ビジネス・エンパワーメントが自動化や効率化の新たなレベルに到達します。

Join us in Making History

We are excited Larry Ellisonが6月22日(PDT)にOracle Process Cloud Serviceを発表します。是非オンライン、Webで参加ください。お客様、ハンズオンデモ、製品エキスパートなどわくわくするラインナップを取りそろえています。

How to Learn More on Oracle Process Cloud Service?

Testimonials: PCS Customers and Partners in Action

Events

2015年6月16日

[Java] Deferring to Derby in JDK 9

原文はこちら。
https://blogs.oracle.com/java-platform-group/entry/deferring_to_derby_in_jdk

Java DBはApache Derbyというオープンソースデータベースのリブランド・ディストリビューションで、同じバイナリが含まれています。
Java DB
http://www.oracle.com/technetwork/java/javadb/overview/index.html
Apache Derby
https://db.apache.org/derby/
JDK 9からは、Oracle JDKダウンロードのDBディレクトリにJava DBが含まれなくなる予定です。
Remove JavaDB from JDK 9
https://bugs.openjdk.java.net/browse/JDK-8080959
JDK 9を見据えている開発者でJava DBを使うことを考えている場合は、Apache Derbyを入手しソフトウェアにバンドルすることを検討してください。

2015年6月11日

[Cloud] Larry Ellison Announces Oracle's Complete Cloud Platform – June 22

原文はこちら。
https://blogs.oracle.com/partnernews/entry/larry_ellison_announces_oracle_s

6月22日の月曜日(日本時間では6月23日未明)に、Larry EllisonがOracleの完全なクラウドプラットフォームを発表します。次世代のクラウドサービスとの統合、アプリケーション開発や展開の高速化、ビジネスの変革をリードするにあたって、Oracleがどのようにご支援できるのかを知っていただける機会です。お見逃しなく!
(訳注)
原文はあまりに省略されている箇所が多かったので、Webcastの案内ページをもとに情報を補足しました。

なお、このWebcastの実施予定は以下の通りです。時刻は日本時間です。
登録は以下のリンクからどうぞ。
Live Webcast – Larry Ellison Unveils New Oracle Cloud Platform Services
2015年6月23日(火)午前2時から午前7時
https://eventreg.oracle.com/profile/web/index.cfm?PKwebID=0x2290654ca1&source=WWMK15025623MPP002-EM:SE:IE1:-SEV100425393


[Applications] News for Oracle HRMS (Japanese) Users: 'My Number Act’

原文はこちら。
https://blogs.oracle.com/ebs/entry/news_for_oracle_hrms_japanese

Oracle HRMS(日本語版)がマイナンバー法にどのように対応するのか、と思ってらっしゃるであれば、是非以下をご覧ください。

新しい日本の法律に従い、日本の行政手続きで使われる新しいID番号システムが必要です。いわゆる「マイナンバー法」は、2016年1月の運用開始が予定されており、2015年10月には国民への番号割り当て、通知がスタートします。

この新しいID番号システムはOracleの日本向けHuman ResourcesおよびPayroll製品に影響があるため、Oracleがこの法律の変更にどのように対応するのかを知っていただきたいと考えています。

そんなわけで、Oracle開発チームは次のようなホワイトペーパーをリリースしました。
E-Business Suite HRMS (Japan) My Number Act 2016 Position Statement (Doc ID 2016828.1)
http://support.oracle.com/rs?type=doc&id=2016828.1
My Oracle Supportでドキュメントをご覧いただくと、どのようにOracle HRMSが日本向けにこれらの変更を配信するのかを知っていただけます。

ご質問があれば、Oracle HRMS(Japanese)チームに対し新規サービスリクエストを登録してください。

(訳注)
日本語に翻訳されたものもMy Oracle Supportからご覧いただけます。

2015年6月9日

[Java] Announcing: JDK 8 MOOC: Lambdas and Streams!

原文はこちら。
https://blogs.oracle.com/javatraining/entry/announcing_jdk_8_mooc_lambdas

Oracle Massive Online Cource (MOOC): JDK 8 Lambdas and Streamsの登録を開始しました!このコースは7月14日に開始します。
JDK 8 Massive Open and Online Course: Lambdas and Streams Introduction
https://apexapps.oracle.com/pls/apex/f?p=44785:145:0::::P145_EVENT_ID,P145_PREV_PAGE:4887,143
経験値の高いJavaプログラマーでJavaをオブジェクト指向言語として理解されているとしても、Lambda式について本当に詳しいわけではないかもしれません。また、JavaOne 2012でのBrian Goetzのセッション「Lambda: A Peek Under the Hood」を聞いたことがあったとしても、十分に話を理解できなかったかもしれません。
Lambda Under the Hood (at JavaOne 2012)
https://www.parleys.com/tutorial/lambda-under-hood
そんな方に、たくさんの仲間たちと参加してLambda式を使ったJavaでの関数型プログラミングやStream APIを最新の無料オープンオンラインコース (MOOC)で学習できるちょうどよい機会です。このコースは7月14日からたった3週間のコースですが、学習する内容は盛りだくさんです。例えば
  • Lambdaを日常の問題に適用するには
  • 匿名クラスをLambda式に変換するには
  • Streams APIを使って並べ替え、最大値・最小値の識別、重複の排除といった問題を解くには
  • Lambdaを使う場合、使うべきではない場合を判断するには
  • Collectorsを使うには
  • パラレルストリームを使って性能を向上するには
  • Lambda式をデバッグするには
是非、参加登録してください。コースの詳細を読んで、以下の動画をご覧ください。


7月14日にお会いしましょう!

2015年6月6日

[Java] Java EE 8 Roadmap Update

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

JCPのJSR 366に対する全会一致の承認とJavaOneでの発表で、Java EE 8は公式に2014年9月に立ち上がりました。JavaOne 2014のStrategy Keynoteや、作業の詳細に関するSpec Leadによる数々のプレゼンテーションで、Java EE 8の調査領域のまとめを提示しました。当時設定していたゴールは、この作業を2016年のJavaOne San Franciscoまでに完了させる、というものでした。

JavaOneで大きなことをしたり、聴いたりしたいと思っていますが、Expert Group立ち上げに関わる様々な待ち時間や、Spec Leadの時間に対する負担の結果、当初の予定から少々後ろ倒しにすることにしました。我々はJava EE Platformの作業の透明性に強くコミットしています。それゆえ、予定していた作業完了の目標タイムフレームを2017年上半期に変更することを公式に発表します。Java EEに関わるJSRの目標期日もこの変更を受けて更新する予定です。

この変更を受けて、参加する時間や機会が増えました。例えば、MVC 1.0 JSRの早期ドラフトレビューが発行されましたし、Java EE Security JSRもまもなくそれに続きます。
JSR 371: Model-View-Controller (MVC 1.0) Specification
https://jcp.org/en/jsr/detail?id=371JSR 375: JavaTM EE Security API
https://jcp.org/en/jsr/detail?id=375
個々のJSRメーリングリスト、Wiki、早期Java EE 8参照実装ビルドをダウンロードして試用することで、引き続き開発者の皆さんがJSRを追いかけ、フィードバックを提供してくれることを推奨します。Java EE 8の機能だけでなく、参加することに対しても非常に関心があることを既に存じています。CJUG、Morocco JUGなど、その他たくさんのJUGがJava EE 8や関連するJSRの採択に関わってきました。
Adopt-a-JSR for Java EE - CJUG Meetup Recap
http://jj-blogger.blogspot.com/2015/01/adopt-jsr-for-java-ee-cjug-meetup-recap.htmlJava EE 8/Adopt-a-JSR Updates: Morocco JUG!
https://blogs.oracle.com/theaquarium/entry/java_ee_8_adopt_a1Adopt-a-JSR for Java EE
https://glassfish.java.net/adoptajsr/
企業や個人も参加できます。例えば、SerliはJava開発に強い会社ですが、GlassFishへのアプリケーションバージョン管理に貢献してきました。過去に 現在MVC参照実装に貢献することに同意しています。
Serli
http://www.serli.com/
以下のリンクから初めて、Java EEの将来を決めることに一役買ってください!
Adopt-a-JSR for Java EE
http://glassfish.org/adoptajsr

2015年6月4日

[Java] Hitachi Cosminexus Now Java EE 7 Compatible!

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

(訳注:Hitachiとは当然ながら日立製作所様ですが、このエントリでは全てHitachiとしています)
Hitachi Cosminexus Application Server v10.0 がJava EE 7に対応したことを報告できることをうれしく思っています。CosminexusがWildFly 8、TmaxSoft JEUS 8の仲間入りを果たしたのです。JCPパートナーであるHitachiによるCosminexusは日本市場において長きにわたって重要なプレーヤーであり続けてきました。Java EEに対応した全てのソフトウェアは以下の公式Java EE compatibilityのページからご覧頂けます。
Java EE Compatibility
http://www.oracle.com/technetwork/java/javaee/overview/compatibility-jsp-136984.html
多くの方がご存知のように、Java EE 7に対応することは、来るWebLogic 12.2.1リリースの最も重要なゴールの一つです。また、IBM WebSphere Liberty Profileチームは毎月ベータリリースを出して、意欲的にJava EE 7 Full Platform対応を目指していることも知っています。
Java EE 7 in Liberty…so far…
https://developer.ibm.com/wasdev/blog/2015/05/20/java-ee-7-in-liberty-so-far/
Apache TomEEチームもまた、Java EE 7機能を載せようとしています。それゆえ、問題はだれが次のJava EE 7 compatibilityというフィニッシュラインを超えるか、ということです。到達したチームだけが、Java EE 8実装への取り組みを開始できるのです。

2015年6月3日

[Database] Migrating to Unicode? Get DMU 2.1!

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

キャラクタセット移行もデータベースのアップグレードや移行時に実施する必要がある場合には、Oracle Database Migration Assistant for Unicode (DMU) が非常にお役に立ちます。プロセス全体をより簡単にするようなすてきなGUIツールで、移行要件を評価し、プロセス自動化を支援するものです。
そのDMUにすてきな機能改善がなされ、DMU 2.1になって登場しました。ほぼダウンタイム無しでキャラクタセットの移行を自動化してくれます。詳細はOTNのページからどうぞ。
http://www.oracle.com/technetwork/jp/database/database-technologies/globalization/dmu/overview/index.html(日本語)
http://www.oracle.com/technetwork/database/database-technologies/globalization/dmu/overview/index.html(英語)
(訳注)
OTN-JPのページは、まだDMU 2.1の記述はありません。以下はOTN-USの記述です。
New! Oracle DMU 2.1, released in May 2015, supports a near-zero downtime migration model in conjunction with the Oracle GoldenGate replication technology. Using DMU 2.1 and GoldenGate 12.1.2.1.0 or later, you can set up a migration procedure that takes advantage of the DMU data preparation and in-place conversion capabilities while leveraging GoldenGate to replicate incremental data changes on the production system during the migration process, thereby effectively eliminating the downtime window requirement. Other new features in DMU 2.1 include migration profile support, problem data report, and transparent repository upgrade. Please see the DMU 2.1 Release Notes for changes since the 2.0 release.
DMU 2.1は2015年5月にリリースされました。Oracle GoldenGateレプリケーション・テクノロジーと併せて、ほぼダウンタイム無しでの移行モデルをサポートします。DMU 2.1とGoldenGate 12.1.2.1.0以後を使うと、移行作業中に本番運用しているシステムの増分データ変更をGoldenGateを使って複製しつつ、DMUのデータ準備およびインプレース変換機能を活用する移行手続きを構成できます。これにより、効率的にシステム停止期間の要件を効率的に排除します。その他のDMU 2.1の新機能には、移行プロファイルのサポート、問題データレポート、透過的なリポジトリアップグレードなどがあります。DMU 2.0からの変更点はDMU 2.1リリースノートをごらんください。
Oracle® Database Migration Assistant for Unicode Release Notes Release 2.1
Changes between Releases 2.1 and 2.0
http://docs.oracle.com/cd/E64126_01/doc.21/e56348/toc.htm#BAJCFAHJ
最新の情報はOTNのページからどうぞ。