数据库
首页 > 数据库> > SP2-0642: SQL*Plus internal error state 2130, context 0:0:0

SP2-0642: SQL*Plus internal error state 2130, context 0:0:0

作者:互联网

..experience, Working case

SP2-0642: SQL*Plus internal error state 2130, context 0:0:0

没有评论

今天一个10g的客户端,连接12c的数据库,报错:

12345678 sqlplus user/passwd@10.11.22.33:1525/mysrv SQL*Plus: Release 11.1.0.6.0 - Production on Thu Jun 11 10:05:29 2009 Copyright (c) 1982, 2007, Oracle.  All rights reserved. SP2-0642: SQL*Plus internal error state 2130, context 0:0:0Unsafe to proceed

而这个客户端连接其他12c的数据库是没有问题的。

这是因为建立的service已经是非标准的service,包含了failover type等参数。见下面的Test Case:

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 Test Case:----------1.Create a service srvctl add service -d <database-name> -s <service-name> -r "instance-name,instance-name" -P BASIC 2. Start the service srvctl start service -d rac -s <service-name>Below was service called test_srv 3.Make a connection using ezconnnect >> sqlplus scott/tiger@jcrac1-vip:1521/test_srv This will work. 4.Now modify the service SQL> select name,service_id from dba_services where name = 'test_srv'; NAME                                                             SERVICE_ID ---------------------------------------------------------------- ---------- server_taf                                                               12 SQL> execute dbms_service.modify_service (service_name => 'test_srv' - , aq_ha_notifications => true - , failover_method => dbms_service.failover_method_basic - , failover_type => dbms_service.failover_type_select - , failover_retries => 180 - , failover_delay => 5 - , clb_goal => dbms_service.clb_goal_long); SQL>select name, failover_method, failover_type, failover_retries,goal, clb_goal,aq_ha_notifications from dba_services where service_id = 12 NAME            METHOD      TYPE        RETRIES GOAL       CLB_GOAL AQNOT--------------- ----------- ---------- -------- ---------- -------- -----test_srv        BASIC       SELECT          180 NONE       LONG     YES 5.Connection now fails sqlplus scott/tiger@jcrac1-vip:1521/test_srv SQL*Plus: Release 11.1.0.6.0 - Production on Thu Jun 11 10:05:29 2009 Copyright (c) 1982, 2007, Oracle.  All rights reserved. SP2-0642: SQL*Plus internal error state 2130, context 0:0:0Unsafe to proceedEnter user-name:

该问题是Bug 8599395 : EZCONNECT ERRORS WITH SP2-0642: SQL*PLUS INTERNAL ERROR STATE 2130, CONTEXT 0:0:

解决方法:
建议升级客户端到11.2以上,或者按照bug文档中的workaround也可以:

12345 Workaround:-----------LOCAL naming resolution works -- 使用tnsnames.ora文件连接Use standard service works -- 使用标准的service,去掉failover type的参数设置Do not put port number in the command -- 使用1521默认端口,ezconnect的时候,不写端口号

Previous Post Next Post

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

原文地址:https://oracleblog.org/working-case/sp2-0642-sqlplus-internal-error-state-2130-context-000/

标签:0642,2130,service,failover,srv,SQL,test,SP2,name
来源: https://www.cnblogs.com/jpfss/p/11167838.html