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的时候,不写端口号 |
12cbug Previous Post Next Post