1.
看到当前提示首先想到的是看看Oracle服务是否开启:开启后再进行登录就好了。
2.如果Oracle服务是开启的,但还是提示【ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务】,再去检查下:首先找到listener.ora监听文件,具体位置:D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
小技巧(直接在搜索listener.ora文件)
3.在lisener.ora文件中找到
- (SID_DESC =
- (SID_NAME = CLRExtProc)
- (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
- (PROGRAM = extproc)
- (ENVS = “EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll”)
- )
将下面的一段内容copy进去,并适当修改。(SID_NAME为你的SID,其中GLOBAL_DBNAME为全局数据库名,可以与SID不同)
- (SID_DESC =
- (GLOBAL_DBNAME = ORAC11)
- (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
- (SID_NAME = <font color="""#ff0000""">ORAC11</font>)
- )
4.保存listener.ora文件,关闭并重新启动监听程序。
lsnrctl stop // 关闭
lsnrctl start // 启动
5.此时,用正常的用户去连接双出现新的错误。
ORA-27101: shared memory realm does not exist
6.启动打开目录:D:\app\Administrator\admin\orac11\pfile,会发现里面有一个文件:init.ora.1052011103553,这是Oracle最后一次成功启动时备份的启动文件。
7.sqlplus /nolog,
create spfile from pfile=’D:\app\Administrator\admin\orac11\pfile\init.ora.1052011103553’
startup // 启动数据库。
8.一切恢复正常。