在工作中,并不是每天都需要使用數(shù)據(jù)庫(kù),忘記密碼的情況是常有的。很多不了解Oracle數(shù)據(jù)庫(kù)的新人采用的最常用的方式都是重新安裝數(shù)據(jù)庫(kù),實(shí)際上并不需要這樣,本文提供一種很簡(jiǎn)單的方法來修改Oracle數(shù)據(jù)庫(kù)密碼。
作者:秦婧|2016-12-15 12:24 收藏 分享推廣 | 令人窒息的獎(jiǎng)品等你—2016最權(quán)威的全球開發(fā)者調(diào)研在工作中,并不是每天都需要使用數(shù)據(jù)庫(kù),忘記密碼的情況是常有的。很多不了解Oracle數(shù)據(jù)庫(kù)的新人采用的最常用的方式都是重新安裝數(shù)據(jù)庫(kù),實(shí)際上并不需要這樣,本文提供一種很簡(jiǎn)單的方法來修改Oracle數(shù)據(jù)庫(kù)密碼。
在Windows操作系統(tǒng)下,修改Oracle數(shù)據(jù)庫(kù)密碼的具體步驟如下:
(1)打開SQL Plus工具
以管理權(quán)限登錄到系統(tǒng)的命令行界面,即DOS界面。然后,以不登錄Oracle數(shù)據(jù)庫(kù)服務(wù)器的方式(即不用輸入用戶名和密碼)打開SQL Plus工具。輸入的命令如下所示。
sqlplus /nolog
界面如圖1所示。
圖1 打開SQL Plus工具
(2)使用管理員用戶登錄Oracle數(shù)據(jù)庫(kù)
在圖1所示界面中,以操作系統(tǒng)用戶權(quán)限登錄到Oracle數(shù)據(jù)庫(kù)中。輸入的命令如下所示。
conn /as sysdba
使用上面的命令即可以管理員身份登錄到Oracle數(shù)據(jù)庫(kù)中。
(3)修改用戶密碼
登錄到Oracle數(shù)據(jù)庫(kù)中,可以修改任意用戶的密碼,這里以修改“system”用戶的密碼為例講解。修改密碼的語(yǔ)句如下所示。
alter user system identified by system123
通過下面的語(yǔ)句,即可將“system”用戶名的密碼修改為“system123”。
(4)驗(yàn)證密碼修改效果
在完成用戶密碼修改后,即可使用修改后的密碼登錄Oracle數(shù)據(jù)庫(kù)了。連接Oracle數(shù)據(jù)庫(kù)的命令如下所示。
conn system/system123
使用上面的命令即可重新連接到Oracle服務(wù)器。效果如圖2所示。
圖2 驗(yàn)證修改密碼后的效果
至此,完成了在使用Oracle數(shù)據(jù)庫(kù)時(shí)忘記密碼處理。
在使用上面介紹的方法修改密碼時(shí),容易出現(xiàn)的問題有2個(gè):
(1)連接數(shù)據(jù)庫(kù)時(shí)出現(xiàn)協(xié)議適配器錯(cuò)誤
在使用“conn /as sysdba”命令連接Oracle數(shù)據(jù)庫(kù)時(shí),出現(xiàn)“協(xié)議適配器錯(cuò)誤”提示,界面如圖3所示。
圖3 協(xié)議適配器錯(cuò)誤
出現(xiàn)圖中的提示是因?yàn)镺racle數(shù)據(jù)庫(kù)的環(huán)境變量(oracle_sid)沒有配置好,在DOS窗口中也可以完成環(huán)境變量的配置,使用的命令如下所示。
set oracle_sid=orcl
這里的“orcl”是Oracle數(shù)據(jù)庫(kù)的服務(wù)器名。
(2)沒有權(quán)限連接Oracle數(shù)據(jù)庫(kù)
使用“conn /as sysdba”命令連接Oracle數(shù)據(jù)庫(kù),出現(xiàn)如圖4所示的錯(cuò)誤界面。
圖4 禁用操作系統(tǒng)認(rèn)證方式登錄
之所以不能使用操作系統(tǒng)用戶登錄Oracle數(shù)據(jù)庫(kù),是因?yàn)樵谂渲梦募qlnet.ora中的屬性SQLNET.AUTHENTICATION_SERVICES設(shè)置的值為(NONE),即不可以使用操作系統(tǒng)認(rèn)證方式登錄Oracle數(shù)據(jù)庫(kù)。如果要啟用操作系統(tǒng)認(rèn)證方式則該參數(shù)的值更改成(NTS)即可。配置文件中的內(nèi)容如圖5所示。
圖5 sqlnet.ora配置文件