Sles
ORA-01017 來自 sqldeveloper,但來自 sqlplus
我已經通過 sqldeveloper 以 sys 身份登錄到 Oracle 19c 並創建了一個新使用者
-- USER SQL CREATE USER data_owner IDENTIFIED BY "password!" DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP"; -- ROLES GRANT CONNECT TO data_owner ; GRANT RESOURCE TO data_owner ; GRANT CREATE SESSION TO data_owner;
然後我 ssh 到 SUSE Linux Enterprise Server 12 伺服器並
su - oracle
從 sqlplus 檢查使用者,我可以使用上述密碼以 data_owner 身份正常連接。當我使用相同的憑據時,為什麼 sqldeveloper 返回以下錯誤?
ORA-01017: invalid username/password; logon denied 01017. 00000 - "invalid username/password; logon denied" *Cause: *Action: Codice fornitore 1017
作為仔細檢查,如果我通過 sqldeveloper 再次以 sys 身份連接,我可以登錄並且 sql
SELECT username, default_tablespace, profile, authentication_type FROM dba_users WHERE account_status = 'OPEN';
給我
SYS SYSTEM DEFAULT PASSWORD SYSTEM SYSTEM DEFAULT PASSWORD DATA_OWNER USERS DEFAULT PASSWORD
連接類型旁邊有一個角色的保管箱(對不起,意大利語:“Ruolo”)。
它必須設置為預定義(而不是預設值
SYSDBA
)。下面的截圖
它可以解決問題:-)
請注意,如果您通過 SSH 連接到您的 SUSE Linux Enterprise Server 12 並作為普通使用者(
su - oracle
否則您將SYS
在連接時成為普通使用者as sysdba
並且密碼將被忽略)您執行 Oracle 19csqlplus
然後Enter user-name: data_owner as sysdba Enter password: ERROR: ORA-01017: invalid username/password; logon denied
即使您輸入了正確的密碼。正如您從 sqldeveloper 中看到的那樣,這是
as sysdba
從其屬性中默默地添加 - 如果角色在那裡設置錯誤 - 但它不會在登錄/密碼彈出 gui 中顯示角色。