[oracle] Oracle 11g (클라이언트)를 제거 / 완전히 제거하는 방법은 무엇입니까?

Oracle 11g (클라이언트)를 제거 / 완전히 제거하는 방법은 무엇입니까?

deinstall.bat가 작동하지 않습니다.

편집 : 이 질문이 닫히고 삭제 된 이유와 관련된 추가 토론 : /meta/190441/why-was-this-question-related-to-uninstalling-the-oracle-database-client- 삭제됨



답변

Windows 설치를 가정하면 다음을 참조하십시오.

http://www.oracle-base.com/articles/misc/ManualOracleUninstall.php

  • OUI (Oracle Universal Installer)를 사용하여 모든 Oracle 구성 요소를 제거합니다.
  • regedit.exe를 실행하고 HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE 키를 삭제합니다. 여기에는 모든 Oracle 제품에 대한 레지스트리 전체가 포함됩니다.
  • 레지스트리의 다음 부분에 남겨진 Oracle 서비스에 대한 모든 참조를 삭제하십시오
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ora*. Oracle과 관련된 항목이 명확해야합니다.
  • 컴퓨터를 재부팅하십시오.
  • “C : \ Oracle”디렉토리 또는 ORACLE_BASE 디렉토리를 삭제하십시오.
  • “C : \ Program Files \ Oracle”디렉토리를 삭제하십시오.
  • “C : \ temp”디렉토리의 내용을 비 웁니다.
  • 휴지통을 비 웁니다.

여기에 남겨진 몇 가지 훌륭한 댓글에 대한 추가주의를 요청합니다.

  • 여기에 나열된 항목 (위 또는 아래)을 따를 때는 다른 Oracle 설치 제품이 제거되거나 손상 될 수 있으므로주의하십시오.
  • 64 비트 Windows (x64)의 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE경우 레지스트리 에서 키 도 삭제해야 합니다.
  • 시작 메뉴에 설치된 관련 바로 가기를 제거하여 정리합니다.
  • 환경 변수 정리 :
    • 제거하는 것이 좋습니다 %ORACLE_HOME%.
    • 에서 더 이상 필요하지 않은 경로를 제거합니다 %PATH%.

이 지침 세트는 몇 번의 엉망인 Oracle 설치 후 몇 년 동안 직접 리버스 엔지니어링했으며 거의 ​​항상 요구 사항을 충족시킨 거의 동일한 프로세스와 일치합니다.

OUI를 더 이상 사용할 수 없거나 작동하지 않더라도 나머지 단계를 따르는 것만으로도 충분합니다.

( 원본 소스를 잘못 인용하지 않고 답변에 기여한 다른 댓글에 대한 크레딧을 제거하지 않기 위해 수정본 # 7이 되돌 렸습니다.이를 유지하는 방법을 찾을 수있는 경우 추가 수정을 주시면 감사하겠습니다 (이 댓글을 삭제 해주세요). 고려 사항.)


답변

고려해야 할 몇 가지 추가 조치가 있습니다.

  • MSDTC (MS Distributed Transaction Coordinator)에 대한 레지스트리 항목 제거

    참고 : 인터넷에서이 단계는 단일 (비공개) 페이지에서만 발견되었습니다. 그것이 필요한지 / 작동하는지 또는 그것이 당신의 PC에서 어떤 것을 망가 뜨리는 지 모르겠습니다.

    • Regedit 열기
    • 로 이동 HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC\MTxOCI
    • 각 문자열 전에 추가 x OracleOciLib, OracleSqlLibOracleXaLib
    • 로 이동 HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\MSDTC\MTxOCI
    • 각 문자열 전에 추가 x OracleOciLib, OracleSqlLibOracleXaLib

    그렇지 않으면 이러한 파일이 있으면 다음에 다시 부팅 할 때 계속 사용되며 삭제할 수 없습니다.

  • 제거 환경 변수 ORACLE_HOME, ORACLE_BASE, TNS_ADMIN,NLS_LANG 만약 존재

    Oracle 문서를 확인하여 모든 Oracle 관련 환경 변수를 찾으십시오. 그러나 위에 나열된 변수를 제외하고는 Windows 클라이언트에서 거의 사용되지 않습니다. Oracle 환경 변수

  • oci.dll 등록 취소

    • 명령 줄 창을 엽니 다 (시작 메뉴-> 실행 …-> cmd).
    • regsvr32 /u oci.dll, resp를 입력하십시오 .%windir%\SysWOW64\regsvr32 /u oci.dll

    • 경우에 따라 파일 %ORACLE_HOME%\bin\oci.dll이 잠겨있어 삭제할 수 없습니다. 이 경우 파일 이름 (예 : oci.dll.x)을 변경하고 PC를 재부팅 한 후 삭제할 수 있습니다.

  • GAC (Global Assembly Cache)에서 Oracle .NET 어셈블리를 제거합니다. 일반적으로 시스템에서 사용 가능한 경우 gacutil 유틸리티를 사용 하여이 작업을 수행 합니다. 다음과 같을 것입니다.

    gacutil /u Policy.10.1.Oracle.DataAccess
    gacutil /u Policy.10.2.Oracle.DataAccess
    gacutil /u Policy.1.102.Oracle.DataAccess
    gacutil /u Policy.1.111.Oracle.DataAccess
    
    gacutil /u Policy.2.102.Oracle.DataAccess
    gacutil /u Policy.2.111.Oracle.DataAccess
    gacutil /u Policy.2.112.Oracle.DataAccess
    gacutil /u Policy.2.121.Oracle.DataAccess
    gacutil /u Policy.2.122.Oracle.DataAccess
    
    gacutil /u Policy.4.112.Oracle.DataAccess
    gacutil /u Policy.4.121.Oracle.DataAccess
    gacutil /u Policy.4.122.Oracle.DataAccess
    
    gacutil /u Oracle.DataAccess
    gacutil /u Oracle.DataAccess.resources
    
    gacutil /u Policy.4.121.Oracle.ManagedDataAccess
    gacutil /u Policy.4.122.Oracle.ManagedDataAccess
    gacutil /u Oracle.ManagedDataAccess
    gacutil /u Oracle.ManagedDataAccess.resources
    gacutil /u Oracle.ManagedDataAccessDTC
    gacutil /u Oracle.ManagedDataAccessIOP
    gacutil /u Oracle.ManagedDataAccess.EntityFramework
    
    • 항목 System.Data.OracleClient을 제거해서는 안됩니다.이 항목 은 Oracle 구성 요소가 아닌 Microsoft에서 설치합니다!

    • 대신 OraProvCfg를 시스템에서 계속 사용할 수있는 경우 gacutil /u ...에도 사용할 수 있습니다 OraProvCfg /action:ungac /providerpath:.... 에서 찾을 수 있습니다 %ORACLE_HOME%\odp.net\managed\x64\OraProvCfg.exe.

  • 텍스트 편집기를 사용하여 XML 구성 파일을 열고 %SYSTEMROOT%\Microsoft.NET\Framework64\v4.0.30319\Config\machine.configbranch를 삭제하십시오 (있는 <oracle.manageddataaccess.client>경우).

    • 다음과 동일하게 수행하십시오.

      %SYSTEMROOT%\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
      %SYSTEMROOT%\Microsoft.NET\Framework\v4.0.30319\Config\machine.config
      %SYSTEMROOT%\Microsoft.NET\Framework64\v4.0.30319\Config\web.config
      %SYSTEMROOT%\Microsoft.NET\Framework\v4.0.30319\Config\web.config
      

    XML 구성 파일을 수동으로 편집하는 대신 다음을 실행할 수도 있습니다 (시스템에서 OraProvCfg.exe를 계속 사용할 수있는 경우).

    %ORACLE_HOME%\odp.net\managed\x64\OraProvCfg.exe /action:unconfig /product:odpm /frameworkversion:v4.0.30319
    %ORACLE_HOME%\odp.net\managed\x86\OraProvCfg.exe /action:unconfig /product:odpm /frameworkversion:v4.0.30319
    %ORACLE_HOME%\odp.net\managed\x64\OraProvCfg.exe /action:unconfig /product:odp /frameworkversion:v4.0.30319
    %ORACLE_HOME%\odp.net\managed\x86\OraProvCfg.exe /action:unconfig /product:odp /frameworkversion:v4.0.30319
    
  • 다음 레지스트리 키를 확인하고 존재하는 경우 삭제하십시오.

    HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\ODP.Net
    HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\ODP.Net
    HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\Oracle.ManagedDataAccess
    HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\Oracle.ManagedDataAccess.EntityFramework6
    HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\odp.net.managed
    HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\Oracle.DataAccess.EntityFramework6\
    
    HKLM\SOFTWARE\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\ODP.Net
    HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\ODP.Net
    HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\Oracle.ManagedDataAccess
    HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\Oracle.ManagedDataAccess.EntityFramework6
    HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\odp.net.managed
    HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\Oracle.DataAccess.EntityFramework6\
    
    HKLM\SYSTEM\CurrentControlSet\Services\EventLog\Application\Oracle Data Provider for .NET, Managed Driver
    HKLM\SYSTEM\CurrentControlSet\Services\EventLog\Application\Oracle Data Provider for .NET, Unmanaged Driver
    HKLM\SYSTEM\CurrentControlSet\Services\EventLog\Application\Oracle Provider for OLE DB
    
  • 일반적으로 인벤토리 폴더를 삭제 C:\Program Files\Oracle\Inventory하고C:\Program Files (x86)\Oracle\Inventory

  • 삭제 임시 폴더 %TEMP%\deinstall\, %TEMP%\OraInstall\%TEMP%\CVU*(예 %TEMP%\CVU_11.1.0.2.0_domscheit) 기존의 경우.


답변

ziesemer가 제안한 모든 것을하십시오.

레지스트리에서 제거 할 수도 있습니다.

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\<any Ora* drivers> keys

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers<any Ora* driver> values

따라서 ODBC 데이터 원본 관리자의 “시스템에 설치된 ODBC 드라이버”에 더 이상 나타나지 않습니다.


답변

ziesemer가 제안한 모든 것을하십시오.

다음을 수행 할 수도 있습니다.

  • Oracle 관련 서비스를 중지합니다 (레지스트리에서 삭제하기 전에).
  • 레지스트리에서 “Oracle”이라는 항목뿐만 아니라 “ODP”와 같은 항목도 찾습니다.


답변