ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

服务器重启后,发现报了ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

问题:Oracle主服务和监听器服务已经启动,使用SQL Plus能够正常连接,使用PL SQL Developer连接报次错误:ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

进到服务器查看oracle的服务,发现有两个服务,奇怪的是两个服务都启动了,但是在任务管理器的进程中只能看到其中一个正在运行,由于我们程序用的服务是ORCL,所以全部连接不上

 进程里面只有一个

 解决步骤:

第一步:查看注册表

  1. 按Win+R,输入regedit,
  2. 进入到注册表然后进入HKEY_LOCAL_MACHONE\SOFTWARE\ORACLE然后点击KEY_OraDb11g_home1,
  3. 如下  一看,呵呵,ORACLE_SID的数据值什么时候变成了lingjingHT(不再使用的那个实例名)了,电脑上的服务的列表中明明是当初安装时自己命名的oracle11g啊,(下图一)
  4. 然后把它改了回来。ORACLE_SID,设置为你database SID。(下图二)

修改后的SID如下图: 

 

 修改完注册表重启了oracle 数据库服务器,发现还是一样的问题

第二步:修改监听配置文件

  1. 结束    OracleOraDb11g_home2TNSListener    进程;
  2. 打开D:\DevInstall\Oracle11gR2\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN(不同机器目录可能不同)目录下的listener.ora文件,添加框框部分;(添加错误的话无法启动OracleOraDb11g_home2TNSListener服务)
  3. 启动OracleOraDb11g_home2TNSListener服务后成功连接。

 

 红色框框部分为新增

 添加好服务之后重新启动服务,(有的人可能到这一步就可以正常连接了)

第三步:sqlplus 连接数据库,出现连接到空闲例程

 此处的问题和我的数据库有两个服务有关,因为切换到了现在的服务上

ORA-00837: Specified value of MEMORY_TARGET greater than MEMORY_MAX_TARGET

 解决方法:如下,我只执行了

【startup pfile='E:\app\Administrator\admin\orcl\pfile\init.ora.10192012163956';】

数据库就恢复正常了


SQL> startup;
ORA-00837: Specified value of MEMORY_TARGET greater than MEMORY_MAX_TARGET
 
SQL> startup pfile='E:\app\Administrator\admin\orcl\pfile\init.ora.10192012163956';
ORACLE 例程已经启动。
 
Total System Global Area 3423965184 bytes
Fixed Size                  2180544 bytes
Variable Size            1862273600 bytes
Database Buffers         1543503872 bytes
Redo Buffers               16007168 bytes
数据库装载完毕。
数据库已经打开。
SQL> show parameter sga
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 3280M
sga_target                           big integer 0
SQL> show parameter memory
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address             integer     0
memory_max_target                    big integer 3280M
memory_target                        big integer 3280M
shared_memory_address                integer     0
SQL> create spfile from pfile;
create spfile from pfile
*
第 1 行出现错误:
ORA-01078: 处理系统参数失败
LRM-00109: could not open parameter file
'E:\APP\Administrator\PRODUCT\11.2.0\DBHOME_1\DATABASE\INITZJGSID.ORA'
 
 
SQL> create spfile from memory;
 
文件已创建。
 
SQL> shutdown abort
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
 
Total System Global Area 3423965184 bytes
Fixed Size                  2180544 bytes
Variable Size            1879050816 bytes
Database Buffers         1526726656 bytes
Redo Buffers               16007168 bytes
数据库装载完毕。
数据库已经打开。
SQL> show parameter sga;
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 3280M
sga_target                           big integer 0
SQL> show parameter memory;
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address             integer     0
memory_max_target                    big integer 3280M
memory_target                        big integer 3280M
shared_memory_address                integer     0 
 
SQL> select count(1) from v$session;
 
  COUNT(1)
----------
        31
 
SQL>

  • 11
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值