Issue #1: Multiple Oracle clients are installed.
A very common issue I see in my environment is that I see both workstations and (app) servers with multiple Oracle clients, sometimes as many as four, and possibly with different versions and architectures. If you are relying on the PATH
and running a utility like SQLPLUS
or TNSPING
you’ll have one of two unacceptable results:
- either your
PATH
successfully resolves the executable and you get ONE version result - or, the
PATH
didn’t resolve the executable, and you get no results.
Either way, you are blind to possibly multiple client installations.
Issue #2: Instant Client doesn’t have TNSPING, and sometimes doesn’t include SQL*Plus.
If a computer has the Oracle Instant Client (not the full client), then TNSPING
is not included, and SQLPLUS
is an optional-addon. So can’t rely on those tools being there. Furthermore, the Instant Client is sometimes installed as an unzip-and-go solution, so there’s no Oracle Inventory and nothing in HKLM.
Issue #3: Client was installed using «Custom», and ODBC, OLEDB, ODP.Net, and JDBC were not installed.
Obvious case, there will be no ODBC or JDBC readme’s to scrape version info from.
Solution:
One thing that the Instant client and the full client have in common is a DLL file called oraclient10.dll
, oraclient11.dll
, generally: oraclient*.dll
. So let’s traverse the hard disk to find them and extract their version info. PowerShell is amazing at this and can do it in one line, reminds me of home sweet Unix. So you could do this programatically or even remotely.
Here’s the one-liner (sorry about the right scroll, but that’s the nature of one-liners, eh?). Supposing you’re already in a PowerShell:
gci C:,D: -recurse -filter 'oraclient*.dll' -ErrorAction SilentlyContinue | %{ $_.VersionInfo } | ft -Property FileVersion, FileName -AutoSize
And if you’re not in PowerShell, i.e. you’re simply in a CMD shell, then no problem, just call powershell " ... "
, as follows:
powershell "gci C:,D: -recurse -filter 'oraclient*.dll' -ErrorAction SilentlyContinue | %{ $_.VersionInfo } | ft -Property FileVersion, FileName -AutoSize"
Example Outputs
Here’s some outputs from some of my systems. This bad citizen has 3 Oracle 11.2.0.3 clients. You can see that some of them are 32-bit and others are 64-bit:
FileVersion FileName
----------- --------
11.2.0.3.0 Production C:NoSyncapporacleproduct11.2client_1binoraclient...
11.2.0.3.0 Production C:oracleproduct11.2.0client_1binoraclient11.dll
11.2.0.3.0 Production C:oracle64product11.2.0client_1binoraclient11.dll
Another system, this one has 10g client on the D:
FileVersion FileName
----------- --------
10.2.0.4.0 Production D:oracleproduct10.2BINoraclient10.dll
Caveats/Issues
-
This obviously requires PowerShell, which is standard in Windows 7+ and Server 2008 R2+. If you have XP (which you shouldn’t any more) you can easily install PowerShell.
-
I haven’t tried this on 8i/9i or 12c. If you are running 8i/9i, then there’s a good chance you are on an old OS as well and don’t have PowerShell and Heaven help you. It should work with 12c, since I see there is such a file
oraclient12.dll
that gets installed. I just don’t have a Windows 12c client to play with yet.
В реальной работе вы всегда будете сталкиваться с некоторыми проблемами, которые необходимо будет проверить и проверить версию клиента ORACLE, потому что на сервере может быть установлено несколько версий клиента Oracle; или вам может потребоваться знать установленный Это версия 32-битная или 64-битная. Как проверить версию Oracle Client? Вот как проверить версию клиента Oracle в Windows и Linux.
Платформа Windows:
Метод 1: проверьте установленную версию клиента Oracle
Как показано ниже, с помощью команды sqlplus -v можно найти версию клиента 11.2.0.1.0, установленную клиентом.
C:Users>sqlplus -v
SQL*Plus: Release 11.2.0.1.0 Production
Если я хочу проверить, является ли версия клиента 32-битной или 64-битной, как я могу это проверить? Метод следующий:
Step 1:Запустите команду sqlplus / nolog. Если на вашем сервере установлено несколько версий клиентов, вам следует ввести каталог BIN соответствующего каталога установки и выполнить эту команду
C:Users>sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Mon Nov 10 11:32:23 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL>
Step 2:Откройте диспетчер задач и найдите процесс SQL * Plus. Если клиент Oracle 32-разрядный, имя образа будет помечено как * 32, как показано на следующем рисунке:
Windows Server 2008 Oracle 32bit Client
Windows Server 2008 Oracle 64bit Client
Windows Server 2012 Oracle 32bit Client
Метод 2: проверьте установленную версию клиента Oracle
Найдите файл comps.xml в каталоге% ORACLE_HOME% inventory ContentsXML. Например, путь на моем текущем тестовом сервере — C: Oracle_Client Client64 продукт 11.2.0 client_1 inventory ContentsXML comps.xml
Если PLAT = «NT_AMD64» означает, что установлен 64-разрядный клиент Oracle, если PLAT = «NT_X86» означает, что установлен 32-разрядный клиент Oracle.
Oracle 64bit Client
Oracle 32bit Client
Метод 3: проверьте установленную версию клиента Oracle
Если операционная система 32-разрядная, клиент Oracle также должен быть 32-разрядным. Если операционная система является 64-разрядной операционной системой, то клиент Oracle может быть 32-разрядным или 64-разрядным. Мы можем проверить это через реестр.
Например, я установил 32-разрядный клиент Oracle 11g на Windows Server 2012. Запустите regedit, чтобы войти в систему реестра, в разделе HKEY_LOCAL_MACHINE SOFTWARE ORACLE ,
Вы обнаружите, что ниже нет регистрационной информации, но вы можете увидеть подробную информацию таблицы регистрации в разделе HKEY_LOCAL_MACHINE SOFTWARE Wow6432Node ORACLE. Если установлено Для 64-разрядного клиента Oracle информация реестра находится в HKEY_LOCAL_MACHINE SOFTWARE ORACLE , и нет каталога ORACLE в HKEY_LOCAL_MACHINE SOFTWARE Wow6432Node.
Платформа Linux:
[[email protected] bin]$ sqlplus -v
SQL*Plus: Release 10.2.0.4.0 — Production
1: Используйте команду file для просмотра 32-разрядного или 64-разрядного клиента.
Oracle Client 32 bit
[[email protected] ~]$ which sqlplus
/u01/app/oracle/product/10.2.0/db_1/bin/sqlplus
[[email protected] ~]$ file /u01/app/oracle/product/10.2.0/db_1/bin/sqlplus
/u01/app/oracle/product/10.2.0/db_1/bin/sqlplus: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped
Oracle Client 64 bit
[[email protected] ~]$ which sqlplus
/u01/app/oracle/product/10.2.0/db_1/bin/sqlplus
[[email protected] ~]$ file /u01/app/oracle/product/10.2.0/db_1/bin/sqlplus
/u01/app/oracle/product/10.2.0/db_1/bin/sqlplus: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
или же
Oracle Client 32 bit
[[email protected] logs]$ cd /u01/app/oracle/product/10.2.0/db_1/bin
[[email protected] bin]$ file oracle
oracle: setuid setgid ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped
Oracle Client 64 bit
[[email protected] ~]$ cd /u01/app/oracle/product/10.2.0/db_1/bin
[[email protected] bin]$ file oracle
oracle: setuid setgid ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
2: при просмотре каталога lib или lib32 в $ ORACLE_HOME, если оба каталога сохранены, он 64-битный, а если есть только каталог lib, это 32-битный клиент.
[[email protected] db_1]$ ls -d lib
lib
[[email protected] db_1]$ ls -d lib*
lib lib32
Самый простой способ — запустить командную строку и ввести sqlplus, он покажет вам версию оракула, не входя в нее. Microsoft Windows [Версия 6.1.
В Windows
Вы можете использовать командную строку или перейдите / исследуйте домашнее местоположение оракула, а затем перейдите в каталог bin, чтобы запустить sqlplus который предоставит вам информацию о версии клиента.
Как найти версию Oracle в Windows?
В меню «Пуск» выберите «Все программы», затем «Oracle — HOMENAME», затем «Продукты для установки Oracle», затем «Универсальный установщик». В окне приветствия щелкните «Установленные продукты», чтобы открыть диалоговое окно «Инвентаризация». Чтобы проверить установленное содержимое, найдите в списке продукт Oracle Database.
Как определить версию Oracle?
Вы можете проверить версию Oracle по запуск запроса из командной строки. Информация о версии хранится в таблице с именем v $ version. В этой таблице вы можете найти информацию о версии для Oracle, PL / SQL и т. Д.
Как найти версию Oracle в замазке?
Как пользователь, использующий базу данных Oracle, можно также попробовать $ ORACLE_HOME / OPatch / opatch lsinventory который показывает точную версию и установленные патчи. Дает вам путь, по которому установлен Oracle, и путь будет включать номер версии.
Как узнать, установлен ли CMD в Oracle?
3 ответа. Самый простой способ — запустите командную строку и введите sqlplus он покажет вам версию оракула без входа в систему.
Какая последняя версия базы данных Oracle?
База данных Oracle 19c была выпущена еще в январе 2019 года на Oracle Live SQL и является последней версией семейства продуктов Oracle Database 12c. Oracle Database 19c поставляется с четырьмя годами поддержки премиум-класса и минимум тремя годами расширенной поддержки.
Как мне подключиться к базе данных Oracle?
Подключение к базе данных Oracle из SQL * Plus
- Если вы работаете в системе Windows, откройте командную строку Windows.
- В командной строке введите sqlplus и нажмите клавишу Enter. SQL * Plus запускается и запрашивает ваше имя пользователя.
- Введите свое имя пользователя и нажмите клавишу Enter. …
- Введите свой пароль и нажмите клавишу Enter.
Как узнать, работает ли база данных Oracle?
Как проверить статус вашей базы данных Oracle (правильно она работает или нет)
- Проверьте, запущен ли процесс Oracle #> ps -ef | grep pmon. …
- Проверьте статус экземпляра SQL> выберите имя_экземпляра, статус из v $ instance;
- Проверьте, может ли база данных быть прочитана или записана. SQL> выберите имя, open_mode из v $ database;
Как мне найти базовый путь в Oracle?
Это ошибка или особенность? Выполнение $ ORACLE_HOME / bin / orabase показать базовый каталог Oracle без определенной переменной среды ORACLE_BASE. Эта информация сохраняется в $ ORACLE_HOME / install / orabasetab во время процесса установки.
Какие бывают разные версии базы данных Oracle?
Релизы и версии
Версия базы данных Oracle | Первоначальная версия выпуска | Дата первого выпуска |
---|---|---|
Oracle Database 11g, выпуск 1 | 11.1.0.6 | Сентябрь 2007 |
Oracle Database 11g, выпуск 2 | 11.2.0.1 | Сентябрь 2009 |
Oracle Database 12c, выпуск 1 | 12.1.0.1 | Июль 2013 |
Oracle Database 12c, выпуск 2 | 12.2.0.1 | Сентябрь 2016 г. (облачно) март 2017 г. (локально) |
Что такое Oracle Database 19c?
Oracle Database 19c — это многомодельная база данных, которая обеспечивает полную поддержку реляционных и нереляционных данных, например JSON, XML, текстовые, пространственные и графические данные. … Oracle Database 19c поддерживает несколько моделей разделения данных, а также оперативные операции для управления разделами.
Какая команда проверяет версию DB2?
Run команда db2level если вы хотите проверить версию DB2. например: V11. 5 GA C:> db2level DB21085I Этот экземпляр или установка (имя экземпляра, если применимо: «DB2») использует «64» бита и выпуск кода DB2 «SQL11050» с идентификатором уровня «0601010F».
Какая команда проверяет версию Linux?
Команда «Uname -r» показывает версию ядра Linux, которую вы используете в данный момент. Теперь вы увидите, какое ядро Linux вы используете.
Как узнать, установлено ли программное обеспечение Oracle в Linux?
Руководство по установке для Linux
Go в $ ORACLE_HOME / oui / bin . Запустите универсальный установщик Oracle. Щелкните «Установленные продукты», чтобы отобразить диалоговое окно «Инвентаризация» на экране приветствия. Выберите продукт Oracle Database из списка, чтобы проверить установленное содержимое.
Проблема №1: Установлены несколько клиентов Oracle.
Очень распространенная проблема, которую я вижу в своей среде, — это то, что я вижу как рабочие станции, так и (приложения) серверы с несколькими клиентами Oracle, иногда целых четыре и, возможно, с разными версиями и архитектурами. Если вы полагаетесь на PATH
и запускаете утилиту вроде SQLPLUS
или TNSPING
, у вас будет один из двух недопустимых результатов:
- либо ваш
PATH
успешно разрешает исполняемый файл, и вы получаете результат ОДНОЙ версии - или
PATH
не разрешил исполняемый файл, и вы не получили никаких результатов.
В любом случае, вы слепы к возможностям нескольких клиентских установок.
Проблема №2: Мгновенный клиент не имеет TNSPING и иногда не включает SQL * Plus.
Если на компьютере установлен Instant Instant Client (а не полный клиент), тогда TNSPING
не включен, а SQLPLUS
является дополнительным аддоном. Поэтому я не могу полагаться на те инструменты, которые там есть. Кроме того, Мгновенный Клиент иногда устанавливается как решение unzip-and-go, поэтому в HKLM нет Oracle Inventory и ничего.
Проблема №3: Клиент был установлен с использованием «Пользовательский», а ODBC, OLEDB, ODP.Net и JDBC не были установлены.
Очевидный случай, не будет чтения ODBC или JDBC для очистки информации о версии.
Решение:
Одна вещь, которая имеет Мгновенный клиент и полный клиент, — это DLL файл с именем oraclient10.dll
, oraclient11.dll
, как правило: oraclient*.dll
. Итак, перейдите на жесткий диск, чтобы найти их и извлечь информацию о своей версии. PowerShell поражает этим и может сделать это в одной строке, напоминает мне о домашнем сладком Unix. Таким образом, вы можете сделать это программно или даже удаленно.
Вот однострочный (извините за правый свиток, но за то, что характер однострочных, а?). Предположим, что вы уже находитесь в PowerShell:
gci C:,D: -recurse -filter 'oraclient*.dll' -ErrorAction SilentlyContinue | %{ $_.VersionInfo } | ft -Property FileVersion, FileName -AutoSize
И если вы не в PowerShell, т.е. вы просто в CMD-оболочке, тогда нет проблем, просто вызовите powershell " ... "
следующим образом:
powershell "gci C:,D: -recurse -filter 'oraclient*.dll' -ErrorAction SilentlyContinue | %{ $_.VersionInfo } | ft -Property FileVersion, FileName -AutoSize"
Примеры результатов
Здесь некоторые выходы некоторых из моих систем. У этого плохого гражданина есть 3 клиента Oracle 11.2.0.3. Вы можете видеть, что некоторые из них 32-разрядные, а другие 64-бит:
FileVersion FileName
----------- --------
11.2.0.3.0 Production C:NoSyncapporacleproduct11.2client_1binoraclient...
11.2.0.3.0 Production C:oracleproduct11.2.0client_1binoraclient11.dll
11.2.0.3.0 Production C:oracle64product11.2.0client_1binoraclient11.dll
Другая система, у которой есть клиент 10g на D:
FileVersion FileName
----------- --------
10.2.0.4.0 Production D:oracleproduct10.2BINoraclient10.dll
Предостережения/Проблемы
-
Для этого явно требуется PowerShell, который является стандартным для Windows 7+ и Server 2008 R2+. Если у вас есть XP (который вам больше не нужен), вы можете легко установить PowerShell.
-
Я не пробовал это на 8i/9i или 12c. Если вы используете 8i/9i, то есть хороший шанс, что вы тоже на старой ОС, и у вас нет PowerShell и Heaven. Он должен работать с 12c, так как я вижу, что есть такой файл
oraclient12.dll
, который устанавливается. У меня просто нет клиента Windows 12c, чтобы играть с ним.
Базы данных / Oracle / RDBMS
22 марта, 2017 roquebaseОставить комментарий
Понять разрядность установленного клиента можно следующими способами:
- В %ORACLE_HOME%inventoryContentsXMLcomps.xml проверить атрибут PLAT тегов DEP_LIST
- Запустить tnsping
- Проверить наличие ветки реестра HKEY_LOCAL_MACHINESOFTWAREORACLE(64-разрядная версия) или HKEY_LOCAL_MACHINE>Software>WOW6432Node>Oracle(32 разрядная версия)
Добавить комментарий
Введите свой комментарий…
Заполните поля или щелкните по значку, чтобы оставить свой комментарий:
E-mail (обязательно) (Адрес никогда не будет опубликован)
Имя (обязательно)
Сайт
Для комментария используется ваша учётная запись WordPress.com.
( Выход /
Изменить )
Для комментария используется ваша учётная запись Twitter.
( Выход /
Изменить )
Для комментария используется ваша учётная запись Facebook.
( Выход /
Изменить )
Отмена
Connecting to %s
Уведомлять меня о новых комментариях по почте.
Уведомлять меня о новых записях по почте.
Here are seven ways to check which version of Oracle Database you’re running.
They are:
- The
V$VERSION
view. - The
V$INSTANCE
view. - The
PRODUCT_COMPONENT_VERSION
view. - The SQL Developer GUI.
- The
SQLcl
tool. - The
SQL*Plus
tool. - The
DBMS_DB_VERSION
package.
Examples below.
The V$VERSION
View
The V$VERSION
view returns the version and component level information.
Example:
SELECT BANNER_FULL
FROM V$VERSION;
Result:
BANNER_FULL -------------------------------------------------------------------------------- Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0
Other columns include BANNER
, BANNER_LEGACY
, and CON_ID
, but the BANNER_FULL
column returns everything we need.
The V$INSTANCE
View
If you have the appropriate permissions, you can use the V$INSTANCE
view to return just the version.
Example:
SELECT
VERSION,
VERSION_FULL
FROM V$INSTANCE;
Result:
VERSION VERSION_FULL ----------------- ----------------- 19.0.0.0.0 19.3.0.0.0
The PRODUCT_COMPONENT_VERSION
View
Another option is the PRODUCT_COMPONENT_VERSION
data dictionary view.
Example:
SELECT
VERSION,
VERSION_FULL
FROM PRODUCT_COMPONENT_VERSION;
Result:
VERSION VERSION_FULL _____________ _______________ 19.0.0.0.0 19.3.0.0.0
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.
Example:
sql hr/oracle
Result:
SQLcl: Release 21.2 Production on Mon Jul 12 13:23:12 2021 Copyright (c) 1982, 2021, Oracle. All rights reserved. Last Successful login time: Mon Jul 12 2021 13:23:13 +10:00 Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0
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.
Here, I connected using the username hr
and password oracle
. The sql
command is the name of the executable SQLcl file, its folder of which I’ve previously added to my PATH variable. If you haven’t added it to your PATH, you may need to include the full path.
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.
Example:
sqlplus hr/oracle
Result:
SQL*Plus: Release 19.0.0.0.0 - Production on Sun Jul 11 23:38:16 2021 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Last Successful login time: Sun Jul 11 2021 23:37:36 -04:00 Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0
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.
Example:
SET SERVEROUTPUT ON;
EXEC DBMS_OUTPUT.PUT_LINE(DBMS_DB_VERSION.VERSION||'.'||DBMS_DB_VERSION.RELEASE);
Result:
19.0 PL/SQL procedure successfully completed.
Проблема №1: установлено несколько клиентов Oracle.
Очень распространенная проблема, с которой я сталкиваюсь в своей среде, заключается в том, что я вижу как рабочие станции, так и серверы (приложений) с несколькими клиентами Oracle, иногда до четырех, и, возможно, с разными версиями и архитектурами. Если вы полагаетесь на PATH
и запустив такую утилиту, как SQLPLUS
or TNSPING
у вас будет один из двух неприемлемых результатов:
- либо твой
PATH
успешно разрешает исполняемый файл, и вы получаете ОДИН результат версии - или
PATH
не разрешил исполняемый файл, и вы не получите результатов.
В любом случае, вы не замечаете возможности установки нескольких клиентов.
Проблема №2: Instant Client не имеет TNSPING, а иногда и SQL * Plus.
Если на компьютере установлен Oracle Instant Client (а не полный клиент), то TNSPING
не входит, и SQLPLUS
является необязательным дополнением. Так что не могу полагаться на наличие этих инструментов. Кроме того, Instant Client иногда устанавливается как решение для разархивирования, поэтому в HKLM нет ни Oracle Inventory, ни ничего.
Проблема № 3: Клиент был установлен с использованием «Custom», а ODBC, OLEDB, ODP.Net и JDBC не были установлены.
Очевидно, что не будет никаких файлов readme для ODBC или JDBC, из которых можно было бы очистить информацию о версии.
Решение:
Единственное, что объединяет мгновенный клиент и полный клиент, — это DLL-файл с именем oraclient10.dll
, oraclient11.dll
, в целом: oraclient*.dll
. Итак, давайте пройдемся по жесткому диску, чтобы найти их и извлечь информацию об их версиях. PowerShell великолепен в этом и может делать это одной строкой, напоминает мне домашний Unix. Таким образом, вы можете делать это программно или даже удаленно.
Вот однострочный (извините за правую прокрутку, но такова природа однострочников, а?). Предположим, вы уже используете PowerShell:
gci C:,D: -recurse -filter 'oraclient*.dll' -ErrorAction SilentlyContinue | %{ $_.VersionInfo } | ft -Property FileVersion, FileName -AutoSize
И если вы не в PowerShell, то есть просто в оболочке CMD, тогда нет проблем, просто позвоните powershell " ... "
, следующим образом:
powershell "gci C:,D: -recurse -filter 'oraclient*.dll' -ErrorAction SilentlyContinue | %{ $_.VersionInfo } | ft -Property FileVersion, FileName -AutoSize"
Примеры выходных данных
Вот некоторые результаты работы некоторых из моих систем. У этого плохого гражданина 3 клиента Oracle 11.2.0.3. Вы можете видеть, что некоторые из них 32-битные, а другие 64-битные:
FileVersion FileName
----------- --------
11.2.0.3.0 Production C:NoSyncapporacleproduct11.2client_1binoraclient...
11.2.0.3.0 Production C:oracleproduct11.2.0client_1binoraclient11.dll
11.2.0.3.0 Production C:oracle64product11.2.0client_1binoraclient11.dll
Другая система, у этой есть клиент 10g на D:
FileVersion FileName
----------- --------
10.2.0.4.0 Production D:oracleproduct10.2BINoraclient10.dll
Предостережения / проблемы
-
Очевидно, для этого требуется PowerShell, который является стандартным в Windows 7+ и Server 2008 R2 +. Если у вас есть XP (которой больше не должно быть), вы можете легко установить PowerShell.
-
Я не пробовал этого на 8i / 9i или 12c. Если вы используете 8i / 9i, то велика вероятность, что вы тоже используете старую ОС и вам не помогут PowerShell и Heaven. Это должен работать с 12c, так как вижу есть такой файл
oraclient12.dll
который устанавливается. Просто у меня пока нет клиента Windows 12c, с которым можно было бы поиграть.
Posted by decipherinfosys on February 10, 2007
There are many different ways of finding out the client version of Oracle on Windows but if you are using the registry or looking for the physical folders to ascertain that, you are in for a shock when the version changes (even with updates in the same release set like, 9.2.0.x). This becomes important for application development shops since they have to write an install package and the install scripts need to check and log which version of the client is running and if that version of the client is not supported by that release version of the product, then appropriate action needs to be taken by that code.
Some people use SQL *PLUS or some other dlls to determine the client version but depending upon how the install was done, those client tools or dlls may not be installed (say the Administrative mode was not chosen and only the runtime mode was chosen during the client installation process). Moreover, the version information for those dlls do not always reflect the right client version. Here is a sure-shot way of ascertaining the client version on a windows box and this does not change with the release of the Oracle client:
This can be done by just executing tnsping and piping the output to a file and parsing that file for the version info. tnsping will get installed with each client install regardless of the install options choosen and it’s version is the same as the Oracle client dll versions. So this is what we can do:
Have a text file dynamically created with the version banner in it:
a. create a batch file called version.bat
b. put 1 line in test.bat:
tnsping > version.txt
c. execute version.bat
d. version.txt will have your version string in it
In the event of multiple Oracle homes, the one that is set as the default is the one that will be shown in this version information.
This entry was posted on February 10, 2007 at 12:41 pm and is filed under Oracle.
You can follow any responses to this entry through the RSS 2.0 feed.
Responses are currently closed, but you can trackback from your own site.
Sorry, the comment form is closed at this time.