用oracle数据库新建连接时遇到ora-12505,此问题解决后又出现ora-12519错误,那么,OracleSQLDeveloper连接报错应该怎样解决?连接数据库测试失败应该怎么办?一起来看看吧!
OracleSQLDeveloper连接报错应该怎样解决?
今天工作时在新建连接的时候遇到ORA-12505,解决后又遇到ORA-12519错误。
ORA-12505:
之前用PL/SQL DEVELOPER和SQLPLUS 登录数据库都没有问题,就是应用程序通过JDBC连接Oracle时无法成功连接,出现ORA-12505错误listener does not currently know of SID given in connect descriptor......。
经过查找,发现Oracle的service_name 和sid_name不一致,而PL/SQL DEVELOPER和SQLPLUS 采用service_name进行连接,而应用程序是按照sid_name进行连接,所以出现PL/SQL DEVELOPER和SQLPLUS 能够连接而应用程序却无法连接的问题。
解决问题很简单,原来是自己将sid_name搞错了;首先查找当前实例的sid_name:SELECT INSTANCE_NAME FROM V$INSTANCE,然后把得到的sid_name填入应用程序的连接串中。
ORA-12519:
ORA-12505问题解决后,应用程序可以连接到Oracle,但是却报ORA-12519。经过查找发现这是由于参数的processes设定过低,因为专用服务器是一个连接建立一个服务器进程,该服务器的processes设定为150,session数设为170,而当前登录的session已经几乎达到processes的最大值,所以就报ORA-12519错误。只需把processes设大,满足业务需要即可解决。
alter system set processes=300 scope=spfile;
然后重启数据库即可。
连接数据库测试失败应该怎么办?
1.首先建立连接
2.填好信息后点击“测试”按钮,出现如下图错误即说明SID出错了
3.解决办法如下:
1.首先打开cmd
2.输入 sqlplus 命令进入数据库
3.用 system 用户登录 (不要用scott用户会查不到)
1)如果忘记密码可以以超级管理员身份登录修改用户密码 输入
SQL>sys/orcl as sysdba
其中orcl为超级管理员密码,如果忘记超级管理员密码可以用无日志方式登陆即输入
SQL>sys/nolog as sysdba ;
2)登录成功后输入以下语句:(manager为新密码)
SQL>alter user system identified by manager;
如果提示system被锁定则输入
SQL>alter user system account unlock;
SQL>commit;
没有出现该提示则输入
SQL>conn system/manager;
3.登录成功后输入以下代码查看SID(如图所示我的SID为orcl)