一般來說,oracle數(shù)據(jù)庫安裝后,里面有很多個默認(rèn)賬號和密碼,比較常用的是:賬號:scott 密碼:tiger 賬號:system 密碼:manager 賬號:sys 密碼:任意字符。
成都創(chuàng)新互聯(lián)公司專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、芒康網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁面制作、商城網(wǎng)站定制開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為芒康等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
當(dāng)我們想創(chuàng)建一個賬號時,可以使用sys登錄sysdba后,創(chuàng)建用戶(需要授權(quán)),代碼如下
create user 用戶名 identified by "密碼";
授權(quán):grant create session to 用戶名;
grant create table to 用戶名;
grant create tablespace to 用戶名;
grant create view to 用戶名;
我們一般使用的是用scott登錄sysdba,這時候有可能出現(xiàn)賬戶未解鎖的狀態(tài),這時候可以用
alter user scott account unlock;
來解鎖賬戶。解鎖之后可能會要求你改密碼:可以用
alter user scott identified by tiger;
再登錄
conn scott/tiger;
改用戶名的用處
至于改名字的用處嘛,在這樣一種情景下非常有用.假如某個公司給每個員工一個賬戶,用戶名就是你的英文名.當(dāng)某個員工arwen要離職了,那就要刪除掉用戶arwen了.但是我們知道oracle中用戶與此用戶下面創(chuàng)建的對象是完全綁定到一起的,而不像sql
server中表等對象是可以和用戶完全分開.這樣的話你一刪掉用戶arwen那下面的數(shù)據(jù)全沒了.假如我們需要那些數(shù)據(jù)
咋整
呢,最容易想到的是把所有數(shù)據(jù)先導(dǎo)出,然后再導(dǎo)入到某個用戶下面.但這樣比較麻煩.所以如果能改名字就更好點(diǎn)了.
接著用上面的例子.假如又來了新員工,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#就是一個
序列號
,相當(dāng)于
身份證號
吧,假如這里是250
update
user$
set
name
=
'WEIWENHP'
where
user#
=
250;
--于是用戶名就改好了啊.當(dāng)然是update語句就記得再commit提交下啊.
還要做的工作
我人知道要是改了密碼的話馬上就生效能用的啊,改名字了咋就不成了呢.
我們知道數(shù)據(jù)庫中很重要的一點(diǎn)是要保證
數(shù)據(jù)一致性
,某個地方的數(shù)據(jù)更改了,相關(guān)的地方也得跟著改才好.那這里肯定是因為登陸時讀取的用戶信息還沒有更新.有
數(shù)據(jù)不一致性
的情況出現(xiàn).你可能會想到有時我們用alter更改一些參數(shù)信息得重啟數(shù)據(jù)庫才能生效.
于是你
就想不會
我改
了名還得重啟數(shù)據(jù)庫.
這也太恐怖了吧
.
實際上不用重啟數(shù)據(jù)庫拉,你這樣強(qiáng)制更新下.
alter
system
checkpoint
;
alter
system
flush
shared_pool;
你再次
登陸就發(fā)現(xiàn)可以登陸了啊.而之前的arwen用戶就登不了啊.
在以SYSDBA身份登陸時可以修改其他用戶的密碼,比如:用戶已更改。在以SYSDBA身份登陸時可以修改其他用戶的密碼,比如:用戶已更改。一般來說,oracle數(shù)據(jù)庫安裝后,里面有很多個默認(rèn)賬號和密碼,比較常用的是:賬號:scott
密碼:tiger
賬號:system
密碼:manager
賬號:sys
密碼:任意字符。當(dāng)我們想創(chuàng)建一個賬號時,可以使用sys登錄sysdba后,創(chuàng)建用戶(需要授權(quán)),代碼如下我們一般使用的是用scott登錄sysdba,這時候有可能出現(xiàn)賬戶未解鎖的狀態(tài),這時候可以用來解鎖賬戶。解鎖之后可能會要求你改密碼:可以用
-- 直接修改底層表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ù)據(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、連上 oracle數(shù)據(jù)庫。(使用sys或者sysdba)。 2、select * from user$; 查找name為要修改的用戶名。 3、update user$ set name=“新用戶名” where 4、alter user 新用戶名 identified by 新密碼。