sourcecode

이미 64비트 Oracle Database Server를 실행 중인 윈도우즈 Server에 Oracle 32비트 클라이언트 설치

codebag 2023. 11. 4. 10:39
반응형

이미 64비트 Oracle Database Server를 실행 중인 윈도우즈 Server에 Oracle 32비트 클라이언트 설치

Windows 2008 R2에 64비트 Oracle Database Server(11.2.0.3)가 설치되어 있는데 자연스럽게 64비트 클라이언트가 자동으로 설치됩니다.32비트 서버에 32비트 Oracle 클라이언트가 필요한 애플리케이션을 설치해야 합니다. (묻지마 - 64비트 버전의 이 앱을 설치할 수도 없고 64비트 클라이언트에서도 작동하지 않으며 다른 서버에 설치할 수도 없습니다.)

이제 32비트 클라이언트를 다른 물리적 폴더에 설치해보고 설치할 때 Oracle Base 및 Software Location에 대해 다른 값을 선택했는데 잘 설치되었습니다.그리고 32비트 클라이언트 설치의 BIN 폴더를 PATH statemtn 맨 앞에 놓았습니다.

그러나 32비트 버전으로 "SQLplus system/system"을 실행하려고 하면 "ORA-12560: TNS:protocol adapter 오류"라는 메시지가 나타납니다.64비트 sqlplus로 폴더에 들어가면.exe 및 실행(PATH를 통하지 않고 직접 실행), "시스템/시스템" 자격 증명이 정상적으로 작동했습니다.

TNSNames 폴더를 Oracle Server의 NETWORK/admin 폴더에서 Oracle Client의 NETWORK/admin 폴더로 복사하고 서버를 재부팅했습니다.결과는 같습니다.

이것은 Oracle에 대한 문제 해결 지식의 범위입니다.

32비트 클라이언트를 64비트 오라클 서버와 동일한 서버에서 실행하려면 어떻게 해야 합니까?리눅스/유닉스에서는 lib32 폴더를 64비트 클라이언트 폴더에 넣고 몇 가지 환경 변수를 설정하기만 하면 되지만, 윈도우에서는 그렇게 간단하지 않을 것이라고 확신합니다.

방법이 있다면 단계별로 설명이 필요하니 답변해주시기 바랍니다.

미리 감사드립니다.

다음은 32비트 및 64비트 Oracle Client를 한 시스템에 설치하는 방법입니다.지시대로 하면 효과가 있을 겁니다.

가정:Oracle Home의 이름은 11gR2이고 클라이언트 버전은 11gR2입니다.

  • 예를 들어 Oracle x86 Client를 다운로드하여 설치합니다.C:\Oracle\11.2\Client_x86

  • Oracle x64 Client를 다운로드하여 다른 폴더에 설치합니다(예:C:\Oracle\11.2\Client_x64

  • 명령줄 도구 열기, 폴더로 이동%WINDIR%\System32,일반적으로.C:\Windows\System32상징적인 연결고리를 만들고,ora112폴더로C:\Oracle\11.2\Client_x64(아래 명령 섹션 참조)

  • 폴더로 변경%WINDIR%\SysWOW64,일반적으로.C:\Windows\SysWOW64상징적인 연결고리를 만들고,ora112폴더로C:\Oracle\11.2\Client_x86, (아래 참조)

  • 수정합니다.PATHenvironment variable, 다음과 같이 모든 항목 바꾸기C:\Oracle\11.2\Client_x86그리고.C:\Oracle\11.2\Client_x64타고C:\Windows\System32\ora112, 그들 각자의\bin하위 폴더참고:C:\Windows\SysWOW64\ora112PATH 환경에 있으면 안 됩니다.

  • 필요한 경우 설정ORACLE_HOME환경 변수:C:\Windows\System32\ora112

  • 레지스트리 편집기를 엽니다.레지스트리 값 설정HKLM\Software\ORACLE\KEY_OraClient11g_home1\ORACLE_HOME로.C:\Windows\System32\ora112.사용.C:\Oracle\11.2\Client_x64역시 효과가 있을 것입니다.

  • 레지스트리 값 설정HKLM\Software\Wow6432Node\ORACLE\KEY_OraClient11g_home1\ORACLE_HOME로.C:\Windows\System32\ora112(아니오)C:\Windows\SysWOW64\ora112를 사용합니다.C:\Oracle\11.2\Client_x86역시 효과가 있을 것입니다.

  • 당신은 해냈어요!이제 x86과 x64 Oracle 클라이언트를 원활하게 함께 사용할 수 있습니다. 즉, x86 응용 프로그램이 x86 라이브러리를 로드하고, x64 응용 프로그램이 시스템을 더 이상 수정하지 않고도 x64 라이브러리를 로드합니다.

  • 아마도 당신의 컴퓨터를 설정하는 것이 현명한 생각일 것입니다.TNS_ADMIN환경 변수(resp).TNS_ADMINRegistry)의 항목을 공통 위치로(예:TNS_ADMIN=C:\Oracle\Common\network\admin

심볼릭 링크를 만드는 명령:

cd C:\Windows\System32
mklink /d ora112 C:\Oracle\11.2\Client_x64
cd C:\Windows\SysWOW64
mklink /d ora112 C:\Oracle\11.2\Client_x86

주의:

예를 들어 두 심볼 링크의 이름이 같아야 합니다.ora112.

이름 폴더에도 불구하고C:\Windows\System32는 x64 라이브러리를 포함하는 반면C:\Windows\SysWOW64에는 x86(32비트) 라이브러리가 들어 있습니다.헷갈리지 마세요.

배경 정보, 작동 이유: 레지스트리 리디렉션 및 파일 시스템 리디렉션

저도 같은 문제가 있었습니다.동일한 Windows 10 컴퓨터(별도의 폴더)와 32비트 앱에 설치된 32비트 및 64비트 ORA 클라이언트가 모두 작동을 멈췄습니다.시스템 환경 변수를 편집하고 ORACLE_HOME 항목을 삭제한 다음 다시 부팅하면 됩니다.나머지는 레지스트리 항목을 기반으로 Windows/Oracle이 수행합니다.tnsnames.ora를 두 설치 모두에 복사하기만 하면 됩니다.

언급URL : https://stackoverflow.com/questions/25216290/installing-oracle-32-bit-client-on-windows-server-already-running-64-bit-oracle

반응형