2009-08-06 37 views
9

Trợ giúp! Tôi là một newbie cho Oracle, những người đang cố gắng truy cập vào một cơ sở dữ liệu trên một máy chủ cũ mà chúng tôi thừa kế cho một khách hàng.Oracle TNS: tên dịch vụ mạng không được chỉ định một cách không chính xác

Tôi tự tin tôi có cơ sở dữ liệu oracle và người nghe bắt đầu và làm việc, nhưng khi cố gắng truy cập vào sqlplus hoặc các lệnh exp, tôi nhận được lỗi sau:

ORA-12162: TNS: dịch vụ net tên được chỉ định không chính xác

Tôi đã chỉnh sửa tệp tnsnames.ora để thay đổi máy chủ thành 127.0.0.1 thay vì url bên ngoài và có thể kết nối thành công kết nối của tôi nhưng không nhận được nhiều hơn nữa.

Bất kỳ lời khuyên hoặc trợ giúp nào sẽ được đánh giá cao.

+1

Vui lòng cung cấp nội dung tệp sqlnet.ora của bạn và phần liên quan của tnsnames.ora của bạn. – Christian13467

+0

sqlnet.ora là NAMES.DIRECTORY_PATH = (TNSNAMES) tnsnames.ora: PNEWS10S.WORLD = (DESCRIPTION = (ĐỊA CHỈ = (PROTOCOL = TCP) (HOST = 127.0.0.1) (PORT = 1521)) (CONNECT_DATA = (SID = pnews10s) ) ) –

Trả lời

12

Hãy thử thiết lập Oracle SID

bộ tên ORACLE_SID = cơ sở dữ liệu

+1

Cảm ơn cho điều này - tôi đã cố gắng này và đã chỉ cố gắng một lần nữa, nhưng tôi vẫn nhận được kết quả tương tự! –

0

I have edited the tnsnames.ora file to change the host to 127.0.0.1 rather than an external url and am able to successfully tnsping my connection, but am not getting much further.

Lần cuối cùng đã xảy ra với tôi (tnsping công trình nhưng sqlplus không, thông báo lỗi tương tự như bạn có), các vấn đề là ai đó đã sao chép tệp tnsnames.ora từ máy Windows và để lại mã nguồn cấp dữ liệu dòng sai.

Nếu trường hợp đó xảy ra, bạn cần thực hiện một số dos2unix.

Các tệp này là rất nhạy với "không gian trắng" chính xác và tabbing.

Ai đó nên khiếu nại với Oracle về điều đó.

+0

xin lỗi sự thiếu hiểu biết của tôi - ý của bạn là gì: để lại mã nguồn cấp dữ liệu dòng sai. –

+0

Dòng văn bản kết thúc bằng nguồn cấp dữ liệu dòng và mã trả về như \ r \ n. Hệ điều hành khác nhau có các tiêu chuẩn khác nhau như thế nào điều này được thực hiện. Vì vậy, theo thời gian bạn có thể gặp phải một tập tin văn bản có cách khác nhau (sai) để làm điều này. Ví dụ. nếu bạn tải về tập tin văn bản linux cho bạn cửa sổ máy. –

+0

Nhìn vào: http://en.wikipedia.org/wiki/Newline#Common_problems –

2

Bạn đang thử kết nối cục bộ (ví dụ: "sqlplus u/p") hoặc kết nối mạng (ví dụ: "sqlplus u/[email protected]")? Cả hai đều cho bạn lỗi tương tự?

Định nghĩa TNSPING bằng cách sử dụng kết nối mạng. Tôi thấy một số tài liệu tham khảo cho biết bạn có thể gặp lỗi 12612 khi sử dụng kết nối cục bộ. Vì vậy, đó là một lời giải thích có thể có lý do tại sao bạn nhìn thấy lỗi từ SQLPlus nhưng không phải là TNSPING. Nếu vậy, hãy thử thực hiện kết nối mạng thay thế.

Kết nối cục bộ không hoạt động có thể do ORACLE_SID không được đặt chính xác như John đã đề xuất, nhưng cú pháp của ông có thể không phải là phương pháp phù hợp với bất kỳ trình bao nào bạn đang sử dụng. Đảm bảo bạn đang sử dụng đúng phương pháp cho trình bao đã cho, chẳng hạn như "xuất ORACLE_SID = tên" hoặc "setenv ORACLE_SID tên".

+1

Tôi đã gặp sự cố tương tự. Chuỗi kết nối PHẢI giống như: sqlplus MyUsername/MyPassword @ // MyHostname @ PortNum/MyServiceName. Vui lòng xem toàn bộ bài đăng tại http://stackoverflow.com/a/29423960/1822379 –

2

Dave Costa đã giới thiệu cho bạn 2 câu hỏi quan trọng. Bạn đang cố gắng kết nối qua net8 hoặc cục bộ qua extproc? Là người nghe trên máy địa phương (127.0.0.1 - thiết bị lặp lại) thiết lập cho kết nối extproc?

Để sử dụng giao thức kết nối net8 hoặc tcp, bạn cần chỉ định người dùng/pw @ tns_alias. Để kết nối cục bộ thông qua extproc, bạn nên chỉ định tham số oracle_sid và sau đó kết nối thông qua tên/pw.

Tôi cũng nhận thấy tnsalias có miền .world được thêm vào, nhưng tệp sqlnet.ora không chứa tham chiếu đến NAMES.DEFAULT_DOMAIN là "thế giới".

Ngoài ra tham số env cho TNS_ADMIN là gì? Đảm bảo các công cụ của bạn đang xem đúng tệp tnsnames.ora.Quá nhiều thời gian mọi người sửa đổi một tnsnames.ora và các chương trình/phần mềm đang xem xét một phần mềm khác.

Các vấn đề liên quan