2009年11月20日金曜日

ポストグレス8.25→8.41 バージョンアップしてto_dateとかだめ

久しぶりのさせている!!

ポスグレバージョンアップ時に
型しばりがつよくなり以下のような
書き方がすべてエラーになってました。

8.25 ○ to_char(now(),'YYYYMMDD') = 20091119
○ to_date(20091120,'YYYYMMDD')
8.41 × to_char(now(),'YYYYMMDD') = 20091119
○ to_char(now(),'YYYYMMDD') = '20091119'
× to_date(20091120,'YYYYMMDD')
○ to_date('20091120','YYYYMMDD')

上記のためかなりの機能が動かなかったが、
SQL直さないとだめ?? させているよ
だが弊社のD氏いい記事をみつけてくれた
参考
http://lets.postgresql.jp/documents/tutorial/cast/

暗黙的キャストの定義 (PostgreSQL 8.4 向け)
をやったら解決
CREATE CAST (int4 AS text) WITH INOUT AS IMPLICIT;

上記全部OKになりました。
はたしてレスポンスにどう影響するのかは?ですが

とりあえずありがとうD氏に感謝

いや~ ポスグレってさせているね

2008年11月26日水曜日

postgresのカラムの文字数変更

かな~り 初心者てきな
あるテーブルのvacharのサイズを変更

alter table hoge modify hoge_column varchar(10)

こんなんでoracleとかはできる

postgresってもしやできない?
できない的な記事あって まじかよ~っておもってたら

ぎゅうぎゅうさんが いやいやいやいや できるっしょ?って
alter table hoge alter COLUMN hoge_column TYPE varchar(10)

できた。

俺は何を調べてたんだ。。。

やべっ 超させているかも

久しぶりの投稿がこんなの感じでホトトギス

2008年8月4日月曜日

Linux ディレクトリ毎のサイズ一覧

基本的なことだが。。。
たまーに使うのにすぐ忘れるのでさせている 最後のオプションが忘れる
MEMO 3 させている ぱ ぱっぱくり!!

/var内を対象にする

昇順
du /var | sort -n
降順
du /var | sort -nr

いつも使うのは
du -h /var | sort -n

この体は、"無限の剣で出来ていた"。

2008年7月31日木曜日

Googlebotの過剰クロールによるサイト負荷

apache+tomcat(Velocity)の構成のサーバなのですが、
最近またtomcatのほうがちょっと重くなってきた。

原因はなんだとおもっていろいろログ追っていたら
同じIPから結構重いURLにめちゃくちゃアクセスがあった
原因はGooglebotのアクセスだったのですが、
どうしてこんな間隔でクロールされるのかが
わからないのですが、
tail -f access_log | grep Googlebot
で目視程度だが
1秒に3アセクス以上の同じURLへのアクセスがあった、
ちょっとサイトが重かった。。。

もしかして結構今までの重かった原因ってこれが根本の原因だったのか?

とりあえず異常に同じURLくるやつをhttp 403に
してtomatいかないように暫定処置 しばらく放置

RewriteCond %{HTTP_USER_AGENT} Googlebot
RewriteRule ^/hoge/hoge\.vm.*$ - [F]

なんでこんなにクロールされるかは時間あるとき調べよう

ちょっと これで負荷かわったら させているよね。ほんとさせている。
させている?? 約束された勝利の剣!!!

2008年7月30日水曜日

oracle SQLの実行履歴 LogMiner

oracle SQLの実行履歴 LogMiner

ちょっとした調べもので
SQLの実行履歴を調べたかった。
結局思ったものまで情報とれなかったのだが
させている。。。
参考:10gの紹介だけど 9iでもいける
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19211-01/logminer.html#13427

ここみりゃいい話だけど久々なのでセイバー!!

oracleには解析用のLOGMINERという標準にツール
が用意されているらしい
アーカイブログモードで起動されていることが
前提だす
----------------------------------------------
SQL> select log_mode from v$database;

LOG_MODE
------------
ARCHIVELOG → アーカイブ
-----------------------------------------------

調べたい日付のアカーブファイルを取得
----------------------------------------------
select name,to_char(completion_time, 'yyyymmdd') from v$archived_log
where to_char(completion_time, 'yyyymmdd') = 20080729;

NAME
--------------------------------------
TO_CHAR(
--------
/opt/oracle/oradata/arc1/1_1678.arc
20080729

/opt/oracle/oradata/arc1/1_1679.arc
20080729

/opt/oracle/oradata/arc1/1_1680.arc
20080729


解析したいファイルを指定して、LogMinerを起動
----------------------------------------------------------
EXECUTE DBMS_LOGMNR.ADD_LOGFILE( -
LOGFILENAME => '/opt/oracle/oradata/arc1/1_1679.arc', -
OPTIONS => DBMS_LOGMNR.NEW);

> >
PL/SQLプロシージャが正常に完了しました。

EXECUTE DBMS_LOGMNR.START_LOGMNR(-
OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG + -
DBMS_LOGMNR.COMMITTED_DATA_ONLY + -
DBMS_LOGMNR.PRINT_PRETTY_SQL);
> >
PL/SQLプロシージャが正常に完了しました。


V$LOGMNR_CONTENTSのテーブルに解析結果が入るので
あとは普通にSQLしてみる。
カラムの内容は普通に desc V$LOGMNR_CONTENTSで みれる

これは[HOGE_TBL]をUPDATEしたSQLを出力してみる
--------------------------------------------------------------------------
SELECT SQL_REDO FROM V$LOGMNR_CONTENTS
WHERE OPERATION = 'UPDATE';
AND SQL_REDO = '%HOGE_TBL%'

ずらっと表示 あとはSQLで絞ったりする。


ほんとは誰がSQL発行したかって知りたかったんですが、
V$LOGMNR_CONTENTSのUSERNAMEはデータベースに対しての
ユーザーなので、みんな同じユーザーでアクセスしていた
ためアウト。。。
ちょっと アクセスするユーザー毎にわけようかしら。。。

2008年7月16日水曜日

リモートデスクトップでアプリがフリーズしたら

最近リモートデスクトップで作業することが多い
リモート先のアプリ(エクセルとか)フリーズした場合、
ctrl+alt+endで リモート先のタスクマネージャを開いて終了

saseteirune

2008年6月9日月曜日

DWR関連が動かなくなった。。。

ある案件でサーバ移行があり、
tomcatを5.0.28. → 5.5.26にバージョンアップ

起動後、Ajax使ってるページ開くと以下のようなエラーが
- Logging using commons-logging.
- Missing classdef for creator 'spring'. Failed to load uk.ltd.getahead.dwr.create.SpringCreator. Cause: org/springframework/beans/factory/BeanFactory
- Missing classdef for creator 'script'. Failed to load uk.ltd.getahead.dwr.create.ScriptedCreator. Cause: org/apache/bsf/BSFManager
- Missing class for converter 'hibernate'. Failed to load uk.ltd.getahead.dwr.convert.HibernateBeanConverter. Cause: Failed to find either org.hibernate.Hibernate or net.sf.hibernate.Hibernate.
- Missing config file: WEB-INF/conf/dwr.xml
- Names of known classes are:
- サーブレット dwr-invoker のServlet.service()が例外を投げました
java.lang.SecurityException: No class by name:

なんじゃこりゃということで、
CTO(SUZ-LAB)に相談 DWRバージョンアップ1系ならいけるんじゃないか~~と
だいぶ古いものを使ってたので・・・・

早速最新のDWRを
以下より入手
http://getahead.ltd.uk/dwr/download

最新の2.0.4を配置して実行
こんどはまたわけからんエラーでよくわからん症状が。。。
やっぱ2系~は動かんか。。。
ちょいとバージョンさげて1.1.4にしてみた。
エラーがだいぶへった でもまだ動かない。。。

Missing config file: ?? なんかパスがわるい?

web.xmlを確認 

dwr-invoker
DWR Servlet
uk.ltd.getahead.dwr.DWRServlet

config
WEB-INF/conf/dwr.xml



もしかして/が入ってないからか?
以下のように修正


dwr-invoker
DWR Servlet
uk.ltd.getahead.dwr.DWRServlet

config
/WEB-INF/conf/dwr.xml




きたぁ~~ 動いた なんじゃそりゃ~ させている させているぞ!!!

といことで無事解決 

梅雨ってさせているとおもわない??