Как установить tnsping?

Вопрос:Как мне установить tnsping? Я попытался установить oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm, и я могу использовать некоторые клиентские команды, но nog tnsping. Ответ №1Клиент экземпляра Oracle не включает приложение tsnping. Вы должны запустить "Oracle Universal Installer" и включить его. Я не помню точно, какой вариант вы должны установить, либо это "Oracle Database Utilities", либо "Oracle Net" Ответ №2Также см.

Вопрос:

Как мне установить tnsping?
Я попытался установить oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm, и я могу использовать некоторые клиентские команды, но nog tnsping.

Ответ №1

Клиент экземпляра Oracle не включает приложение tsnping. Вы должны запустить “Oracle Universal Installer” и включить его.

Я не помню точно, какой вариант вы должны установить, либо это “Oracle Database Utilities”, либо “Oracle Net”

Ответ №2

Также см. McTnsping “отдельную программу Windows, для которой не требуется клиент Oracle”. Он переносной и не требует установки.

Usage 1: McTnsping.exe { <tns entry> | <host>:<port> } [<count>] <tns entry> the net service name in the tnsnames.ora file. <host>:<port> server name or IP and port (mandatory) <count> number of times to check target, default is 1. Ответ №3

Если тот, кто доберется до такого места, как я… Вот что сработало для меня:

Мгновенный клиент версии 12.2.0.1 + sqlplus + tnsping (скопирован с другого сервера той же версии)

Структура каталогов и env (как в профиле bash):

export ORACLE_BASE=/opt/oracle export ORACLE_HOME=${ORACLE_BASE}/instant_client122 export PATH=$ORACLE_HOME:$PATH export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME #since all binaries are in $ORACLE_HOME — no bin or lib are present export TNS_ADMIN=$ORACLE_HOME/network/admin

скопировать с другого сервера на целевой:

‘tnsping’ to $ORACLE_HOME ‘$ORACLE_HOME/network/mesg/tnsus.msb’ to $ORACLE_HOME/network/mesg

Затем поместите правильные значения в $ TNS_ADMIN/tnsnames.ora и загрузите переменные env. После этого он должен иметь возможность выполнить tnsping и показать правильное сообщение в качестве ответа.

Ответ №4

Вот что я сделал, чтобы скопировать tnsping на другую машину. В моем случае клиент oracle установлен на C:Oracleproduct12.1.0client_1.

Это предполагает, что на целевом компьютере уже установлен Instant Client или аналогичный; и что путь оракула и ключи реестра установлены.

(1) Скопируйте tnsping.exe из источника на конечный аппарат в client_1bin.

(2) Скопируйте следующие файлы из client_1bin в client_1bin:

oraasmclnt12.dll oracell12.dll oraclient12.dll oraclsce12.dll oracommon12.dll oracore12.dll orageneric12.dll orahasgen12.dll oraldapclnt12.dll oran12.dll orancds12.dll orancrypt12.dll oranhost12.dll oranl12.dll oranldap12.dll oranls12.dll oranro12.dll orantcp12.dll orantns12.dll oraocr12.dll oraocrb12.dll oraocrutl12.dll oraplp12.dll orapls12.dll ORASLAX12.DLL orasnls12.dll oraunls12.dll orauts.dll oravsn12.dll oraxml12.dll orazt12.dll oraztkg12.dll

Это должно быть около 84,6 МБ.

(3) В client_1 на конечном компьютере сделайте резервную копию следующих файлов:

oci.dll orannzsbb12.dll oraons.dll orasql12.dll orawsec12.dll

Теперь на исходном компьютере найдите эти файлы в client_1bin и скопируйте их в client_1 (без корзины) на конечном компьютере, перезаписав существующие файлы. (Примечание: файл oci.dll меньше на ~ 330 КБ, файл orasql12.dll меньше на ~ 300 КБ. Я не уверен, что потеряно, следовательно, резервное копирование).

(4) На целевом компьютере создайте каталог mesg в client_1Network. Теперь скопируйте следующий файл из источника в место назначения:

client_1Networkmesgtnsus.msb

(5) Откройте regedit. Создайте следующий ключ:

HKEY_LOCAL_MACHINESOFTWAREOracleKEY_OraClient12Home1_32bit

(с другой машины, похоже, что версия x64 называется HKEY_LOCAL_MACHINESOFTWAREOracleKEY_OraClient12Home1, но используемая мной программа tnsping говорит, что она 64-битная, так что…)

Под ключом создайте строку с именем ORACLE_HOME со значением C:Oracleproduct12.1.0client_1.

Вы должны сделать это сейчас ($$$ = отредактировано):

C:Users$$$>tnsping $$$ TNS Ping Utility for 64-bit Windows: Version 12.1.0.2.0 — Production on 03-APR-2 019 08:47:37 Copyright (c) 1997, 2014, Oracle. All rights reserved. Used parameter files: C:Oracleproduct12.1.0client_1networkadminsqlnet.ora Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = $$$)(PORT = $$$))) (CONNECT_DATA = (SERVICE_NAME = $$$ $$$) (SERVER = DEDICATED))) OK (30 msec)

Устранение

Вот процесс, которым я следовал, разделяя, когда эти шаги неизменно не работают на более поздней версии.

Прежде всего, я просто скопировал tnsping.exe.

Я не случайно выбрал вышеупомянутые dll, насколько я могу сказать, что всем требуется. Я запустил исполняемый файл, и он выдал ошибку, я скопировал бы dll и попытался бы снова:

Через несколько dll вы столкнетесь с ошибками другого типа:

Если это произойдет, запустите монитор процесса и вставьте фильтр, чтобы ProcessName содержал tnsping, и попробуйте снова запустить программу. Вы должны увидеть что-то вроде следующего. Главное, на что нужно обратить внимание, это то, что он пытается загрузить (в этом примере) orawsec12.dll, что успешно, но затем он продолжает пытаться загрузить dll, смотрящую по разным путям, а затем в конце запускает werfault и Программа заканчивается. Я предполагаю, что он понимает какое-то несоответствие версий и продолжает искать правильную версию.

Отсутствующий раздел реестра будет отображаться следующим образом в мониторе процесса (операция RegOpenKey, результат NAME NOT FOUND):

Если файл tnsus.msb отсутствует, вы должны увидеть что-то вроде следующего в мониторе процесса (операция CreateFile, результат NAME NOT FOUND):

Оцените статью
Добавить комментарий