はまった~~~(-_-;) NASで、oplockのせいで・・・
なんかすぐに気が付いたからよかったけど、お客様から、NASへのアクセスがうまくいかないって申告があって、見てみたら、通常のファイルは普通に開くけど、Accessで何かやっているのがうまく動作しないって事でした。
そこで、ふと思い出したのが、タイトルにあるoplocl(Opportunistic Locking)の事を書いている記事を見たのをふと思い出しました(偶然トラブルの近辺に見た記事でした)
記事:Windows7でsambaのファイルがうまく開けない件について(oplocks死すべし)
ここによると、oplockは
「ネットワークの効率化を狙う、Windows固有の機能。複数のプロセスが同じファイルをロックでき、なおかつクライアントがデータをキャッシュできる。」
って事と、そこの少し下に、
****************************
Oplocksの危険性
Oplocksが狙い通りに動けば、目的通りネットワークの効率化が図られる。
問題なのはネットワークに何か問題が起こり、キャッシュが適切にフラッシュされない場合。ともするとファイルの破壊を引き起こす。
とくにデータベースが危険。
**********************
ってあるじゃないですか~~~(゚Д゚)
NASのマニュアルを見直すと、こんな記載も発見
『便宜的ロッキングは、クライアントのパフォーマンス向上を図ってデータをローカルにキャッシュする目的で、サーバーに置かれたファイルに便宜的ロック (oplock) をかける Windows のメカニズムです。Oplock は日常使用のためにデフォルトで有効になっています。複数のユーザーがデータベースなどの同じファイルに同時にアクセスする必要があるネットワークの場合、oplock を無効にする必要があります。』
・・・・・・・・・・・気が付かかなった(-_-;) そこで、oplockを無効にして、無事お客様の求める動きに戻りました。
Accessのデータとか、データベースとか使う可能性があると思うので、これからは最初から、oplockは無効にしておこうと思います。
しかし、この話は有名な話だったんですね。知らかなかったのが恥ずかしいです。また勉強になりました