Oracle安装配置与PLSQL连接实战:从下载到彻底卸载全指南
2026/9/1 18:04:23 网站建设 项目流程

很多初学者第一次接触 Oracle 时,几乎都会在同一个阶段卡住:“安装包搞了大半天,安装过程报错不断,好不容易装完了,PLSQL 又连不上;准备重装一次,却发现 Oracle 怎么都卸载不干净。” 如果你正在经历这个过程,不用怀疑是自己太笨,Oracle 的安装配置本身就是一个“细节密集”的工程,真正考验的不是智商,而是顺序和耐心。

这篇文章会从零开始,把 Oracle 数据库下载、安装、PLSQL Developer 客户端配置、连接验证、常见报错、完整卸载这一整条链路讲清楚。核心判断先放前面:只要把“安装顺序、字符集、监听配置、卸载残留”这四件事做对,Oracle 新手安装成功率可以接近百分之百。

无论你是课程设计需要本地装库的学生,还是工作中要连 Oracle 开发的新人,读完这篇文章都能形成一条清晰的实操路线。

1. 这篇文章真正要解决的问题

很多人以为装 Oracle 就是“下一步下一步”,真正动手时才发现完全不是那么回事。常见的困境主要有四类:

第一,下载不到合适的安装包。Oracle 官网的下载入口藏得比较深,版本又分为标准版、企业版、Express 版,初学者经常搞不清楚该下哪个。下载下来的压缩包可能有好几个 GB,解压路径稍微带个中文目录,安装程序就直接退出。

第二,安装顺序混乱。先装 PLSQL 还是先装 Oracle?先配监听还是先建库?如果本机没有安装 Oracle 数据库,能不能只装一个 PLSQL 就连远程库?这些问题如果不搞清楚,很容易陷入“装了又卸载、卸载了又装不上”的循环。

第三,PLSQL 连接问题层出不穷。网上很多教程只写到 Oracle 服务端安装完成,却没有讲清楚 PLSQL 怎么注册、配置文件 tnsnames.ora 放在哪里、字符集不一致导致中文乱码怎么解决。等你兴高采烈打开 PLSQL 准备登录,迎面而来的是 ORA-12514 或 ORA-12154,那感觉非常崩溃。

第四,卸载不干净导致无法重装。Oracle 卸载最麻烦的地方在于:除了程序目录,还有服务、注册表、环境变量等大量残留。只删安装目录、只卸载产品列表里的条目都不够,残留的 OracleService 服务和注册表项会让第二次安装失败,而且报错往往莫名其妙。

这篇文章要做的就是把这四个问题一次解决。我们会先看懂 Oracle 和 PLSQL 到底是什么关系,然后按正确顺序完成安装配置,再覆盖验证方式、常见报错和彻底卸载。读完你可以直接照着操作,不用东翻一个教程、西找一段命令。

2. Oracle 与 PLSQL 的核心概念

在开始安装之前,先用最通俗的方式理解几个概念。这不只是理论,很多配置错误都源于概念混淆。

2.1 什么是 Oracle 数据库

Oracle 数据库是一个关系型数据库管理系统(RDBMS),由甲骨文公司推出,在金融、电信、政务等传统行业中使用非常广泛。你平时接触的 MySQL 是开源数据库,Oracle 则是商业数据库,两者的 SQL 语法大体相似,但细节差异不少。

关系型数据库的核心是把数据按“二维表”组织,比如一张用户表、一张订单表,表之间通过外键关联。Oracle 在事务处理、并发控制、高可用架构方面非常成熟,这也是很多企业核心系统仍然选择它的原因。

2.2 数据库实例与服务

在 Oracle 中,有非常容易混淆的两个词:数据库(Database)实例(Instance)

  • 数据库:物理上存在于磁盘中的数据文件、控制文件、日志文件等集合。
  • 实例:数据库启动后在内存中运行的一组后台进程和内存结构。

简单理解:实例是“运行中的数据库”,数据库是“落盘的数据文件”。连接 Oracle 时,你实际上连接的是实例,由实例去读写磁盘上的数据库文件。

Windows 上你会在服务列表里看到一个类似OracleServiceORCL的服务,这就是数据库实例服务。如果这个服务没有启动,连接时会报 ORA-01034。安装完成后建议先确认服务运行状态,再谈连接。

2.3 什么是监听器

监听器(Listener)是 Oracle 网络层的关键组件,它负责接收客户端的连接请求,并把请求转发给对应实例。你可以把它理解成“前台接待员”:客户端通过 TCP 端口(默认 1521)找到监听器,监听器再判断你请求的哪个数据库服务,然后引导你进入对应的实例。

如果监听器没启动,报错往往是 ORA-12541(无监听程序)。如果监听器启动了但找不到你请求的服务名,报错往往是 ORA-12514。这两个错误是 Oracle 新手最常见的,后文会专门讲排查方法。

2.4 PLSQL Developer 是什么

PLSQL Developer 是一个第三方图形化客户端工具,专门用于 Oracle 数据库的开发和管理。它不是 Oracle 官方产品,但因为功能完善,很多开发者习惯用它编写 SQL、管理 PL/SQL 存储过程、做调试和导入导出。

这里要记住一件非常重要的事:PLSQL Developer 只是客户端,它本身不包含数据库引擎。你可以用 PLSQL 连接一个远程 Oracle 数据库,也可以连接本机安装的 Oracle 服务端。所以问题的关键不是“装不装 PLSQL”,而是“PLSQL 使用什么驱动去连接数据库”。

2.5 安装顺序与客户端模式

网上很多人问“Oracle 和 PLSQL 安装顺序”。这里给出明确判断:

  • 如果本机需要跑 Oracle 数据库服务端,先安装 Oracle 数据库,再安装 PLSQL Developer,最后用数据库自带的客户端或者额外配置 Instant Client 让 PLSQL 找到连接入口。
  • 如果本机不装数据库,只需要连接远程 Oracle,那么不要安装完整版 Oracle 服务端,安装 PLSQL Developer 并下载一个 Oracle Instant Client 就能完成连接。这就是“免安装 Oracle 数据库也能使用 PLSQL”的答案。

换句话说:Oracle 服务端可以没有 PLSQL,但 PLSQL 一定要有 Oracle 客户端组件或 Instant Client 才能连上数据库。

2.6 Oracle 与 MySQL 的概念对比

很多新手带着 MySQL 的认知来学 Oracle,容易踩到术语差异的坑。

对比项MySQL 习惯Oracle 习惯
数据库实例MySQL 实例Oracle 实例
库/模式一个库下有多个表一个实例下通常多个 schema(模式)
客户端连接通过 JDBC/MySQL Client通过 SQL*Plus / PLSQL 等
服务MySQL 服务OracleService、Oracle 监听器
端口默认 3306默认 1521
字符串操作单引号加双引号细节较少字符串用单引号,标识符大小写规则较特殊

不用急着把上表背下来,先建立一个印象:Oracle 更适合作为“大型系统”的底层数据存储,而它的连接链路由客户端组件、监听器、实例三个环节组成。后续所有报错,都可以按这个链路去定位。

3. 环境准备与前置条件

安装 Oracle 之前,先把基础环境检查一遍,可以避免后期大量返工。本文以 Windows 平台为主进行讲解,这套思路同样适用于个人学习环境;生产环境建议按官方文档做更严格的规划。

3.1 操作系统与硬件要求

Oracle 对硬件的要求不高,但也不至于“随便一台机器就能流畅跑”。

  • 操作系统:Windows 10 / Windows 11 都可以,建议 64 位系统。
  • 内存:个人学习环境建议 8GB 以上。Oracle 实例运行后一般会占用 1GB 到 2GB 内存,如果内存太小,安装和启动都容易出问题。
  • 磁盘:安装包较大,解压后占用空间通常按 GB 计算,建议至少预留 10GB 可用空间。
  • 用户权限:最好使用管理员账号登录,或者在安装程序上右键选择“以管理员身份运行”。

如果你的机器配置比较紧张,可以考虑先用虚拟机装一个最小化的 Windows 环境,或者用 Docker 方式在现有系统里跑一个 Oracle 容器做学习实验。不过本文重点还是本机安装的完整流程。

3.2 关闭杀毒软件或添加信任

安装 Oracle 时,杀毒软件和安全防护软件有时会把安装程序的关键文件误判为可疑操作,导致安装进度卡住、文件缺失或服务注册失败。

客观地说,这不是 Oracle 的问题,而是大型软件安装时和实时防护工具的冲突。建议做法是:安装期间临时关闭实时防护,或者把 Oracle 安装目录、解压目录加入信任区。安装完成后可以重新开启防护。

3.3 安装包准备清单

你需要准备以下内容:

  • Oracle 数据库安装包:请从官网下载页面获取,版本根据系统选择。不同版本安装界面略有差异,但核心流程一致。本文按照“创建并配置单个实例数据库”的通用流程演示。
  • PLSQL Developer 安装包:从官网下载试用版或授权版本即可。安装和试用是合法的,但正式使用需要注意许可授权。
  • Oracle Instant Client:如果你不打算安装完整版服务端,或者 PLSQL 始终提示无法加载客户端库,就需要使用 Instant Client 作为连接组件。

3.4 安装路径不能有中文和空格

这条建议非常重要,而且常常被忽略。Oracle 对安装路径的解析比较严格,如果路径中包含中文、空格或特殊字符,安装过程可能报错,即使安装成功,后续启动监听器也可能出现奇怪的问题。

推荐使用这样的路径:

C:\oracle D:\oracle\product

不要使用:

C:\用户\张三\软件\oracle数据库 C:\Program Files\oracle

另外,安装包解压目录也不要放在带空格的路径下。这一条请严格执行。

3.5 端口冲突检查

Oracle 默认监听端口是 1521。如果本机已经装有其他数据库或服务占用了 1521 端口,监听器可能启动失败。

安装前可以用命令检查端口占用:

netstat -ano | findstr 1521

如果输出为空,说明 1521 端口未被占用。如果输出中存在 LISTENING 状态,需要确认占用进程是什么,必要时修改 Oracle 端口或先禁用冲突服务。

4. Oracle 数据库完整安装流程

下面进入核心实操环节。整个过程可以拆成五个阶段:解压安装包、运行安装向导、配置数据库身份、验证服务与监听,最后安装 PLSQL。

4.1 解压安装包并运行安装程序

下载到的 Oracle 数据库安装包通常是一个压缩文件。解压时右键“解压到当前文件夹”,解压完成后进入目录,找到setup.exe或类似的可执行文件。

右键setup.exe,选择“以管理员身份运行”。安装程序启动可能需要几十秒,请耐心等待。如果安装界面没有出现,可以打开任务管理器查看后台是否有配置助手进程,不要重复点击启动。

4.2 选择安装类型

安装向导启动后,需要选择操作类型。最常用的选项是:

  • 创建并配置单个实例数据库:适合普通开发和学习环境,安装完成后自动建好一个可用的数据库实例。
  • 仅安装数据库软件:适合后续还要手动维护、创建多个复杂实例的情况,新手通常不需要选这一项。

新手建议直接选择“创建并配置单个实例数据库”,然后继续。

4.3 选择系统类与目录

安装向导会询问使用“桌面类”还是“服务器类”。

  • 桌面类:适合个人开发和测试环境,配置要求低,安装过程简单。
  • 服务器类:适合生产环境,功能选项更多,安装过程更复杂。

本地学习直接选“桌面类”即可。在指定目录时,注意主目录路径不要带中文和空格,例如:

C:\oracle\product

4.4 配置全局数据库名与管理口令

安装向导会要求配置 Orachle 数据库标识符。典型设置有:

  • 全局数据库名:orcl
  • 可插拔数据库名:如果是较新的版本,会提示配置 PDB 名称,如orclpdb
  • 管理口令:用于SYSSYSTEM等管理员账号

这里的口令必须符合 Oracle 密码复杂度要求:长度通常要求 8 位以上,包含大小写字母和数字。例如:

Oracle123

注意:安装向导不会要求你输入普通业务用户的账号,后续想建业务用户,需要用 SYS 或 SYSTEM 登录后手动创建。

安装最后阶段,安装程序还会提示执行“先决条件检查”。如果内存、磁盘、配置不满足要求,会在这里给出警告。遇到警告不要慌张,查看具体是哪一项不满足,解决后点击重新检查。配置检查通过后,就可以正式点击“安装”。

4.5 等待安装并验证服务

安装过程需要一段时间,视机器性能而定,可能从十几分钟到半小时以上。界面会出现进度条和日志信息。如果中途报错,优先查看安装日志,不要直接关闭安装程序。

安装完成后,打开 Windows 服务管理器,应该能看到类似这样的服务:

  • OracleServiceORCL
  • OracleOraDB19Home1TNSListenerOracleOraDb11g_home1TNSListener

服务名后半部分会因为版本和主目录不同而变化,但一定包含OracleServiceTNSListener字样。确认这两个服务状态为“正在运行”。

同时,开始菜单中应该出现 SQL*Plus 的快捷方式。SQL*Plus 是 Oracle 自带的命令行客户端,也是后续验证连接的重要工具。

4.6 安装 PLSQL Developer

Oracle 数据库安装完成并确认服务正常后,再安装 PLSQL Developer。安装过程相对简单:

  • 一路点击 Next。
  • 安装路径同样避免中文和空格。
  • 安装完成后先不要急着登录,因为登录前我们需要解决驱动程序路径和连接配置文件的问题。

PLSQL Developer 是商业软件,建议从官方渠道获取试用版。正式项目中如果有需要,请联系商家购买授权。网上那些所谓“注册码”“破解补丁”存在法律和安全双重风险,不推荐使用。

5. Oracle 和 PLSQL 的连接配置

这是整篇文章最关键的章节之一。很多人在安装数据库之后卡住,就是因为这里没有配置好。

5.1 方式一:使用数据库自带的客户端组件

如果本机安装了 Oracle 数据库服务端,那么 PLSQL 可以尝试直接使用服务端的客户端组件。打开 PLSQL Developer,首次启动通常会弹出登录框,但在登录之前,需要先正确指定 Oracle 客户端库目录。

在 PLSQL Developer 的安装目录中,通常有一个配置文件用于指定数据库客户端位置,或者你也可以在安装过程中指定。实际操作中最省事的方法:

  1. 打开 PLSQL Developer。
  2. 点击“取消”或“No”跳过首次登录。
  3. 进入菜单:Tools -> Preferences -> Connection。
  4. 在 Oracle Home 或 OCI Library 位置设置本机 Oracle 客户端组件的路径,常见路径形如C:\oracle\product\...\oci.dll
  5. 保存配置后重新启动 PLSQL。

如果本机没有完整安装 Oracle 数据库,或者找不到oci.dll,就采用方式二。

5.2 方式二:使用 Instant Client 连接远程库

新手常问:“PLSQL 不安装 Oracle 能不能连接数据库?” 答案是可以。做法是安装 Oracle Instant Client,它体积远小于完整版数据库,只提供客户端连接能力,足够让 PLSQL 正常连接远程 Oracle。

步骤如下:

  1. 在 Oracle 官方下载页面获取与系统位数一致的 Instant Client 压缩包。
  2. 解压到无中文路径,例如C:\instantclient_19_15
  3. 打开 PLSQL Developer,在 Connection 配置中指定oci.dll路径为C:\instantclient_19_15\oci.dll
  4. 把 Instant Client 目录加入系统 PATH 环境变量,避免运行时提示找不到依赖组件。

这种方式非常推荐:即使本机不装完整版 Oracle,只靠 PLSQL + Instant Client 就能开发调试,环境也干净很多。

5.3 配置 tnsnames.ora 连接描述

PLSQL 连接 Oracle 时,需要知道连接哪个主机、哪个端口、哪个服务名。这个信息通常写在tnsnames.ora文件中。

如果你安装了完整版 Oracle,该文件一般位于:

C:\oracle\product\...\network\admin\tnsnames.ora

如果你使用 Instant Client,也可以手动创建tnsnames.ora放到 Instant Client 目录下。

一个最简配置如下:

ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )

注意几个细节:

  • 顶层名称ORCL是连接名,在 PLSQL 登录时选择该连接名。
  • HOST是本机 IP 或远程数据库地址。
  • PORT默认 1521,如果修改了监听端口要同步修改。
  • SERVICE_NAME是数据库的服务名,通常和全局数据库名一致。如果连接 PDB,则需要写 PDB 的服务名。

有些版本默认使用 ID 服务名而不是 SERVICE_NAME,两者概念不同,但新手只需要记住:当连接报 ORA-12514 时,首先检查这里的服务名和数据库实际服务名是否一致。

5.4 环境变量设置与字符集中文乱码

Oracle 客户端连接数据库时,使用 NLS_LANG 环境变量表示客户端字符集。如果客户端和服务端字符集不一致,在 PLSQL 中看到的汉字可能全是问号或乱码。

Windows 下可以通过命令行设置用户环境变量:

setx NLS_LANG "SIMPLIFIED CHINESE_CHINA.AL32UTF8"

这条命令在当前用户环境变量中写入NLS_LANG。执行后新打开的命令行窗口会生效。如果数据库字符集不是 AL32UTF8,而是常见的 ZHS16GBK,可以调整为:

setx NLS_LANG "SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

判断方法:登录 SQL*Plus 后执行:

SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';

以查询出来的数据库字符集为准来设置客户端 NLS_LANG。

5.5 使用 SQL*Plus 验证连接

在进行 PLSQL 配置之前,建议先用 SQL*Plus 验证数据库本身是否能连接。这样可以区分问题出在数据库层还是 PLSQL 客户端层。

打开命令行窗口,执行:

sqlplus / as sysdba

如果输出显示已连接到数据库,说明本机数据库正常。也可以使用账号密码登录:

sqlplus system/口令@127.0.0.1:1521/orcl

如果 SQL*Plus 可以连接,而 PLSQL 连不上,问题大概率在 PLSQL 的驱动路径、连接名配置或 PATH 环境变量;如果 SQL*Plus 也连不上,重点检查服务、监听和密码策略。

5.6 PLSQL 中登录数据库

启动 PLSQL Developer 后,登录框中的关键字段是:

  • Username:用户名,例如system
  • Password:安装时设置的管理口令
  • Database:下拉选择tnsnames.ora中的连接名,例如ORCL
  • Connect as:选择Normal,如果你是管理员,可以选SYSDBA

注意:使用SYS用户登录时,Connect as 必须选择SYSDBA,否则会报权限不足。普通业务用户选择Normal即可。

登录成功后,左侧对象树中会出现表、视图、存储过程等节点,说明整个链路已经打通。

6. 数据库功能验证:建库、建用户、增删改查

连接成功只是第一步,能完成基本的增删改查,才算真正把 Oracle 环境用起来。这里用一个最小示例走通全流程。

6.1 创建业务用户并授权

不建议直接用 SYS 或 SYSTEM 做业务开发。正确做法是创建一个专门用户:

CREATE USER demo IDENTIFIED BY "Demo1234"; GRANT CONNECT, RESOURCE TO demo;

这里demo是用户名,Demo1234是密码。CONNECTRESOURCE是 Oracle 常用角色,分别提供连接权限和基本资源使用权限。密码带双引号可以保证大小写被准确识别。

6.2 建表与增删改查

使用新用户 demo 连接数据库后,执行以下 SQL:

-- 创建用户表 CREATE TABLE t_user ( id NUMBER PRIMARY KEY, name VARCHAR2(100) NOT NULL, create_time DATE DEFAULT SYSDATE ); -- 新增 INSERT INTO t_user(id, name) VALUES (1, 'Oracle'); INSERT INTO t_user(id, name) VALUES (2, 'PLSQL'); -- 查询 SELECT id, name, create_time FROM t_user; -- 修改 UPDATE t_user SET name = 'CSDN' WHERE id = 1; -- 删除 DELETE FROM t_user WHERE id = 2; -- 提交事务 COMMIT;

Oracle 和 MySQL 一个显著差异是事务处理:Oracle 中 DML 操作默认需要提交事务,COMMIT之前,其他会话看不到数据变更,甚至当前会话退出未提交也会回滚。写完 INSERT、UPDATE、DELETE 之后,不要忘记提交。

6.3 查看对象与数据字典

初学者可以多使用几个查询命令确认环境正常:

-- 查看当前用户 SELECT USER FROM DUAL; -- 查看当前用户下的表 SELECT table_name FROM user_tables; -- 查看数据库版本 SELECT * FROM V$VERSION;

DUAL是 Oracle 中一个特殊的单行单列表,常用于不依赖具体表的 SELECT 查询,例如SELECT SYSDATE FROM DUAL;

6.4 数据导入导出验证

安装完整后,可以顺便验证一下 Oracle 的导入导出工具。经典方式有两种:

expdp demo/Demo1234@orcl DIRECTORY=DATA_PUMP_DIR DUMPFILE=demo.dmp SCHEMAS=demo impdp demo/Demo1234@orcl DIRECTORY=DATA_PUMP_DIR DUMPFILE=demo.dmp SCHEMAS=demo

DATA_PUMP_DIR是 Oracle 默认的目录对象,不是真的文件系统目录。导入导出时,文件会落在数据库服务器对应的操作系统目录中。如果权限不足,需要管理员用户创建目录并授权:

CREATE OR REPLACE DIRECTORY MY_DUMP AS 'D:\oracle_dump'; GRANT READ, WRITE ON DIRECTORY MY_DUMP TO demo;

然后改用:

expdp demo/Demo1234@orcl DIRECTORY=MY_DUMP DUMPFILE=demo.dmp SCHEMAS=demo

7. 常见问题与排查思路

下面是 Oracle 安装和 PLSQL 连接中最常遇到的问题,按“现象-原因-排查-解决”整理成表,方便你对照定位。

问题现象可能原因排查方式解决方案
安装程序无法启动解压路径带中文空格,或未使用管理员权限检查路径字符;右键“以管理员身份运行”解压到纯英文路径,重新运行 setup.exe
安装时提示不满足最低配置内存或磁盘不足查看先决条件检查具体项关闭无关程序,清理磁盘或增加内存
ORA-12541: TNS 无监听程序监听服务未启动执行lsnrctl status执行lsnrctl start启动监听
ORA-12514: 服务无法识别tnsnames 中的服务名与数据库实际服务名不一致查看 tnsnames.ora,执行lsnrctl services确认服务名修改 tnsnames.ora 中的 SERVICE_NAME
ORA-12154: 无法解析连接标识符连接名写错,或 tnsnames.ora 未生效检查连接名是否与配置顶级名称一致;检查文件路径修正连接名,或在 PLSQL 中指定正确 TNS 文件
ORA-01034: ORACLE not availableOracleService 未启动打开服务列表查看 OracleServiceORCL启动服务,或执行oradim -startup -sid orcl
ORA-01017: 用户名/口令无效密码错误,或 SYS 未使用 AS SYSDBA 登录检查口令大小写;确认角色选项重设用户口令,或用正确角色登录
PLSQL 中文字符乱码NLS_LANG 和数据库字符集不一致查数据库字符集,查当前 NLS_LANG使用 setx 重新设置 NLS_LANG,重启 PLSQL
PLSQL 提示无法加载 OCI 库未配置 OCI 路径,或客户端位数不匹配查看 Connection 配置中的 OCI Library配置正确的 Oracle Home 或 Instant Client 路径
卸载后重装失败服务、注册表、目录残留查看服务列表和注册表 Oracle 键清理残留服务、注册表、安装目录和环境变量

这里单独说一下 PLSQL 打开 SQL 脚本慢或卡住的问题。如果一个 SQL 脚本非常大,或者里面包含大段 PL/SQL 块,PLSQL Developer 解析时可能会比较吃力。建议把复杂逻辑拆成小脚本分步执行,涉及 PL/SQL 时注意最后要有/结束符。

如果你的应用或工具提示“主数据库无法访问”,不要只盯着 Oracle 实例,先看三件事:数据库服务是否运行、监听器是否运行、连接账号密码是否有效。这条排查路径能覆盖大多数连接类错误。

8. Oracle 完整卸载与彻底清理

如果你安装过程中已经出现不可恢复的问题,或者想换一个版本重装,必须学会“卸载干净”。Oracle 卸载不干净是重装失败的最大元凶,尤其是 12c 及以后版本,残留项更多,更需要系统化清理。

8.1 卸载前的准备工作

卸载操作属于高风险操作,请遵守以下原则:

  • 确认该机器上没有其他项目正在使用的 Oracle 实例。
  • 提前备份数据库,如果需要保留数据,使用 expdp 导出或用 RMAN 备份数据文件。
  • 记录当前安装目录、环境变量和服务名。
  • 如果条件允许,先在虚拟机中演练一遍再操作生产机器。

8.2 停止所有 Oracle 相关服务

打开 Windows 服务列表,找到所有以Oracle开头的服务,逐个停止。也可以使用管理员命令行:

net stop OracleServiceORCL net stop OracleOraDB19Home1TNSListener

服务名因版本不同有差异,以本机实际服务名为准。如果服务停止不了,先关闭所有 PLSQL、SQL*Plus、EM 控制台等连接会话,服务会更容易停止。

8.3 使用通用卸载器卸载产品

Oracle 安装目录中带有卸载工具。在开始菜单中找到 “Oracle Installation Products”,进入后可以看到已安装的产品列表。选择要删除的 Oracle 数据库和客户端组件,点击“删除”。

这个流程会尝试删除数据库文件、配置文件和大部分程序文件。如果卸载过程中提示某些文件无法删除,不要手动强制删除,先记录下来,最后统一清理。

8.4 删除数据库实例服务

有些版本卸载后,Windows 服务中仍然残留OracleServiceORCL。可以用oradim命令删除实例服务:

oradim -delete -sid orcl

oradim是 Oracle 提供的服务配置工具,具体路径在数据库 home 目录的 bin 下。执行成功后,服务列表中对应的实例服务会消失。如果该方法没有效果,可以进一步检查注册表。

8.5 清理注册表残留

在“运行”窗口中输入regedit打开注册表编辑器。请注意:注册表是系统核心配置,操作前一定要先导出备份,并且只删除与 Oracle 明确相关的项。

常见需要检查的位置包括:

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

Services下,寻找以Oracle开头的服务项,确认对应的实例服务确实已经删除后,再进行删除操作。如果对注册表操作不熟悉,建议先查资料或者请有经验的人协助,不要凭感觉批量删除。

8.6 清理安装目录和环境变量

Oracle 默认安装目录通常形如:

C:\app\用户名 C:\oracle

卸载完成后,手动删除安装目录中剩余的文件和文件夹。删除前确认里面没有你需要的数据文件。

然后编辑系统环境变量,将ORACLE_HOMEORACLE_SID等变量删除或重建;检查 PATH 中是否包含 Oracle 相关路径,如果有则一并移除。Windows 下修改环境变量后在“系统属性 -> 高级 -> 环境变量”中操作。

8.7 重启并确认

以上清理完成后,重启电脑。重启之后再次检查:

  • 服务列表中是否还有 Oracle 服务残留。
  • 注册表是否还有明显的 Oracle 项。
  • 环境变量中是否还有 Oracle 路径。
  • 安装目录是否还在。

确认全部清理干净后,再进行新版本的安装,这会大大降低重装失败的概率。

9. 最佳实践与工程建议

安装一次 Oracle 不难,难的是在一个干净、可控、可复用的环境中学习和开发。下面这些经验来自实际项目中的踩坑总结,建议直接收藏。

9.1 个人学习环境建议

如果你只是学习 SQL 和 PL/SQL,不一定要在主力开发机上安装完整 Oracle。Oracle 安装后会占用大量端口、服务和磁盘资源,如果遇到系统问题,排障成本也不小。

替代方案有两个:

  • 使用 Docker 运行 Oracle 镜像,用完即停,不污染宿主机。
  • 使用官方提供的预安装虚拟机镜像,开箱即用。

这两种方式都比你在一台全新 Windows 上裸装完整版更节约时间。

9.2 数据库账号与权限管理

在实际项目中,遵守最小权限原则:

  • 不要使用 SYS 和 SYSTEM 账号跑业务 SQL。
  • 每个应用创建独立账号,只授权需要的角色和系统权限。
  • 开发环境、测试环境、生产环境账号密码严格分离。
  • 定期变更密码,不要使用弱口令。

如果你发现业务 SQL 使用了管理员账号连接,这就是一个明显的安全隐患,应该尽早整改。

9.3 字符集必须提前确定

数据库字符集最好在安装时一次性确定。Oracle 的字符集涉及数据存储方式、客户端显示、导入导出兼容性,后期改动非常麻烦。

  • 建库前明确业务需要使用中文。
  • 推荐使用 AL32UTF8,兼容性最好。
  • 客户端 NLS_LANG 要与数据库字符集保持一致。

9.4 备份是底线

任何时候都不要把“数据库能跑”当成备份充分的理由。至少做到:

  • 重要数据定期执行 expdp 逻辑备份。
  • 学习环境可以手动生成 dump 文件。
  • 生产环境需要制定完整的备份恢复策略,建议学习 RMAN。
expdp system/口令@orcl DIRECTORY=MY_DUMP DUMPFILE=backup_$(date +%Y%m%d).dmp SCHEMAS=demo

把这条命令放入计划任务,就能实现最简单的每日定时备份。

9.5 课程设计与毕业设计提醒

做数据库课程设计时,建议选题尽量覆盖完整的数据库使用闭环:建库、建表、关系设计、增删改查、存储过程、触发器、导入导出。不要只写一个“图书管理系统”的 CRUD,就把 Oracle 能力局限在表层。

比较不错的练习方向包括:

  • 员工考勤系统:涉及日期函数、聚合查询。
  • 学生选课系统:涉及多表关联、唯一约束、级联删除。
  • 订单管理系统:涉及事务、索引、存储过程。
  • 留言板或内容管理系统:涉及 CLOB 字段处理、全文检索。

这些场景会让你的 Oracle 水平从“会装库”提升到“会设计”。

9.6 后续学习路径

安装配置只是 Oracle 学习的第一步。接下来按这个顺序深入,性价比最高:

  • 掌握 SQL 语法和常用函数,多写复杂查询。Oracle 中递归查询使用CONNECT BY START WITH,集合判断使用NOT EXISTS,这些语法在面试和工作中都很常见。
  • 学习 PL/SQL 开发,掌握存储过程、函数、触发器。
  • 理解索引、执行计划,学会查看 Oracle 的 SQL 优化建议。
  • 学习备份恢复,掌握冷迁移、RMAN、Data Pump 等常见运维场景。
  • 理解 Oracle 的架构特性,例如 ASM 存储、Grid 集群、Data Guard 等。
  • 关注数据库安全规范,比如等保测评中 Oracle 需要配置的审计策略、口令策略和权限检查。

运行EXPLAIN PLAN FOR可以查看 SQL 的执行计划,这是优化 SQL 的起点:

EXPLAIN PLAN FOR SELECT t.id, t.name FROM t_user t WHERE t.name = 'CSDN'; SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);

10. 总结

Oracle 虽然没有 MySQL 那么好安装,但只要理清几个关键点,整个过程并不复杂:安装前确认路径和权限,安装中按照向导完成建库,安装后先验证 SQL*Plus 再配置 PLSQL,连接失败时按“服务-监听-连接描述-驱动”逐级排查,卸载时注意清理残留,基本就能掌握全套流程。

如果说这篇文章只能记住三句话,我希望是:

  • 安装顺序:先数据库服务端,再 PLSQL 客户端;不装数据库时,用 Instant Client 代替。
  • 连接要素:服务要启动、监听要在线、tnsnames 服务名要正确。
  • 环境红线:路径不要中文,字符集要一致,卸载必须清理服务、注册表和目录残留。

安装好 Oracle 只是开始,真正让你和熟练开发拉开差距的,是建表设计、SQL 编写、优化思路和数据备份恢复能力。建议你先把本机环境跑通,再按照“建用户-建表-增删改查-存储过程-导入导出”的顺序做一个小项目,形成完整实践闭环。

这篇文章值得收藏备用。下次无论是课程设计还是工作中接手 Oracle 环境,你都可以按这个思路快速定位问题,而不是重新踩一遍安装和配置的坑。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询