Oracle 使用者和許可權

2021-07-31 06:36:28 字數 3698 閱讀 2517

oracle 使用者和許可權

oracle中,一般不會輕易在乙個伺服器上建立多個資料庫,在乙個資料庫中,不同的專案由不同的使用者訪問,每乙個使用者擁有自身建立的資料庫物件,因此使用者的概念在oracle中非常重要。

使用者管理

注意:

如果要建立使用者只能在管理員下完成:

1、建立使用者

語法結構:create user 使用者名稱 identified by 密碼【account lock| unlock】;

語法解析:

儘管使用者建立成功,但是還不能正常的登入oracle資料庫系統,因為該使用者還沒有如何許可權。如果使用者能夠正常登入。至少需要create session 的系統許可權。oracle使用者對資料庫管理或者物件操作的權利,分為系統許可權和資料庫物件許可權。

2、刪除使用者drop  user 使用者名稱;

如果該使用者下面已經存在表等一些資料庫物件。則必須使用級聯刪除

比如 dropuser  test cascade;

3、修改使用者的密碼

alter user 使用者名稱 identified by 新密碼;

設定密碼失效

提示使用者在第一次連線的時候需要修改密碼,讓使用者的密碼到期

比如:alter usertest password expire;

4、修改使用者處於鎖定(非鎖定)狀態alter user 使用者名稱 account lock|unlock;

鎖住乙個使用者

語法:alter user使用者名稱 account lock|unlock;

比如:alter usertest account lock;

alter user test accountunlock;

5、資料庫角色(role)

資料庫角色就是若干個系統許可權的集合。下面幾個常用角色:

一般情況下,乙個普通的使用者,擁有connect和resource 兩個角色即可進行常規的資料庫開發工作。

可以把某個許可權授予某個角色,可以把許可權、角色授予某個使用者。系統許可權只能有dba使用者授權,物件許可權由擁有該物件的使用者授權,授權的語法是:

語法結構:grant 角色|許可權 to 使用者(角色);

**許可權:revoke 角色|許可權 from 使用者(角色);

檢視許可權:select *from user_sys_privs

這些預定義角色主要是為了向後相容。其主要是用於資料庫管理。oracle建議使用者自己設計資料管理和安全的許可權規劃,而不要簡單的使用這些預定義角色。將來的版本中這些角色可能不會作為預定義角色。

2)        delete_catalog_role,  execute_catalog_role,  select_catalog_role

這些角色主要用於訪問資料字典檢視和包。

3)        exp_full_database,  imp_full_database

這兩個角色用於資料匯入匯出工具的使用

6、許可權建立session許可權

一般在資料庫中,乙個使用者的連線稱為建立乙個session,如果乙個新的使用者想訪問資料庫,則必須要授予建立session的許可權。

語法:grant 許可權 to 使用者;

比如:給test使用者建立session的許可權:grantcreate session to test;

以上使用者雖然可以連線了,但是不能有如何的操作(比如建立表),只是可以連線資料庫了。

conn 命令表示切換使用者,show user;表示檢視當前使用者。

(對於許可權,角色,使用者三者的關係,可以應用電視機(人民的名義)的例子來解釋,比如:檢查局局長屬於乙個角色,而侯亮平屬於某個普通使用者,**領導賦予了其局長的角色,因此侯亮平擁有了局長這個角色的權力範圍)

1)        connect,  resource, dba

這些預定義角色主要是為了向後相容。其主要是用於資料庫管理。oracle建議使用者自己設計資料管理和安全的許可權規劃,而不要簡單的使用這些預定義角色。將來的版本中這些角色可能不會作為預定義角色。

2)        delete_catalog_role,  execute_catalog_role,  select_catalog_role

這些角色主要用於訪問資料字典檢視和包。

3)        exp_full_database,  imp_full_database

這兩個角色用於資料匯入匯出工具的使用

物件授權

以上的所有操作只針對於test使用者,如果test使用者要訪問其他使用者呢?例如:訪問emp表此時如果要想讓其可以訪問,則必須把scott使用者下的emp表的查詢許可權給test。

(可以scott使用者授權和管理員使用者授權)

7、資料庫設計正規化

1、第一正規化:欄位要設計的不可再分

name欄位,可拆分成 firstname+lastname

2、第二正規化:兩個表的關係,在第三張表關係中體現

比如學生和課程表。為多對多的關係。這種關係需要在第三張表中體現

3、第三正規化:多張表中,只存在關係,不存在具體資訊(具體開發中用的最多)

比如:emp ,dept

如果一對 多用第三張表(關係表)來表示,則會出現問題。(乙個員工可能屬於多個部門,顯然這是不符合現實邏輯的)

4、總正規化:資料庫表關聯越少越好,sql語句複雜度越低越好

oracle 使用者和許可權

使用者和許可權 資料庫安全性 系統安全性 資料安全性 系統許可權 對於資料庫的許可權物件許可權 運算元據庫物件的許可權 方案 一組資料庫物件集合,例如表,檢視,和序列 系統許可權 資料庫管理員具有高階許可權以完成管理任務,例如 建立新使用者 刪除使用者 刪除表 備份表 應用程式開發者一般具有以下系統...

Oracle使用者和許可權

oracle中,一般不會輕易在乙個伺服器上建立多個資料庫,在乙個資料庫中,不同的專案由不同的使用者訪問,每乙個使用者擁有自身建立的資料庫物件,因此使用者的概念在oracle中非常重要。oracle的使用者可以用create user命令來建立。其語法是 語法結構 建立使用者 create user ...

oracle使用者和許可權

在oracle中,乙個伺服器上一般只有乙個資料庫。在乙個資料庫中,不同的使用者專案由不同的使用者訪問,每乙個使用者擁有自身建立的資料庫物件,當乙個使用者想訪問其它使用者下的資料庫物件時,必須由對方授予一定的許可權,因此,使用者和許可權在oracle中非常重要。下面是我總結的一些關於使用者和許可權的知...