Tôi gặp sự cố này và cách khắc phục là đảm bảo trong tnsnames.ora
SERVICE_NAME
là một tên dịch vụ hợp lệ trong cơ sở dữ liệu của bạn. Để tìm ra các tên dịch vụ hợp lệ, bạn có thể sử dụng truy vấn sau trong oracle:
select value from v$parameter where name='service_names'
Sau khi tôi cập nhật tnsnames.ora
tới:
TEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = *<validhost>*)(PORT = *<validport>*))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = *<servicenamefromDB>*)
)
)
sau đó tôi chạy:
sqlplus [email protected]
Thành công! Người nghe về cơ bản cho bạn biết rằng bất kỳ tên_dịch_vụ nào bạn đang sử dụng đều không phải là dịch vụ hợp lệ theo DB.
(* Tôi đang chạy sqlplus từ máy trạm khách Win7 đến DB từ xa và đổ lỗi cho DBA;) *)