你是要改用戶名嗎?

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