ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Oracle 21c Windows环境彻底卸载与全新安装实战指南

Oracle 21c Windows环境彻底卸载与全新安装实战指南 1. 项目缘起为什么Oracle 21c的卸载与安装值得单独成文如果你在Windows上折腾过Oracle数据库尤其是从旧版本升级到21c或者仅仅是重装大概率都经历过那种“明明卸载了新版本却死活装不上”的窘境。这不像安装一个普通软件点几下“下一步”就能搞定。Oracle在Windows上的部署更像是在系统里“安家落户”它会把自己的服务、注册表、环境变量、文件目录深深地嵌入到操作系统的各个角落。一个不彻底的卸载留下的“历史遗迹”足以让后续的安装过程崩溃。我最近就因为一个测试环境的需要在Windows Server 2019上反复折腾Oracle 21c。从21.3到21.8从企业版到快捷版踩遍了几乎所有的坑。网上教程很多但要么是版本老旧要么步骤跳跃对于关键的风险点语焉不详。比如直接删除Oracle主目录会导致什么后果哪些服务必须手动清理注册表里哪些键值动了会出问题这些细节没踩过坑的人不会写而踩过坑的人又未必有精力系统总结。所以这篇内容就是基于我最近几次“血泪史”的完整复盘。它不仅仅是一个按部就班的操作手册更是一份“避坑指南”和“原理剖析”。我会带你搞清楚Oracle安装器在背后都做了些什么这样当它出错时你才知道该从哪里下手解决。无论你是DBA新手还是需要临时搭建Oracle环境的开发者跟着这篇内容走都能在Windows上干净利落地完成Oracle 21c的卸载与全新安装。2. 卸载一场比安装更考验耐心的“外科手术”很多人认为卸载就是运行一下安装程序里的“卸载”选项或者从控制面板里删除。对于Oracle这仅仅是开始甚至可能只是个错误的开始。一个彻底的卸载需要你以“外科手术”般的精度清理掉它在系统里留下的所有痕迹。2.1 第一步停止并删除所有Oracle相关服务这是卸载前必须做的否则文件可能被占用导致无法删除。不要依赖安装程序的自动停止功能手动操作最可靠。打开具有管理员权限的命令提示符CMD或PowerShell依次执行以下命令net stop OracleOraDB21Home1TNSListener net stop OracleServiceORCL net stop OracleVssWriterORCL这里的服务名可能因你的实例名和主目录名而异。OracleServiceORCL中的ORCL就是你的数据库实例名SID。OracleOraDB21Home1TNSListener中的OraDB21Home1是你的Oracle主目录名。你可以通过运行services.msc打开服务管理器查找所有以“Oracle”开头的服务来确认。停止服务后我们使用sc命令来删除它们。删除服务需要其确切的内部服务名称通常与显示名一致或类似。sc delete OracleOraDB21Home1TNSListener sc delete OracleServiceORCL sc delete OracleVssWriterORCL注意sc delete命令执行成功通常只返回一个简单的[SC] DeleteService SUCCESS提示没有其他输出是正常的。如果提示“指定的服务未安装”说明该服务可能已被其他方式删除可忽略。2.2 第二步使用Oracle Universal Installer (OUI) 进行程序化卸载这是官方推荐的卸载入口。找到你的Oracle安装目录通常位于{ORACLE_BASE}\product\21.x.x\dbhome_1\deinstall下。运行其中的deinstall.bat批处理文件。这个工具会引导你完成一个交互式的卸载过程它会尝试自动查找并删除Oracle主目录、清单目录等。在运行前请确保你备份了任何重要的数据库文件如数据文件、控制文件、重做日志因为此过程会删除数据库。运行后它会问你一系列问题比如要删除的数据库列表、主目录路径等。如果你不确定对于测试环境可以按照其检测到的默认值进行。这个工具比单纯删除文件要聪明它会处理一些依赖关系。2.3 第三步手动清理“顽固”残留文件即使运行了deinstall.bat一些目录和文件可能因为权限问题或工具本身的限制而残留。我们需要手动检查并清理。删除Oracle安装目录导航到你的ORACLE_BASE例如C:\app\你的用户名和ORACLE_HOME例如C:\app\你的用户名\product\21.x.x\dbhome_1删除整个文件夹。如果遇到“文件正在使用”的错误重启电脑后再试或者使用Unlocker、Process Explorer等工具查看哪个进程锁定了文件。删除清单目录默认位于C:\Program Files\Oracle\Inventory。这个目录记录了所有Oracle产品的安装信息必须删除否则新安装会读到旧的错误信息。删除数据文件目录如果你将数据文件存放在默认的C:\app\你的用户名\oradata或自定义位置请一并删除除非你想保留数据但重装后通常需要重新导入。2.4 第四步深度清扫注册表高风险操作务必谨慎这是最需要小心的一步。错误的注册表操作可能导致系统不稳定。强烈建议在修改前备份注册表或创建系统还原点。按Win R输入regedit打开注册表编辑器。删除以下键值如果存在HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 删除整个ORACLE键。这里存放了全局的Oracle配置。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 删除所有以Oracle、Ora、OracleDBConsole开头的键。这与我们之前用sc delete删除的服务对应但注册表里可能还有残留。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application 删除所有以Oracle开头的键。这些是Oracle事件日志的注册项。HKEY_CURRENT_USER\Software\Oracle 删除整个ORACLE键如果存在。这里存放当前用户的Oracle配置。HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI和HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI 删除其中与Oracle相关的驱动程序和数据源条目。实操心得在注册表中搜索“Oracle”是一个方法但可能会搜到大量无关条目。我更推荐按照上述路径精准定位删除。对于Services下的项如果不确定某个以Ora开头的服务是否属于Oracle可以双击查看其ImagePath值如果路径指向之前的Oracle安装目录则可以安全删除。2.5 第五步清理环境变量Oracle安装时会修改系统环境变量如PATH、ORACLE_HOME、ORACLE_SID、TNS_ADMIN等。右键点击“此电脑” - “属性” - “高级系统设置” - “环境变量”。在“系统变量”中查找并删除ORACLE_HOME、ORACLE_SID、TNS_ADMIN等变量。编辑PATH变量删除其中所有指向旧Oracle安装目录的路径例如C:\app\...\dbhome_1\bin。完成以上五步你的系统才算从Oracle的“基因”层面被基本清理干净为全新安装扫清了道路。3. 安装前夜容易被忽略的关键准备工作很多人卸载完就急着运行安装程序结果在安装中途报错不得不回头重来。安装前的准备工作决定了安装过程的顺利程度。3.1 系统账户与权限避免“权限不足”的噩梦Oracle安装和运行最好在具有管理员权限的账户下进行但这还不够。关闭用户账户控制UAC虽然不强制但UAC有时会干扰安装程序向系统目录写入文件或修改注册表。对于服务器环境建议在安装前将其调至最低或关闭。在控制面板的“用户账户”设置中可以调整。使用英文用户名Oracle安装路径和某些配置对中文字符支持不友好可能导致不可预见的错误。建议用于安装的操作系统用户账户名尤其是用户目录C:\Users\用户名使用纯英文。如果你的当前账户是中文可以新建一个英文管理员账户进行安装。安装目录权限确保你计划安装Oracle的磁盘分区如C盘有足够的写入权限。如果你打算安装到非系统盘如D盘确保该盘是NTFS格式并且你的账户对该盘根目录有完全控制权。3.2 软件依赖与系统组件补齐运行环境Oracle 21c for Windows依赖于一些特定的系统组件。.NET FrameworkOracle Universal Installer和某些Oracle工具需要特定版本的.NET Framework如4.7.2或更高。Windows Server 2019/2022及Windows 10/11通常已内置但最好通过“启用或关闭Windows功能”检查确认。Visual C Redistributable需要2013、2017等版本的运行库。Oracle安装包通常会自带并自动安装但如果你的系统缺少或版本冲突可能引发问题。可以提前从微软官网下载并安装最新的VC运行库合集。Windows PowerShell确保PowerShell版本在5.1及以上。Oracle的配置助手可能会用到。3.3 安装包与版本选择从源头规避问题获取安装包从Oracle官网下载“Oracle Database 21c for Microsoft Windows x64”的安装包。通常是一个压缩文件解压后包含setup.exe。确保下载的版本21.3.0, 21.8.0等与你预期的保持一致。解压路径将安装包解压到一个路径不含空格和中文的目录例如D:\Install\Oracle21c。直接放在根目录或浅层英文路径下是最安全的选择。防病毒软件/防火墙在安装过程中暂时禁用实时防病毒扫描和防火墙。它们有时会拦截安装程序修改系统文件或创建服务导致安装失败。安装完成后再重新启用。3.4 规划安装结构理解Oracle的目录逻辑在点击“安装”之前心里要对Oracle的目录结构有数这有助于后续管理和故障排查。ORACLE_BASE这是所有Oracle软件产品的顶级目录。例如C:\app\username。它下面会有product存放软件、admin存放管理文件、oradata存放数据库文件可自定义位置等子目录。ORACLE_HOME特定Oracle数据库软件的安装目录。位于ORACLE_BASE\product\21.x.x\dbhome_1。这是bin、network、sqlplus等核心可执行文件和配置文件的所在地。数据文件位置默认在ORACLE_BASE\oradata\数据库名。强烈建议将数据文件包括控制文件、重做日志、数据文件放在一个独立的、空间充足的、性能较好的磁盘分区上而不是系统盘。例如D:\oradata\ORCL。这在安装时的“数据库文件位置”步骤中可以指定。做好这些准备就像战前检查装备和地图能极大提升安装一次成功的概率。4. 安装实战详解OUI的每一个关键步骤与选择运行解压目录下的setup.exe以管理员身份启动Oracle Universal Installer (OUI)。界面可能稍显陈旧但步骤清晰。4.1 配置安全更新与软件更新第一个界面是关于安全更新和My Oracle SupportMOS凭证的。对于个人学习或测试环境可以直接取消勾选“我希望通过My Oracle Support接收安全更新”这样就不会要求输入MOS账号。点击“下一步”时可能会有一个警告选择“是”确认跳过即可。这个步骤不影响数据库核心功能的安装。4.2 安装选项创建数据库还是仅安装软件这里有三个选项创建和配置数据库默认一站式服务安装软件后立即启动一个向导来创建一个新的数据库。这是最常用的选择适合新手和大多数场景。仅安装数据库软件只安装Oracle二进制文件和工具不创建数据库。之后你需要手动通过DBCADatabase Configuration Assistant创建数据库。适合高级用户或需要特定定制时。升级现有数据库从较低版本如19c, 12c升级到21c。这需要复杂的前置检查和准备工作不在本文讨论范围。对于全新安装我们选择“创建和配置数据库”。4.3 系统类桌面类 vs 服务器类这个选择决定了安装程序的自动化程度和配置粒度。桌面类简化安装适用于笔记本电脑或台式机。使用Windows内置的“Windows内置账户”进行数据库身份验证管理简单。但某些高级配置选项不可用。服务器类标准安装适用于服务器环境。提供更全面的配置选项包括选择数据库类型、配置存储、管理选项等。对于任何严肃的用途开发、测试、生产请务必选择“服务器类”。4.4 Oracle主目录与清单目录Oracle主目录用户选择“使用Windows内置账户”。在服务器类安装中你也可以选择“创建新Windows用户”但使用内置账户如虚拟账户NT SERVICE\ORACLESERVICEORCL是更现代和推荐的方式权限由系统管理更安全。软件位置Oracle基目录输入你规划的ORACLE_BASE例如C:\app\oracle。注意这个路径会用于存放所有Oracle相关文件。软件位置OUI会自动在基目录下生成ORACLE_HOME路径例如C:\app\oracle\product\21.x.x\dbhome_1。通常无需修改。清单目录保持默认的C:\Program Files\Oracle\Inventory即可。这是OUI管理所有Oracle产品安装记录的地方。4.5 数据库配置定义你的数据库实例这是核心步骤决定了数据库的“身份”和能力。全局数据库名与SID全局数据库名通常格式为数据库名.域名例如orcl.example.com。在单机测试环境中域名部分可以忽略直接写成orcl。SID系统标识符这是数据库实例的唯一标识在同一台机器上必须唯一。通常与全局数据库名的第一部分相同例如ORCL。SID将被用于服务名OracleServiceORCL和许多连接字符串中。配置类型单实例数据库最常见的类型一个数据库实例管理一套数据库文件。RAC真正应用集群数据库多实例共享一套存储用于高可用和负载均衡。需要额外的集群软件和存储配置。 选择“单实例数据库”。存储类型文件系统数据库文件控制文件、数据文件、重做日志存放在操作系统的普通目录中。对于Windows环境这是最简单直接的选择。自动存储管理ASMOracle提供的专门卷管理器和文件系统能简化存储管理并提升性能但配置更复杂。通常用于Linux/Unix环境或大型生产系统。 选择“文件系统”。数据库文件位置这是性能和管理的关键。不要使用默认的ORACLE_BASE\oradata。强烈建议指定一个独立的、非系统盘的路径例如D:\oradata。这样可以将IO压力从系统盘分离也便于备份和迁移。OUI会自动在此路径下创建以全局数据库名命名的子目录如D:\oradata\ORCL来存放文件。快速恢复区Fast Recovery Area用于存放备份和恢复相关文件归档日志、RMAN备份等。可以启用并指定一个与数据文件不同的位置例如E:\fast_recovery_area。大小根据你的备份策略设定测试环境可以设几个GB。数据库字符集务必重视一旦创建后期更改非常麻烦且有风险。默认值OUI会根据操作系统区域设置推荐一个。对于中文Windows通常是ZHS16GBK或AL32UTF8。AL32UTF8Unicode UTF-8这是当前最推荐的选择除非你有非常特殊的兼容性要求。UTF-8字符集支持全球所有语言字符是国际化和未来兼容性的标准。对于需要处理多语言或不确定未来需求的环境选它没错。ZHS16GBK传统的中文字符集对于纯中文环境且遗留系统兼容性要求高时可选。但它不支持某些特殊符号和生僻字。4.6 管理选项与数据库凭据企业管理器EMExpress这是一个轻量级的基于Web的数据库管理工具。建议勾选“配置企业管理器EM数据库Express”。它会自动配置你可以通过https://主机名:5500/em来访问。比古老的OEMOracle Enterprise Manager简洁易用。数据库管理口令这里设置的是数据库内置管理账户SYS,SYSTEM,PDBADMIN等的密码。Oracle 21c强制要求使用符合复杂度的口令。务必设置一个强密码并牢记。你可以选择“所有账户使用同一管理口令”以简化。4.7 先决条件检查与安装概要OUI会运行一个先决条件检查验证系统环境物理内存、虚拟内存、临时空间、操作系统版本、补丁等。如果所有检查都通过显示绿色对勾点击“下一步”。如果有警告黄色感叹号或失败红色叉号必须点开查看详情。常见的警告可能包括“物理内存不足”测试环境可忽略或“缺少某个Windows补丁”。对于失败项必须按照提示解决否则安装无法继续。最后安装概要页面会列出你所有的选择。仔细核对一遍特别是全局数据库名、SID、文件位置和字符集。确认无误后点击“安装”。此时安装程序开始复制文件、链接可执行文件、创建数据库。这个过程可能需要20分钟到1小时取决于硬件性能。期间可能会弹出命令行窗口执行脚本不要手动关闭它们。安装完成后OUI会显示一个包含重要信息的完成页面务必记录或截图保存数据库控制台的URLEM Express。数据库实例的名称SID。SYS和SYSTEM等账户的解锁状态。点击“关闭”Oracle数据库软件安装和实例创建就完成了。5. 安装后配置与基础验证确保一切就绪安装程序结束并不意味着马上就能高枕无忧。我们需要进行一些基本的配置和验证确保数据库真正可用。5.1 验证服务与连接检查服务再次打开services.msc你应该能看到至少两个新的Oracle服务正在运行OracleServiceORCL名称随SID变化这是数据库实例的核心服务。必须处于“正在运行”状态。OracleOraDB21Home1TNSListener这是监听器服务负责接收客户端连接请求。也必须处于“正在运行”状态。使用SQL*Plus本地连接这是最直接的验证方式。打开命令提示符CMD。输入sqlplus / as sysdba。这是操作系统认证方式以SYSDBA权限登录不需要密码前提是你的当前Windows用户在ORA_DBA组中安装程序通常会自动添加。如果成功你会看到SQL提示符。输入SELECT name, open_mode FROM v$database;应该能返回你的数据库名和READ WRITE状态。输入exit退出。使用SQL*Plus远程连接通过监听器在CMD中输入sqlplus system/你的密码localhost:1521/ORCL。这里使用了完整的连接字符串用户名/密码主机:端口/服务名。如果连接成功说明监听器工作正常网络配置正确。5.2 配置网络tnsnames.ora 和 listener.ora虽然安装程序配置了基本的监听器但你可能需要为其他客户端或远程连接进行配置。listener.ora位于ORACLE_HOME\network\admin。它定义了监听器监听的地址、端口和服务。默认配置通常足够本地使用。如果你需要从其他机器连接确保(HOST 主机名或IP)设置正确localhost或127.0.0.1仅限本机。tnsnames.ora同样位于ORACLE_HOME\network\admin。它定义了客户端使用的连接描述符别名。你可以添加一个条目例如ORCL (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST localhost)(PORT 1521)) (CONNECT_DATA (SERVER DEDICATED) (SERVICE_NAME ORCL) # 或 (SID ORCL) ) )配置后就可以用sqlplus system/密码ORCL这种简短的方式连接了。修改这两个文件后需要重启监听器服务lsnrctl stop然后lsnrctl start在ORACLE_HOME\bin目录下运行或确保该目录在PATH中。5.3 环境变量配置可选但推荐为了方便地在任何命令行窗口使用sqlplus、rman、expdp等工具可以将ORACLE_HOME\bin添加到系统PATH变量中。同时也可以设置ORACLE_SID变量这样连接时就不需要指定实例名。系统环境变量中新建ORACLE_SID值为你的数据库SID例如ORCL。编辑PATH变量在末尾添加;%ORACLE_HOME%\bin假设ORACLE_HOME已定义或直接写全路径;C:\app\oracle\product\21.x.x\dbhome_1\bin。设置完成后打开新的CMD窗口输入echo %ORACLE_SID%和sqlplus /nolog测试是否生效。5.4 访问EM Express打开浏览器访问安装完成时提示的URL通常是https://localhost:5500/em。使用SYSTEM账户和你设置的密码登录。如果遇到证书警告因为使用的是自签名证书选择“继续前往”即可。成功登录后你可以在图形界面下进行基本的数据库监控和管理操作。至此一个全新的、干净的Oracle 21c数据库已经在你的Windows系统上准备就绪。从彻底卸载到成功安装并验证这个过程虽然步骤繁多但每一步都有其必要性。理解每一步背后的“为什么”能让你在遇到问题时不再茫然而是能够精准地定位和解决。记住对于Oracle“干净”是顺利安装的一半而“规划”是成功运行的开始。
返回列表