如何通过DataGrip等工具连接远程服务器上的sqlplus(Oracle)?
通过DataGrip连接SSH隧道后的Oracle数据库
前置信息确认
先在远程服务器上确认两个关键信息:
- Oracle监听端口:默认是
1521,可以用lsnrctl status命令查看 - 数据库实例/服务名:登录
sqlplus后执行select name from v$database;或者select instance_name from v$instance;获取(比如常见的ORCL、XE)
DataGrip配置步骤
- 打开DataGrip,点击右上角Database面板的
+按钮,选择Data Source→Oracle - 在配置窗口的General标签页填写:
- Host:若你已经在本地手动建立了SSH端口转发(比如把远程1521映射到本地1521),填
localhost;若直接在DataGrip内配置SSH隧道,填远程服务器上Oracle监听绑定的IP(通常是localhost,因为Oracle监听默认只绑定本地) - Port:对应上面的端口,本地转发填本地端口,远程填默认的
1521 - Database:填刚才获取的数据库实例/服务名
- User:你用
sqlplus登录的用户名 - Password:对应登录密码
- Host:若你已经在本地手动建立了SSH端口转发(比如把远程1521映射到本地1521),填
- 切换到SSH/SSL标签页:
- 勾选
Use SSH tunnel,点击Add配置SSH连接:- Host:远程服务器的公网IP或域名
- Port:SSH端口(默认
22) - User name:SSH登录的用户名
- Authentication:选择你平时连接服务器的方式(密码/密钥),填写对应信息
- 点击
Test Connection验证SSH连通性
- 勾选
- 回到General标签页,点击
Test Connection测试数据库连接。如果提示缺少Oracle驱动,点击Download自动安装即可 - 测试通过后,点击
Apply→OK,就能在Database面板操作数据库了
常见问题排查
- 若连接失败,先在远程服务器执行
lsnrctl status确认Oracle监听正常运行 - 确认数据库服务已启动:登录
sqlplus / as sysdba后执行startup(未启动时) - 手动端口转发的话,确保隧道规则是
本地端口:localhost:1521(对应远程服务器上的Oracle监听地址)
内容的提问来源于stack exchange,提问作者Prabhjot Singh Rai
相关产品推荐
相关产品推荐

