Máy khách Oracle ORA-12541: TNS: không có người nghe [đã đóng]


81

Tôi là người mới trên cơ sở dữ liệu Oracle, nhưng tôi có một vấn đề. Trên máy chủ Cơ sở dữ liệu (server1) của tôi, trình nghe và phiên bản cơ sở dữ liệu chạy chính xác và tôi có thể sử dụng sqlplusđể kết nối với DB này. Khi tôi kết nối với cơ sở dữ liệu bằng cách sử dụng máy chủ khác, tôi kiểm tra cấu hình TNS và nó đúng nhưng hệ thống cho biết:

ERROR:
ORA-12541: TNS:no listener

Cơ sở dữ liệu của tôi là Oracle 10gR2

Vì vậy, làm thế nào tôi có thể giải quyết vấn đề này?


4
phải là một câu hỏi serverfault.com / dba.stackexchange.com
Raptor

Nhưng khi tôi kết nối với cơ sở dữ liệu bằng cách sử dụng máy chủ khác Bạn muốn nói rằng khi bạn cố gắng kết nối cùng một cơ sở dữ liệu từ máy chủ?
Jåcob

Ý tôi là tôi kết nối đến máy chủ cơ sở dữ liệu của khách hàng bằng cách sqlplus hoặc nhà phát triển sql trên Sqldeveloper Lỗi "Một lỗi đã gặp phải thực hiện các hoạt động yêu cầu: Các Network Adapter không thể thiết lập kết nối người bán hàng đang 20"
aliasosx

Vậy bạn có thể kết nối với cơ sở dữ liệu bằng sqlplus nhưng không phải từ SQL Developer?
Jåcob

bạn đã xác minh rằng người nghe có ở trên hộp "server1", xác minh số cổng của nó và kiểm tra TNSNames / chuỗi kết nối trên máy chủ khác xem nó có khớp với ip / tên máy chủ và cổng không?
DazzaL

Câu trả lời:


86

Bạn cần đặt oracle lắng nghe tất cả các địa chỉ ip (theo mặc định, nó chỉ lắng nghe các kết nối localhost.)

Bước 1 - Chỉnh sửa listener.ora

Tệp này nằm ở:

  • Windows: %ORACLE_HOME%\network\admin\listener.ora.
  • Linux: $ ORACLE_HOME / network / admin / listener.ora

Thay thế localhost bằng 0.0.0.0

# ...

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
    )
  )

# ...

Bước 2 - Khởi động lại các dịch vụ Oracle

  • Windows: WinKey+r

    services.msc
    
  • Linux (CentOs):

    sudo systemctl restart oracle-xe
    

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


4
Cuối cùng sau một ngày gian khổ, nó hoạt động!
akki

2
Cảm ơn! điều này đã giải quyết vấn đề của tôi. Trình nghe trong Máy chủ DB được đặt thành máy chủ cục bộ. Đặt tên máy chủ cho máy tính giải quyết vấn đề của tôi.
doliharahap

3
xin chào, vấn đề của tôi là tôi không thể tìm thấy oracleservice trong dịch vụ, tôi phải làm gì? cảm ơn u
martinwang1985

3
thư mục quản trị của tôi không có một tập tin lister.ora, và dịch vụ của tôi không danh sách "Oracle [gì]"
Christine

1
Ví dụ cho Oracle 12c:ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1; export ORACLE_HOME
Ivan Chau

11

Tôi cũng gặp phải vấn đề tương tự nhưng tôi đã giải quyết vấn đề bằng cách khởi động trình nghe TNS trong bảng điều khiển -> công cụ quản trị -> dịch vụ -> khởi động trình nghe TNS oracle.Tôi đang sử dụng windows Xp và Toad để kết nối với Oracle.


tôi giải quyết vấn đề của tôi bằng cách của bạn. vấn đề của tôi nêu ra sau khi cập nhật hệ điều hành.
Istiaque Hossain

Nếu câu trả lời ở đây không hoạt động , vì quesiton này đã đóng. đây là câu trả lời của tôi : 1. sử dụng cmd với admin và chạy tnsping YourOracleSID, nếu có lỗi, hãy xem giải pháp ở đây, chẳng hạn như thử LSNRCTL.EXE start: sort.veritas.com/public/documents/ccser/5.2/windowsandunix/…
yu yang Jian

3

Kiểm tra Tên TNS của bạn, tên này không được có khoảng trắng ở bên trái ALIAS

Trân trọng


2

Theo tài liệu trực tuyến oracle

ORA-12541: TNS: không có người nghe

Cause: The connection request could not be completed because the listener is not running.

Action: Ensure that the supplied destination address matches one of the addresses used by 
the listener - compare the TNSNAMES.ORA entry with the appropriate LISTENER.ORA file (or  
TNSNAV.ORA if the connection is to go by way of an Interchange). Start the listener on 
the remote machine.

31
Điều này không giúp ích gì cho những ai không biết cách thực hiện hành động được đề xuất.
Christine
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.