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

2016-10-09

没有评论

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

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:0
Unsafe to proceed

1
2
3
4
5
6
7
8
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:0
Unsafe to proceed

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

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

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:0
Unsafe to proceed
Enter user-name:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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:0
Unsafe to proceed
Enter user-name:

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

解决方法:

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

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

发表评论 取消回复

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

评论

姓名 *

电子邮件 *

站点

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


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

SP2-0642: SQL*Plus internal error state 2130, context 0:0:0的更多相关文章

  1. sqlplus 连接数据库报错SP2-0642: SQL*Plus internal error state 2130, context 0:0:0

    sqlplus 连接数据库报错SP2-0642: SQL*Plus internal error state 2130, context 0:0:0 问题描述: 使用sqlplus客户端登录数据库,报 ...

  2. sqlplus连接数据库报错SP2-0642: SQL*Plus internal error state 2130, context 0:0:0解决

    sqlplus连接数据库报错SP2-0642: SQL*Plus internal error state 2130, context 0:0:0解决 sqlplus 连接数据库报错SP2-0642: ...

  3. SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0] ORA-12541: TNS:no listener

    使用/app/oracle/product/11.2.0/bin/sqlldr导入数据报错: 监听没有开启?检查发现监正常 猜测是监听端口不是默认的1521有关系,直接在sid里面加上数据库服务器的i ...

  4. Eclipse启动时出现错误 An internal error occurred during: “Updating indexes”

    在Eclipse的workspace下有个.metadata文件夹,Eclipse出现异常的log文件就在这个目录下. 最近出现了这样的错误: 查看日志文件发现:     !ENTRY org.ecl ...

  5. Eclipse启动时出现错误 An internal error occurred during: "Updating indexes"

    在Eclipse的workspace下有个.metadata文件夹,Eclipse出现异常的log文件就在这个目录下. 最近出现了这样的错误: 查看日志文件发现:     !ENTRY org.ecl ...

  6. SQL Server 2005 sp_send_dbmail出现Internal error at FormatRowset (Reason: Not enough storage is available to complete this operation)

    案例环境: 操作系统: Windows 2003 SE 32bit(SP2) 数据库版本:Microsoft SQL Server 2005 - 9.00.5069.00 (Intel X86) Au ...

  7. An internal error occurred during: &quot;Checking tomcat state&quot;. Error while reading server.xml

    An internal error occurred during: "Checking tomcat state". Error while reading server.xml ...

  8. Start Failed, Internal error: recovering IDE to the working state after the critical startup error

    Start Failed, Internal error: recovering IDE to the working state after the critical startup error F ...

  9. SQL Tuning Advisor一个错误ORA-00600: internal error code, arguments: [kesqsMakeBindValue:obj]

    跑SELECT dbms_sqltune.report_tuning_task(:tuning_task) FROM dual;  错误消息,如下面: ORA-00600: internal erro ...

随机推荐

  1. wsgi Python的WEB框架

    Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Python的标准库外,其不依赖任何其他模块. pip install bottle easy_i ...

  2. Shell 常用特性

       管道(|) 管道 (|): 将一个命令的输出作为另外一个命令的输入.   管道同样可以在标准输入输出和标准错误输出间做代替工作,这样一来,可以将某一个程序的输出送到另一个程序的输入,其语法如下: ...

  3. win7关闭休眠功能,清除Hiberfil.sys

    电脑使用的ssd,本身容量就比较小. 用管理员身份打开命令提示符, 命令窗口中输入: powercfg -h off 即可关闭休眠功能,同时 Hiberfil.sys 文件也会自动删除.

  4. Appium_Python_Client介绍

    一.Appium_Python_Client介绍 Appium的实用方法都藏在Client的源码里,对于driver和webelement实例,均有对应的元素查找方法(webelement查找的是下面 ...

  5. ES6中async和await说明和用法

    昨天看了一篇vue的教程,作者用async/ await来发送异步请求,从服务端获取数据,代码很简洁,同时async/await 已经被标准化,是时候学习一下了. 先说一下async的用法,它作为一个 ...

  6. 【CRT相关配置】

    1.选项——会话选项 2.回话调整如下: 3.日志文件记录保存,即保存所有输入的命令 文件名:%S-%T-%M-%D.txt,表示每天会存放到一个文件 选择:在连接上启动记录 和  追加到文件

  7. selenium(6):通过多种定位方式还是不能成功定位的原因

    场景:在成功修改密码后,会弹出一个修改成功的提示.通过id.xpath.class.css方式定位后,执行到这一步时候,就会出现错误. 原因:仔细检查了下代码,发现在提交修改的操作到修改成功的提示之间 ...

  8. ES6 中变量的解构赋值

    1. 数组的解构赋值 解构: ES6 中允许按照一定的模式从数组和对象中提取值,然后对变量进行赋值,这被称为解构(Destructuring). 1. 基本用法 本质上,这种写法属于"模式匹 ...

  9. arcgis点密度专题

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  10. I / O流 类

    一.概述 1 基本概念 I/O就是Input/Output的简写,也就是输入/输出的含义. I/O流就是指像流水一样源源不断地进行读写的过程.   2 基本分类   根据读写数据的单元分为:字节流 和 ...