Oracle是目前市场上最为流行的关系型数据库之一。而在实际工作中,我们经常会遇到需要远程连接Oracle数据库的情况。本文将向大家介绍利用CMD进行Oracle数据库的远程连接的方法。
在利用CMD进行Oracle数据库的远程连接之前,需要保证以下条件已经被满足:
- 确认目标机器可以通过TCP/IP网络互相访问
- 确认目标机器的Oracle数据库运行正常
- 确认目标机器上Oracle数据库的监听器已经启动并对外开放了监听端口
有了以上任何一个条件不满足,都会导致连接远程Oracle数据库失败。具体如下:
- 若目标机器不可达,则需要配置网络环境,如检查是否存在防火墙等;
- 若目标机器的Oracle数据库没有运行正常,则需要启动数据库实例,如确认监听进程、检查服务等;
- 若目标机器上Oracle数据库的监听器没有启动,则需要启动监听进程;
- 若目标机器的Oracle数据库的监听器对外不开放端口,则需要修改监听器配置,如将监听地址指定为0.0.0.0。
满足以上条件后,就可以通过CMD远程连接Oracle数据库了。下面,我们就来介绍具体的步骤:
Step 1 确认TNSnames.ora文件
在Oracle数据库中,TNSnames.ora文件定义了Oracle数据库的别名以及数据库的连接地址。因此,在连接Oracle数据库之前,需要确认TNSnames.ora文件中是否已有需要连接的数据库实例的信息。如下所示:
ORACLE_SID =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))
)
(CONNECT_DATA =
(SID = orcl)
)
)
其中,HOST项指定Oracle数据库所在机器的主机名或IP地址,PORT项指定Oracle数据库的监听端口,SID项指定需要连接的Oracle数据库实例的DB_NAME。此处,我们连接的数据库实例名为"orcl"。
Step 2 确认Oracle数据库的监听器状态
在确认TNSnames.ora文件中有需要连接的数据库实例信息后,需要确保目标机器上Oracle数据库的监听器状态正常。可以在CMD命令行中输入如下命令查询监听器状态:
lsnrctl status
如果监听器状态正常,则会返回如下信息:
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
其中,"orcl"是需要连接的数据库实例名。
Step 3 在CMD命令行中执行连接命令
在完成以上两步操作后,即可在CMD命令行中输入如下命令进行远程连接:
sqlplus username/password@orcl
其中,username和password为需要连接的Oracle数据库的用户名和密码,"orcl"为要连接的数据库实例的名字。如果连接成功,则会出现如下信息:
SQL*Plus: Release 12.1.0.2.0 Production on Thu May 20 15:38:03 2021
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Last Successful login time: Fri May 21 2021 XX:XX:XX +08:00
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
至此,远程连接Oracle数据库的过程就已经结束。