Oracle 12c EM Express Webインターフェースにアクセスすると、次のようなURLを使用するとページがタイムアウトします。
IPアドレスまたはlocalhostを含むURLを使用すると、ページの読み込みは非常に遅くなります(最大5分)。
ホスト名を使用すると、リスナーログにエラーが表示されます(これらの倍数)。
03-DEC-2015 11:25:33 * http * (ADDRESS=(PROTOCOL=tcps)(Host=<ip address>%14)(PORT=52925)) * handoff * http * 12518
TNS-12518: TNS:listener could not hand off client connection
TNS-12560: TNS:protocol adapter error
IPアドレスまたはlocalhostを使用する場合、リスナーログにエラーは表示されません。
03-DEC-2015 11:23:39 * http * (ADDRESS=(PROTOCOL=tcps)(Host=<ip address>)(PORT=52902)) * handoff * http * 0
この問題はWeb全体で発生し(フッターの参照を参照)、誰もこの原因を見つけることができないようです。私は-私が見つけることができるすべての提案を試みて、以下の結果をリストしました。この素晴らしいコミュニティにひびを入れさせてから、Oracleのサポートに任せます...
emctl
多くの人が習慣から「emctl」をチェックすることを勧めます。これは、データベース制御ではなくEM Expressを使用するため、12cには存在しません。
http/https
これをセットアップし、httpおよびhttpsでテストしました。変わりはない。
ブラウザ
IE 11、chrome and firefoxのVanillaインストールでこれをテストしました。アドオンが有効になっていません。
データベースアクセス
SQLBを介してCDBとPDBの両方にアクセスしてクエリを実行できます
Telnet
ポート(5500など)へのTelnet接続を開くことができます。
アラートログ
Oracleアラートログにエラーメッセージが含まれていません。
注:これらのスニペットでは、実際のホスト名を常に「HOSTNAME」に、実際のドメインを「domain」に置き換えています。 「HOSTNAME」が使用されている場合、ドメイン名の後にないことを意味します。ケースは、ホスト名が表示される実際のケースを表します。
SYS_CONTEXT( 'USERENV'、 'SERVER_Host')
ホスト名
CMDのホスト名変数
ホスト名
SYS_CONTEXT( 'USERENV'、 'DB_DOMAIN')
ドメイン
dbms_xdb_config.gethttpsport()
5500
dbms_xdb_config.gethttpport()
2200
"lsnrctl status"出力
LSNRCTL for 64-bit Windows: Version 12.1.0.2.0 - Production on 03-DEC-2015 15:33:12
Copyright (c) 1991, 2014, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=hostname.domain)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias listener
Version TNSLSNR for 64-bit Windows: Version 12.1.0.2.0 - Production
Start Date 03-DEC-2015 12:27:51
Uptime 0 days 3 hr. 5 min. 21 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File C:\Oracle\HOME\network\admin\listener.ora
Listener Log File C:\Oracle\diag\tnslsnr\HOSTNAME\listener\alert\log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(Host=HOSTNAME.domain)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(Host=HOSTNAME.domain)(PORT=2200))(Presentation=HTTP)(Session=RAW))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(Host=HOSTNAME.domain)(PORT=5501))(Security=(my_wallet_directory=C:\Oracle\admin\ecoomdb\xdb_wallet))(Presentation=HTTP)(Session=RAW))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(Host=HOSTNAME.domain)(PORT=5500))(Security=(my_wallet_directory=C:\Oracle\admin\ecoomdb\xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "bibliodb.domain" has 1 instance(s).
Instance "ecoomdb", status READY, has 1 handler(s) for this service...
Service "ecoomdb.domain" has 1 instance(s).
Instance "ecoomdb", status READY, has 1 handler(s) for this service...
Service "ecoomdbXDB.domain" has 1 instance(s).
Instance "ecoomdb", status READY, has 1 handler(s) for this service...
Service "technodb.domain" has 1 instance(s).
Instance "ecoomdb", status READY, has 1 handler(s) for this service...
The command completed successfully
"lsnrctl services"出力
LSNRCTL for 64-bit Windows: Version 12.1.0.2.0 - Production on 03-DEC-2015 15:34:22
Copyright (c) 1991, 2014, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=HOSTNAME.domain)(PORT=1521)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0
LOCAL SERVER
Service "bibliodb.domain" has 1 instance(s).
Instance "ecoomdb", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:9 refused:0 state:ready
LOCAL SERVER
Service "ecoomdb.domain" has 1 instance(s).
Instance "ecoomdb", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:9 refused:0 state:ready
LOCAL SERVER
Service "ecoomdbXDB.domain" has 1 instance(s).
Instance "ecoomdb", status READY, has 1 handler(s) for this service...
Handler(s):
"D000" established:8 refused:21 current:0 max:1022 state:ready
DISPATCHER <machine: HOSTNAME, pid: 4040>
(ADDRESS=(PROTOCOL=tcp)(Host=HOSTNAME.domain)(PORT=49179))
Service "technodb.domain" has 1 instance(s).
Instance "ecoomdb", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:9 refused:0 state:ready
LOCAL SERVER
The command completed successfully
listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(Oracle_HOME = C:\Oracle\HOME)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\Oracle\HOME\bin\oraclr12.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(Host = HOSTNAME.domain)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
init.ora(トリミング、他の設定も含まれています...)
db_domain=domain
db_name="ecoomdb"
dispatchers="(PROTOCOL=TCP) (SERVICE=ecoomdbXDB)"
local_listener=LISTENER*
netstat -a
(関連する選択)
TCP 0.0.0.0:1521 ECONECOOMDB1:0 LISTENING
TCP 0.0.0.0:5500 ECONECOOMDB1:0 LISTENING
TCP 0.0.0.0:5501 ECONECOOMDB1:0 LISTENING
TCP [::]:5500 ECONECOOMDB1:0 LISTENING
TCP [::]:5501 ECONECOOMDB1:0 LISTENING
windows hostsファイル
(このファイルは空です)
環境変数
レジストリHKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_OraDB12Home1
オンラインリソース
Stackexchangeの質問
Redditスレッド
https://www.reddit.com/r/Oracle/comments/2pq7wz/Oracle_12c_express_enterprise_manager/
https://www.reddit.com/r/Oracle/comments/29npk2/having_trouble_getting_enterprise_manager_express/
Oracleコミュニティ
これらのコマンドをdb Hostで実行すると何が得られますか
コマンドプロンプトからping Host ping ipaddress(Host ipaddress)tnsping tnsalias
lsnrctlサービスを実行して、接続が拒否されているかどうかを確認します
oracleクライアントがクライアントマシンにインストールされている場合(Oracle em expressへのアクセス元)
コマンドプロンプトから実行1)ping ipaddress(db Host ipaddress)->>エラーが発生した場合は、ホストファイルにipaddressとドメイン名を追加します2)tnsping tnsalias
編集:
Dispatcher D000は、21の接続が拒否されたことを示します。ネットワークに問題があります。
リスナーを再起動してem expressに接続し、lsnrctlサービスの出力が理想的に拒否された接続がゼロであることを確認してください。
Oracleサポートに連絡した後、何が起こっているのかを理解できました。このサーバーには、4つのネットワークアダプター、1つのアダプターがネットワークに接続され、3つの未構成のアダプターがiSCSIストレージに接続されています。この問題は、WebクライアントまたはEMサーバー(ここでは不明)がWebページ要求を間違ったアダプターに送信しようとしたことが原因であると思われます。
同じ問題に直面している人は、(hostname.domainを使用して)URLを参照し、次にlistener.logファイル(-Oracle_base-/diag/tnslsnr/-instance-/listener/trace/listener。ログ)。私にとって、エラーメッセージには、サーバーのメインネットワークアダプターのIPアドレスとは異なるIPアドレスが表示されました。表示されているiSCSIに接続されているネットワークアダプターの1つのIPアドレス。元の投稿でIPアドレスを省略したとき、このIPアドレスの違いはわかりませんでした。
18-DEC-2015 14:17:04 * http * (ADDRESS=(PROTOCOL=tcps)(Host=<NOT SERVER IP address!>%14)(PORT=62119)) * handoff * http * 12518
TNS-12518: TNS:listener could not hand off client connection
TNS-12560: TNS:protocol adapter error
追加のネットワークアダプターを無効にすると、すべてが正常に動作します。
さらに、Chromeで「chrome:// net-internals /#dns」にアクセスすると、4つのネットワークアダプターすべてのIPアドレスがホスト名として表示されました。
どうやら、この問題は、別のホストからWebページを閲覧するときに発生することはありません。また、nslookupは正しいIPアドレスのみを返します。したがって、これはDNSの問題ではなく、ローカルの問題のようです。ネットワークアダプターを無効にすることは最終的な解決策にはならないので、これは問題に対する完全な答えではないと思いますが、将来この問題に直面している人には、「もっと先に進む」ことができると思います...
DNSサーバーから返されたIPアドレスと、Webブラウザーが使用するIPアドレスの不一致はどこから来たのですか?
また、最終的なソリューションに影響を与えた可能性があるいくつかの追加の変更を加えたので、完全にするためにそれらを含めます。適切かどうかわからない...:
Windows 2016にOracle 12.2.0.1をインストールした後も同じ問題が発生しました。
まず、TCP/IPv6がオンになっているのを見つけたので、オフにしました。
次に、Oracle Note Number(Doc ID 1608258.1)に従って試してみました-12c EM ExpressがWebブラウザに無効な証明書エラーを表示します。
また、うまくいきませんでした。
私は古い学校の方法でそれを修正しました... :)
WindowsユーザーOracle_DBA(PCにログオンし、Oracle 12cのインストールに使用)が、「xdb_wallet」フォルダの下の2つのファイルに対する権限を持っていないことを発見しました。
そう:
1-「xdb_wallet」フォルダの所有権を、それがあったものからOracle_DBAに変更しました。
2-「xdb_wallet」フォルダの下にある2つのファイル(ewallet.p12、cwallet.sso)の所有権をOracle_DBAに変更しました。
3-ステップ1を再度実行し、2つのファイルの所有権が変更されたことを確認しました。
Webサイト https:// hostname:5500/em は、FireFoxで正常に動作しました。これは、IE11/Win2016がFlash Playerでおかしな問題を抱えているためです。
セキュリティの観点からは、それが何を意味するのか(手順1〜3)、またはこれらの変更によりどのような脅威が発生する可能性があるのかはわかりません。
ご存知でしたらアドバイスをお願いします。
IPアドレスを使用してみてください。
http(s)://192.168.1.100:5500/em
このようにして、IPにバインドされているネットワークカードに確実にヒットします。