[WLS, Java] Different ways to take thread dumps in WebLogic Server

原文はこちら。
https://blogs.oracle.com/vijaya/entry/different_ways_to_take_thread

WebLogic Serverでスレッドダンプを取る方法あれこれ

WebLogic Server (WLS) およびJavaでは様々な方法でスレッドダンプを取ることができます。その方法の詳細を以下にまとめました。スレッドダンプ採取にあたっては、Javaクラスや管理コンソールではなく、OSコマンドを使うことを常に推奨します。それは、管理コンソールがハングアップした場合、ユーザーが接続できずスレッドダンプを採取できなくなるからです。
  1. WebLogic Serverをコマンドラインスクリプトから立ち上げている場合、OSコマンドを使いスレッドダンプを取得する。
    • Windowsでは、スレッドダンプの採取方法は以下の通りです。
      スレッドダンプをサーバーの標準出力に生成する
      <ctrl>+<break>
    • POSIX互換プラットフォーム(SolarisやLinuxなど)では、まずプロセスID(pid)を
      ps -ef | grep java
      で特定した上で、以下のコマンドを発行します。
      kill -3 <pid> 2>&1
      シグナル3はSIGQUITと等価です。Solarisの場合、スレッドダンプを現在のシェルで生成しますが、Linuxではpidによって特定されたJavaプロセスを開始したシェルにスレッドダンプが生成されます。
  2. beasvcを利用する (WebLogic Server 10.3.5まで):
    beasvc -dump -svcname:<service_name>
    • <service_name>はサーバーインスタンスを実行するWindowsサービスです(例:mydomain_myserver)
  3. wlsvcを利用する(10.3.6、12.1.1から)
    wlsvc -dump -svcname:<service_name> -log
  4. WLSTを使う
    setDomain.cmd もしくは setDomain.sh
    java weblogic.WLST
    connect("<username>","<password>","t3://<url>:<port>")
    threadDump()
    スレッドダンプをThread_Dump_AdminServer.txtに出力します。
    Note 1274713.1では、WLSTスレッドダンプの詳細(各ダンプの時間間隔の設定方法やスレッドダンプ採取回数の設定など)について説明とサンプルがあります。
    How To Take Thread Dumps With WLST (Doc ID 1274713.1)(My Oracle Supportのアカウントが必要です)
    https://support.oracle.com/epmos/faces/DocContentDisplay?id=1274713.1
  5. WebLogic Server 9.0までであれば、コマンドラインもしくはシェルから、スレッドダンプを以下のコマンドで生成することができます。
    setDomain.cmd もしくは setDomain.sh
    java weblogic.Admin <url>:<port> -username <username> -password <password> THREAD_DUMP
    スレッドダンプを指定したサーバー標準出力先に生成します。
  6. WebLogic Server管理コンソールから、[サーバー]>[サーバー名]>[監視]>[スレッド]とたどり、[スレッドスタックのダンプ]をクリックするとスレッドダンプを生成できます。この方法の場合、スレッドダンプが切り捨てられたり、不完全なものができる場合があります。

  7. WebLogic ServerをWindowsサービスとして実行している場合、サービス管理ツールからスレッドダンプを生成することができます。詳しくはMy Oracle Supportからサポートドキュメントをご覧下さい。
    Collect thread dump in GUI mode when WebLogic Server is running as Windows Service (Doc ID 1348645.1)
    https://support.oracle.com/epmos/faces/DocContentDisplay?id=1348645.1
  8. Java VisualVMを使い、スレッドダンプをアプリケーション実行中に取得することも可能です。詳細は以下のリンクをご覧下さい。
    Java VisualVM - Working with Local Applications
    http://docs.oracle.com/javase/6/docs/technotes/guides/visualvm/applications_local.html
  9. jstackを使ってスレッドダンプを取得します。
    jstack <pid>
    ロックに関する追加情報を表示したい場合は
    jstack -l <pid>
  10. JRockit Mission Controlをお使いの場合、jrcmdを使って取得することができます。
    jrcmd <pid> print_threads
  11. (訳者による追加)JDK 7の場合(7u4以後)、jcmdを使って取得することができます。
    jcmd <pid> Thread.print

[Java] Java Mission ControlとJava Flight Recorder

ご存知の方も多いと思いますが、JDK 7u40から、Java Mission ControlとJava Flight Recorderがバンドルされています。
Java Mission Control
http://www.oracle.com/technetwork/java/javaseproducts/mission-control/java-mission-control-1998576.html
Java Mission Control (Finally) Released!
http://hirt.se/blog/?p=343
概要説明のスライドはこちら。


ホワイトペーパーも出ています。
Oracle Java Mission Control および Java Flight Recorder: パフォーマンスのオーバーヘッドなく、高度なJava診断および監視(日本語)
http://www.oracle.com/technetwork/jp/java/javaseproducts/mission-control/java-mission-control-wp-2008279-ja.pdf
Advanced Java Diagnostics and Monitoring Without Performance Overhead(英語)
http://www.oracle.com/technetwork/java/javaseproducts/mission-control/java-mission-control-wp-2008279.pdf
Java Mission Control、Java Flight RecorderはJava SE Advanced、もしくはJava SE Suiteをお求めの方がご利用いただける機能です(つまりお金必要ですよ、ということですね)。
とはいえ、ちょっと動作を試してみたい、ということもあるかと思います。その場合、上記スライドにもある通り、個人的な評価であればBCLライセンスに基づいて利用可能です。利用に当たっては、次のコマンドを追加する必要があります。
java -XX:UnlockCommercialFeatures -XX:+FlightRecorder
コマンドラインリファレンスは以下からどうぞ。
Java Platform, Standard Edition (Java SE) Command Reference
もしリモートのFlight RecorderからWebLogic Serverに接続したい場合、WebLogic Server起動時のJavaオプションに、JMXの設定(com.sun.management.jmxremote.*)を追加する必要があります。

P.S.
確かにずるいんですけどね…

[Linux] Public yum now powered by Akamai

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

無料アップデートとエラータを利用できることで、大幅にOracle Linuxの人気が高まっています。 2013年3月からの最近のGartner社の調査によると、Oracle Linuxは2012年に前年比80%以上成長し、Linux Server OS市場でトップ3に位置しています。これはLinux Server OS市場全体の伸びを上回りました。
Free Updates and Errata for Oracle Linux
https://blogs.oracle.com/linux/entry/free_updates_and_errata_for
Oracle Continues Linux Leadership in the Enterprise - Customer and Partner Momentum Enable Oracle Linux to Achieve Fastest Growing Enterprise Linux Status
http://www.oracle.com/us/corporate/press/1973585
この人気はダウンロード件数にも反映しました。この頃では毎月80TBのデータ量を提供しており、この数値は増加を続けています。継続的にこの無料サービスに満足頂きたいので、USに配置しているパブリックYumサーバをAkamaiのCDN(Content Delivery Network)を利用するように切り替え、すべてのダウンロード可能なOracle LinuxのRPMパッケージを全世界に配信するようにしました。
Public Yum Server
http://public-yum.oracle.com/
これにより、世界のどこにいても、Oracle Linuxのアップデートやセキュリティ修正を入手する際のパフォーマンスが向上します。Akamai CDNのおかげで、世界のどこにいようと、ダウンロードも同様に速くなっています。
ホスト名でパブリックYumサーバーに接続する必要がありますのでご注意下さい。AlamaiはDNSを使って負荷をリダイレクトしているため、YumクライアントがパブリックIPアドレスでパブリックYumサーバーにアクセスするように設定されている場合、性能向上の恩恵は得られません。是非設定をご確認下さい!

[Security, Architecture] Security by Design

原文はこちら(ドイツ語)
https://blogs.oracle.com/SecurityDE/entry/security_by_design

ITセキュリティーは、アプリケーション開発と同様に正しいデザインに依存します。今日すでにアプリケーション・ランドスケープのデザインにおいて実施しているように、あらかじめ持続可能性を実現するようにしておくべきです。
以下の記事で、エンタープライズアーキテクチャの観点でセキュリティをモデリングする方法を説明しています(訳注:記事は英語です)。
Privacy and Security by Design - An Enterprise Architecture Approach
Ann Cavouvikan (Ph. D), Mark Dixon (2013/9)
http://www.privacybydesign.ca/content/uploads/2013/09/pbd-privacy-and-security-by-design-oracle1.pdf

[FMW, Support] Read the newly updated Fusion Middleware Lifetime Support Policy Document

原文はこちら。
https://blogs.oracle.com/proactivesupportDI/entry/read_the_newly_updated_fusion

新たに更新されたFusion Middleware Lifetime Support Policy Documentがご覧いただけるようになっています。これは製品のEnd of Life計画に関するOracleからの公式な発表です。
ORACLE INFORMATION-DRIVEN SUPPORT
Oracle Lifetime Support Policy - Oracle Fusion Middleware
http://www.oracle.com/us/support/library/lifetime-support-middleware-069163.pdf
詳細は原文をご覧頂くとして、大きな変更点は以下の通りです。
  • 11gおよび10gR3の"Suite"製品のEnd of Lifeの日付が変更されています。
  • BIおよびEPMに関し、新規エントリが追加および更新されています。
  • 以下のサポートドキュメントでは、"Suite"製品の延長されたサポート期間の根拠ならびに、延長された11gR1 PS6のエラー修正サポートについて説明しています。
  • Extended Fusion Middleware 11g Lifetime Support Policy Dates (Doc ID 1585582.1) https://support.oracle.com/rs?type=doc&id=1585582.1
  • 12cに関するLifetime Support Policyの変更はこの変更からは除外されています。12cに関する記述は、ロードマップが確定してから追加される予定です。 

[Applications] Oracle E-Business Suite 12.2 Now Available

原文はこちら。
https://blogs.oracle.com/stevenChan/entry/ebs_12_2_now_available

Oracle E-Business Suite Release 12.2がGAとなり、ダウンロードできるようになったことを発表でき、非常にうれしく思います。
E-Business Suite 12.2 Download screenshot
EBS 12.2はここ数年で最も画期的なリリースです。
Oracle E-Business Suite 12.2 Helps Organizations Make Better Decisions, Reduce Costs and Increase Performance
www.oracle.com/us/corporate/press/2016931
これには新しい製品機能、新しいFusion MiddlewareおよびDatabaseのコンポーネントが含まれており、E-Business Suite環境のインストール、メンテナンスのための新しいツールが用意されました。

数多くの新機能

ERP、HCM、SCMにまたがるビジネスアプリケーションの統合スィート全体にわたり重要な機能強化が施されています。新機能の完全なリストは以下からご覧いただけます。

オンラインでのパッチ適用

ユーザーがトランザクションを入力していたり、E-Business Suiteを利用している間にもEBSのパッチを提供してください。Online PatchingはOracle DatabaseのEdition-Based Redefinition機能(エディションベースの再定義)やその他の新テクノロジーを使い、システムが稼働中であってもE-Business Suiteをアップデートすることができます。Online Patchingに関する詳細は、公式ドキュメントもしくは以下のテクニカルWebcastをご覧下さい。

WebLogic Server

EBS 12.0および12.1で利用してきたOracle Containers for Java (OC4J)アプリケーションサーバーから置き換わってOracle WebLogic Serverを使うようになりました。これによりシステム管理体験が向上するのか、公式ドキュメントもしくは以下のテクニカルWebcastをご覧下さい。

合理化されたインストール

  • 既存のDatabaseサーバーへのEBS 12.2をインストールするためのオプション
  • 既存のReal Application Clusters環境にインストールする機能
  • Automatic Storage Management (ASM)やその他のファイルシステムへのデータベースのデプロイ

EBS 12.2へのアップグレード

EBS11iから12.2へ直接アップグレードする方法はありますか?

はい、EBS 11.5.10.2からEBS 12.2へ直接アップグレードできます。EBS 11.5.10.2のお客様はEBS 12.2へのアップグレードのために、例えば12.1.3のような中間のEBS 12リリースをインストールする必要はありません。EBS 11.5.10.2のお客様はOracle E-Business Suite Release 11.5.10 (Doc. ID 883202.1)のExtended Supportのための最低限のベースラインパッチ要件を適用しておく必要があります。11.5.7など、EBS 11iより前のリリースをお使いのお客様であれば、EBS 12.2へアップグレードする前にExtended Supportの最低限のベースラインパッチ要件に加えて、11.5.10.2レベルにしておく必要があります。

EBS 12.0から12.2へ直接アップグレードする方法はありますか?

はい、EBS 12.0.4、12.0.6からEBS 12.2へ直接アップグレードできます。EBS 12.0.4もしくは12.0.6のお客様は、EBS 12.2へのアップグレードのために、例えば12.1.3のような中間のEBS 12リリースをインストールする必要はありません。12.0.3など、それ以前のEBS 12.0リリースのお客様であれば、EBS 12.2へアップグレードする前に12.0.4もしくは12.0.6レベルにしておく必要があります。

EBS 12.1から12.2へ直接アップグレードする方法はありますか?

はい、EBS 12.1.1、12.1.2、12.1.3からEBS 12.2へ直接アップグレードすることができます。

EBS 12.2のためにどのような準備をすればよいでしょうか。

    参考資料

    [Database, Solaris] Tech Article: Oracle Multitenant on SPARC Servers and Oracle Solaris

    原文はこちら。
    https://blogs.oracle.com/eSTEP/entry/tech_article_oracle_multitenant_on

    9月に、新しい技術記事を発表しました。
    Oracle Multitenant on SPARC Servers and Oracle Solaris (by Ritu Kamboj)
    http://www.oracle.com/technetwork/articles/servers-storage-admin/multitenant-on-sparc-solaris-2016889.html
    この記事では、Oracle Solarisで動作するSPARCサーバー上でOracle Database Enterprise Edition 12cのOracle Multitenantオプションを使うメリットをご紹介しています。また、Oracle ZFS Storage Applianceに展開されたときにOracle Database 12cのthin provisioningと瞬時クローニング機能を有効にする手順も取り上げています。