首先检查网络连接是否正常,用ping命令测试Oracle服务器IP是否能通;然后验证监听服务是否启动,在服务器上运行lsnrctl status查看监听器状态,如果没启动用lsnrctl start启动;接着检查TNSNAMES.ORA文件配置是否正确,路径通常在$ORACLE_HOME/network/admin下,确保HOST、PORT、SID参数无误;最后用tnsping测试TNS别名连通性,如果失败则逐步排查防火墙、端口1521是否开放。
来源1
数据库无法连接Oracle,首先要检查Oracle服务是否启动。打开服务管理器,查看OracleServiceORCL和OracleOraDb11g_home1TNSListener是否运行中,如果停止了右键启动。重启后在PL/SQL Developer或SQL*Plus中尝试连接。
来源2
排查步骤:1.确认Oracle数据库实例是否启动,登录服务器用sqlplus / as sysdba,执行select status from v$instance; 如果是MOUNTED或NOMOUNTED,执行startup。2.检查监听器:lsnrctl status,如果没看到SERVICE,则lsnrctl start。3.客户端tnsping orcl 测试。
来源3
常见原因是TNS:listener does not currently know of SID。解决:编辑tnsping.ora和sqlnet.ora,添加SQLNET.AUTHENTICATION_SERVICES= (NTS);或检查动态注册,执行alter system register;。
来源4
如果是ORA-12541: TNS:no listener错误,重启监听器服务;防火墙阻挡端口1521,临时关闭防火墙测试,或添加规则放行。客户端和服务端版本匹配问题,用相同客户端连接测试。
来源5
修复方法:1.用SQL Developer连接,测试JDBC url: jdbc:oracle:thin:@localhost:1521:orcl;2.检查wallet或证书如果用HTTPS;3.日志查看:监听器日志在diag下,找alert日志分析错误码。
来源6
步骤详解:ping数据库主机;telnet IP 1521测试端口;sqlplus sys/password@tnsname as sysdba登录;如果密码过期,alter user sys identified by newpass;重置监听器。ora文件。
FAQ
Q: 连接时报ORA-01017无效用户名密码怎么办?
A: 检查用户名大小写,sys系统用户需as sysdba,或重置密码用sqlplus /nolog conn /as sysdba alter user xxx identified by yyy;
Q: 监听器启动失败怎么处理?
A: 查看lsnrctl start报错,通常是端口占用,kill进程或改端口,重启服务。
Q: 远程连接不通本地能连?
A: 检查服务器防火墙、SELinux、Oracle远程登录参数remote_login_passwordfile=exclusive。
Q: Windows下Oracle服务不见了?
A: 服务管理器搜索Oracle,右键属性启动类型设自动,应用。