2008年05月27日

[DB2]チェックペンディングかどうかの確認

よくわからんなー。
マニュアルにはSYSCATのSTATUSを見ろ、とある

つまり、わけわからんくなったら、

db2 "select tabschema,tabname,status,access_mode from syscat.tables"

で、status=N,access_mode=F でないテーブルチェックペンディングだ、ということらしい。

ペンディングの解除には、set integrity for TBL immediate checked

(詳しいコマンドは → SET INTEGRITY )
posted by koteitan at 16:36| Comment(0) | TrackBack(0) | DB2 | このブログの読者になる | 更新情報をチェックする

[DB2]ペンディングの確認と解除

たまには、Java のネタでも書きたいのぅ・・。(´-ω-`)
おいらデータベースっちゅうのは嫌いなんだよ、なんかな、
生理的に受け付けないちゅうか・・。ヤレヤレ

db2において、データをロードすると、バックアップペンディングになる。
そりゃそうだ、アクティブログとデータが不整合してんだから、当たり前だ。
不整合というと言葉が変だな、まーどうでもいい。

これを解除するには、素直にオフラインバックアップすればいい。
restore? そんなの関係ねぃな、個人的な環境などで、
バックアップ('A`)マンドクセならば、db2dartという禁断のコマンドがある。

/chst というオプションが、ステータスの変更に対応している。
これは本来はトラブルシュートなどの目的でサポートから指示の有る場合以外は使用禁止だ、という位置づけである。

自己責任で行ってくだされ。

正攻法でいくなら、バックアップを取るしかない。
空き容量が無いなら、
(aix、unix)
db2 "backup db sample tablespace tbs01 to /dev/null"

(windows)
db2 "backup db sample tablespace tbs01 to nul"
posted by koteitan at 16:08| Comment(0) | TrackBack(0) | DB2 | このブログの読者になる | 更新情報をチェックする

2008年05月26日

[Excel]ワークシート数をゲット

挿入-名前-定義からテキトーに名前決めて、

現在のワークシート番号
 = GET.DOCUMENT(87) + Now()*0

ワークシート合計
= GET.WORKSHEET(4) + Now()*0

Now()を入れてるのは再計算させるため。
VER4.0関数という黒歴史な関数らしく、今後のバージョン
サポートされるかわからんちん。
無責任参考リンク
posted by koteitan at 16:18| Comment(0) | TrackBack(0) | その他備忘録 | このブログの読者になる | 更新情報をチェックする

2008年05月20日

ウイルスバスター2008のがっかり感はすさまじい

ずっと、2005版で我慢してたのに、製品サポートが切れるとかなんとかで
仕方なく、2008へ。フルバックアップに8時間、インストール初期チェックに4時間。

現時点での問題
 ・2005より重い
 ・迷惑メール対策Beckyに対応していない
 ・不正変更点監視が煩すぎる

wktkして損した。迷惑メールフィルターは、2007のが
神懸かった性能だから、余計がっくり感が強いねぇ。

Becky + ウイルスバスター2008でgoogle先生に聞くと、
同じ憤懣本舗な同士がちらりほらり。

そんな同士に紹介してもらった深海魚フィルターを試してみる。
フィルター性能は申し分無いが、速度はバスター2007に軍配有りかなぁ・・。
しかし、Beckyに深く連動する点を考慮すると甲乙付けがたいねぇ。
posted by koteitan at 11:17| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年05月09日

No suitable driver

これはハマる危険があるかもなぁ。
英語がわかる人ならなおさら。
「適当なドライバが無い」と、いわれるとLIBPATHとか
LD_LIBRARY_PATHとかを疑ってしまうじゃない?
まぁ、そっちであることもあるんだけどさ。

これは、大抵がJDBCのURLを書き間違いによるものが多い。
勘違いしてTYPE2方式で書いちゃったとかだな。
それなら、URL MissMatch とか Invaild DatabaseName とか
もうちょっとわかりやすいエラーメッセージでいいんじゃね?('A`)
と思うのは俺だけだろうか・・。
参考リンク
posted by koteitan at 14:07| Comment(0) | TrackBack(0) | Java | このブログの読者になる | 更新情報をチェックする

2008年05月01日

DNSキャッシュの制御

java上のDNSのTTL制御は

networkaddress.cache.ttl
networkaddress.cache.negative.ttl

をjava.plolicyファイルで制御する。
プログラマブルには変えられない。

起動オプション(-Dパラメータ)で制御は可能だが、
名前が変わるっぽい。(未検証)

・networkaddress.cache.ttl ⇒ sun.net.inetaddr.ttl
・networkaddress.cache.negative.ttl ⇒ sun.net.inetaddr.negative.ttl

デフォルトは-1で無限キャッシュ
うろ覚えだが、DNS Rebindingを防ぐために無限になってたと思う。
不便を取ってでも、安全側に倒す設計思想であーだこーだと聞いた
記憶がある。

DNS-Rebinding については、
 http://yebo-blog.blogspot.com/2007/10/dns-rebinding-dns-pinning.html
http://www.tokumaru.org/d/20071126.html

等が詳しく解説されている。
posted by koteitan at 15:48| Comment(0) | TrackBack(1) | Java | このブログの読者になる | 更新情報をチェックする

java で HTTPS with proxy

あんまり需要が無いのか、調べてもあまり出てこないね。
結論だけ書くと、

https.proxyHost
https.proxyPort
https.proxyUser
https.proxyPassword

System.setPropertyで設定すればおk
ただし、システムプロパティなので、全スレッドに影響する。
Dynamicに反映されるが、同期を取らないと影響はでる。
ClassLoaderを分ける裏技もある
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=16868&forum=12&start=8

user名とパスワードを毎回変えたいのならば、
BASE64Encoderを使って、
setRequestProperty( "Proxy-Authorization", "Basic " + encoder.encode( "user:password".getBytes() ) )

こんな設定もおkらしい。
Base64Encoderはsunパッケージなので、
sun以外のJVMでは動かないこともある。
そのあたりは、参考リンクを辿ってくだされ。


参考リンク
posted by koteitan at 15:32| Comment(0) | TrackBack(0) | Java | このブログの読者になる | 更新情報をチェックする

snapshot の取り方

なんか、フェッチした行数とかメモリの使用量とかいろいろ
評価するときに使うみたいだなー。

(1)モニター設定を有効にする。
インスタンスオーナーにて、
db2 "update dbm cfg using DFT_MON_BUFPOOL on
DFT_MON_LOCK on DFT_MON_SORT on
DFT_MON_STMT on DFT_MON_TABLE on
DFT_MON_UOW on"

(2)設定を有効にするためにインスタンス上げ直し
db2 force applications all
db2stop
db2start

(3)設定を確認
db2 get monitor switches

(4)スナップショットをパチリ
db2 "get snapshot for database on [DB名]"


・再起動しなくても有効になるモニター値とかもあるみたい
・モニターを元に戻すには、(1)のコマンドを[off]で実行
参考リンク
posted by koteitan at 15:18| Comment(0) | TrackBack(0) | DB2 | このブログの読者になる | 更新情報をチェックする