如何实现Oracle数据库服务器登录配置,需要哪些步骤?

Oracle登录数据库服务器配置的核心答案是:本地登录直接使用SQLPlus输入用户名密码即可;远程登录则必须确保监听器(Listener)正常运行,并在客户端配置tnsnames.ora文件指向正确的IP、端口和服务名。 接下来我从实战角度拆解整个配置流程,先解决”怎么连”的问题,再解决”连不上”的麻烦。

本地登录与远程登录的区别

很多朋友刚接触Oracle时,最困惑的就是”登录数据库服务器”到底指什么,摆在你面前的有两种情况:

A12-1_Oracle登录远程数据库
加载中
A12-1_Oracle登录远程数据库
大
大龄退役数据工程师
1048--
原视频地址
  • 本地登录:在安装了Oracle数据库的服务器本机上操作,不需要网络配置,直接打开命令行窗口输入sqlplus命令就能连。
  • 远程登录:从你的个人电脑连接另一台服务器上的Oracle数据库,这时候配置就复杂了,涉及监听器、防火墙、客户端网络配置三个环节。

本地登录是最简单的入门方式,在服务器上打开终端,切换为Oracle安装用户(通常是oracle用户),执行:

sqlplus / as sysdba

这行命令表示以操作系统认证方式登录SYS账户,不需要密码,如果你想登录普通业务账户,比如scott或你自己创建的用户:

sqlplus username/password

如果数据库服务器和客户端在同一台机器,这种方式永远畅通,但现实中更多场景是你坐在工位上,去连一台网络另一端的数据库服务器。

Oracle远程连接数据库的配置方法

远程登录的核心在于客户端如何找到服务器,Oracle官方提供了一套标准流程,业内统一称为”客户端-服务器网络架构”,按下面的步骤操作,90%的情况都能一次打通。

第一步:确认服务器端监听器已启动

监听器是Oracle数据库对外服务的”门卫”,它负责接收客户端的连接请求,在数据库服务器上执行:

lsnrctl status

这条命令会返回监听器的运行状态,如果显示The command completed successfully且列出了服务名,说明监听器正常,如果显示TNS-12541: TNS:no listener,那就要先启动监听器:

lsnrctl start

启动后再次执行lsnrctl status确认,这里要提醒一句,监听器的启动用户必须是Oracle安装用户,不能是root,否则会因权限问题启动失败。

第二步:获取数据库服务名

监听器只是门卫,它还需要知道该把你引导到哪个数据库,查看服务名的方式很简单,使用SYS账户登录数据库后执行:

show parameter service_names;

查出来的结果类似orcl.example.com,其中orcl就是数据库实例名,example.com是域名部分。客户端连接时的SERVICE_NAME通常填实例名即可,但如果数据库配置了多域名,必须完整填写。

第三步:配置客户端tnsnames.ora文件

这是整个配置过程中最核心的文件,位于你的个人电脑上,Windows系统一般在$ORACLE_HOME\network\admin\tnsnames.ora,Linux/Mac同理,用记事本或文本编辑器打开(没有就新建),追加以下内容:

MYDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

详细拆解一下各字段含义:

  • MYDB:连接别名,随意命名,方便你记忆。
  • HOST:数据库服务器的IP地址,必须修改成你自己的服务器IP。
  • PORT:Oracle默认端口是1521,除非DBA调整过监听端口,否则不要改动。
  • SERVICE_NAME:数据库服务名,就是第二步查出来的结果。

第四步:用SQLPlus测试远程连接

配置好tnsnames.ora后,在客户端命令行执行:

sqlplus username/password@MYDB

如果弹出了SQL>提示符,说明配置成功,如果报错,大概率是下面这些原因:

  • ORA-12170: TNS:Connect timeout occurred:网络不通或防火墙拦截,排查服务器防火墙是否放行1521端口。
  • ORA-12541: TNS:no listener:监听器没启动,回到第一步。
  • ORA-12514: TNS:listener does not currently know of service requested:服务名错误,检查SERVICE_NAME是否写对。

图形化工具连接的额外配置

如果你用的是PL/SQL Developer或Navicat这类图形化工具,登录方式有差异,PL/SQL Developer需要本地装有Oracle客户端,选择”登录”时填写Username和Password,Database项直接填IP:PORT/SERVICE_NAME格式,比如168.1.100:1521/orcl,不需要额外写tnsnames.ora文件。

行业共识认为,PL/SQL Developer是DBA最常用的图形化工具,它的连接稳定性优于Navicat的直连模式,尤其在处理复杂PL/SQL块调试时优势明显。

服务器端监听器配置详解

很多刚入门的开发者会跳过监听器配置这个环节,直接改tnsnames.ora,结果客户端始终连不上,理解监听器的配置文件listener.ora(位于服务器端$ORACLE_HOME\network\admin目录),才能从根源上解决问题。

默认配置与手动配置的差异

Oracle安装完成后会自动生成一个默认的listener.ora,大多数情况下够用,典型内容如下:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

问题就出在HOST = localhost这项。如果客户端从远程连接,服务器端的监听地址不能是localhost,必须改为服务器的真实IP地址,否则监听器只会监听回环地址,外部网络完全无法触达,修改为:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
    )
  )

修改后重启监听器生效:

lsnrctl stop
lsnrctl start

多数据库实例的监听注册机制

服务器上同时运行多个Oracle实例(比如一个生产库一个测试库),监听器如何区分?这就涉及动态注册和静态注册两种机制。

动态注册是最常见的方式,数据库实例启动时,PMON后台进程自动把实例信息(服务名、实例名)注册到监听器,只要db_recovery_file_dest_size等参数配置正常,动态注册会自动完成,无需手动干预,查看注册结果:

lsnrctl services

静态注册则需要在listener.ora中手动指定,适用于数据库未启动但想要监听器提前就绪的场景,在listener.ora末尾追加:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /u01/app/oracle/product/19.3.0/dbhome_1)
      (SID_NAME = orcl)
    )
  )

ORACLE_HOME路径必须填写正确,否则监听器启动时会报错,这里有个通用经验:生产环境多数采用动态注册,因为减少了配置文件出错的可能;测试环境为了快速启动示例,偶尔会配置静态注册。

oracle数据库无法连接怎么排查

无论配置多么仔细,连接失败总是难免的,用下面这套排查顺序,绝大多数问题都能定位。

排查步骤 执行命令或操作 针对问题
第1步 客户端ping服务器IP 网络是否通畅,ICMP协议是否被禁
第2步 服务器执行lsnrctl status 监听器是否运行,服务名是否注册
第3步 服务器执行telnet 127.0.0.1 1521 本机端口是否监听
第4步 客户端执行telnet 服务器IP 1521 防火墙是否放行,端口是否可达
第5步 客户端执行tnsping MYDB tnsnames.ora配置是否正确

tnsping是Oracle自带的小工具,特别适合验证tnsnames.ora文件是否配置准确,执行后如果显示类似OK (0 msec),说明配置正确,问题出在数据库端;如果报TNS-03505: Failed to resolve name,那就要检查tnsnames.ora的路径和语法了。

防火墙问题是最隐蔽的坑,很多服务器同时启用iptables和firewalld,Oracle安装时忘了放行1521端口,导致企业内部网络依然不通,在服务器上执行:

firewall-cmd --permanent --add-port=1521/tcp
firewall-cmd --reload

另外云服务器(简米云、酷番云等)还需要在安全组规则中放行1521端口,这一点经常被遗忘。

Q&A:oracle怎么登录到数据库服务器的常见疑问

Oracle的sys密码忘了,还能不能登录数据库服务器?

可以,Oracle提供操作系统认证方式,只要你的操作系统用户属于dba组(比如oradba),就能绕过密码直接登录,使用SYS账户,在数据库服务器本机执行sqlplus / as sysdba,登录后通过alter user sys identified by 新密码;命令重置密码,前提是你有服务器主机的操作系统账户权限。

使用PL/SQL Developer连接时报”ORA-12154: TNS:could not resolve the connect identifier”,怎么处理?

这个错误表示客户端解析不了你填写的连接标识符,处理方法按优先级排列:先确认tnsnames.ora文件是否存在且格式正确,路径是否指向了$ORACLE_HOME\network\admin目录;再检查环境变量TNS_ADMIN是否被设置到了其他目录;最后确认你在连接时填写的数据库名是否与tnsnames.ora中的别名完全一致(区分大小写)。

数据库服务器变更了IP地址,监听器需要重新配置吗?

需要重新配置,但不必修改listener.ora,Oracle从11g开始支持动态注册,监听器默认监听localhost,这在IP变更后会造成远程连接中断,更稳妥的做法是将listener.ora中的HOST修改为新IP地址,同时检查数据库中LOCAL_LISTENER参数是否指向了旧地址,修改后重启监听器,再在客户端更新tnsnames.ora中的HOST字段即可完成整个迁移。

Oracle登录配置本质上遵循一个原则:服务器端管好监听器,客户端管好tnsnames.ora,两端配置的SERVICE_NAME必须完全一致,理清了这条链路,不管遇到什么登录问题,都能顺着排查路径找到根因。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/788765.html

赞 (0)
上一篇 2026年11月8日 11:42
下一篇 2026年11月8日 11:43

相关推荐

  • AI预测成绩准确吗,智能估分系统怎么用最准

    AI驱动的学业表现分析代表了教育评价从结果导向向过程导向的根本性转变,其核心价值不在于给出一个冰冷的分数,而在于通过数据挖掘实现精准的教学干预与个性化的学习路径优化,在现代教育体系中,单纯依靠经验判断学生潜力的方式已难以满足精细化管理的需求,基于大数据与机器学习技术的智能评估模型,能够处理海量的多维数据,从而构……

    2026年2月22日
    13900
  • AI怎么提取图片中的文字,图片转文字哪个软件好用?

    利用基于深度学习的光学字符识别(OCR)技术,是目前提取图片文字最高效、最准确的方法,这种技术不仅能识别印刷体,还能处理手写体、复杂背景及扭曲变形的文本,极大地提升了信息数字化的效率,针对很多用户关心的ai里面怎么提取图片中的文字这一问题,核心在于选择合适的OCR工具,并掌握正确的图像预处理技巧,以实现从非结构……

    2026年2月20日
    17400
  • 为什么steam更新后无法连接服务器失败,怎么解决?

    steam更新后无法连接服务器失败,多数情况是本地网络链路、DNS缓存或加速器节点冲突导致,先重启路由器和Steam,再改下载区域并刷新DNS,一半的报错能当场解决;剩下一部分则需要靠公共DNS或换加速器线路来根治,steam更新后无法连接服务器失败原因排查清单碰到这个报错,别把锅甩给Steam的更新包,Val……

    2026年10月3日
    300
  • ASP.NET怎么做倒计时功能?ASP.NET实现倒计时教程

    在ASP.NET应用中实现高效、精准且用户友好的倒计时功能,核心在于根据业务场景选择合适的技术栈并解决时间同步、状态持久化等关键挑战,以下是经过验证的主流方案及其深度解析: 纯客户端 JavaScript 方案 (适用于简单、独立倒计时)核心原理: 完全依赖浏览器环境执行倒计时逻辑,实现步骤: 1. 前端定义……

    2026年2月12日
    14830
  • Excel按钮指定宏怎么设置?如何给按钮添加宏

    在Excel中通过按钮指定宏,核心操作是进入“开发工具”选项卡,插入“窗体控件”或“ActiveX控件”的按钮,随后在弹出的对话框中选择已录制或编写的宏代码,即可完成绑定,很多职场人在面对Excel自动化需求时,往往觉得VBA宏代码高深莫测,其实通过按钮触发宏是最简单、最直观的交互方式,它让非技术人员也能像使用……

    2026年7月5日
    14800
  • 服务器IP地址不在网关怎么办,服务器IP地址不在网关范围内导致无法通信

    当服务器IP地址不在网关范围内时,网络通信将出现断连、延迟升高、部分服务不可达等典型故障,必须立即排查并修正配置,否则将导致业务中断风险陡增,问题本质:IP与网关不匹配的底层逻辑网关是本地网络通往外部网络的“出口路由器”,其IP地址必须与服务器IP处于同一子网内,当服务器IP地址不在网关所在网段时,系统将无法生……

    程序编程 2026年4月18日
    6400
  • Win7计算机如何远程桌面连接到服务器?,远程桌面连接怎么设置

    Win7远程桌面连接服务器,核心操作就是按下Win+R组合键,输入mstsc回车,填上服务器IP和账号密码就能连上——前提是服务器已开启远程桌面功能,且你的Win7能访问到服务器,对于还在用Win7的办公电脑来说,远程桌面是最省事的服务器管理方式,不需要安装额外软件,系统自带功能,配置得当的话,流畅度和稳定性都……

    2026年8月10日
    1700
  • 苹果4s无法连接服务器怎么解决,苹果4s数据连接失败原因?

    系统版本老旧是最底层原因行业共识认为,设备的系统版本决定了它能否顺畅连接当代互联网基础设施,苹果4s发布时,移动互联网还处于2G/3G时代,当时的网络安全标准与现在完全不在一个量级,当服务器端升级了安全策略,旧设备发起的连接请求就会被视为“无效请求”,iOS 9.3.6最后一次更新停留在2020年前后,主要修复……

    2026年9月9日
    800
  • Xbox彩虹六号怎么换区匹配?,服务器延迟高怎么解决。

    想给Xbox彩虹六号改服务器,最直接的办法是进Xbox系统设置把“位置”改成目标地区,再搭配支持对应区服的加速器,改完重启主机后,游戏匹配会优先选择你设定的数据中心,高延迟和匹配不到人的情况会有明显改善,为什么Xbox彩虹六号会匹配到不想要的服务器彩虹六号围攻本身没有“选服务器”按钮,主机版更是如此,游戏会读取……

    2026年10月7日
    100
  • 服务器ID禁止是什么原因?服务器ID被禁止怎么办

    服务器ID禁止并非技术限制的简单执行,而是安全治理、合规运营与系统稳定性协同演进的必然选择,在云计算与分布式架构深度渗透的今天,服务器ID禁止已成为企业抵御高频攻击、规避数据泄露、满足等保2.0及GDPR等监管要求的关键防线,其本质是通过识别、标记并主动阻断高风险或异常服务器节点的网络接入权限,实现从“被动响应……

    程序编程 2026年4月16日
    5300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注