XP ModeにOracle11gをインストールしたときのメモのメモ

普段、開発用PCとOracleDBサーバーは分けていたのですが、これだと外出先で開発できないな…と言うことで、開発マシンにもOracleをインストールしたときのメモのメモ

すでにOC4jや.NET用のODP.NETを入れていて、ORACLE_HOMEの競合が怖かったので、XPModeにOracleさんを入れてみました

[ホスト]
Windows7
Core i7 2.7GHz
16GB

[XPMode]
3.0GB

と贅沢すぎる。



さて、Oracleのインストールは非常に簡単
・win32_11gR2_database_1of2.zip
・win32_11gR2_database_2of2.zip
をダウンロードしてきて、各々解凍

どちらも”database”というフォルダができるので、2of2のdatabaseフォルダごと、1of2のdatabaseフォルダにコピー

そして、1of2内のsetup.exeを実行すればOKです
(ここで先ほどの2of2のコピーを忘れていると、途中でファイルが足りねぇー!!って怒られて、やり直しです。意外とハマッた…)

インストーラの指示に従ってインストールですが、内容は割愛
仮に
グローバルデータベース名:SAMP.WORLD
サービス名:SAMP
とでもしたとしましょうか

さてさて、インストールは終わりホストからアクセスしようと試みます

あら、エラー発生

まずアクセス拒否系のメッセージが出た場合は、以下を確認

・ホストからXPModeにpingが通るか
→通らない場合は、Firewallでエコー受信が拒否られている可能性が高いです。設定を変えましょう
ココあたり参考

・1521があいているか
→FirewallのPortの追加をしましょう

次に”リクエストされた操作の実行中にエラーが発生しました”とか下の様なエラーが出たとき
Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

まあ、よくよく冷静にメッセージ見れば”リスナーはそんなSID知らねェ….”って言ってるのですが(終わってから意味がやっと分かった)
XPMode側でtnsnames.oraがあるところに、lisnter.oraってファイルがあるので開く(メモ帳とかで)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\XPMUser\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\app\XPMUser\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)



こんな感じになっているかと
単純なことに(SID_DESC = から (ENVS = …)をコピーしてSDI_NAMEを接続先のSIDに変更する

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\XPMUser\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\app\XPMUser\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
(SID_DESC =
(SID_NAME = SAMP)
(ORACLE_HOME = C:\app\XPMUser\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\app\XPMUser\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)



みたいな感じに変更して終了して外部からの接続ができちゃった

まる1日悩んでやりましたが、みんなはうまくできているのかなーぁと思ったり
リスナーもNetConfigurationAssistantとかで出来そうなハズが出来なかったので、メモ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です