IT

【Oracle】SQL Loaderのdirect=trueオプションでKEY重複データが取り込めることに対する愚痴


SQL Loaderでdirect=trueをオプション指定すると、KEY重複してるデータが登録できてしまう。
PRIMARY KEY INDEXを張ってる場合、この結果、そのPK INDEXが破損するので、
そのPK INDEXを明示的に指定しているhint文があると、SQLエラーになる。
ひどい話である。
SQL LoaderもPKもhint文も結局はOracleの技術なはずなのに、
同社内の技術同士で首を絞めあう矛盾を作り上げてしまっている。
なんでそんな作りにしたんだOracleは…理解できない。
………というのの愚痴とメモ。



【Oracle】group byで使う条件句「having」について


havingは、group byで集計する時に一緒に使える条件句である。
個人的には、group by部分を副問い合わせにしちまって外側でwhere句で絞り込む方が多いのだが、
集計すると同時に絞り込めるという点では、SQLがシンプルになってよいのだろう。
使い方の備忘録として残す。


 


【Solaris】pargsコマンド


Solarisには「pargs」というコマンドがある。
PIDを引数に渡すとそのプロセスの実行オプションを一覧形式でずらーっと並べて表示してくれるコマンドである。
長ったらしいコマンド(特にJava)の場合、psコマンドでもなんとなく実行時オプションは調べられるが、
psコマンドの限界でオプションの最後まで確認できないことが往々にしてあり、そういうときに使う。
使い方は以下の通り(引数に調べたいプロセスのPIDを渡す)

pargs -a [PID]