Trang web Oracle 12c Express Enterprise Manager không tải


13

Tóm tắt sự cố

Khi duyệt đến webinterface Oracle 12c EM Express, trang sẽ hết thời gian khi sử dụng URL như:

  • http (s): // tên máy chủ: 5500 / em
  • http (s): //hostname.domain: 5500 / em

Khi sử dụng url chứa địa chỉ IP hoặc localhost, trang sẽ tải nhưng rất chậm (tối đa 5 phút).

  • http (s): // địa chỉ ip / em
  • http (s): // localhost / em

Khi sử dụng tên máy chủ, nhật ký người nghe hiển thị lỗi (nhiều trong số này):

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

Khi sử dụng địa chỉ IP hoặc localhost, nhật ký người nghe không có lỗi:

03-DEC-2015 11:23:39 * http * (ADDRESS=(PROTOCOL=tcps)(HOST=<ip address>)(PORT=52902)) * handoff * http * 0

Vấn đề này xuất hiện trên tất cả các trang web (xem tài liệu tham khảo ở chân trang) và dường như không ai có thể tìm ra nguyên nhân của việc này. Tôi đã thử mọi cách tôi có thể tìm thấy và liệt kê các kết quả bên dưới. Tôi sẽ để cho cộng đồng tuyệt vời này có một vết nứt, và sau đó là nhờ hỗ trợ của Oracle ...

Thông tin nền tảng

  • Máy chủ Windows 2012 R2 x64
  • Oracle 12.1.0.2.0
  • Một cơ sở dữ liệu container đa năng (CDB) với hai cơ sở dữ liệu Pluggable (PDB)
  • Quản lý lưu trữ tự động (ASM) không được sử dụng
  • Thực hiện kiểm tra cục bộ trên máy chủ, với tường lửa bị vô hiệu hóa hoàn toàn

Các xét nghiệm đã được thực hiện

emctl
Rất nhiều người sẽ đề nghị kiểm tra "emctl" theo thói quen. Điều này không tồn tại trong 12c, vì nó sử dụng EM Express và không kiểm soát cơ sở dữ liệu.

http / https
Tôi đã thiết lập và đã thử nghiệm tính năng này cho http và https. Không khác nhau.

Trình duyệt
Tôi đã thử nghiệm điều này trong các bản cài đặt vanilla của IE 11, chrome và firefox. Không có tiện ích kích hoạt.

Truy cập cơ sở dữ liệu
Cả CDB và PDB đều có thể được truy cập và truy vấn thông qua SQLPlus

Telnet
Mở các kết nối telnet đến các cổng (ví dụ 5500) hoạt động.

Nhật ký
cảnh báo Nhật ký cảnh báo của Oracle không chứa bất kỳ thông báo lỗi nào.

Giả thuyết của tôi

  • Một cái gì đó liên quan đến tra cứu tên máy chủ, vì nó hoạt động - nhẹ nhàng - khi sử dụng địa chỉ IP thay vì tên máy chủ.
  • Một cái gì đó liên quan đến chứng chỉ, mặc dù cùng một vấn đề xuất hiện cho http.
  • Một cái gì đó liên quan đến cấu hình của XDB hoặc dịch vụ nghe.
  • Một cái gì đó liên quan đến một phần tên miền của tên máy chủ được bao gồm hay không. Vì điều này được thêm vào trong hầu hết các tập tin cấu hình, nhưng có lẽ không phải ở đâu cũng vậy?

Thông tin chi tiết nền tảng

Lưu ý: Trong các đoạn mã này, tôi đã luôn thay thế tên máy chủ thực tế bằng "HOSTNAME" và tên miền thực bằng "tên miền". Nếu "HOSTNAME" được sử dụng, điều đó có nghĩa là nó không bị kéo theo tên miền. Các trường hợp đại diện cho trường hợp thực tế tên máy chủ được hiển thị trong.

SYS_CONTEXT ( 'Userenv', 'SERVER_HOST')
hostname

biến tên máy chủ trong CMD
HOSTNAME

SYS_CONTEXT (, 'DB_DOMAIN' 'Userenv')
miền

dbms_xdb_config.gethttpsport ()
5500

dbms_xdb_config.gethttpport ()
2200

đầu ra "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

đầu ra "dịch vụ 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

người nghe

    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 (Được cắt xén, cũng chứa các cài đặt khác ...)

db_domain=domain
db_name="ecoomdb"
dispatchers="(PROTOCOL=TCP) (SERVICE=ecoomdbXDB)"
local_listener=LISTENER*

netstat -a
(lựa chọn liên quan)

 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

cửa sổ lưu trữ tập tin
(tập tin này là trống)

Biến môi trường

  • PATH chứa C: \ ORACLE \ HOME \ bin
  • ORACLE_HOME = C: \ ORACLE \ HOME
  • ORACLE_SID = ecoomdb

Đăng ký HKEY_LOCAL_MACHINE \ PHẦN MỀM \ ORACLE \ KEY_OraDB12Home1

  • ORACLE_HOME = C: \ ORACLE \ HOME
  • ORACLE_SID = ecoomdb

Các câu hỏi / tài liệu liên quan và trùng lặp (chưa trả lời)

Những nguồn thông tin trên mạng

Câu hỏi Stackexchange

Chủ đề Reddit

Cộng đồng Oracle


Là tên máy chủ cho máy của bạn trong DNS hoặc bạn đã thêm nó vào tệp máy chủ của mình chưa?
Phil

Các tập tin máy chủ là trống rỗng. Không chắc chắn chính xác cách quản lý tên máy chủ, nhưng mạng sử dụng máy chủ ActiveDirectory nơi máy chủ được đăng ký với tên máy chủ của nó và các máy chủ DNS nhận ra nó như vậy.
Wouter

Tất cả nghe có vẻ đáng ngờ như các vấn đề / thời gian chờ DNS.
Phil

Bất kỳ ý tưởng về cách gỡ lỗi, theo dõi nguyên nhân chính xác?
Wouter

Câu trả lời:


2

Bạn nhận được gì khi chạy các lệnh này trên máy chủ db

từ lệnh nhắc máy chủ ping ping ipaddress (máy chủ ipaddress) tnsping tnsalias

và chạy các dịch vụ lsnrctl và xem nếu có bất kỳ kết nối nào bị từ chối

nếu máy khách oracle được cài đặt trên máy khách (từ nơi bạn đang truy cập oracle em express)

chạy từ dấu nhắc lệnh 1) ping ipaddress (db host ipaddress) - >> nếu bạn gặp lỗi, hãy thêm ipaddress và tên miền vào tệp lưu trữ 2) tnsping tnsalias

Biên tập:

Dispatcher D000 hiển thị 21 kết nối bị từ chối. Bạn có vấn đề về mạng.

Hãy thử khởi động lại trình nghe và kết nối với em express và xem đầu ra dịch vụ lsnrctl kết nối bị từ chối lý tưởng nên bằng không.


Tôi đang chạy tất cả các thử nghiệm trên máy chủ db. Ping tên máy chủ và ipaddress, và chuyển sang CDB và PDB hoạt động tốt. Bắt tốt đẹp về các kết nối bị từ chối! Tôi đã khởi động lại trình nghe và sử dụng tên máy chủ-EM-URL: cùng một vấn đề "trang web không khả dụng" và lsnerctl cho thấy chưa có mục nào cho XDB. Khi sử dụng ip-EM-URL EM tải (từ từ) và tôi nhận được một mục XDB, nhưng không có kết nối bị từ chối. Tôi không biết phải làm gì với thứ này, nhưng có lẽ nó làm được với bạn?
Wouter

1
đầu ra của hai lệnh này từ db container là gì? CHỌN UTL_INADDR.get_host_address từ kép; CHỌN UTL_INADDR.get_host_name từ kép;

host_address trả về một địa chỉ ipv6, máy chủ trả về tên máy chủ bằng chữ hoa, không có tên miền được đính kèm. Tôi cũng đã chạy một báo cáo RDA và nó cho thấy "Tra cứu DNS - FAILED". Ngoài ra, Cloud Control không cài đặt được khi sử dụng tên máy chủ, nhưng hoạt động khi sử dụng địa chỉ IP. Bây giờ tôi chắc chắn đây là một số sự cố DNS, tôi không biết cách gỡ lỗi / phân tích ...
Wouter

1

Sau khi liên hệ với bộ phận hỗ trợ của Oracle, tôi đã -kinda- có thể tìm hiểu chuyện gì đang xảy ra. Máy chủ này có 4 bộ điều hợp mạng, 1 bộ điều hợp được kết nối với mạng và 3 bộ điều hợp chưa được định cấu hình được kết nối với bộ lưu trữ iSCSI. Vấn đề dường như là do máy khách web hoặc máy chủ EM (không chắc chắn ở đây) đang cố gửi yêu cầu trang web đến bộ điều hợp sai.

Đối với bất kỳ ai gặp phải vấn đề tương tự, bạn có thể kiểm tra điều này bằng cách duyệt URL (sử dụng tên máy chủ.domain) và sau đó kiểm tra tệp listener.log (-oracle_base- / diag / tnslsnr / -instance- / listener / track / listener. đăng nhập). Đối với tôi, trong thông báo lỗi, một địa chỉ IP khác với địa chỉ IP của bộ điều hợp mạng chính được hiển thị. Địa chỉ IP của một trong các bộ điều hợp mạng được kết nối với iSCSI được hiển thị. Khi bỏ qua các địa chỉ IP trong bài viết gốc của tôi, tôi đã không phát hiện ra sự khác biệt về địa chỉ IP này.

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

Khi vô hiệu hóa các bộ điều hợp mạng bổ sung, mọi thứ đều hoạt động tốt.

Ngoài ra, khi đi tới "chrome: // net-internals / # dns" trong chrome, địa chỉ IP của cả bốn bộ điều hợp mạng đã hiển thị cho tên máy chủ của tôi.

Rõ ràng, vấn đề này - không xảy ra, khi duyệt đến trang web từ một máy chủ khác. Ngoài ra, nslookup chỉ trả về địa chỉ IP chính xác. Vì vậy, có vẻ như đây không phải là sự cố DNS, mà là sự cố cục bộ. Tôi nghĩ rằng đây không phải là một câu trả lời đầy đủ cho vấn đề này, vì vô hiệu hóa bộ điều hợp mạng không thể là giải pháp cuối cùng, nhưng tôi hy vọng bất cứ ai phải đối mặt với vấn đề này trong tương lai sẽ "tiếp tục" ngay bây giờ ...

Sự khác biệt giữa địa chỉ IP được máy chủ DNS trả về và địa chỉ IP được sử dụng bởi các trình duyệt web đến từ đâu?

Tôi cũng đã thực hiện một số thay đổi bổ sung có thể ảnh hưởng đến giải pháp cuối cùng, vì vậy để hoàn thiện tôi sẽ bao gồm chúng. Không chắc chắn nếu có liên quan ...:

  • Tăng tham số quy trình của cơ sở dữ liệu từ 300 đến 1000
  • Đã thay đổi tham số "người gửi" bằng cách thêm "(DISPATCHERS = 5)"

0

Hãy thử sử dụng Địa chỉ IP:

http(s)://192.168.1.100:5500/em

Bằng cách này, bạn chắc chắn sẽ đạt được liên kết card mạng với ip.


Tôi giả sử bạn có nghĩa là, hãy thử thêm số cổng vào URL? Trong bài đăng của tôi, tôi đã nói rằng tôi đã thử http (s): // ip-address / em, tuy nhiên, tôi nghi ngờ đó là một lỗi đánh máy và tôi thực sự đã thử nó với số cổng. Tôi không nghĩ rằng nó sẽ tải ở tất cả các cổng mặc định (80). Dù bằng cách nào, tôi không có cách nào để kiểm tra điều này ngay bây giờ, vì chúng tôi đã chuyển từ Oracle sang SQL Server và sẽ không bao giờ nhìn lại. Oracle chỉ không có ý nghĩa trong bất cứ điều gì ngoại trừ môi trường khổng lồ.
Wouter

0

Tôi gặp vấn đề tương tự sau khi cài đặt Oracle 12.2.0.1 trên Windows 2016.

Đầu tiên tôi thấy rằng TCP / IPv6 đã được bật nên tôi đã tắt nó.

Sau đó đã thử theo số Oracle Note (Doc ID 1608258.1) - 12c EM Express hiển thị Lỗi chứng chỉ không hợp lệ trong trình duyệt web.

Cũng không làm việc.

Tôi đã sửa nó bằng cách học cũ ... :)

Tôi phát hiện ra rằng người dùng Windows Oracle_DBA (đã đăng nhập vào PC và được sử dụng để cài đặt Oracle 12c) không có bất kỳ quyền nào trên 2 tệp trong thư mục "xdb_wallet".

Vì thế:

1- Tôi đã thay đổi quyền sở hữu cho thư mục "xdb_wallet" từ bất cứ thứ gì thành Oracle_DBA:

nhập mô tả hình ảnh ở đây

2- đã thay đổi quyền sở hữu của 2 tệp (ewallet.p12, cwallet.sso) trong thư mục "xdb_wallet" từ bất kỳ tệp nào thành Oracle_DBA:

nhập mô tả hình ảnh ở đây

3- Tôi đã làm lại bước 1 và kiểm tra quyền sở hữu đã thay đổi đối với tệp 2.

Trang web https: // hostname: 5500 / em hoạt động tốt trên FireFox, vì IE11 / Win2016 có vấn đề với Flash Player.

Tôi không biết từ quan điểm bảo mật điều đó có nghĩa là gì (bước 1-3) hoặc những mối đe dọa nào có thể xảy ra do những thay đổi đó.

Xin tư vấn nếu bạn biết.


-1

Xác nhận địa chỉ IP cho tên máy chủ trong /etc/hoststệp

ví dụ: sau đây là tập tin máy chủ của tôi

127.0.0.1       localhost
10.148.180.115  tom

tomlà tên máy chủ của tôi và 10.148.180.115là địa chỉ IP cho máy chủ của tôi

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.