被拒--悲劇之ORA-01017: invalid username/password; logon denied 錯誤,ora-01017denied
本地沒有安裝oracle,安裝了oracle用戶端和PL/SQL Developer。來實現對oracle資料庫的可視化操作。
在使用在登入PL/SQL無法登入,提示錯誤:ORA-01017: invalid username/password; logon denied 錯誤(程式中的使用者和密碼無法登入,登入被拒)。
找出悲劇原因的曆程:
1 看使用者名稱和密碼是否正確,經檢查後,沒有問題。提示:如果你使用的是IDE開發工具進行串連的資料庫,不要忽視空格檢查。如果系統使用者可以登入,可以登入後查看使用者是否存在,密碼是看不到的:“select username from dba_users;”。如果使用者存在,修改一下密碼試試:“alter user 使用者名稱 identified by 密碼;”。可能是自己密碼記錯了呢,自己都不知道。
2 檢查自己在配置oracle時,配置的資料庫是否正確。
開啟oracle用戶端的安裝路徑,D:\Program Files (x86)\Oracle\odac_client。找到tnsnames.ora,開啟後檢查寫的ip地址是否正確。(我的問題就在這)
用戶端為了遠端連線伺服器,必須先和伺服器上的監聽進程聯絡,Oracle通過tnsnames.ora檔案中的串連描述符來說明串連資訊。
名詞解釋:
ORCL248:串連描述符
address_list:表示用戶端經由多種協議與一台或多台伺服器串連。在上面的例子中表示用戶端使用TCP協議與伺服器端串連。
PROTOCOL:使用的協議
HOST :是TCP/IP協議使用的伺服器IP地址。
PORT :是TCP/IP使用的連接埠地址。
CONNECT_DATA: 串連資料庫的串連配置
SERVER=DEDICATED: 表示用專用伺服器串連oracle資料庫
SERVICE_NAME:伺服器服務名稱
3 檢查使用者是否被鎖
如果使用者被鎖也會出現上面的問題,首先是系統可以進入系統的情況下,解決方案:
用系統使用者登入plsql , 查詢當前的所有使用者: select * from dba_users; 查看狀態是否被鎖(LOCKED ),如果你資料庫連接的使用者被鎖,給帳號解鎖
alter user user1 account unlock;
4 是否給使用者指派了許可權,可以以系統使用者登入後,為使用者授權:
grant create session, create table,create view,unlimited,connect,resource;具體些那些許可權,根據使用者的實際許可權進行。
5 網上也有說配置環境變數,我的沒有問題,當我把所有的關於oracle的環境變數都刪了之後也沒有出現不能登入的問題,哎只能是作為一種嘗試的方法了。
總結:
最後的最後問題終於解決了,自己在尋找的過程中也走過很多彎路。但是,彎路至少證明了這條路走不通。驀然回首,那answer已在眼前。
oracle闂錛?浣跨敤system鐧誨綍錛屾彁紺洪敊璿細ORA-01017錛宨nvalid username/password;logon denied
登陸sqlplus時出現了這樣的錯誤: ORA-01017: invalid username/password; logon denied
SQL> conn / as sysdba
SQL> alter user SCOTT account unlock identified by tiger;
User altered.
SQL> select username,account_status from dba_users where username='SCOTT';
USERNAME ACCOUNT_STATUS
------------------------------ --------------------------------
SCOTT OPEN
SQL> conn scott/tiger
Connected.
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
DEPT TABLE
EMP TABLE
BONUS TABLE
SALGRADE TABLE