M12i.

学術書・マンガ・アニメ・映画の消費活動とプログラミングについて

SQL

OracleDBのUPDATE文でORA-01427エラーに苦しめられた

SQL

GW突入前、というかもう突入した後とも言い得る5月はじめ、仕事で保守しているシステムで、OracleDBのUPDATE文でORA-01427エラーに苦しめられました。ORA-01427は、「単一行副問合せにより2つ以上の行が戻されます」というエラーメッセージに明らかな通り、S…

INSERTで"enq:TX – row lock contention"

SQL

恥ずかしながら、INSERTで行ロック解放待ちが起こるということをつい先日になって知りました。言われてみれば当然な話で、本当に恥ずかしい…。発端はしごとで触っているOracle DatabaseでINSERT文を実行するセッションがイベント"enq:TX – row lock contenti…

SVNKitのDate型をPostgreSQLドライバに食べさせると毒死

引続きMyBatis関連でハマったはなしです。SVNリポジトリや作業コピーをJavaコードから操作するためのライブラリSVNKitにまつわるはなしです。まずは結論。 結論 SVNKitのAPIが返すjava.util.Date型オブジェクトをPostgreSQLのJDBCドライバに食べさせてはいけ…

MyBatisのEnumTypeHandlerにハマる

季節感というか日付感のない記事で恐縮ですが、正月とか元旦とか関係なくMyBatisのEnumTypeHandlerでハマったはなしです。例によって結論から述べましょう。 結論 MyBatisでSQLのパラメータとしてenumを渡し、SQLのステートメント内で#{paramName.propertyNa…

PentahoでOracle JDBC 10.2.xのバグに遭遇

仕事で面倒を見ているシステムにPentaho Data Integration(PDI)を使用したバッチ処理があるのですが、先週木曜日その処理がハングする事象が置き、きょう月曜日には本来処理されるべきデータが大量に処理対象漏れを起こすという事象が続いて起きました。事…

笠原 辰仁『PostgreSQL徹底入門 第3版』

PostgreSQL徹底入門 第3版作者: 笠原辰仁,北川俊広,坂井潔,坂本昌彦,佐藤友章,石井達夫出版社/メーカー: 翔泳社発売日: 2011/02/02メディア: 大型本購入: 3人 クリック: 28回この商品を含むブログ (6件) を見るPostgreSQLのインストールや起動・停止、GUIツ…

PostgreSQLのREINDEXはスコープ指定できる

SQL

PostgreSQLのREINDEXコマンドについてのメモです。公式ドキュメントを読んでいて気がついたのですが、PostgreSQLにおいてINDEXのリビルドを行うためのコマンドREINDEXにはスコープについてオプションがありました。すなわち: REINDEX { INDEX | TABLE | DAT…

Pentaho SpoonでH2データベース接続を追加する

一度分かってしまえば大したことではないのですが、そこに至るまでに時間を要してしまったので、ここにメモしておきます。H2データベースはJavaで実装された組み込み用途向けのデータベースです*1。このH2を利用することで、過去に変換(Transformation)を…

青いゾウさんデータベースでサンプルDB構築

SQL

・・・というわけで、今回はPostgreSQL 9.3を手元の環境に導入して、サンプルDBを構築した時のメモ。ほんとうは通常版のPostgreSQLをインストールしたほうがよいのでしょうけれど、Postgres.appの青いゾウさんに惹かれて。 Postgres.appにて[Download]をク…

ORACLE MASTER Silverになった

6月にイヤイヤ日商簿記3級の試験を受けた反動を利用して、自分にしてはずいぶん素直に予習をして(念入りに、ではない)なんとか計画通りに試験合格。Bronzeの受験時につづき今回も試験システムがハングして、結果受験が一週間延期となっていたものの、無事…

Oracle Database 11g Release2 をVirtualBox上のCentOS 6.5にインストール

というわけで今さら感が非常に強いけれども、Silver DBA 11g試験に向けた勉強のため、参考書に頼ってインストールをしようとしたら、例によってあれこれハマったので手順をメモしておく。 CentOS 6.5のインストール 前提としてVirtualBox x CentOS 6.5(Desk…

MERGE文はレコード重複のちがいで2通りのORAエラーになる

SQL

Oracle DatabaseのMERGE文について、職場で短期間に2つのORAエラーを目にした。障害復旧で対応していたのだけれど、最初同一事象なのになぜこんなに異なる結果になるのか、と訝しんだ。結論としては下記のようになる(厳密に言うと同一事象ではなかった): …

MyBatis-Guiceではじめよう

なんといっても簡単にできそうなので、近々MyBatis・Guice・Derbyの組み合わせでコードを動かしてみようと思っています。 一応準備(?)として例によってMyBatis-Guiceの入門テキストを読んでみました。原典は、“MyBatis - MyBatis Guice | Getting started…

SQLExceptionのサブクラスたち

"Upgrade to Java SE7 Programmer"試験の参考書を読んでいて説明不足感のあったSQLExceptionのサブクラスたちについて、Oracleの公開している“Java™ Platform, Standard Edition 7 API Specification”を読んでみた。以下、翻訳結果。 * * * SQLException …

Derby初心者のための自習チュートリアル(抜粋)

Apache Derby公式サイトで公開されているチュートリアルについて、とくに組み込み用途に関係する部分を抜粋して翻訳してみました。Java言語初心者でも分かるように説明されているのはちょっとやりすぎのような気もしますが、ともあれ自作プログラムに組み込…

Apache Derbyを組み込みDBとして使う

Apache Derbyは、Javaで実装されたサーバ/クライアント型でも組み込み型でも使用できるデータベース。今回は公式のマニュアルを参考に、以下の処理を行うプログラムを作ってみた。 まあようするに何の役にも立たないお勉強用プログラム・・・。 データベースが…

OSS教科書 OSS-DB Silver

OSS教科書 OSS-DB Silver作者: 株式会社日立製作所福岡博,NTT OSSセンタ藤井雅雄,日本PostgreSQLユーザ会笠原辰仁,満川一彦出版社/メーカー: 翔泳社発売日: 2011/10/15メディア: 単行本(ソフトカバー)購入: 1人 クリック: 21回この商品を含むブログ (2件) …

PL/SQLでループ処理中BLOB→CLOB変換してBDMS_LOB.INSTR()を使用する

SQL

はじめに この記事では次のような要件を実現するためのPL/SQLを掲載しています。これが最適の解かどうかは微妙ですが、ともかくも私はこう切り抜けた、という話です。 要件 一連のBLOBデータとしてOracle DBに格納されているHTMLファイルのなかに、(これま…

ジョー・セルコ『プログラマのためのSQL 第2版』

プログラマのためのSQL 第2版ジョー・セルコピアソンエデュケーション発売日:2001-04ブクログでレビューを見る»率直に言って、難しいことや深いことまでが書かれているけれども簡単なことまでもが難しく書かれている、という感想です。有用なのは事実です。…

SQLについて整理のためのメモ

SQL

正直にいってJavaScriptからプログラミングの世界に入ってプレゼンテーション領域ばかり見てきた人間には、Javaやその他の手続き型オブジェクト指向言語のだいたいの“動き”は予測がつくものであっても、SQLの“動き”というのはそうでもない。とくにGROUP BY句…