Oracle之 使用者管理,表管理

2021-09-20 02:08:43 字數 4976 閱讀 8096

內容結構:

基礎部分:  使用者管理,表管理

高階部分:表查詢,許可權,角色,函式 資料庫管理,約束,索引,事務,pl/sql程式設計

oracle的基本使用

1.   show user;  顯示當前使用者

2.   exit(;) 斷開資料連線且退出sqlplus

3.   連線命令: conn (connect)  system/密碼;

disc[onnect]   斷開連線;

passw[ord]  修改使用者的密碼,若要修改其他使用者的的密碼,需要用sys/system登入

檔案操作命令

1.   start 和@

說明:執行sql指令碼 sql>@ d:a.sql 或者sql>start d:a.sql

2.   edit

編輯指定的sql指令碼 sql>edit d:\a.sql

3.   spool(將第乙個spool以下和第二個spool以上的所有內容輸出到指定內容中去)

將sql*plus螢幕上的內容輸出到指定檔案中去;sql>spoold:\b.sql 並輸入到sql>spool off

顯示和設定環境變數

控制輸出的格式:

linesize:設定顯示行的寬度,預設是80個字元

show linesize  ; set linesize 90;

pagesize  設定每頁顯示的行數目,預設是14。

oracle使用者管理

1.     建立使用者create user 【使用者名稱】xiaoming identified  by【密碼】m123;

注意:建立使用者的許可權需要系統管理員許可權!!!

2.     刪除使用者

一般以dba的身份去刪除某個使用者,如果用其他使用者去刪除使用者則需要有drop user 的許可權,當該使用者已經新建了表,則需要級聯刪除!!!

drop user 使用者名稱 [cascade]

3.     建立的新使用者沒有任何許可權,甚至登入資料庫的許可權都沒有,需要為其制定相應的許可權。給乙個使用者賦予許可權是grant ,**許可權是revoke。

注意:許可權,角色的分類

沒有create session 許可權則無法連線資料庫,

具有resource許可權的使用者可以建表

物件許可權:使用者對其他使用者的資料物件操作的許可權,比如我新建的hfut使用者對scott使用者的emp表進行訪問。包括:select、insert、update、delete、all(即前四種)、createindex等等。

讓使用者hfut擁有對使用者scott的emp表的所有許可權

【sql> conn scott/tiger

已連線。

sql>grant all on emp to hfut;

授權成功。】

許可權**:revoke注意誰賦予的許可權,就要誰來**許可權!【revoke update on emp from hfut;】先**hfut的update許可權

希望使用者hfut可以去查詢scott使用者的emp表,並且還希望把這個許可權繼續給別人(nus):

————如果是物件許可權,就加入with grant option;

grant all on emp to hfut with grantoption ;

————如果是系統許可權,就加入 with admin option

grant connect  on emp to hfut with admin option;

問題:當scott把hfut對於emp表的許可權收回時,nus對emp表還有操作的權利的麼?

答案是:nus失去了對emp表的許可權,【使用者管理實驗筆記】

使用profile管理使用者口令:

profile是口令限制,資源限制的命令集合,當建立資料庫時,oracle會自動建立名稱為default的profile。當使用者沒有指定profile選項,那oracle會將default分配給使用者。

(1)   賬戶鎖定

指定該賬戶登入時最多輸入密碼的次數,也可以指定使用者鎖定的時間(天),一般用dba的身份去執行該命令。

例子:指定使用者tea最多只能嘗試登入三次,鎖定時間為2天;

create  profile  lock_account[檔名稱] limit

failed_login_attempts  3password_lock_time  2;

alter user tea profile lock_acount;    

賬戶解鎖

alter  user  tea  account  unlock;

(2)   終止口令

為了讓使用者定期修改密碼可以使用中指口令來完成,同樣這個命令也需要dba身份來完成。

例子:給前面建立的使用者tea建立乙個profile檔案,要求使用者每隔10天要修改自己的登入密碼,寬限期限為2天。

create  profile   myprofile[檔名]  limit      password_life_time   10   password_grace_time     2;

alter  user  tea[使用者名稱]profile   myprofile ;

口令歷史:

若希望使用者在修改密碼時,不能使用以前用過的密碼,可以使用口令歷史,這樣oracle就會將口令修改的資訊存放在資料字典中,這樣當使用者修改密碼時,oracle機會對新舊密碼進行比較,當發現新舊密碼一樣時,就提示使用者重新輸入密碼。

例子:1.    建立profile

createprofile password_  history limit       password_life_time   10 password_reuse_time10

password_reuse_time 10        //    制定口令可重用時間為10天,即十天後可以重用。

2.    分配給某一使用者

alter  user【使用者名稱】

刪除profile :

當不需要某個profile檔案時,可以刪除檔案

drop  profile password_history  [cascade]

oracle表的資料型別:

字元型:

char  定長 最長2000字元 

char(10) 「楓楊」 前四個字元放「楓楊」,後添6個空格補全

varchar2(20)  變長最長4000字元

varchar2(20) 「春節」 oracle 分配四個字元。這樣可以節省空間

clod   字元型大物件 最大4g

數字型:

number範圍±10的38次方。

number(5,2)  表示5位有效數字,2位小數,—999.99到999.99

number(5) 表示5位整數  範圍 ±99999

建立表:

學生表create   table      student(

xh number(4),

*** char(2),

birthday       date,

sal  number(7,2)

);班級表:

create table classes (

calssid   number(2),

cname varchar2(40),

);修改表(alter  table  *** )

新增字段:

alter table student add(classid  number(2),欄位2   型別,……,欄位n  型別);

修改字段長度:

alter  table   student modify (xm varchar2(30));

修改欄位的型別/或者名字(不能有資料):

alter     table  student modify (xm  char(30));

刪除一欄位:

alter table   student      drop      column   sal ;

修改表的名稱:

rename student to  stu ;

刪除表drop  table student ;

新增資料

insert into       student    values(1,』xiaoming』,』男』,』11-12月-1997』,2.355);

如何插入帶有日期的表,並按照年月日的格式插入?

to_date函式:

insert  into emp values (999,'小紅',to_date('1988-12-12','yyy-mm-dd'));

插入部分字段:

insert         into              student  values (『a003』,『jhon』,『女』);

插入空值

insert  into student (xh,xm,***,birthday,)

values(『a004』,』martin』,』男』,null);

[查詢時,只能使用  is null  或者is  not null]

修改乙個欄位的內容:

update student        set         ***=『女』,birthday = 10-9月-1996  where xh =』1001』;

修改含有null的資料

is null

刪除字段:

delete from student;

刪除記錄,表結構還在,寫日誌,可以恢復,rollback,速度慢;

drop table student;刪除表結構和資料

delete from student where xh=』001』;刪除一條記錄

truncate table  student ;

刪除表中所有的記錄,表結構還在,不寫日誌,無法找回刪除記錄,速度快。

Oracle之使用者管理

1.要想建立使用者,需要管理員登入,以下操作在sys下操作 2.建立使用者 create user 使用者名稱 identityfy by 密碼 列子 3.新建立的使用者不具備任何許可權,如果要想獲取登入許可權,可以使用下面的語法 grant 許可權 1,許可權2,to 使用者名稱 列子 4.建立序...

Oracle之使用者管理筆記

使用者是資料庫最基本的物件之一,oracle中的使用者可以分為三類 在正式開發中,使用sysytem是不安全的。建立乙個名為lisa的普通使用者,口令為abc,指定預設表空間users create user lisa identified by abc default tablespace use...

Oracle筆記之使用者管理

建立使用者使用create user語句,需要dba許可權 create user tom identified by mot 修改別人的密碼需要dba許可權,或者alter user許可權 alter user tom identified by newpasswd 或者修改別人的密碼帶上使用者名...