ORA-01017/ORA-02063DbLink建立错误问题分析及解决
2013-01-29 17:58
471 查看
ORA-01017/ORA-02063DbLink建立错误问题分析及解决
故障介绍:我在oracle10.2.0.4中建立连接到11.2.0.3的DBLINK验证的时候出现如下错误:
ORA-01017: invalid username/password; logon denied
ORA-02063: preceding line from
分析错误:
从错误信息来看,是用户名和密码的错误,但是用户名和密码我确定没有问题,能够通过密码进行访问数据库。
详细回顾及出现问题及排错思路如下:
创建dblink使用的用户/密码是正确的。
SQL> conn prudent/woo@woo
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.3.0
Connected as woo
创建dblink的数据库版本:
SQL> select * from V$VERSION;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for Linux: Version 10.2.0.4.0 -Production
NLSRTL Version 10.2.0.4.0 - Production
ORACLE 10.2.0.4中创建到 Oracle 11.2.0.3.0
的DBLINK,创建成功
SQL> create database link woo_100
2 connect to prudent
3 identified by woo
4 using '(DESCRIPTION =
5 (ADDRESS_LIST =
6 (ADDRESS = (PROTOCOL =TCP)(HOST = 192.168.0.100)(PORT = 1521))
7 )
8 (CONNECT_DATA =
9 (SERVER = DEDICATED)
10 (SID = woo)
11 )
12 )';
但使用dblink去访问目标数据库时出错
QL> select sysdate from dual@woo;
select sysdate from dual@woo
ORA-01017: invalid username/password; logondenied
ORA-02063: preceding line from woo_100
应该是11g密码区分大小写的缘故,需要在11g中重新设置大写的密码。实际上可以不用通过修改密码的方式来解决,只需要加上“”号即可。
尝试在创建dblink时用“”把密码引起来。
SQL> create database link woo_100
2 connect to prudent
3 identified by "woo"
4 using '(DESCRIPTION =
5 (ADDRESS_LIST =
6 (ADDRESS = (PROTOCOL =TCP)(HOST = 192.168.0.100)(PORT = 1521))
7 )
8 (CONNECT_DATA =
9 (SERVER = DEDICATED)
10 (SID = woo)
11 )
12 )';
Database link created
SQL> alter session setnls_date_format='yyyy-mm-dd hh24:mi:ss';
Session altered
SQL> col sysdate for a20;
SQL> select sysdate from dual@woo_100;
SYSDATE
---------------------------
2013-1-28 22:48:52
测试OK.
参考文献:
Bug 6738104:
ORA-01017 ORA-02063 WHILE CONNECTING FROM10G TO 11G VIA PUBLIC DBLINK
Cause
The following Bug 6738104 was logged for this issue which was closed as not abug saying the cause being introduction of password case sensitivity feature in11g
When one creates a database link connection, a user name and password for theconnection needs to be defined. When the database link is created, the passwordis case sensitive. Before a user can connect from a pre-release 11g database toa 11g release database
and as the password case sensitivity is enabled bydefault, you must re-create the password for this database link using alluppercase letters.
The reason you need to re-create the password using all uppercase letters is sothat it will match how Oracle Database stores database link passwords. OracleDatabase always stores this type of password in uppercase letters, even if thepassword had originally
been created using lower or mixed case letters. If casesensitivity is disabled, the user can enter the password using the case thepassword was created in.
相关文章推荐
- ORA-01017/ORA-02063 DbLink建立错误问题分析及解决
- 解决“ORA-12560: TNS: 协议适配器错误”问题!
- 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为(转)
- ORA-03113 错误分析与解决
- 关于EXP-00056: 遇到 ORACLE 错误 1455 ORA-01455: 转换列溢出整数数据类型 EXP-00000: 导出终止失败 的问题解决方法整理
- 关于ORA-00257问题的解决(归档程序错误)
- sqlplus登录报ORA-06502错误的问题排查和解决
- ORA-12560:TNS: 协议适配器错误 问题解决
- ORA-01000: 超出打开游标的最大数 问题的分析和解决
- SQL SERVER问题解决:已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 命名管道提供程序, error: 0 - 管道的另一端上无任何进程。)
- ORA-01075错误问题解决
- XML解析中Bom导致错误的问题分析与解决
- 关于ORA-00257问题的解决(归档程序错误)
- 一个实际问题分析及解决之四:通过IBM的JDK建立SSL连接
- sql2005管道的另一端上无任何进程、已成功与服务器建立连接,但是在登录过程中发生错误 一系列问题完整解决方法
- 已解决:expdp导出带有lob字段的表,报ORA-01555错误的问题
- 解决ORA-12514错误的问题
- Java性能分析及问题解决(二)jvm致命错误导致进程直接挂掉,错误日志分析及解决
- NBU备份数据库时的ORA-27211错误分析解决
- Oracle 错误总结及问题解决 ORA