2011-08-01 21 views
45

enter image description hereORA-12560: TNS: protocol lỗi bộ chuyển đổi

tôi Google [d] cho lỗi này ORA-12560: TNS: protocol bộ chuyển đổi lỗi nhưng không thể tìm ra lý do thực tế và làm thế nào để giải quyết lỗi này ?

Bất kỳ ai cũng có thể cho tôi biết giải pháp hoàn hảo để giải quyết vấn đề đăng nhập.

Trả lời

61
  1. Đến máy cửa sổ nơi đặt máy chủ máy chủ cơ sở dữ liệu Oracle
  2. Vào Start -> Run -> services.msc trong cửa sổ . Xác định vị trí OracleService (ở đây OracleServiceORCL) và bấm vào "Start" để bắt đầu dịch vụ cơ sở dữ liệu oracle (nếu chưa chạy)
  3. Một khi nó khởi động và chạy, từ dấu nhắc lệnh chạy như sau:

    tnsping < tnsalias>

(entry tnsalias bạn có thể tìm thấy nó trong tnsnames.ora tập tin)

Services

+10

Trong trường hợp dịch vụ của tôi đang chạy nhưng lại lỗi này? tôi nên làm gì? –

+0

Vì vậy, điều này giả định bạn đang chạy Oracle Server trên Windows? –

+0

Tôi sử dụng Oracle 11g trên Windows 8.1. Trước khi tất cả, tôi đặt 'ORACLE_SID'. 'sqlplus' hoạt động, không vấn đề gì, sau đó tôi đóng nó lại. Tôi mở lại, tôi thử nhiều lần, nhưng không làm việc. Ngay cả khi dịch vụ đang chạy, 'sqlplus' không hoạt động. –

0

Bạn cần nói cho SQLPlus biết bạn muốn đăng nhập vào cơ sở dữ liệu nào. Chuỗi máy chủ cần phải là chuỗi kết nối hoặc bí danh được định cấu hình trong tệp TNSNames.ora của bạn.

3

Điều này thường có nghĩa là người nghe chưa bắt đầu. Kiểm tra bảng điều khiển Dịch vụ.

Trên Windows (như bạn) một nguyên nhân phổ biến khác là ORACLE_SID không được xác định trong sổ đăng ký. Chỉnh sửa sổ đăng ký hoặc đặt ORACLE_SID trong hộp CMD. (Bởi vì bạn muốn chạy sqlplusw.exe Tôi đề nghị bạn chỉnh sửa registry.)

19

Dường như cơ sở dữ liệu không hoạt động. Nó có thể là do khởi động lại máy và cá thể không được thiết lập để tự khởi động và nó không bắt đầu một cách tự nhiên sau khi bắt đầu từ màn hình dịch vụ.

Chỉ cần goto Command Prompt

  1. Set Oracle SID C:> set ORACLE_SID = ORCL

  2. Bây giờ chạy Net lệnh start. C:> net start oracleserviceORCL

+3

Làm việc như một sự quyến rũ..Cảm ơn Yasir – Hrushikesh

+0

Đây là giải pháp duy nhất có hiệu quả đối với tôi! Cảm ơn! – akelec

+0

này vẫn hoạt động vào năm 2018 –

7

Thêm vào môi trường vars các varibale và giá trị sau đây để xác định vị trí của tập tin tnsnames.ora:

TNS_ADMIN

C: \ oracle \ product \ 10.2.0 \ client_1 \ network \ admin

+3

Bạn cũng có thể cần phải đặt ORACLE_HOME thành một cái gì đó như C: \ oracle \ product \ 10.2.0 \ client_1 – jackohug

2

Tôi đã giải quyết vấn đề một cách dễ dàng. Oracle của tôi đã được chạy tốt trong quá khứ. Sau khi tôi cài đặt MS SQL Server là khi tôi nhận thấy vấn đề này. Tôi chỉ cần gỡ cài đặt MS SQL Server trên máy tính của tôi sau đó vấn đề đã biến mất. Đảm bảo bạn khởi động lại máy tính sau đó. Bây giờ tôi có thể kết nối với cơ sở dữ liệu Oracle thông qua SQLPlus một lần nữa. Tôi đoán là có một số xung đột giữa hai người. Hi vọng điêu nay co ich.

1

Nếu không có công việc trên, sau đó thử này: Sửa đổi LISTENER.ora (mỏ được tìm thấy trong: oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora) ==> thêm một người biết lắng nghe tùy chỉnh trỏ đến cơ sở dữ liệu của bạn (SID), ví dụ SID của tôi là XZ0301, vì vậy:

## Base XZ03001 

SID_LIST_LISTENER_XZ03001=(SID_LIST=(SID_DESC=(ORACLE_HOME = 
E:\oracle\product\11.2.0\dbhome_1)(SID_NAME= XZ03001))) 

LISTENER_XZ03001=(DESCRIPTION_LIST=(ADDRESS=(PROTOCOL = 
TCP)(HOST=MyComputerName)(PORT= 1521))) 

DIAG_ADR_ENABLED_LISTENER_XZ03001=ON 

ADR_BASE_LISTENER_XZ03001=E:\oracle 

Khởi động lại máy tính của bạn

Đối với Windows 7, sử dụng sau đây để thay đổi listener.ora: - vào Start> All Programs> Accessories - nhấp chuột phải Notepad và sau đó nhấp vào Run as Administrator. - Tệp> mở và điều hướng đến tệp tnsnames.ora. - Thực hiện các thay đổi sau đó nó sẽ cho phép bạn lưu

0

Nó thực sự đã hoạt động trên máy của tôi. Nhưng thay vì OracleServiceORCL tôi tìm thấy OracleServiceXE.

2

Sau khi tìm kiếm rất nhiều cách đơn giản để giải quyết nó. Chỉ cần làm theo các bước.

  1. Kiểm tra trạng thái của người nghe của bạn.
    1. dấu nhắc lệnh mở và nhập lsnrctl status
    2. Bạn sẽ không có người nghe.
  2. Bây giờ mở listener.ora tập tin đó là hiện diện trong thư mục sau: C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN

    1. mở tập tin đó và thay đổi thông số máy chủ với bạn tên máy tính
    2. Bạn có thể nhận được tên máy tính của bạn bằng cách click chuột phải trên và kiểm tra tên máy tính của bạn và thay thế thông số máy chủ bằng tên máy tính của bạn như sau:

      LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS = (PROTOCOL = TCP)(HOST = Electron-PC)(PORT = 1521) ) ) )

      Vì vậy, tại đây bạn có thể quan sát HOST = Electron-PC, là tên máy tính của tôi.

    3. Lưu file listener.ora và một lần nữa quay trở lại cammand propt

    3.Nhập thông tin sau vào lời nhắc lệnh lsnrctl start

Điều này sẽ bắt đầu OracleTNSListner.

bạn có thể kiểm tra trong dịch vụ bằng cách mở tab dịch vụ của Trình quản lý tác vụ. nếu không bắt đầu tự động, bạn có thể khởi động nó.

Chỉ cần nhiều điều này và bạn đã sẵn sàng làm việc trở lại trên oracle.

Tốt nhất của Luck.

3

từ lệnh điều khiển, nếu bạn nhận được lỗi này bạn có thể tránh nó bằng cách gõ sqlplus/nolog

sau đó bạn có thể kết nối dùng conn/pass @host: cổng/dịch vụ

1

Một giải pháp khả thi mà chỉ làm việc cho tôi ... xem xét tôi đã sử dụng đăng nhập địa phương của tôi như là quyền dba.

Làm theo các bước để truy cập Dịch vụ. Nhấp chuột phải vào cá thể và vào 'Đăng nhập'? (có thể không phải là tên nhưng đó là một trong các tab chứa quyền). Thay đổi cài đặt để sử dụng LOCAL.

0

Trong trường hợp của tôi, (ORA-12560: Lỗi bộ điều hợp giao thức TNS) Nguyên nhân của sự cố kết nối cơ sở dữ liệu như cơ sở dữ liệu, tên người dùng và mật khẩu.

Khi bạn gặp sự cố. Ban đầu bạn phải kiểm tra chi tiết kết nối, sau khi kiểm tra dịch vụ oracle và hơn thế nữa.

tôi đã bỏ lỡ một số chi tiết kết nối, Vì vậy, chỉ có tôi đã nhận TNS giao thức chuyển đổi lỗi, tôi sẽ thay đổi các chi tiết kết nối, Nó sẽ được làm việc tốt.

1

Trong trường hợp của tôi (cho OracleExpress) dịch vụ đang chạy, nhưng tôi có vấn đề này khi cố gắng truy cập vào cơ sở dữ liệu thông qua sqlplus mà không nhận dạng kết nối:

sqlplus sys/mypassword as sysdba 

Để làm cho nó làm việc tôi cần thêm kết nối định danh (XE cho Oracle Express), vì vậy lệnh sau đã hoạt động ok:

sqlplus sys/[email protected] as sysdba 

Nếu bạn vẫn nhận được ORA-12560, hãy đảm bảo bạn có thể ping dịch vụ XE. Sử dụng:

tnsping XE 

Và bạn sẽ nhận được thông điệp OK cùng với chuỗi kết nối đầy đủ (lệnh tnsping nằm trong thư mục cài đặt oracle của: [oracle cài đặt nhanh dir] \ ứng dụng \ oracle \ sản phẩm \ 11.2.0 \ server \ bin). Nếu bạn không thể ping, hãy đảm bảo rằng tệp tnsnames.ora của bạn có thể truy cập được cho sqlplus. Bạn có thể cần phải thiết lập môi trường TNS_ADMIN biến trỏ đến thư mục ADMIN của bạn, nơi mà các tập tin nằm, ví dụ:

TNS_ADMIN=[oracle express installation dir]\app\oracle\product\11.2.0\server\network\ADMIN 
0

dòng chảy các bước:

  1. Chỉnh sửa listener.ora và TNSNAMES của bạn.tệp ora trong $ Oracle_home \ product \ 11.2.0 \ client_1 \ NETWORK \ ADMIN vị trí

    a. thêm tập tin listener.ora

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

    )

ADR_BASE_LISTENER = C: [ở đây c là thư mục home Oralce]

b. thêm vào tập tin tnsnames.ora

SCHEMADEV = 
      (DESCRIPTION = 
        (ADDRESS_LIST = 
        (ADDRESS = (PROTOCOL = TCP)(HOST = dabase_ip)(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
     (SERVICE_NAME = SCHEMADEV) 
    ) 
) 
  1. mở cửa sổ lệnh và gõ
    sqlplus username/passowrd @ oracle_connection_alias

Ví dụ:
username: your_database_username
mật khẩu : Your_database_password
oracle_connection_alias: SCHEMADEV cho ví dụ trên.

0

ORA-12560: TNS: Erro de adaptador de protocolo

  1. bộ Environment Variables: ORACLE_BASE, ORACLE_HOME, ORACLE_SID
  2. chắc chắn rằng người dùng của bạn là một phần của ORACLE_GROUP_NAME (Windows)
  3. đảm bảo tệp ORACLE_HOME/network/admin/sqlnet.ora là: SQLNET.AUTHENTICATION_SERVICES = (NTS)
  4. (Windows) Hãy cẩn thận khi bạn thêm một máy khách Oracle mới: thêm đường dẫn mới vào thư mục PATH env. biến có thể làm rối tung mọi thứ. Mục đầu tiên trong biến này tạo sự khác biệt: xác nhận rằng tệp thực thi sqlplus trong ORACLE_HOME (ORACLE_HOME/bin) xuất hiện đầu tiên trong thư mục PATH env. biến.
Các vấn đề liên quan