Какой лучший способ определить, какую версию клиента Oracle я использую?
Тема говорит все: Каков наилучший способ определить точную версию клиента oracle, с которой я работаю? Наши клиенты работают под управлением Windows.
Я нашел одно предложение запустить утилиту tnsping без параметров, которая отображает информацию о версии. Есть ли лучший способ?
Установил ли клиент установку этой информации в любой текстовый файл?
13 ответов
Командная строка TNSPing покажет версию. Аналогично, sqlPlus.exe распечатает свою версию. Вы также можете перейти к файлам readme в каталоге «relnotes» вашей клиентской установки. Например, в версии 10.2 есть файл с именем README_jdbc.txt, который расскажет вам, какая версия была установлена.
Вы можете использовать представление v$session_connect_info против текущего идентификатора сеанса ( SID из пространства имен USERENV в SYS_CONTEXT ).
В Unix
Если вы не знаете местоположение или версию установленного продукта Oracle, вы можете найти его из инвентаря, который обычно записывается в /etc/oraInst.loc
Здесь найдите файл inventory.xml
Как только вы узнаете место установки
Простой «sqlplus» предоставит вам версию установленного клиента.
В приведенном выше примере версия клиента Oracle 11.2.0.1
В Windows
Переменная местоположения реестра в окнах INST_LOC
Проверьте значение записи Inst_loc, которое будет установлено на месте установки программного обеспечения.
Вы можете использовать командную строку, или вы можете перемещаться/исследовать исходное местоположение oracle, а затем cd to bin to lauch sqlplus, который предоставит вам информацию о версии клиента.
Проблема №1: Установлены несколько клиентов Oracle.
В любом случае, вы слепы к возможностям нескольких клиентских установок.
Проблема №2: Мгновенный клиент не имеет TNSPING и иногда не включает SQL * Plus.
Если на компьютере установлен Instant Instant Client (а не полный клиент), тогда TNSPING не включен, а SQLPLUS является дополнительным аддоном. Поэтому я не могу полагаться на те инструменты, которые там есть. Кроме того, Мгновенный Клиент иногда устанавливается как решение unzip-and-go, поэтому в HKLM нет Oracle Inventory и ничего.
Проблема №3: Клиент был установлен с использованием «Пользовательский», а ODBC, OLEDB, ODP.Net и JDBC не были установлены.
Очевидный случай, не будет чтения ODBC или JDBC для очистки информации о версии.
Решение:
Вот однострочный (извините за правый свиток, но за то, что характер однострочных, а?). Предположим, что вы уже находитесь в PowerShell:
Примеры результатов
Здесь некоторые выходы некоторых из моих систем. У этого плохого гражданина есть 3 клиента Oracle 11.2.0.3. Вы можете видеть, что некоторые из них 32-разрядные, а другие 64-бит:
Другая система, у которой есть клиент 10g на D:\
Предостережения/Проблемы
Для этого явно требуется PowerShell, который является стандартным для Windows 7+ и Server 2008 R2+. Если у вас есть XP (который вам больше не нужен), вы можете легко установить PowerShell.
How do we check version of Oracle
How do we check version of Oracle on which we are working?
How do we check the version of the interface on which we are working?
5 Answers 5
select banner from v$version;
select version from PRODUCT_COMPONENT_VERSION where rownum = 1;
There are multiple ways, to list a few of them :
For serverside versions:
For client side versions, it depends on the client. i.e for python:
As a complement, if you are using an OCI-based client interface:
Not the answer you’re looking for? Browse other questions tagged sql oracle version or ask your own question.
Linked
Related
Hot Network Questions
Subscribe to RSS
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2021.12.16.41042
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.
Как узнать, установлен ли клиент Oracle 32 бит или 64 бит?
ОС: Windows 2008 Server R2
8 ответов
простой способ узнать это в Windows-запустить SQLPlus из каталога bin вашего Oracle homes, а затем проверить Диспетчер задач. Если это 32-разрядная версия SQLPlus, вы увидите процесс на вкладке Процессы, который выглядит следующим образом:
Если это 64-разрядный процесс будет выглядеть так:
на %ORACLE_HOME%\inventory\ContentsXML папка и открыть
втором экране.
Если следующие строки
Возможно, установлены 32-разрядные и 64-разрядные Oracle Homes.
одна вещь, которая была очень простой и хорошо работала для меня, делала TNSPing из командной строки cmd:
1) найти, где находится sqlplus,
2) Определите тип файла,
[oracle@LINUX db_1]$ file /app/oracle/product/11.2.0/db_1/bin/sqlplus
/ app/oracle/product/11.2.0/db_1/bin / sqlplus: 64-разрядный исполняемый файл LSB ELF, x86-64, Версия 1 (SYSV), динамически связанный (использует общие библиотеки). Для GNU / Linux 2.6.18, не раздели.
ни одна из ссылок выше о папке lib и lib32 не работала для меня с Oracle Client 11.2.0, но я нашел это на сообщество OTN:
Что касается проверки установки клиента, чтобы попытаться определить, является ли это 32 бит или 64 бит, вы можете проверить реестр, 32 бит дома будет расположен в HKLM>программное обеспечение>WOW6432Node>Oracle, тогда как 64-битный дом будет в HKLM>программное обеспечение>Oracle.
следующее, взятое из здесь, не упоминалось здесь:
Если клиент Oracle 32-разрядный, он будет содержать папку «lib»; но если это 64-разрядный клиент Oracle, у него будут папки» lib «и» lib32″.
на 64-битной системе:
32-битный драйвер: C:\Windows\SysWOW64\odbcad32.exe
64-битный драйвер: C:\Windows\System32\odbcad32.exe
перейдите на вкладку Драйверы
Версия показана там также.
для клиента Oracle 12.1 windows, глядя на выход из команды TNSPING, кажется, работает:
с 32 битами, установленными на 64-битной ОС:
утилита TNS Ping для 32-битных Windows: Версия 12.1.0.2.0-производство 02 февраля-2 016 15:44:37
Copyright (c) 1997, 2014, Oracle. Все права защищены.
с 64 бит установлен на 64 бит ОС:
утилита TNS Ping для 64-битных Windows: Версия 12.1.0.1.0-производство 02 февраля-2 016 16:00:23
Copyright (c) 1997, 2013, Oracle. Все права защищены.
Database.Guide
Beginners
Categories
7 Ways to Check your Oracle Version
Here are seven ways to check which version of Oracle Database you’re running.
The V$VERSION View
The V$VERSION view returns the version and component level information.
The V$INSTANCE View
If you have the appropriate permissions, you can use the V$INSTANCE view to return just the version.
The PRODUCT_COMPONENT_VERSION View
Another option is the PRODUCT_COMPONENT_VERSION data dictionary view.
The SQL Developer GUI
If you’re using the SQL Developer GUI, and you don’t want to run the above views (or can’t remember their names), you can navigate to the applicable data dictionary report in the Reports pane.
To do this, under the Reports pane, go to Data Dictionary Reports > About Your Database > Version Banner.
Clicking on Version Banner opens a prompt where you need to select the connection:
Select the appropriate connection and click OK.
This opens a new tab with the version information:
The SQLcl Tool
SQLcl is a command line interface for working with Oracle Database. When you use SQLcl to connect to an Oracle instance, the release and version are displayed.
The first thing returned when connecting via SQLcl is the SQLcl release number. However, once it connects, it then returns the Oracle Database release and version information.
Of course, once you’ve connected with SQLcl, you can also use any of the other methods on this page to get the Oracle Database version.
The SQL*Plus Tool
If you don’t have SQLcl, you could try SQL*Plus.
Oracle SQL*Plus is a command line tool that is installed with every Oracle Database Server or Client installation. It’s been around since 1985 (a lot longer than SQLcl). It displays the same information that SQLcl displays when connecting to Oracle Database.
The DBMS_DB_VERSION Package
Another option is the DBMS_DB_VERSION package. We can return the VERSION constant and also the RELEASE constant if required.
Как посмотреть версию oracle client
Имеется ввиду та версия, что на закладке About\version находится??
Так она 0.0.0.0 
А переменной окружения такой нет.
| | От: | Sergey Ten | http://www.fastalgo.com |
| Дата: | 31.01.03 16:57 | ||
| Оценка: |
Здравствуйте, Аноним, Вы писали:
А>Имеется ввиду та версия, что на закладке About\version находится??
А>Так она 0.0.0.0 
Надо смотреть не только File Version из ресурса VERSIONINFO, но и Product Version, причем во всех секциях. Где-нибудь да промелькнет. Вот версия, хранящаяся в sqlplusw.exe:
В общем случае, файл oci.dll может и не присутствовать в клиенте (в 7.3 его нет, и в 8.0, по-моему, тоже, хотя не уверен). Поэтому я привел информацию о sqlplusw.exe, который вроде бы есть во всех версиях.
| | От: | Зеленый |
| Дата: | 31.01.03 17:20 | |
| Оценка: |
Здравствуйте, Sergey Ten, Вы писали:
ST>Надо смотреть не только File Version из ресурса VERSIONINFO, но и Product Version, причем во всех секциях. Где-нибудь да промелькнет. Вот версия, хранящаяся в sqlplusw.exe:
ST>
ST>
Спасибо, конечно, хотя это все равно не прокатит. У меня ProductVersion у sqlplusw.exe на 8.1.6, хотя при установке клиента говорилось, что версия 8.1.7.
А у OCI.dll все равно даже намека на версию нет.
ST>В общем случае, файл oci.dll может и не присутствовать в клиенте (в 7.3 его нет, и в 8.0, по-моему, тоже, хотя не уверен). Поэтому я привел информацию о sqlplusw.exe, который вроде бы есть во всех версиях.
То, что его в 7.3 нет это очень хорошо. Спасибо!
| | От: | VVP | 67524421 |
| Дата: | 03.02.03 08:21 | ||
| Оценка: |
Здравствуйте, Sergey Ten, Вы писали:
ST>В общем случае, файл oci.dll может и не присутствовать в клиенте (в 7.3 его нет, и в 8.0, по-моему, тоже, хотя не уверен). Поэтому я привел информацию о sqlplusw.exe, который вроде бы есть во всех версиях.
Да вы чего ребята, с ума посходили?
OCI.DLL это основная клиентская библиотека. Если уж вы говорите, что УСТАНОВЛЕН КЛИЕНТ, то это значит, что файл OCI.DLL присутствует.
| | От: | Odi$$ey | http://malgarr.blogspot.com/ |
| Дата: | 03.02.03 08:35 | ||
| Оценка: |
Здравствуйте, Зеленый, Вы писали:
З>Как узнать версию ClientOracle програмным путем??
| | От: | Sergey Ten | http://www.fastalgo.com |
| Дата: | 03.02.03 12:14 | ||
| Оценка: |
Здравствуйте, VVP, Вы писали:
VVP>Да вы чего ребята, с ума посходили?
VVP>OCI.DLL это основная клиентская библиотека. Если уж вы говорите, что УСТАНОВЛЕН КЛИЕНТ, то это значит, что файл OCI.DLL присутствует.
Вот состав клиента Oracle 7.3, реальная рабочая конфигурация:
OCI.DLL здесь нет. Основная клиентская библиотека — это та, которая загружена клиентом. Если обратил внимание, тот же SQLPLUSW.EXE не грузит OCI.DLL, а грузит ORACLIENT8.DLL. Кроме того, OCI.DLL не экспортирует функции UPI-интерфейса, которые активно используются программами типа IMP/EXP и OracleForms, а также тем же SQLPLUSW.EXE.
Клиентские приложения не должны закладываться на наличие OCI.DLL, если они не заточены под использование какой-то одной версии клиента. Убирай свой ноль.
| | От: | VVP | 67524421 |
| Дата: | 03.02.03 12:16 | ||
| Оценка: |
| | От: | Sergey Ten | http://www.fastalgo.com |
| Дата: | 03.02.03 12:17 | ||
| Оценка: |
Код будет работать, если не надо отличать версию клиента, к примеру, 8.1.6 от 8.1.7 или 8.0.5 от 8.0.6
| | От: | Аноним |
| Дата: | 03.02.03 16:25 | |
| Оценка: |
Мудрено, но это лучший ответ!
Спасибо.
(я почти так же и сделал 
| | От: | Зеленый |
| Дата: | 03.02.03 16:33 | |
| Оценка: |
Здравствуйте, Sergey Ten, Вы писали:
ST>Здравствуйте, VVP, Вы писали:
VVP>>Да вы чего ребята, с ума посходили?
VVP>>OCI.DLL это основная клиентская библиотека. Если уж вы говорите, что УСТАНОВЛЕН КЛИЕНТ, то это значит, что файл OCI.DLL присутствует.
ST>Вот состав клиента Oracle 7.3, реальная рабочая конфигурация:
ST>
ST>OCI.DLL здесь нет.
| | От: | Sergey Ten | http://www.fastalgo.com |
| Дата: | 03.02.03 17:03 | ||
| Оценка: |

З>Там ведь используют Oci.dll для версии 7.3 и даже 7.0






