Ringkasan masalah
Saat meramban antarmuka web Oracle 12c EM Express, halaman habis saat menggunakan URL seperti:
- http: // hostname: 5500 / em
- http: //hostname.domain: 5500 / em
Saat menggunakan url yang berisi alamat IP, atau localhost, halaman dimuat, tetapi sangat sangat lambat (hingga 5 menit).
- http: // ip-address / em
- http: // localhost / em
Saat menggunakan nama host, log pendengar menunjukkan kesalahan (beberapa di antaranya):
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
Saat menggunakan alamat IP atau host lokal, log pendengar tidak menunjukkan kesalahan:
03-DEC-2015 11:23:39 * http * (ADDRESS=(PROTOCOL=tcps)(HOST=<ip address>)(PORT=52902)) * handoff * http * 0
Masalah ini muncul di seluruh web (lihat referensi di footer), dan tampaknya tidak ada yang dapat menemukan penyebabnya. Saya sudah mencoba saran -every- yang bisa saya temukan, dan mendaftar hasilnya di bawah. Saya akan membiarkan komunitas hebat ini mengambil celah, dan kemudian pergi ke dukungan Oracle ...
Informasi platform
- Windows Server 2012 R2 x64
- Oracle 12.1.0.2.0
- Basis data wadah multitenant (CDB) dengan dua basis data Pluggable (PDB)
- Manajemen Penyimpanan Otomatis (ASM) tidak sedang digunakan
- Melakukan tes secara lokal di server, dengan firewall sepenuhnya dinonaktifkan
Tes sudah dilakukan
emctl
Banyak orang menyarankan untuk memeriksa "emctl" karena kebiasaan. Ini tidak ada untuk 12c, karena menggunakan EM Express dan bukan kontrol Database.
http / https
Saya sudah menyiapkan, dan menguji ini untuk http dan https. Tidak ada perbedaan.
Browser
Saya sudah menguji ini di instalasi vanilla IE 11, chrome dan firefox. Tidak ada add-on yang diaktifkan.
Akses basis data
Baik CDB maupun PDB dapat diakses dan ditanyakan melalui SQLPlus
Telnet
Membuka koneksi telnet ke port (misalnya 5500) berfungsi.
Log
peringatan Log peringatan Oracle tidak mengandung pesan kesalahan apa pun.
Hipotesis saya
- Sesuatu yang terkait dengan pencarian nama host, karena berfungsi -sederhana- saat menggunakan alamat IP, bukan nama host.
- Sesuatu yang terkait dengan sertifikat, meskipun masalah yang sama muncul untuk http.
- Sesuatu yang berkaitan dengan konfigurasi layanan XDB atau pendengar.
- Sesuatu yang terkait dengan bagian domain dari hostname dimasukkan atau tidak. Karena ini ditambahkan di sebagian besar file konfigurasi, tetapi mungkin tidak di mana-mana?
Informasi platform terperinci
Catatan: Dalam cuplikan ini, saya selalu mengganti nama host yang sebenarnya dengan "HOSTNAME" dan domain sebenarnya dengan "domain". Jika "HOSTNAME" digunakan, itu berarti itu tidak dibuntuti oleh nama domain. Kasing mewakili huruf aktual nama host ditampilkan.
SYS_CONTEXT ('USERENV', 'SERVER_HOST')
nama host
variabel hostname dalam CMD
HOSTNAME
SYS_CONTEXT ('USERENV', 'DB_DOMAIN')
domain
dbms_xdb_config.gethttpsport ()
5500
dbms_xdb_config.gethttpport ()
2200
output "status lsnrctl"
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
output "layanan lsnrctl"
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 (Dipangkas, juga berisi pengaturan lain ...)
db_domain=domain
db_name="ecoomdb"
dispatchers="(PROTOCOL=TCP) (SERVICE=ecoomdbXDB)"
local_listener=LISTENER*
netstat -a
(pilihan yang relevan)
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
file host windows
(file ini kosong)
Variabel lingkungan
- PATH berisi C: \ ORACLE \ HOME \ bin
- ORACLE_HOME = C: \ ORACLE \ HOME
- ORACLE_SID = ecoomdb
Registri HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE \ KEY_OraDB12Home1
- ORACLE_HOME = C: \ ORACLE \ HOME
- ORACLE_SID = ecoomdb
Pertanyaan / dokumen terkait dan duplikat (tidak dijawab)
Sumber daya online
Pertanyaan Stackexchange
- Tidak dapat membuka / terhubung ke Oracle 12c Enterprise Manager Express
- "Tidak dapat menampilkan halaman" dengan Oracle 12c Enterprise Manager Database Express
- Mulai Oracle 12c enterprise manager di Windows 7
- Bagaimana cara menjalankan ORACLE 12C EM?
- Oracle 12c Express Enterprise Manager di Centos 6.5 tidak dapat dijangkau
Reddit utas
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/
Komunitas Oracle
- https://community.oracle.com/thread/3595774?start=0&tstart=0
- https://community.oracle.com/thread/2590962?start=0&tstart=0
- https://community.oracle.com/thread/3730316?start=0&tstart=0
- https://community.oracle.com/thread/3739356?start=0&tstart=0
- https://community.oracle.com/thread/3682977?start=0&tstart=0
Jawaban:
Apa yang Anda dapatkan ketika Anda menjalankan perintah ini pada host db
dari command prompt ping host ping ipaddress (host ipaddress) tnsping tnsalias
dan jalankan layanan lsnrctl dan lihat apakah ada koneksi yang ditolak
jika klien oracle diinstal pada mesin klien (dari mana Anda mengakses oracle em express)
jalankan dari command prompt 1) ping ipaddress (db host ipaddress) - >> jika Anda mendapatkan kesalahan tambahkan ipaddress dan nama domain ke file host 2) tnsping tnsalias
Edit:
Dispatcher D000 menunjukkan 21 koneksi ditolak. Anda memiliki masalah jaringan.
Cobalah untuk me-restart pendengar dan terhubung ke em express dan melihat output layanan lsnrctl idealnya menolak koneksi harus nol.
sumber
Setelah menghubungi dukungan Oracle, saya sudah-bisa-bisa mengetahui apa yang sedang terjadi. Server ini memiliki 4 adapter jaringan, 1 adaptor yang terhubung ke jaringan, dan 3 adapter yang tidak dikonfigurasi yang terhubung ke penyimpanan iSCSI. Masalahnya tampaknya disebabkan oleh klien-web, atau server EM (tidak yakin di sini) mencoba mengirim permintaan halaman web ke adaptor yang salah.
Bagi siapa pun yang menghadapi masalah yang sama, Anda dapat memeriksanya dengan meramban ke URL (menggunakan hostname.domain) dan kemudian memeriksa file listener.log (-oracle_base- / diag / tnslsnr / -instance- / listener / trace / listener. catatan). Bagi saya, dalam pesan kesalahan alamat IP berbeda dari server adapter jaringan utama alamat IP ditampilkan. Alamat IP dari salah satu adapter jaringan yang terhubung ke iSCSI di mana ditampilkan. Saat menghilangkan alamat IP dalam posting asli saya, saya tidak menemukan perbedaan alamat IP ini.
Saat menonaktifkan adapter jaringan tambahan, semuanya bekerja dengan baik.
Selain itu, ketika akan "chrome: // net-internal / # dns" di chrome, alamat IP dari keempat adapter jaringan muncul untuk nama host saya.
Rupanya, masalah ini - tidak - terjadi, ketika meramban ke halaman web dari host lain. Juga, nslookup hanya mengembalikan alamat IP yang benar. Jadi sepertinya ini bukan masalah DNS, tetapi masalah lokal. Saya pikir ini bukan jawaban lengkap untuk masalah ini, karena menonaktifkan adapter jaringan tidak bisa menjadi solusi akhir, tapi saya harap siapa pun yang menghadapi masalah ini di masa depan memiliki "lebih banyak untuk melanjutkan" sekarang ...
Dari mana perbedaan antara alamat IP yang dikembalikan oleh server DNS, dan alamat IP yang digunakan oleh browser web?
Saya juga telah membuat beberapa perubahan tambahan yang mungkin memengaruhi solusi akhir, jadi untuk kelengkapan saya akan memasukkannya. Tidak yakin apakah relevan ...:
sumber
Coba gunakan Alamat IP:
Dengan cara ini Anda akan yakin untuk memukul kartu jaringan yang mengikat ke ip.
sumber
Saya memiliki masalah yang sama setelah menginstal Oracle 12.2.0.1 pada Windows 2016.
Pertama saya menemukan bahwa TCP / IPv6 aktif jadi saya mematikannya.
Kemudian mencoba mengikuti Nomor Catatan Oracle (Doc ID 1608258.1) - 12c EM Express menunjukkan Kesalahan Sertifikat Tidak Valid di browser web.
Juga tidak berhasil.
Saya memperbaikinya dengan cara jadul ... :)
Saya menemukan bahwa pengguna Windows Oracle_DBA (yang masuk pada PC dan digunakan untuk menginstal Oracle 12c) tidak memiliki izin pada 2 file di bawah folder "xdb_wallet".
Begitu:
1 - Saya mengubah kepemilikan untuk folder "xdb_wallet" dari apa pun itu ke Oracle_DBA:
2- mengubah kepemilikan 2 file (ewallet.p12, cwallet.sso) di bawah folder "xdb_wallet" dari apa pun itu ke Oracle_DBA:
3 - Saya melakukan langkah 1 lagi, dan memeriksa kepemilikan yang berubah untuk 2 file.
Situs web https: // hostname: 5500 / em bekerja dengan baik di FireFox, karena IE11 / Win2016 memiliki masalah lucu dengan Flash Player.
Saya tidak tahu dari sudut pandang keamanan apa artinya (langkah 1-3), atau ancaman apa yang mungkin terjadi karena perubahan itu.
Mohon saran jika Anda tahu.
sumber
Verifikasi alamat ip untuk nama host dalam
/etc/hosts
filemisalnya, berikut ini adalah file host saya
tom
adalah nama host saya, dan10.148.180.115
merupakan alamat ip untuk host sayasumber