oracle 使用者和許可權
oracle中,一般不會輕易在乙個伺服器上建立多個資料庫,在乙個資料庫中,不同的專案由不同的使用者訪問,每乙個使用者擁有自身建立的資料庫物件,因此使用者的概念在oracle中非常重要。
使用者管理
注意:1、建立使用者如果要建立使用者只能在管理員下完成:
語法結構:create user 使用者名稱 identified by 密碼【account lock| unlock】;2、刪除使用者drop user 使用者名稱;語法解析:
儘管使用者建立成功,但是還不能正常的登入oracle資料庫系統,因為該使用者還沒有如何許可權。如果使用者能夠正常登入。至少需要create session 的系統許可權。oracle使用者對資料庫管理或者物件操作的權利,分為系統許可權和資料庫物件許可權。
如果該使用者下面已經存在表等一些資料庫物件。則必須使用級聯刪除
比如 dropuser test cascade;
3、修改使用者的密碼
alter user 使用者名稱 identified by 新密碼;
設定密碼失效
提示使用者在第一次連線的時候需要修改密碼,讓使用者的密碼到期4、修改使用者處於鎖定(非鎖定)狀態alter user 使用者名稱 account lock|unlock;比如:alter usertest password expire;
鎖住乙個使用者
語法:alter user使用者名稱 account lock|unlock;5、資料庫角色(role)比如:alter usertest account lock;
alter user test accountunlock;
資料庫角色就是若干個系統許可權的集合。下面幾個常用角色:
一般情況下,乙個普通的使用者,擁有connect和resource 兩個角色即可進行常規的資料庫開發工作。6、許可權建立session許可權可以把某個許可權授予某個角色,可以把許可權、角色授予某個使用者。系統許可權只能有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
這兩個角色用於資料匯入匯出工具的使用
一般在資料庫中,乙個使用者的連線稱為建立乙個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。7、資料庫設計正規化(可以scott使用者授權和管理員使用者授權)
1、第一正規化:欄位要設計的不可再分name欄位,可拆分成 firstname+lastname
2、第二正規化:兩個表的關係,在第三張表關係中體現
比如學生和課程表。為多對多的關係。這種關係需要在第三張表中體現
3、第三正規化:多張表中,只存在關係,不存在具體資訊(具體開發中用的最多)
比如:emp ,dept
如果一對 多用第三張表(關係表)來表示,則會出現問題。(乙個員工可能屬於多個部門,顯然這是不符合現實邏輯的)
4、總正規化:資料庫表關聯越少越好,sql語句複雜度越低越好
oracle 使用者和許可權
使用者和許可權 資料庫安全性 系統安全性 資料安全性 系統許可權 對於資料庫的許可權物件許可權 運算元據庫物件的許可權 方案 一組資料庫物件集合,例如表,檢視,和序列 系統許可權 資料庫管理員具有高階許可權以完成管理任務,例如 建立新使用者 刪除使用者 刪除表 備份表 應用程式開發者一般具有以下系統...
Oracle使用者和許可權
oracle中,一般不會輕易在乙個伺服器上建立多個資料庫,在乙個資料庫中,不同的專案由不同的使用者訪問,每乙個使用者擁有自身建立的資料庫物件,因此使用者的概念在oracle中非常重要。oracle的使用者可以用create user命令來建立。其語法是 語法結構 建立使用者 create user ...
oracle使用者和許可權
在oracle中,乙個伺服器上一般只有乙個資料庫。在乙個資料庫中,不同的使用者專案由不同的使用者訪問,每乙個使用者擁有自身建立的資料庫物件,當乙個使用者想訪問其它使用者下的資料庫物件時,必須由對方授予一定的許可權,因此,使用者和許可權在oracle中非常重要。下面是我總結的一些關於使用者和許可權的知...