2011年6月23日木曜日

またヤラレた、Windows 7のおせっかい機能UAC

今日、初めてOracle 11gのインストールを体験しましたが、生まれて以来、Oracleのインストールが一発でうまくいった試しがないボクなので(ちなみにOracleは 8以降、全部のバージョンをインストール&構築を経験してきました)、今回はいったいどんな罠が待ち受けているかと、ある意味ワクワクしながらトライしてみました。

インストールセットをzipにまとめたものを解凍しすぎて(jarもツールが勝手に解凍しちゃって)インストールが上手くいかなかったりした、という罠を踏みつつ、それでも最大の罠は、Oracleではなく Windows 7 の UAC機能(今世紀最大のおせっかい野郎)でした。

なんとか苦労してOracleのインストールが終わり、さてリスナーを起動して接続しようとすると、TNSエラーが出て接続できない(ちなみにエラーはTNS-12154)。
これは結局、tnsnames.ora、listener.oraファイルの接続先をIPアドレスではなくマシン名(ホスト名)にすると解決する、とメンバーから助け舟をもらって結果的には解決したんだけど、その前に、tnsnames.ora、listener.oraをテキストエディタで編集しようとすると「他のプロセスで使用しているため編集不可(上書き禁止)」とか言われる。これにハマった。
Oracle関係のプロセスが掴んでいるのかと思い、全部停止して、コンパネ>サービスでOracle関係のものを全部「無効」にしてOSを再起動、それでもやはり「他のプロセスが~」とおっしゃる。

しばらく悩んでいると、ここでまたメンバーから「UAC、切ってみました?」と助け舟。
そうだ、そういえばWindows 7にはUACという今世紀最大のバグがあったんだ、と。昔もあったじゃないか、と。このブログでもアクセス数が多いじゃないか、と。

で、UACを切ってOSを再起動したら、無事編集できるようになりました(再ログオンでは不可)。
というわけで。

UACの切り方


1.コンパネを開いて、「ユーザーアカウントと~」を選択。

2.「ユーザーアカウント」を選択

3.「ユーザーアカウント制御設定の変更」を選択

4.つまみを一番下の「通史しない」に問答無用で下げきる。

これで、無事あのいまいましいUACが引っ込みます。
(もちろん、セキュリティが確保されている環境で行ってくださいね…)



しかしそもそも、今まで出来ていたことが、同じやり方で出来なくなる、というのは致命的に「エラー」だと思うんですよね。本来は、「今までと同じで、でもさらにこんなセキュリティ・コントロールが出来ますよ」ってオプショナルで提示されるべきことだと思うんだけど。しかも「他のプロセスが~」とか違う内容のエラーメッセージ出してこちらを混乱させるし。
もうWindows大嫌い。


で、Windows 7の影に隠れてるけど、Oracleはなんでバージョンアップする度にあんなにわかりにくくなっていくんでしょうかねぇ。ここまで来ると、資格試験制度を維持するため、としか思えません。

以上、愚痴でした。

0 件のコメント: