dポイントプレゼントキャンペーン実施中!

oracle10gをインストールしましたが、
接続できません。現状は、以下のとおりです。

【インストール済み】
・Oracle Database 10g Express Edition

【サービス】
・OracleJobSchedulerXE・・・開始(自動)
・OracleMTSRecoveryService・・・開始(自動)

・OracleServiceXE・・・開始(自動)
・OracleXEClrAgent・・・開始(自動)

・OracleXETNSListener・・・開始(自動)
-------------------------------------------
「データベースのホームページに移動」にアクセスしたいです。

http://localhost:8080/apex
(127.0.0.1にしてもダメでした。)

どうすればよいでしょうか?

以上、宜しくお願い致します。

A 回答 (1件)

 ううむ。

Windowsなのかな。できればOSの名前(XP Pro、Vista Business、2003 Standard、7 Ultimate x64、2008 R2 Standardなど)と、
http://localhost:8080/apex
(127.0.0.1にしてもダメでした。)←localhost:8080にすると「どうなったのか」
という事を書いていただけるとありがたい。

さて、私はOracle 10g Database Express Edition(以下Ora10gXE)をWindowsにインストールした事は無い(←今したけど)ので的はずれな部分があるかもしれないが基本的にfor Linuxと同じだと思うのでチェックするポイントを説明してみたいと思う。

1.Oracle君は8080を待ち受けているか。
コマンドプロンプトを立ち上げて
C:\>netstat -anb
とするとポート番号8080で待ち受けているプログラムのプロセスID(PID)がわかる。今実際にまっさらなWindows Server 2003 Standard上にインストールしてみるとoracleが127.0.0.1:8080で待ち受けていた。しかもoracle.exeじゃなくてtnslsnr.exeだね。上のコマンドで何も表示されずにC:\>に戻ってくるようであれば8080で待ち受けているプログラムが無いという事だ。さて、今度はタスクマネージャーを開いてプロセスタブにPID列を表示させると先ほど調べた8080を使っているPIDを探す。これがoracle.exeになっていれば問題は別にある事になるが、たとえばtomcat.exeとかそんな風になっていればポート番号の調整を行わなければいけない。

2.tnslsnr.exeだった場合、または8080を待ち受けているプログラムが無かった場合。
Ora10gXEはapex 2.2というものを内包しており、そいつが8080番でHTTPを待ち受ける訳だが、本当にそうなっているかは以下の方法で調べる事ができる。SQL*PlusなどでOracleにログインし(sysかsystemで入るのが良いかも)、
> select dbms_xdb.gethttpport from dual;
8081
これで上のように8081とか返ってきたら8080の代わりにhttp://localhost:8081/apexもアクセスすれば良い。これで0が返ってきたら、待ち受けを行っていないという事だ。待ち受けさせよう。
> exec dbms_xdb.sethttpport(8081);

3.tnslsnr.exeだった場合、その2。
上の2が全く問題なければそれ以外の要因で繋がらないのだ。たとえばWindows Server 2003などでは規定でInternet Explorerのセキュリティ設定が最高になっており、localhostでさえ(ゾーンがイントラネット)信用しない。まぁここにたどり着いたらかなり症状は重いのでまた質問を投げる方が良いだろう。

4.tomcat.exeとかだった場合。
上の2の方法でgethttpportを調べ、対処しよう。

 ところで、あまり関係ないがOra10gXEは基本的にOracleServiceXEとOracleXETNSListenerの2つだけで動作するので他のOracle関係は停止しておいた方が問題の切り分けが簡単かもしれない。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す