詳解oracle使用者建立(create user)(上)

pingley發表於2012-02-08
詳解oracle使用者建立(create user)(上)
        使用者能訪問資料庫前必須要有獲得相應授權的賬號,oracle中建立一個使用者併為其分配密碼
很簡單,但是在建立使用者的同時其實還可以指定很多該使用者的屬性,另外還有使用者的特權授予。
以便使用者去執行相應的操作。當建立了一個的同時也建立了一個通的shema,shema與使用者是
一一對應的關係。shema是資料庫物件的邏輯容器。
在建立使用者的過程中可以指定的使用者屬性有:
1、認證方式
2、認證密碼
3、預設的永久表空間,臨時表空間
4、表空間配額
5、使用者賬號狀態(locked or unlocked)
6、密碼狀態(expired or not)
語法格式:
create user username
identified by password;
你可以建立僅供運用程式使用的賬戶,用於運用程式連線資料庫,沒人可以使用該賬戶登入
到資料庫。

oracle會根據你建立資料庫時候的配置自動的建立預置賬戶:
所有的資料庫都包括管理賬戶:
sys            預設密碼:chang_on_install
system     預設密碼:manager
sysman    預設密碼:chang_on_install
dbsnmp   預設密碼:dbsnmp
其實並不是所有的資料庫都包括,你若在使用dbca建立資料庫的是,不勾選 
confiure enterprise manager 
sysman與dbsnmp就不會有了。
如果安裝的時候要求安裝了sample schema,還會多出一些預置賬戶其中常用的有:
hr               預設密碼:hr
scott          預設密碼:TIGER

所有的資料都包含有內部賬戶(internal accounts),這些自動建立的使用者,使得特別的
oracle特性或者元件擁有他們自己的schema。為保證這些賬戶被未經授權的使用,這些
賬戶是lock的,密碼設定為expire。

SQL> create user oracleusr     //使用者名稱:oracleuser
  2  identified by oracle      //登陸驗證密碼:oracle (密碼是大小寫敏感的)
  3  default tablespace users  //使用者的預設表空間:users
  4  quota 10m on users        //預設表空間中可以使用的空間配額:10MB
  5  temporary tablespace temp //使用者使用的臨時表空間
  6  password expire;          //密碼狀態,過期。登陸的時候要求使用者修改。
User created

使用者建立過程中的注意事項:
1、對temporary tablespace不能指定配額。
2、如果沒有為使用者指定預設表空間,將使用system表空間,強烈建議指定預設表空間。
3、預設表空間不能是undo tablespace或者temporary tablespace。
4、如果沒有為使用者指定預設表空間,臨時表空間,使用者將使用system表空作為預設表空間
與臨時表空,強烈避免出現此種狀況。

可以查詢資料字典dba_users查詢使用者的資訊
下面查詢上面建立的使用者的部分資訊。
SQL> select username,user_id,account_status,default_tablespace,temporary_tablespace
  2  from dba_users
  3  where username='ORACLEUSR';
 
USERNAME                          USER_ID ACCOUNT_STATUS                   DEFAULT_TABLESPACE             TEMPORARY_TABLESPACE
------------------------------ ---------- -------------------------------- ------------------------------ ------------------------------
ORACLEUSR                              70 EXPIRED                          USERS                          TEMP
注:dba_users中的password列已經在oracle11gR2中棄用了,取而代之的是authentication_type列。

修改使用者的密碼:
語法格式:
alter user user_name identified by new_password;

SQL> alter user system identified by oracle11g;
User altered
SQL> alter user oracleusr identified by oracle11g;
User altered
要注意了,oracle中給使用者修改密碼的時候是不需要,輸入舊密碼的。這是一個安全隱患。
任何使用者可以給自己修改密碼,但是要修改別人的密碼需要取得相應的許可權。
 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26110315/viewspace-715882/,如需轉載,請註明出處,否則將追究法律責任。

相關文章