指定架构时,Oracle SQLPlus ORA-01017无效的凭证 [英] Oracle SQLPlus ORA-01017 invalid credentials when specifying schema
问题描述
在Oracle11g数据库上,这有效:
On an Oracle11g database, this works:
SQL> connect USER/pass
Connected.
但是,这不是:
SQL> connect USER/pass@db
ERROR:
ORA-01017: invalid username/password; logon denied
我已执行:
SQL> grant connect to USER;
Grant succeeded.
我想念什么?
tnsnames.ora:
tnsnames.ora:
DB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = a.dom.b.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = db)
)
)
:> sqlplus USER/pass
SQL*Plus: Release 11.1.0.7.0 - Production on Mon Mar 11 15
Copyright (c) 1982, 2008, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
另外两个没有.
:> sqlplus USER/pass@db
SQL*Plus: Release 11.1.0.7.0 - Production on Mon Mar 11 15:04:44 2013
Copyright (c) 1982, 2008, Oracle. All rights reserved.
ERROR:
ORA-01017: invalid username/password; logon denied
这会产生标识符错误:
:> sqlplus USER/pass@db//localhost:1521
SQL*Plus: Release 11.1.0.7.0 - Production on Mon Mar 11 15:10:38 2013
Copyright (c) 1982, 2008, Oracle. All rights reserved.
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
我已经验证了tnsnames.ora条目,并且我正确拼写了服务.
I have verified tnsnames.ora entry and I am spelling service correctly.
:> lsnrctl status
LSNRCTL for 64-bit Windows: Version 11.1.0.7.0 - Production on 11-MAR-2013 15:14:19
Copyright (c) 1991, 2008, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=a.dom.b.com)(PORT=1521
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 64-bit Windows: Version 11.1.0.7.0 - Production
Start Date 01-MAR-2013 16:15:25
Uptime 9 days 21 hr. 59 min. 8 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File d:\oracle\product\11.1.0\db_1\network\admin\listener.ora
Listener Log File d:\oracle\diag\tnslsnr\TMDEV100\listener\alert\log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=a.dom.b.com)(PORT=1521)))
Services Summary...
Service "db" has 1 instance(s).
Instance "db", status READY, has 1 handler(s) for this service...
...
...
The command completed successfully
推荐答案
如果不包括@db,它将通过TWO_TASk环境变量进行连接,或者与您所连接的计算机上的数据库进行本地连接. @db将通过tnsnames.ora查找连接信息,然后进行连接.我猜您正在连接到两个不同的数据库.一个拥有用户名/密码组合,另一个则没有.
If you do not include the @db it will connect either via the TWO_TASk environment variable or do a local connection to the database on the machine you are connected to. the @db will lookup the connection information via the tnsnames.ora and then connect. I am guessing that you are connecting to two different databases. One you have the username/password combination and the other you do not.
这篇关于指定架构时,Oracle SQLPlus ORA-01017无效的凭证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!