你是要改用戶名嗎?
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、遼寧網(wǎng)絡(luò)推廣、小程序開發(fā)、遼寧網(wǎng)絡(luò)營銷、遼寧企業(yè)策劃、遼寧品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供遼寧建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:vcdvsql.cn
比如要把用戶TEXT改為TEXT_BAK:
SQL select user#,name,password from user$ where name ='TEXT';
USER# NAME PASSWORD
---------- ------------------------------ ---------------------------
78 TEXT 21EDA78F89D6FACD
更改用戶名
SQL update user$ set name='TEXT_BAK' where user#=78;
1 row updated.
SQL commit;
Commit complete.
用戶名更改后需要清楚緩存數(shù)據(jù)字典信息。
SQL alter system checkpoint; ----強(qiáng)制寫入數(shù)據(jù)文件
System altered.
SQL alter system flush shared_pool; ----清楚緩存數(shù)據(jù)字典信息,強(qiáng)制oracle讀實(shí)際數(shù)據(jù)(即更改后的數(shù)據(jù))
System altered.
并變更用戶登錄密碼。
SQL alter user TEXT_BAK identified by 'aaaaaa';
User altered.
在以SYSDBA身份登陸時(shí)可以修改其他用戶的密碼,比如:用戶已更改。在以SYSDBA身份登陸時(shí)可以修改其他用戶的密碼,比如:用戶已更改。一般來說,oracle數(shù)據(jù)庫安裝后,里面有很多個(gè)默認(rèn)賬號(hào)和密碼,比較常用的是:賬號(hào):scott
密碼:tiger
賬號(hào):system
密碼:manager
賬號(hào):sys
密碼:任意字符。當(dāng)我們想創(chuàng)建一個(gè)賬號(hào)時(shí),可以使用sys登錄sysdba后,創(chuàng)建用戶(需要授權(quán)),代碼如下我們一般使用的是用scott登錄sysdba,這時(shí)候有可能出現(xiàn)賬戶未解鎖的狀態(tài),這時(shí)候可以用來解鎖賬戶。解鎖之后可能會(huì)要求你改密碼:可以用
改用戶名的用處
至于改名字的用處嘛,在這樣一種情景下非常有用.假如某個(gè)公司給每個(gè)員工一個(gè)賬戶,用戶名就是你的英文名.當(dāng)某個(gè)員工arwen要離職了,那就要?jiǎng)h除掉用戶arwen了.但是我們知道oracle中用戶與此用戶下面創(chuàng)建的對象是完全綁定到一起的,而不像sql
server中表等對象是可以和用戶完全分開.這樣的話你一刪掉用戶arwen那下面的數(shù)據(jù)全沒了.假如我們需要那些數(shù)據(jù)咋整呢,最容易想到的是把所有數(shù)據(jù)先導(dǎo)出,然后再導(dǎo)入到某個(gè)用戶下面.但這樣比較麻煩.所以如果能改名字就更好點(diǎn)了.
接著用上面的例子.假如又來了新員工,weiwenhp.他是接arwen的班的.所以他很需要用戶arwen下面的數(shù)據(jù).此時(shí)就把用戶arwen改成用戶weiwenhp.我們登陸數(shù)據(jù)庫時(shí),數(shù)據(jù)庫系統(tǒng)會(huì)判斷我們的用戶名和密碼正確不,那我們自然想到這些信息肯定保存在數(shù)據(jù)庫里面哪個(gè)地方,肯定會(huì)有一個(gè)啥保存用戶信息的表.沒錯(cuò),所以用戶信息保存在表user$中.
select
*
from
user$
用這個(gè)sql一查你會(huì)看到所有用戶名和密碼,還有其他一些信息.不過用戶名都是加密的.所以即使是管理員也看不到任何用戶的密碼,只能改用戶的密碼.
那肯定想,用戶名和密碼在這那我在這里把名字改下就行了啊.實(shí)際上改名就真這么做.
select
user#,
name
from
user$
where
name
=
'ARWEN';
--先瞧下arwen的信息,其中user#就是一個(gè)序列號(hào),相當(dāng)于身份證號(hào)吧,假如這里是250
update
user$
set
name
=
'WEIWENHP'
where
user#
=
250;
--于是用戶名就改好了啊.當(dāng)然是update語句就記得再commit提交下啊.
還要做的工作
我人知道要是改了密碼的話馬上就生效能用的啊,改名字了咋就不成了呢.
我們知道數(shù)據(jù)庫中很重要的一點(diǎn)是要保證數(shù)據(jù)一致性,某個(gè)地方的數(shù)據(jù)更改了,相關(guān)的地方也得跟著改才好.那這里肯定是因?yàn)榈顷憰r(shí)讀取的用戶信息還沒有更新.有數(shù)據(jù)不一致性的情況出現(xiàn).你可能會(huì)想到有時(shí)我們用alter更改一些參數(shù)信息得重啟數(shù)據(jù)庫才能生效.于是你就想不會(huì)我改了名還得重啟數(shù)據(jù)庫.這也太恐怖了吧.
實(shí)際上不用重啟數(shù)據(jù)庫拉,你這樣強(qiáng)制更新下.
alter
system
checkpoint;
alter
system
flush
shared_pool;
你再次登陸就發(fā)現(xiàn)可以登陸了啊.而之前的arwen用戶就登不了啊.
-- 直接修改底層表USER$更改用戶名(該方法在Oracle9i中測試通過)SQL UPDATE USER$ SET NAME='TT' WHERE USER#=91;已更新 1 行。SQL COMMIT;提交完成。SQL ALTER SYSTEM CHECKPOINT;系統(tǒng)已更改。SQL ALTER USER TT IDENTIFIED BY VALUES '294CE6E7131DD890';ALTER USER TT IDENTIFIED BY VALUES '294CE6E7131DD890'*ERROR 位于第 1 行:ORA-01918: 用戶'TT'不存在 強(qiáng)制Oracle 讀取實(shí)際數(shù)據(jù),而不是讀取緩存SQL ALTER SYSTEM FLUSH SHARED_POOL;系統(tǒng)已更改。SQL ALTER USER TT IDENTIFIED BY VALUES '294CE6E7131DD890';用戶已更改。 測試連接SQL CONN TT/TT已連接。SQL SELECT * FROM TAB;TNAME TABTYPE CLUSTERID------------------------------ ------- ----------TEST_TT TABLESQL CONN / AS SYSDBA已連接。SQL SHOW USERUSER 為"SYS"SQL SHUTDOWN IMMEDIATE數(shù)據(jù)庫已經(jīng)關(guān)閉。已經(jīng)卸載數(shù)據(jù)庫。ORACLE 例程已經(jīng)關(guān)閉。SQL STARTUPORACLE 例程已經(jīng)啟動(dòng)。......數(shù)據(jù)庫裝載完畢。數(shù)據(jù)庫已經(jīng)打開。
1.創(chuàng)建新的用戶;
2.對已有用戶進(jìn)行相關(guān)屬性的修改操作。
部分屬性的修改涉及到生產(chǎn)環(huán)境的要申請停業(yè),避免業(yè)務(wù)交易無法正常進(jìn)行:
1.創(chuàng)建新用戶對原有的業(yè)務(wù)無影響,風(fēng)險(xiǎn)級別低,但要考慮新用戶導(dǎo)入的數(shù)據(jù)量,避免數(shù)據(jù)表空間爆滿,TEMP空間與歸檔空間不足。
2.修改用戶密碼:
1)會(huì)導(dǎo)致繼續(xù)使用之前密碼連接數(shù)據(jù)庫的應(yīng)用出現(xiàn)連接故障,如果該應(yīng)用有重連機(jī)制,超過嘗試次數(shù)會(huì)導(dǎo)致用戶被鎖,風(fēng)險(xiǎn)級別高。
2)會(huì)導(dǎo)致其他庫上未進(jìn)行修改的 DBLINK,無法遠(yuǎn)程連接到本數(shù)據(jù)庫,風(fēng)險(xiǎn)級別 高。
3.修改用戶默認(rèn)表空間,不影響現(xiàn)有的業(yè)務(wù),風(fēng)險(xiǎn)級別低。
4.修改用戶默認(rèn)臨時(shí)表空間,不影響現(xiàn)有的業(yè)務(wù),風(fēng)險(xiǎn)級別低。
5.修改用戶 profile,會(huì)影響用戶會(huì)話的連接配額,如連接會(huì)話數(shù)、密碼過期設(shè)定、 空閑時(shí)間、連接時(shí)間等,風(fēng)險(xiǎn)級別中。
6.修改賬戶狀態(tài),會(huì)影響會(huì)話連接數(shù)據(jù)庫,風(fēng)險(xiǎn)級別高。
7.修改密碼口令過期,會(huì)影響會(huì)話連接數(shù)據(jù)庫,風(fēng)險(xiǎn)級別高。
8.修改用戶表空間配額,會(huì)影響用戶在表空間中的使用額度,風(fēng)險(xiǎn)級別中。
9.修改用戶權(quán)限,會(huì)影響會(huì)話的執(zhí)行權(quán)限,風(fēng)險(xiǎn)級別中。
不管是生產(chǎn)環(huán)境還是測試環(huán)境,備份永遠(yuǎn)是第一步操作,在評估時(shí)也要考慮是否有回退的可能,不要拿開弓沒有回頭箭當(dāng)擋箭牌:
1.修改密碼時(shí),提前保存密文密碼,同時(shí)找出到修改庫的 DBLINK 也要修改。
2.修改用戶屬性時(shí),提前保存原來的用戶屬性信息。
3.同研發(fā)確認(rèn)用戶需求,確保不影響業(yè)務(wù)。
4.安排變更窗口,停止應(yīng)用。
1.創(chuàng)建新用戶
2.用戶屬性修改
3.修改密碼 修改用戶密碼:
4.修改遠(yuǎn)程庫 DBLINK 的用戶密碼:
5.修改默認(rèn)表空間及臨時(shí)表空間
6.修改 profile
7.修改賬戶狀態(tài)(鎖定,解鎖)
8.修改口令過期
9.修改表空間配額
10.權(quán)限,角色授予與回收
1.重新登陸進(jìn)行賬戶驗(yàn)證新密碼及賬戶鎖定狀態(tài)是否符合預(yù)期。
2.在遠(yuǎn)程庫進(jìn)行 DBLINK 連接驗(yàn)證是否正常。
3.檢查用戶賬號(hào)狀態(tài)是否正常
4.檢查具體的權(quán)限是否符合要求
5.應(yīng)用啟動(dòng)后,日志是否正常,最后觀察業(yè)務(wù)是否正常進(jìn)行
1.刪除新用戶
2.修改回用戶舊密碼:
3.修改遠(yuǎn)程庫 DBLINK 的用戶密碼:
4.修改默認(rèn)表空間及臨時(shí)表空間
5.修改 profile配置
6.修改賬戶狀態(tài)(鎖定,解鎖)
7.修改表空間配額
8.權(quán)限,角色授予與回收
1.用戶舊密碼登錄驗(yàn)證是否正常
2.DBLINK連接是否正常
3.查看用戶的默認(rèn)表空間與臨時(shí)表空間是否與最初狀態(tài)一致
4.profile配置是否與最初狀態(tài)一致
5.賬戶的狀態(tài)是否與最初狀態(tài)一致
6.表空間配置是否與最初狀態(tài)一致
7.權(quán)限等是否與最初狀態(tài)一致。
備注:回退方案的驗(yàn)證最重要的就是第一個(gè)步驟的備份與信息記錄。這樣才能驗(yàn)證回退方案是否達(dá)到預(yù)期。
當(dāng)前名稱:oracle怎么更改用戶,oracle怎么更改用戶名
URL分享:http://vcdvsql.cn/article0/heoooo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、小程序開發(fā)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)