실행 중인 Oracle 클라이언트 버전을 확인하는 가장 좋은 방법은 무엇입니까?
그 주제는 모든 것을 말한다:실행 중인 Oracle 클라이언트의 정확한 버전을 확인하는 가장 좋은 방법은 무엇입니까?우리 클라이언트는 모두 Windows를 실행하고 있습니다.
파라미터 없이 tnsping 유틸리티를 실행하는 방법을 찾았습니다.이 유틸리티는 버전 정보를 표시합니다.더 좋은 방법이 있을까요?
클라이언트 설치에서는 이 정보가 텍스트파일에 저장됩니까?
.v$session_connect_info
ID」)에 뷰(「ID」)SID
USERENV
네임스페이스를 참조해 주세요.
예.
SELECT
DISTINCT
s.client_version
FROM
v$session_connect_info s
WHERE
s.sid = SYS_CONTEXT('USERENV', 'SID');
TNSPing 명령줄에 버전이 표시됩니다.마찬가지로 sqlPlus.exe가 버전을 인쇄합니다.클라이언트 설치의 'relnotes' 디렉토리에 있는 readme 파일로 이동할 수도 있습니다.버전 10.2에는 README_jdbc라는 이름의 파일이 있습니다.예를 들어 txt는 설치된 버전을 알려줍니다.
문제 1: 여러 Oracle 클라이언트가 설치되어 있습니다.
환경에서 흔히 볼 수 있는 문제는 워크스테이션과 (어플리케이션)서버가 모두 여러 Oracle 클라이언트(경우에 따라서는 4대까지)를 가지고 있으며 버전이나 아키텍처가 다를 수 있다는 것입니다.「 」에 하고 있는 는,PATH
'다니다'와 같은 해 보겠습니다.SQLPLUS
★★★★★★★★★★★★★★★★★」TNSPING
다음 두 가지 결과 중 하나를 얻을 수 있습니다.
- 중
PATH
으로 해결되어 결과가 . - ★★★★★★★★★★★★★★★★★.
PATH
실행 파일이 해결되지 않아 결과가 표시되지 않습니다.
어느 쪽이든, 복수의 클라이언트 인스톨에 눈이 멀 가능성이 있습니다.
문제 2: Instant Client에 TNSPING이 없으며 SQL*Plus가 포함되지 않을 수 있습니다.
Client가 Instant Client('클라이언트')TNSPING
되어 있지 않고, is is 、 is is is is is is 。SQLPLUS
을 사용하다을 사용하다또한 Instant Client는 압축 해제 후 바로 사용할 수 있는 솔루션으로 설치될 수 있습니다.HKLM Oracle을 사용합니다.
문제 3: 클라이언트가 "Custom" 및 ODBC, OLEDB, ODP를 사용하여 설치되었습니다.Net 및 JDBC가 설치되지 않았습니다.
명백한 경우 버전 정보를 스크랩할 ODBC 또는 JDBC readme가 없습니다.
솔루션:
은 Instant DLL 은 "DLL" 입니다.oraclient10.dll
,oraclient11.dll
으로 : , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,oraclient*.dll
그럼 하드디스크를 이동해서 버전을 찾아서 추출해당 버전 정보를 추출합니다.PowerShell 。유닉스따라서 프로그램 또는 원격에서 이를 수행할 수 있습니다.
여기 원라이너가 있습니다(오른쪽 스크롤은 미안하지만, 그게 원라이너의 특성이죠?).PowerShell을 이미 사용하고 있는 경우:
gci C:\,D:\ -recurse -filter 'oraclient*.dll' -ErrorAction SilentlyContinue | %{ $_.VersionInfo } | ft -Property FileVersion, FileName -AutoSize
PowerShell을 즉 쉘에 . PowerShell에 전화하면 .powershell " ... "
음음음같 뭇매하다
powershell "gci C:\,D:\ -recurse -filter 'oraclient*.dll' -ErrorAction SilentlyContinue | %{ $_.VersionInfo } | ft -Property FileVersion, FileName -AutoSize"
출력 예시
여기 몇 가지 시스템 출력이 있습니다.이 나쁜 시민은 Oracle 11.2.0.3 클라이언트를 3개 가지고 있습니다.이 중 일부는 32비트이고 다른 일부는 64비트임을 알 수 있습니다.
FileVersion FileName
----------- --------
11.2.0.3.0 Production C:\NoSync\app\oracle\product\11.2\client_1\bin\oraclient...
11.2.0.3.0 Production C:\oracle\product\11.2.0\client_1\bin\oraclient11.dll
11.2.0.3.0 Production C:\oracle64\product\11.2.0\client_1\bin\oraclient11.dll
다른 시스템, 이 시스템은 D:\에 10g 클라이언트를 탑재하고 있습니다.
FileVersion FileName
----------- --------
10.2.0.4.0 Production D:\oracle\product\10.2\BIN\oraclient10.dll
경고/문제
여기에는 Windows 7+ 및 Server 2008 R2+에 표준 탑재되어 있는 PowerShell이 필요합니다.XP(더 이상 필요 없음)를 사용하는 경우 PowerShell을 쉽게 설치할 수 있습니다.
8i/9i나 12c에서는 시도해 본 적이 없습니다.8i/9i를 실행하고 있다면 오래된 OS에서도 PowerShell이나 Heaven이 도움이 되지 않을 가능성이 높습니다.12c에서는 동작할 수 있을 겁니다.그런 파일이 있는 것을 알 수 있습니다.
oraclient12.dll
인스톨 됩니다.Windows 12c の cc다다ccccccccc.
Unix의 경우
설치된 Oracle 제품의 위치 또는 버전을 모를 경우 보통 /etc/oraInst.loc에 기록되는 인벤토리에서 찾을 수 있습니다.
> cat /etc/oraInst.loc
inventory_loc=/export/oracle/oraInventory **--> Inventory location**
inst_group=dba
> cd /export/oracle/oraInventory
> cd ContentsXML
여기서 inventory.xml 파일을 찾습니다.
> cat inventory.xml
<?xml version="1.0" standalone="yes" ?>
<!-- Copyright (c) 1999, 2010, Oracle. All rights reserved. -->
<!-- Do not modify the contents of this file by hand. -->
<INVENTORY>
<VERSION_INFO>
<SAVED_WITH>11.2.0.2.0</SAVED_WITH>
<MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
</VERSION_INFO>
<HOME_LIST>
<HOME NAME="OraDB_11G" LOC="/export/oracle/product/11.2.0.2" TYPE="O" IDX="2">
설치장소를 알게 됩니다.
export ORACLE_HOME=full path to install location
export ORACLE_HOME=/export/oracle/product/11.2.0.2
export PATH=$ORACLE_HOME/bin:$PATH
단순한 "sqlplus"는 설치된 클라이언트의 버전을 제공합니다.
> sqlplus
SQL*Plus: Release 11.2.0.1.0 Production on Fri Mar 23 14:51:09 2012
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Enter user-name:
위의 예에서 Oracle 클라이언트의 버전은 11.2.0.1입니다.
Windows 의 경우
윈도의 레지스트리 위치 변수는 INST_LOC입니다.
Start > Run > regedit > HKLM > Software > Oracle
소프트웨어의 인스톨 로케이션이 되는 Inst_loc 엔트리의 값을 확인합니다.
명령 프롬프트를 사용하거나 oracle 홈 위치로 이동/탐색한 다음 cd to bin 디렉토리를 사용하여 sqlplus를 라우치할 수 있습니다.이 디렉토리는 클라이언트버전 정보를 제공합니다.
명령 프롬프트의 SQL Developer 또는 SQLPLUS에서 다음 명령을 사용하여 Oracle 서버 버전 번호를 확인할 수 있습니다.
select * from v$version;
제 경우, 아래에 언급된 정보를 알려줬습니다.
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
"CORE 11.2.0.1.0 Production"
TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
설치 프로그램을 실행하고 "설치된 제품..."을 클릭합니다.클라이언트 인스톨의 모든 컴포넌트(드라이버, SQL*Plus 등)의 상세한 일람이 표시됩니다.
일반적인 Oracle 설치에서는 인벤토리 정보가 C:\Program Files\Oracle\에 저장됩니다.인벤토리, 그러나 설치된 버전을 확인하는 것은 단순히 텍스트 파일을 여는 것이 아닙니다.
이것은 AFAIK 인증으로 적용되었을 가능성이 있는 패치를 표시합니다(유틸리티를 실행해도 적용되지 않습니다).
편집: CLI 옵션은 OPatch 유틸리티를 사용하는 것입니다.
c:\> path=%path%;<path to OPatch directory in client home, e.g., C:\oracle\product\10.2.0\client_1\OPatch>
c:\>set ORACLE_HOME=<oracle home directory of client, e.g., C:\Oracle\product\10.2.0\client_1>
c:\>opatch lsinventory
이렇게 하면 설치된 클라이언트의 전체 버전을 볼 수 있습니다.
Windows 의 경우 -> 명령어프롬트를 사용합니다.
tnsping localhost
버전 및 가 32비트 및 64비트클라이언트에 인스톨 되어 있는 것을 나타냅니다.다음은 예를 제시하겠습니다.
64비트 Windows용 TNS ping 유틸리티:버전 10.2.0.4.0 - 2015년 3월 3일 운영 16:47:26
출처 : https://decipherinfosys.wordpress.com/2007/02/10/checking-for-oracle-client-version-on-windows/
[컨트롤 패널]-> [관리도구]로 이동하여 [데이터소스(ODBC)]를 엽니다.기본적으로 "User-DSN" 탭이 열리고 "Add"를 클릭하면 다음과 같은 대화상자가 나타납니다.
마지막에는 세미콜론을 붙여야 합니다.select * from v$version;
.
이렇게 하면 필요한 모든 정보를 얻을 수 있습니다.
예를 들어 Oracle만 찾는 경우 다음과 같은 작업을 수행할 수 있습니다.
SQL> select * from v$version where banner like 'Oracle%';
이것은 반드시 "더 나은" 방법은 아니지만 또 다른 방법입니다.
현재 버전 확인
PC에 설치된 Oracle 클라이언트 버전을 확인하려면 sql을 실행합니다.
*
+ 를 눌러 DW에 연결합니다.폴더 이름은 Oracle 설정에 따라 다소 다를 수 있지만 비슷해야 합니다.sql을 실행하려면*
플러스 선택start > programs > Oracle > Oracle - OUDWclient > Application Development > sqlplus
호스트명 또는 서비스명의 DW 유저명, 패스워드, 및 「ordj」를 입력합니다.그러면 sqlplus를 통해 DW에 연결됩니다.이 때 DW에서 정보를 가져오는 자체 sql 문을 작성할 수 있습니다(sql을 알고 있는 경우).Oracle 클라이언트 버전은 첫 번째 줄인 'SQL*Plus: Release 10.2.0.1.0'에서 확인할 수 있습니다.
[참조] Oracle 클라이언트 정보 http://www.ohio.edu/technology
나는 당신이 뭔가 계획적으로 하고 싶어한다고 가정합니다.
getenv를 사용하여 ORACLE_HOME 환경변수에서 값을 추출하는 것을 고려할 수 있습니다.C, C++ 또는 Pro*C를 말하는 것으로 가정합니다.
cmd에서 sqlplus /nolog 명령을 실행하여 Oracle 클라이언트의 버전을 가져올 수 있습니다.다른 방법으로는 경로 C:\Program Files\Oracle\를 참조할 수 있습니다.인벤토리를 만들고 "Inventory.xml" 파일을 엽니다.이 파일에는 다음과 같은 버전이 표시됩니다.
<?xml version="1.0" standalone="yes" ?>
<!-- Copyright (c) 1999, 2019, Oracle and/or its affiliates.
All rights reserved. -->
<!-- Do not modify the contents of this file by hand. -->
<INVENTORY>
<VERSION_INFO>
<SAVED_WITH>12.2.0.1.4</SAVED_WITH>
<MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
</VERSION_INFO>
ORACLE_HOME/bin으로 이동하여 'file sqlplus'를 실행합니다.아래 출력을 참조해 주세요.
64-Bit:- cd /tech/oracle/product/v11/bin
$ file sqlplus
sqlplus: **ELF 64-bit** LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped
32-Bit $ cd /tech/oracle/product/11204_32bit/bin
$ file sqlplus
sqlplus: **ELF 32-bit** LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped
다음 작업만 수행합니다.v$version에서 *를 선택합니다.
언급URL : https://stackoverflow.com/questions/1171643/whats-the-best-way-to-determine-which-version-of-oracle-client-im-running
'itsource' 카테고리의 다른 글
.json 파일을 로드하면 404개의 오류가 발생합니다. (0) | 2023.03.18 |
---|---|
워드프레스의 카테고리명으로 LIKE를 사용하여 투고를 검색하는가? (0) | 2023.03.18 |
JObject에서 키별로 가치를 얻는 방법 (0) | 2023.03.13 |
Angular에서의 조건부 논리JS 템플릿 (0) | 2023.03.13 |
Wordpress 플러그인을 통해 스타일시트 로드 (0) | 2023.03.13 |