読者です 読者をやめる 読者になる 読者になる

#chiroito ’s blog

Java を中心とした趣味の技術について

Oracle Application Express 5.1 のインストール

Oracle Application Express (APEX) は、Webブラウザだけでアプリケーションが開発できる無償のツールです。アプリケーション開発者はセキュリティ、認証、データベース連携、入力検証、セッション管理等を気にせず開発できます。作成したアプリケーションは…

JAX-WS アプリケーションの開発(スタブの自動作成、スタブの使用)

JAX-WS のクライアントから次のJAX-WSのクラスを使用するまでの流れを紹介します。 package chiroito.jaxws; import javax.jws.WebMethod; import javax.jws.WebService; @WebService public class JaxWsSample { @WebMethod public String hello() { return…

IntelliJ IDEA と WebLogic Server で Java EE 開発

IntelliJ IDEA と Oracle WebLogic Server を使用して Java EE の Web アプリケーションを開発するまでの手順です。最後に開発時間を短縮する Tips もあります。 前提条件 Oracle WebLogic Server 12.2.1.2.0 (以降 WebLogic Server)のインストールと構成ウ…

Oracle 公式の Docker レジストリからイメージを pull

Oracle 公式の Docker レジストリには、Oracle WebLogic Server、Oracle JDK、Oracle Database、MySQL などの Oracle 製品がインストールされたイメージがあります。これらの公式イメージは Oracle 社のシングルサインオンアカウントを登録するだけで使用で…

IntelliJ IDEA で CDI をデバッグする時の落とし穴

IntelliJ IDEA (以下 IntelliJ) を使用して CDI 実装の1つである Weld を使用したアプリケーションを開発している人は多いかと思います。 テストフェーズでは、テストが上手くいかず、原因を特定するためにデバッグ実行をして動きをステップ毎に確認すること…

Java がファイルを読んでいるか strace を使って確認する

Java アプリケーションの動きを分析をしていると、javaプロセスがファイルを開いたのかどうか確認したいことがあります。自分で作成したアプリケーションがファイルを読み書きしていればログを入れて確認できますが、アプリケーションの変更が簡単に行なえな…

Oracle Linux で Dtrace を使う

性能分析をしていると、OS上で稼働しているプロセスがそれぞれどのくらいのデータ長を何回書いたのか、Java のスレッドのライフサイクルを測定したいということは無いでしょうか。ですが、これらの情報を取得することはアプリケーションを対応させたりなどし…

ZFS on Linux の設定値の場所

zfs

ZFS の値を調べるときにいつも場所を忘れてしまうためのメモ。 インストールしている ZFS on Linux のバージョンは次の通り 0.6.5.8 です。 > rpm -qa | grep zfs libzfs2-0.6.5.8-1.el7.centos.x86_64 zfs-release-1-3.el7.centos.noarch zfs-0.6.5.8-1.el7…

Docker Compose で Oracle Database を動かす

Docker 上で Oracle Database のイメージが構築されているものとします。まだ、Docker 上で Oracle Database を構築していない場合にはこちらをご参照ください。 公式 Oracle Database の Docker イメージを構築 - @chiroito ’s blog docker コマンドを使用…

Docker 上に構築した Oracle Database のパスワードを変える

Oracle 公式の Docker イメージで Oracle Database を構築すると docker run した時にパスワードが出力されます。(パスワードは下のZ6koiFT2K8A=) > docker run --name orcl oracle/database:12.1.0.2-ee ORACLE AUTO GENERATED PASSWORD FOR SYS, SYSTEM …

公式 Oracle Database の Docker イメージを構築

Oracle 公式のスクリプトを使用して Oracle Database を Docker 上に構築します。今回は Oracle Database Enterprise Edition 12.1.0.2.0 を構築します。 データベースを構築するまでの手順は次の通りです。 oracle/docker-images の準備 インストールバイナ…

OracleJDKのDocker イメージで任意のアプリケーションを実行する

Oracle JDK の Docker イメージ上で Java SE のアプリケーションを実行するには以下の手順が必要です。 アプリケーションの用意 OracleJDK 環境構築 アプリケーションの実行 アプリケーションの用意 現場で使う場合には CI ツールでビルドされた jar/war/ear…

Docker でZFS をストレージとして使う

Docker のストレージドライバに ZFS 用のドライバがあると知り、家にある ZFS サーバを ZFS 兼 Docker サーバにしてみました。 参考: docs.docker.com 環境 Oracle Linux 7.3 ZFS on Linux 0.6.5.8 Docker 1.12.3 既存の環境の確認 ZFS は以下の通り storag…

Github で楕円曲線暗号の GPG Key を使う

概要 Github ではデジタル署名したコミットに対して [Verified] というものが表示されるようになっています。デジタル署名をする事で人を証明し、内容が改ざんされていないことを保証するものなので、できるだけ導入しましょう。 十分親切なマニュアルが Git…

楕円曲線暗号を使った GPG キーの作成

概要 GnuPG を使用して 楕円曲線暗号(ECC)を使った GPG キーを作成します。 GnuPG をダウンロード GPG キーを作成 環境 Windows 8.1 Pro GnuPG をダウンロード GnuPG はこちらからダウンロードします。(GnuPG - Download) Windows 版は 3 種類あります。現時…

Oracle公式Java実行環境のDockerイメージを構築

概要 Oracle 社の公式の Docker の設定ファイルが Github 上で公開されています。 github.com 設定ファイルには様々な製品の物が含まれていますが、今回はこれを使用して Oracle Java の実行環境を構築します。 作業 設定ファイルと Java のサーバランタイム…

Kitematic でリモートの Docker Engine を管理する

概要 Windows を使っているので GUI で Docker を操作できる Kitematic を使って見たら、Virtualbox 上で仮想マシンを自動で構築してくれてるため非常に便利そうでした。しかし、日常で VPN 接続したりプロキシを切り替えたりしないといけないため、自動で作…

Docker Machine で Oracle Linux 上に Docker 環境を構築する

概要 Docker の環境を用意するのは docker をインストールするだけではなく、リモート接続できるようにしたり TLS 通信を出来るようにしたりなど様々な作業が必要となります。Docker Machine を使うことで簡単な作業だけで環境を構築できるようになります。 …

Oracle Linux 7u2 に UEK 4 をインストール

概要 OL 7u2 では、UEK 3.8 がインストールされているので、UEK を 4.1.12 へアップデートします。yum のリポジトリファイルを最新化してから UEK をアップデートします。 環境 Oracle Linux 7 update 2 リポジトリファイルの更新 最新の yum リポジトリのフ…

TLS を使用して Docker へ接続する

概要 Docker はネットワークを使わない方法も平文でのネットワーク通信も可能です。ここでは Docker を安全に使うため TLS を使用して信頼できるクライアントから信頼できるサーバへのみ接続できるようにします。 Docker Engine の起動引数に認証局の証明書…

Windows から Virtualbox 上の docker ホストへ接続する

概要 Windows 8.1 で docker を使用するには、Virtualbox を使用しないといけません。Docker ホストは docker-engine をインストールした段階ではリモートから接続できません。今回はリモートから TCP の 2375 番ポートで接続できるように Docker ホストを設…

Oracle Linux 上で docker を動かす

概要 Oracle Linux 7 update 2 (以降OL 7u2) をインストールし終わったところから、ローカルで docker を動かすところまでを紹介します。 また、会社等では HTTP のプロキシが使用されていると思いますので、docker が HTTP プロキシを使えるようにするとこ…

VPN 環境下で Docker を使う

概要今さらですがようやく Docker を使いはじめてみたのですが、VPN 接続をすると Docker ホストやコンテナへ接続できず、必要に応じて VPN を有効/無効しなければならないため非常に不便でした。VPN 環境下でも ループバックアドレスへはアクセスできるため…

nasne 監視システム -Oracle Stream Explorer-

この記事はnasne監視システムを作る記事の第3弾です。[nasne 監視システム概要]で紹介しましたが、nasne監視システムは4つの要素で構成されています。今回はその中で最もコアな部分である Complex Event Processing を紹介します。Complex Event Processing…

nasne 監視システム -収集プログラム-

この記事はnasne監視システムを作る記事の第2弾です。[nasne 監視システム概要]で紹介しましたが、nasne監視システムでは下図のように4つの要素で構成されています。今回はその中で収集プログラムを紹介します。収集プログラムは定期的に nasneから情報を収…

nasne 監視システム概要

背景我が家にはHDDレコーダとしてSONYのnasneが2台あり、2番組を同時録画できるようにしています。普段は録画したら数日中に見て消すので何も気にせず使っていますが、仕事が忙しくなるとどうしても見ることができなくなってしまいます。ある日、仕事に没頭…

JMS 2.0 ハンズオン @JavaOne San Francisco 2015

2015年10月25日(日)~29日(木)にサンフランシスコで開催された JavaOne San Francisco 2015 でJMS 2.0 を体験するハンズオンセッションを行いました。ハンズオンのタイトルは Down and Dirty with JMS 2 [HOL2575] です。ハンズオン資料はこちら(JMS 2 Hand…

nasneの容量を取得する

環境:Oracle Linux 6 update 4curl と jq が必要です。下記の通りインストールと jq のページからダウンロードして下さい。yum install curlnasne HOME のハードディスク管理で情報を取得している URL を利用します。nasne はいろいろな情報を JSON 形式で…

Java で Hugepage を使用する

JPOUG Advent Calendar 2013 の 12月12日のエントリです。http://www.zusaar.com/event/1687004Java で Hugepage を使う方法を紹介します。Hugepage は、非常に大きなメモリ空間を使用するDatabaseでのみ使用されると思われがちですが、Database の専用技術…

VirtualBoxのネットワーク設定まとめ

VMのネットワーク設定についてまとめまとめる内容は以下の通りNAT内部ネットワークホストオンリーアダプタ今回使用したネットワークは、ブロードバンドルータとPCがあるだけのネットワークです。ネットワーク図書いたことないので出てくる図は雰囲気から読み…

VirtualBoxでNATをつかう

環境とかVMの情報とかはこちらを確認してください。VMで、インターネットへのアクセスが必要なときに使う機会が多いと思います。VMが持つ複数のNICの内、1つはNATの設定になるでしょう。ホストであるPCからVMへの通信と、VM間の通信はおこなえません。設定ま…

VirtualBoxで内部ネットワークをつかう

環境とかVMの情報とかはこちらを確認してください。VMで、RACやCoherenceクラスタなどのVM間での通信を行う場合に使います。同一のネットワーク内のVM以外との通信はおこなえません。設定まずは、VMが内部ネットワークを使うようにVirtualBoxの設定をします…

VirtualBoxでホストオンリーアダプタをつかう

環境とかVMの情報とかはこちらを確認してください。ホストからVMへ通信を行う場合に使います。同一ホスト外との通信はおこなえません。設定まずは、VMがホストオンリーアダプタを使うようにVirtualBoxの設定をします。次に、VMのOSの設定をします。IPやネッ…

実行環境に同じクラスが複数あるとどうなるのか

概要 Javaの実行環境で同一のクラスが他のJARファイルにあるとどの様な挙動をするのかを確認してみます。 環境Java SE Development Kit (JDK) 6 Update 29検証 まずは同じクラスファイルを含むjarファイルtest1.jarとtest2.jarを作成します。各jarに入るクラ…

LVMを使用したOracle VM仮想マシンイメージをVirtualBoxでサルベージ

Oracle VM Serverで動かしていた仮想マシンにSSHのキーを忘れてきてしまったので仮想マシンのディスクイメージからVirtualBoxを使用して回収を試みました。今回のディスクイメージはLVMを使用しています。 環境ホストマシン Windows 7 Ultimate SP1Oracle VM…

ZFS on Solaris 11 Expressストレージサーバの移行

自宅インフラの整理に伴いSolaris 11 Expressで動いているZFSのストレージプールを移行してみました。移行元で使用していたpoolのstorageの移行と、移行元では冗長化していなかったrpoolのミラーリングを行います。 環境 移行元も移行先もOSはSolaris 11 Exp…

Oracle VM Manager 3.0でのパスワードにトラップ

Oracle VM Manager 3.0をインストールする時にDBのパスワードを聞かれますが、このパスワードに特定の条件を与えると『The database could not be reached using the provided connection info.』なんて事を言われてしまった時の解決策です。環境Oracle Linu…

開発環境でもこれだけはやろう -表領域編-

概要 開発環境ではUSERS表領域一択といったように適当になりがちな表領域管理ですが、開発環境で使うスキーマa、スキーマb、スキーマcは表領域A、テスト環境で使うスキーマd、スキーマe、スキーマfは表領域Bと分けておくとバックアップの範囲を絞っ…

DATAPUMPのディレクトリを調べる

概要 データベース・表領域・スキーマ・テーブルという様々な範囲でデータを抽出することのできるData Pumpのファイル作成先フォルダを確認するSQLです。環境Oracle Database 11.2.0.1.0作業SELECT DIRECTORY_PATHFROM dba_directoriesWHERE DIRECTORY_NAME =…

空データか否かによるinsert実行時間の推移

概要 読取元のテーブルからデータを取得、データの加工し、書込み先のテーブルへ書き込む処理の中で、各カラムに保存されているデータがnullか否かにより実行時間にどれくらいの変化があるかカラム数を増加させることにより検証します。実装方法は「単発のin…

insertの投げ方による実行時間のカラム数増加による推移

概要 読取元のテーブルからデータを取得、データの加工し、書込み先のテーブルへ書き込む場合にカラム数を増加させることにより実行時間にどれくらいの変化があるかを検証します。実装方法は「単発のinsertをレコード数繰り返す」、「bulk insert」、「inser…

insertの投げ方による実行時間検証

概要 読取元のテーブルからデータを取得、データの加工し、書込み先のテーブルへ書き込む場合に実装方法にどの様に実行時間が変化するのかを「単発のinsertをレコード数繰り返す」、「bulk insert」、「insert-select」のケースで検証します。環境Databaseサ…

Coherenceサンプルソース vol.1

環境Coherence 3.7.0.0b23397Eclipse Java EE IDE for Web Developers.Helios Service Release 1Java 6.0 update 18サンプルソース 会社コードが1のエンティティの価格を30円引くシンプルなEntryProcessorのサンプルです。Entity.javapackage com.chirokings…

圧縮率の高いデータでZFS圧縮

概要 良く圧縮されるデータを使用し、ZFSの圧縮の種類を変更してCPUの使用率を測定してみました。環境AMD Athlon 64 X2 3500+ EE (35W)DDR2 5GBM3A78-VMHDS721010CLA332Solaris 11 Express検証方法 下記の構成で検証をしています。コピー元プール:HDD×3のス…

圧縮率の低いデータのZFS圧縮

概要 ZFSの圧縮の種類を変更してCPUの使用率を測定してみました。なお、本環境で圧縮率の低いデータの圧縮を使うとCPUネックになります。環境AMD Athlon 64 X2 3500+ EE (35W)DDR2 5GBM3A78-VMHDS721010CLA332Solaris 11 Express検証方法 下記の構成で検証を…

ZFSで各構成のベンチマーク

概要 ZFSのプールをHDDの構成を変更してベンチマークを取ってみました。環境AMD Athlon 64 X2 3500+ EE (35W)DDR2 5GBM3A78-VMHDS721010CLA332 ×4Solaris 11 Express検証方法 下記の構成で検証をしています。one~four:HDD×1~4(ストライピング)mirror:H…

はてなブックマークボタンをJavascriptで動的にする

概要 このBlogにはてなブックマークボタンを追加しようとしたらはてな提供の自動生成ツールではURLとタイトルが固定のようだ。なのでここではURLとタイトルを動的に変更できるようにJavascriptを使って書き換えます。環境Firefox 4.0.1Internet Explorer 8.0…

Oracle Enterprise Linuxでyumを使う

概要 Oracle Enterprise Linuxでyumを使ってインターネット上からパッケージを取得します。環境Oracle Enterprise Linux 5 update 5 まずはLinuxのバージョンを確認します。Redhat Enterprise Linuxの場合はenterprise-releaseが無いためreadhat-releaseの中…

Oracle Grid Infrastructure -NTPデーモンの設定-

概要 runcluvfy.sh stage -pre crsinstをした時やruncluvfy.sh comp clocksyncでNTPのチェックをした時に出力されるエラーの調査方法とその解決方法です。 NTPデーモンが実行されていない場合はこのようなエラーが出力されます。PRVF-5415 : NTPデーモンが実…

JRuby on Railsシステム構築入門 5章 -GAE版-

『JRuby on Railsシステム構築入門』の内容をGoogle App Engineで動作させてみたいと思います。本内容をblogに記載することの許可と協力をして頂きました著者である橋本 吉治 氏(@hasssie)に感謝致します。なお、具体的な説明は行いません。詳細は書籍を参照…