在轻量云服务器(https://cloud.tencent.com/product/lighthouse?Is=sdk-topnav)(如阿里云、腾讯云等)上连接自身部署的 Oracle 数据库(https://cloud.tencent.com/product/tdsqlc?Is=sdk-topnav),通常有两种场景:
下面分别说明这两种方式的配置方法。
登录到服务器,检查监听状态:
lsnrctl status如果未启动,执行:
lsnrctl startsqlplus / as sysdba或指定用户:
sqlplus username/password@//localhost:1521/ORCLCDB注意:
ORCLCDB是你的服务名(Service Name),可通过show parameter service_names;查看。
使用 JDBC 或对应语言的驱动,连接地址写为:
jdbc:oracle:thin:@localhost:1521/ORCLCDB编辑 $ORACLE_HOME/network/admin/listener.ora,确保:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
)
)然后重启监听:
lsnrctl stop
lsnrctl startsqlnet.ora 是否限制了 IP(可选):# $ORACLE_HOME/network/admin/sqlnet.ora TCP.VALIDNODE_CHECKING = NO
使用工具(如 DBeaver、PL/SQL Developer、Navicat)或代码:
主机:你的服务器公网IP
端口:1521
服务名:ORCLCDB(或 SID)
用户名/密码:remote_user/password问题 | 可能原因 | 解决方法 |
|---|---|---|
ORA-12541: TNS:no listener | 监听器未启动 | lsnrctl start |
ORA-12514: TNS:listener does not currently know of service | 服务名错误 | 用 show parameter service_names; 确认正确服务名 |
ORA-12545: Connection failed because target host or object does not exist | IP/主机名错误 | 检查连接字符串中的主机地址 |
连接超时 | 防火墙/安全组未放行 | 检查云安全组和系统防火墙 |
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。