【アプリケーションログ】レジストリ ファイルは他のアプリケーションまたはサービスで使用されています。ファイルはすぐにアンロードされます。レジストリ ファイルを保持しているアプリケーションまたはサービスはこれ以降正しく機能しない可能性があります。

Windows Vistaで以下のような警告ログが表示されていた。起動するたびに表示されているようだ。

レジストリ ファイルは他のアプリケーションまたはサービスで使用されています。ファイルはすぐにアンロードされます。レジストリ ファイルを保持しているアプリケーションまたはサービスはこれ以降正しく機能しない可能性があります

以下のマイクロソフト社のサイトによると、Vista固有の問題で、特に心配する必要はないそうだ。
http://support.microsoft.com/kb/947238/en-us

Leave a Comment

【SQL算術関数】LEAST - 引数の中から最小値を返す (Oracle)

Oracleでは、複数の引数の中から最小値を返すにはLEAST関数を使います。逆に複数の引数の中から最大値を返すにはGREATEST関数を使います。

文法:

LEAST(a, b [, c, .....] )


使用例:英語、数学、物理のテストの点数から最小点を求める。

SELECT user, english, math, physics, LEAST(english, math, physics) FROM tbExamTable;

user     english  math  physics  LEAST(english, math, physics)
——————————————————————————————————
Yamada   56     33    79     33
Kawai     80     67    46     46



SQLコマンド辞典に戻る

Leave a Comment

【SQL日付関数】LAST_DAY - 月の最終日付を取得する (Oracle)

Oracleでは、LAST_DAY関数を利用して月の最終日を取得する事ができます。閏年にも対応していますね。



使用例:月の最終日付を取得する。

SELECT date, LAST_DAY(date) FROM tbTestTable;

date         LAST_DAY(date)
———————————————————–
2009-09-16     2009-09-30
2009-10-11     2009-10-31
2009-02-22     2009-02-28
2012-02-22     2012-02-29



SQLコマンド辞典に戻る

Leave a Comment

【SQL日付関数】EXTRACT - 日付から任意の日付要素を取得する (Oracle)

Oracleで、日付値から任意の日付要素(年、月、日など)を取得するにはEXTRACT関数を使います。例えば、EXTRACT関数を使えば、2008-09-22という日付値から、月を取得すると09という値を取得することができます。


文法:

EXTRACT(element FROM date)

dateからelementで指定した日付要素を取得する。



使用例:現在の日付から月を取得する。

SELECT SYSDATE, EXTRACT(month FROM SYSDATE) FROM DUAL;

SYSDATE    EXTRACT(month FROM SYSDATE)
———————————————————————————
09-09-16     09


使用例:現在の日付から日を取得する。

SELECT SYSDATE, EXTRACT(day FROM SYSDATE) FROM DUAL;

SYSDATE    EXTRACT(day FROM SYSDATE)
—————————————————————————–
09-09-16     16


時、分、秒などの日付要素を取得したい場合は、TIMESTAMP型の値の指定が必要です。



使用例:現在の日付から分を取得する。

SELECT CURRENT_TIMESTAMP, EXTRACT(minute FROM CURRENT_TIMESTAMP) FROM DUAL;

CURRENT_TIMESTAMP            EXRTRACT(minute F………)
———————————————————————————————————
09-09-16 02:15:04.192000000 GMT     15



SQLコマンド辞典に戻る

Leave a Comment

【Oracle】nmefwmi.exeは動作を停止しました

検証のためにWindows VistaにOracle Database 11g(11.1.0.6.0)をインストールしたが、「nmefwmi.exeは動作を停止しました」というエラーが5分置きに表示される。Vistaのアプリケーションログをみると、以下のようなエラーが記録されていた。


障害が発生しているアプリケーション nmefwmi.exe、バージョン 0.0.0.0、タイム スタンプ 0×46e8bfeb、障害が発生しているモジュール RPCRT4.dll、バージョン 6.0.6002.18024、タイム スタンプ 0×49f05bcc、例外コード 0xc0000005、障害オフセット 0×00077328、 プロセス ID 0×1874、アプリケーションの開始時刻 0×01ca3656fa5d2af5。

nmefwmi.exeはOracle Enterprise Managerに関連するプロセスなので、データベースには直接影響がなさそうである。しかもOracle Enterprise Managerは正常に稼働しているようにも思えるし、実際にOracle Enterprise Managerを利用していても特に問題は起こっていない。よって、nmefwmi.exeのクラッシュは無視しても問題なさそうだが、5分に1度くらいのペースでエラーメッセージが表示されるのは避けたいものである。

OTN Discussion Forumでは、11g and Vistaというタイトルで上記のnmefwmi.exeに関するエラーについてのディスカッションが行われているが、どうも次期バージョン(11.1.0.7もしくは11.2?)を待つしかなさそうである。

Leave a Comment

【Vista】Event ID 10がログに表示される WMIのエラー?

Windows Vistaのアプリケーションログに以下のようなWMIのエラーが表示されていた。過去ログをみると、毎回起動後に表示されているようだ。


クエリ “SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA “Win32_Processor” AND TargetInstance.LoadPercentage > 99″ のイベント フィルタを名前空間 “//./root/CIMV2″ 内で再度使用できませんでした。原因はエラー 0×80041003 です。問題が解決されなければ、このフィルタではイベント表示できません。

WMIフィルターが十分な権限なしでアクセスしているのが原因のようだ。対応方法はマイクロソフト社のHPに記載されている。下記のスクリプトを実行すれば、エラーログが表示されなくなるそうだ。下記スクリプトをテキストにコピペして、拡張子をvbsとして保存し、実行すると解決する。

http://support.microsoft.com/kb/950375/en-us/

strComputer = “.”
Set objWMIService = GetObject(”winmgmts:” _
& “{impersonationLevel=impersonate}!\\” _
& strComputer & “\root\subscription”)

Set obj1 = objWMIService.Get(”__EventFilter.Name=’BVTFilter’”)

set obj2set = obj1.Associators_(”__FilterToConsumerBinding”)

set obj3set = obj1.References_(”__FilterToConsumerBinding”)

For each obj2 in obj2set
WScript.echo “Deleting the object”
WScript.echo obj2.GetObjectText_
obj2.Delete_
next

For each obj3 in obj3set
WScript.echo “Deleting the object”
WScript.echo obj3.GetObjectText_
obj3.Delete_
next

WScript.echo “Deleting the object”
WScript.echo obj1.GetObjectText_
obj1.Delete_

参考資料:
http://forums.techarena.in/vista-help/974098.htm
http://www.msfn.org/board/heres-fix-wmi-event-id-10-instancemodificationeven-t114389.html

Leave a Comment

【SQL日付関数】MONTHS_BETWEEN - 日付の差を月単位で取得する (Oracle)

Oracleで2つの日付の差を月単位で取得するには、MONTHS_BETWEEN関数を取得する。注意点はMONTH_BETWEENではなく、MONTHS_BETWEENというようにMONTHが複数形であること。また、使用例の3列目の例のように月だけをみると2か月の差ですが、日付をみると、25‐5で20日間、つまり、20÷31=0.64516129月分の差がありますので、09-05-25と09-03-05の月の差は2.64516129ヶ月分の差がある事になります。



文法:

MONTHS_BETWEEN(date1, date2)

date1からdate2を引く形で月の差を求める。



使用例:日付の差を月単位で求める。

SELECT date1, date2, MONTHS_BETWEEN(date1, date2) FROM tbTestTable;

date1     date2      MONTHS_BETWEEN(date1, date2)
———————————————————————————-
09-09-03   09-04-03     5
09-05-25   09-07-25     -2
09-05-25   09-03-05     2.64516129



SQLコマンド辞典に戻る

Leave a Comment

【SQL算術関数】GREATEST - 引数の中から最大値を返す (Oracle)

Oracleでは、2つ以上の引数の中から最大値を返すGREATEST関数があります。逆に引数の中から最小値を返すにはLEAST関数を使います。


文法:

GREATEST(a, b [, c, .....] )

引数の中から最大値を返す。引数は2つ以上でいくつでも設定できる。



使用例:英語、数学、物理のテストの点数から最高点を求める。

SELECT user, english, math, physics, GREATEST(english, math, physics) FROM tbExamTable;

user     english  math  physics  GREATEST(english, math, physics)
—————————————————————————————————
Yamada   56     33    79     79
Kawai    80     67    46     80



SQLコマンド辞典に戻る

Leave a Comment

【SQL日付関数】CURRENT_DATE - 現在の日付を取得する (Oracle)

OracleではCURRENT_DATE関数を使って現在の日付を取得する事ができます。OracleにはSYSDATE関数でも現在の日付を取得する事ができます。CURRENT_DATE関数には括弧は不要です(CURRENT_DATE()とするとエラーとなる)。


使用例:現在の日付を取得する。

SELECT CURRENT_DATE FROM DUAL;

CURRENT_DATE
—————————
09-09-14



SQLコマンド辞典に戻る

Leave a Comment

【SQL日付関数】SYSDATE - 現在の日付を取得する (Oracle)

Oracleで、現在の日付を取得するにはSYSDATE関数を使います。Oracleの場合、SYSDATEに括弧は不要ですのでご注意を(例:SYSDATE()はエラーになる)。SQL Serverの場合はGETDATE関数を使います。


使用例:現在の日付を取得する。

SELECT SYSDATE FROM DUAL;

SYSDATE
————————-
09-09-14



SQLコマンド辞典に戻る

Leave a Comment