解决oracle数据库 ORA-12505错误的辛酸历程


学校要数据库实训,配了一个oracle环境 差点配崩溃
我用的环境使 Oracle Database 11g Express Edition + oracle sql develop
这个环境较为简单 没有过于复杂的配置

都装好后 打开oracle sql develop 开始建立一个连接
连接名是任意起,用户名就是你初始配置密码的那个用户名
其实在你配置密码的时候给显示出来了 ,但不仔细的话不会注意
用户名就是sys 密码是自己配置的
端口默认1521
sid 默认 xe

但是这些看似正常 缺却出现了好多错误

1.Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
报错 s监听器不能正确识别sid
但sid 明明就是默认的 没有什么错误 不放心的话可以 lsnrctl status 命令查看一下sid

进入cmd用命令 sqlplus / as sysdba
shutdown abort;
startup

重启oracle 服务 发现 一堆路径报错信息
其中 我使用 中文文件名的都用?代替
于是想到 是因为 监听器不能识别中文路径名 因此识别不了sid
最后把 中文路径名的都改成英文 重启数据库

此问题结果
不过又爆出了另一个错误
ORA-28009: connection to sys should be as sysdba or sysoper
这是由于用户与角色不符合的
解决oracle数据库 ORA-12505错误
sys作为拥有最高权力的用户名 其角色应该是 sysdba
解决oracle数据库 ORA-12505错误
这样就连接成功了

相关文章: