第一步:连接前必备信息
无论使用哪种方法,您都需要以下信息,请提前向您的数据库管理员确认:

- 主机名 或 IP 地址: 数据库服务器的地址。
- 端口号: Oracle 数据库监听的网络端口,默认是
1521。 - 服务名: 这是最推荐的方式,它是一个逻辑名称,指向一个或多个数据库实例。
ORCLCDB.localdomain。 - SID: 系统标识符,是数据库实例的旧式标识方法,如果服务名不可用,您可能需要 SID。
ORCL。 - 用户名: 您要登录的数据库用户名,
scott,hr,sys,system。 - 密码: 对应用户名的密码。
使用 SQL*Plus (命令行工具)
这是 Oracle 官方提供的最基础、最直接的命令行工具,通常随 Oracle 客户端或数据库服务器一同安装。
Windows 系统下:
-
打开“命令提示符”或“PowerShell”。
-
输入以下命令并按回车:
sqlplus 用户名/密码@主机名:端口号/服务名
示例:
(图片来源网络,侵删)sqlplus scott/tiger@192.168.1.100:1521/ORCLCDB
如果您的 Oracle 客户端和数据库在同一台机器上,并且使用默认端口,可以简化为:
sqlplus scott/tiger
Linux / macOS 系统下:
-
打开终端。
-
命令与 Windows 相同:
sqlplus 用户名/密码@主机名:端口号/服务名
示例:
(图片来源网络,侵删)sqlplus scott/tiger@myoracle-db:1521/ORCLCDB
连接后操作:
- 连接成功后,您会看到
SQL>提示符,可以在此输入 SQL 语句。 - 输入
exit或quit可以退出 SQL*Plus。
使用 SQL Developer (图形化工具)
SQL Developer 是 Oracle 官方提供的免费、功能强大的图形化数据库开发工具,非常适合初学者和开发者。
-
下载并安装: 从 Oracle 官网下载并安装 SQL Developer。
-
配置连接:
- 打开 SQL Developer,在左侧的“连接”导航窗格中,右键点击“连接”,选择“新建连接”。
- 在弹出的“新建/选择数据库连接”窗口中,填写以下信息:
- 连接名: 给这个连接起一个你容易识别的名字,生产HR数据库”。
- 用户名: 你的数据库用户名 (如
hr)。 - 密码: 你的密码。
- 角色: 通常选择
Default。 - 连接类型: 选择
Basic。 - 主机名: 数据库服务器地址 (如
168.1.100)。 - 端口: 数据库端口 (如
1521)。 - 服务名: 数据库服务名 (如
ORCLCDB)。 - (可选) 如果需要使用 SID,则勾选“连接标识符”,并填写 SID,同时清空“服务名”字段。
-
测试并保存:
- 点击“测试”按钮,如果配置正确,会显示“成功”。
- 测试成功后,点击“连接”。
- 连接会保存在左侧的“连接”列表中,下次直接双击即可连接。
使用 DBeaver (通用数据库工具)
DBeaver 是一个开源的、支持多种数据库的通用数据库管理工具,非常流行。
- 下载并安装: 从 DBeaver 官网下载并安装。
- 新建数据库连接:
- 首次启动会提示您创建新连接,或者,可以通过菜单
文件->新建->数据库连接来创建。 - 在数据库类型选择界面,选择
Oracle并点击下一步。
- 首次启动会提示您创建新连接,或者,可以通过菜单
- 配置连接:
- 主设置:
- 驱动: 选择
Oracle Thin。 - 主机: 数据库服务器地址。
- 端口: 数据库端口。
- 数据库: 这里可以填写 服务名 或 SID。
- 用户名: 你的数据库用户名。
- 密码: 你的密码。
- 驱动: 选择
- 高级设置:
- 在“连接”选项卡中,可以设置连接模式,例如以
SYSDBA或SYSOPER身份连接,这对于数据库管理员非常重要。- 要以
SYSDBA身份连接,用户名通常是sys,然后在“连接角色”下拉框中选择SYSDBA。
- 要以
- 在“连接”选项卡中,可以设置连接模式,例如以
- 主设置:
- 测试并连接:
点击“完成”进行测试,成功后即可连接到数据库。
编程语言连接 (以 Python 为例)
在应用程序中连接 Oracle 数据库,通常需要使用相应的数据库驱动。
安装驱动
你需要安装 cx_Oracle 库。
pip install cx_Oracle
编写连接代码
import cx_Oracle
# --- 1. 配置连接信息 ---
# 注意:在实际应用中,密码等敏感信息不应硬编码,应从安全配置中读取。
username = "hr"
password = "your_password"
# 格式: "主机名:端口/服务名"
dsn = "192.168.1.100:1521/ORCLCDB"
# --- 2. 建立连接 ---
try:
# 创建连接对象
connection = cx_Oracle.connect(user=username, password=password, dsn=dsn)
# 创建游标对象
cursor = connection.cursor()
# --- 3. 执行查询 ---
sql_query = "SELECT department_id, department_name FROM departments WHERE rownum < 6"
cursor.execute(sql_query)
# --- 4. 获取并处理结果 ---
print("查询结果:")
for row in cursor:
print(f"ID: {row[0]}, Name: {row[1]}")
except cx_Oracle.DatabaseError as e:
error, = e.args
print(f"数据库错误代码: {error.code}")
print(f"错误信息: {error.message}")
finally:
# --- 5. 关闭游标和连接 ---
if cursor:
cursor.close()
if connection:
connection.close()
print("连接已关闭。")
常见问题排查
如果连接失败,请检查以下几点:
-
网络连通性: 确保您的客户端机器可以访问数据库服务器的指定端口。
- Windows: 在命令提示符中使用
telnet 主机名 端口号(telnet 192.168.1.100 1521)。 - Linux/macOS: 在终端中使用
telnet 主机名 端口号或nc -zv 主机名 端口号。 - 如果不通,请检查防火墙是否阻止了该端口的访问。
- Windows: 在命令提示符中使用
-
监听器状态: 数据库的监听器必须处于运行状态,并正确配置了服务名或 SID。
- 可以在数据库服务器上使用命令
lsnrctl status来检查监听器状态和注册的服务。
- 可以在数据库服务器上使用命令
-
服务名/SID 错误: 确认您提供的服务名或 SID 是正确的,可以咨询 DBA 或在监听器状态日志中查找。
-
用户名/密码错误: 确认用户名和密码拼写正确,且该用户有权限访问。
-
Oracle 客户端环境: 如果使用 SQL*Plus 或编程语言,确保客户端机器上正确安装了 Oracle 客户端或 Instant Client,
PATH等环境变量配置正确。
希望这份详细的指南能帮助您成功连接到 Oracle 数据库!
