2

我尝试将使用 Oracle 12.1(12c 第 1 版)创建的数据库转储导入我的 Oracle 12.2。

由于错误或无效的身份验证协议导致了一些问题:

ORA-28040: No matching authentication protocol

我发现了一些人们遇到类似问题的帖子,并尝试通过将以下两行添加到我的 sqlnet.ora 来修复它(该文件位于 C:\app\oracle\product\12.2.0\dbhome_1\network\admin 中) :

SQLNET.ALLOWED_LOGON_VERSION = 8
SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8

从那以后,我再也无法与我的任何用户联系了。我已经从 sqlnet.ora 中删除了上面的两行,现在我的 sqlnet.ora 只包含以下两行,就像以前一样:

SQLNET.AUTHENTICATION_SERVICES = (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)

但我现在无法与任何用户联系。我以为我只需要重置所有用户的密码。

所以我试图重置所有 Oracle 用户的密码。因此,我使用 cmd 并以 sysdba 身份登录到 sqlplus:

C:\>sqlplus / as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on Mi Nov 20 14:14:44 2019

Copyright (c) 1982, 2016, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Standard Edition Release 12.2.0.1.0 - 64bit Production

SQL> select * from all_users where username='CUSTOMER';

USERNAME USER_ID CREATED  COM O INH DEFAULT_COLLATION IMP ALL
--------------------------------------------------------------
CUSTOMER 106 10.07.19 NO  N NO USING_NLS_COMP NO  NO

SQL> alter user CUSTOMER identified by CUST;

User was changed.

SQL> connect CUSTOMER/CUST
ERROR:
ORA-01017 Invalid Username/Password

如果我尝试在 SQL Developer 的 GUI 中重置密码,也会发生同样的情况。我总是得到 ORA-01017。

对于另一个用户,它再次起作用,但只有在我尝试了以下操作之后:

alter user CUST2 identified by "cust2";

因此,我不得不将密码放在双引号中,并且在 SQL Developer 的连接属性中,我为用户 CUST2 使用了不带引号的密码 cust2。不知何故,但我已经为用户 CUSTOMER 尝试了以下密码选项:CUST、“CUST”、cust、“cust”。我还尝试了不同的密码,例如 TEST、test、“Test”、“custom”、“custom”等。

但是没有任何效果,我无法再与用户 CUSTOMER 联系。

我的 Oracle 实例的 SID 是 orcl,我还尝试了以下方法:

SQL> connect CUSTOMER@orcl/CUST
ERROR:
ORA-12514 – 
TNS:listener does not currently know of service requested in connect descriptor

有人知道如何解决这个问题吗?

4

0 回答 0