今天在WIN32 10G做个DBLINK到LINUX32 11G上,报密码错误,我就郁闷了,我检查了密码在目的数据库上可以正常连接,DBLINK的3个权限也正常,TNSnames.ORA也正常,我差了网上,好像也有这种错误,什么问题啊。
源库TNSNAME.ORA配置文件
orcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.171.128)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
授权和运行
SQL> grant create database link to aaa;
授权成功。
SQL> grant create public database link to aaa;
授权成功。
SQL> grant drop public database link to aaa;
授权成功。
SQL> create database link to_orcl1
2 connect to aaa identified by aaa using 'orcl';
数据库链接已创建。
SQL> select * from aaa.aaa@to_orcl1;
select * from aaa.aaa@to_orcl1
*
第 1 行出现错误:
ORA-01017: invalid username/password; logon denied
ORA-02063: 紧接着 line (起自 TO_ORCL1)
目的库链接
[oracle@localhost ~]$ LANG=ZH_cn
[oracle@localhost ~]$ su -
Password:
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:4F:A2:FF
inet addr:192.168.171.128 Bcast:192.168.171.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe4f:a2ff/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1459576 errors:0 dropped:0 overruns:0 frame:0
TX packets:1484580 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:224049580 (213.6 MiB) TX bytes:327510968 (312.3 MiB)
Interrupt:169 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:6730 errors:0 dropped:0 overruns:0 frame:0
TX packets:6730 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3030305 (2.8 MiB) TX bytes:3030305 (2.8 MiB)
[root@localhost ~]# su - oracle
[oracle@localhost ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Mon Aug 27 04:36:10 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> conn /as sysdba
Connected.
SQL> show parameter db_name;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name string orcl
SQL> conn aaa/aaa;
Connected.
SQL> select table_name from user_tables;
TABLE_NAME
------------------------------
AAA