Oracle - 常见错误及处理
查看Oracle的SID(system identifier):
SQL> select instance_name from V$instance;
通常SID在注册时设定,在登录第三方数据库管理工具,例如在sql developer中会报错ORA-12505:
如果确认SID是正确的,但是仍然无法连接,应该就是参数文件(pfile/spfile出现了问题):
关于 pfile/spfile 的解释:https://www.cnblogs.com/xqzt/p/4832597.html
pfile路径:E:\Oracle\app\oracle\product\11.2.0\server\database\initSID.ORA(文本文件,可以修改再替换spfile)
spfile路径:E:\Oracle\app\oracle\product\11.2.0\server\dbs\spfileSID.ORA(二进制文件,不要直接修改其中的参数)
关于spfile的修改:
首先create pfile from spfile; 找到initSID.ORA文件修改参数信息;最后create spfile from pfile;替换spfile。
Oracle一般使用需要打开两个服务:OracleService***和Oracle***TNSListener
当第二个服务没有打开的时候,无法使用第三方工具 -> 例如sql developer登入数据库(但是仍然可以使用sqlplus登入)
关于数据库的例程/实例 (instance):https://blog.****.net/m0_37550986/article/details/81408353
连接到空例程:
使用sysdba登入sqlplus执行:startup
若执行startup报错,这种情况sql developer也会报ORA-12505的错误:
这种情况首先查看错误信息,可能是缺少SPFile文件,在获得该文件的情况下,再次尝试,如果还是报错:
如果此时你的Oracle是刚刚安装而且你没有对安装文件夹及文件进行任何操作,
接下来你可以尝试将其完全卸载并删除相应的文件夹重新安装Oracle即可(正常安装不会出现缺少文件的现象)
【2019.03.09更新】
原因分析:不完全卸载Oracle导致部分Oracle服务残留,无法再次安装Oracle
解决方法:以管理员身份进入CMD,使用"sc delete 服务名"删除对应残留的服务
【2019.03.18更新】
SqlDeveloper连接显示 IO错误:Undefined Error
问题原因:SqlDeveloper与Oracle不兼容,可适当降低SqlDeveloper的版本尝试(Oracle官网注册后即可正常下载)
【第一个版本包含了JDK8(测试成功),可以不用配置JDK直接下载连接使用,其余需要额外配置JDK 】
2019.05.27更新
安装Oracle数据库报 “实例化xxx” 错误:
首先卸载安装的Oracle数据库,再按照下述方法操作: