oracle高階三(索引 許可權,角色)

2021-12-30 02:26:46 字數 2741 閱讀 3271

oracle高階三(索引、許可權,角色):索引加速資料的訪問,合理的使用索引可以大大降低i/o 的次數,提高訪問的效能單列索引:基於單個列所建立的索引

create index 索引名 on 表名(列名);

復合索引:基於多個列的索引,同乙個表可以有多個索引,但是要求列的組合必須不能,意思就是不能對於相同的組合列,新增多個索引

create index emp_index1 on emp(ename,jop);

create index emp_index2 on emp(ename,sal);

使用原則:

1. 大表上建立索引

2. 在where子句或者連線條件上建立索引

3. 索引的層次不能超過四層

索引的缺點:

1. 建立索引,系統要占用大約為表的1.2倍的硬碟空間;

2. 更新資料的時候,系統必須要有額外的時間來對索引進行更新,以維護資料和索引的一致性

3. 不恰當的索引會影響系統效能。

顯示索引的資訊:(suer_indexs、dab_indexs)

select index_name,index_type fromuser_indexs where table_name=』表名』;

顯示索引列:

select table_name,colum_name from user_ind_columswhere index_name=』索引名』;

許可權和角色

在建立使用者的時候,新使用者沒有任何運算元據庫的能力;需要給他分配系統許可權和物件許可權才可以運算元據庫。

系統許可權:使用者對資料庫的操作,例如可不可以登陸資料庫,可不可以建表等

create session 連線資料庫、create table 建表、createview 建試圖

create public synonym 建同義詞、createprocedure 建儲存過程,函式,包

create trigger 建觸發器 create cluster 建簇

檢視系統許可權select * from system_priviege_map order by name;

授予系統許可權(dba使用者)

grant create session,create table to kenwith admin option;//授予ken使用者建立表的許可權,並且它可以把這個許可權授予其他使用者。

grant create cview to ken;//僅僅把createview許可權授予ken自己,它不能把這個許可權授予別人

**系統許可權:

一般情況下,**系統是由dba來完成的,**的也僅僅時自己的許可權,不會涉及到其他人

revoke create session from ken;//**ken使用者的建立會話的許可權、

物件許可權:使用者對錶或者試圖的操作,增刪改查

alter 修改 、delete 刪除、select 查詢、inster 插入、update 修改資料

index 索引 reference引用、excute 執行

查詢物件許可權:

select distinct privilege from dba_tab_privs;

grant select on socct.emp to ken;//整個表

grant all on socct,emp(sal) to ken;// 一列

with grant option 被授予的使用者可以把授予的許可權授予其他使用者(只能給使用者)

**使用者許可權:revoke 如果使用者把授予的使用者許可權收於了其他使用者,那麼其他使用者的也會受到牽連

revoke select on emp from ken;

方案:建立使用者時oracle資料庫會自動聲稱乙個與使用者名稱想同的方案;(資料物件,表、試圖、觸發器、儲存過程)

角色:包含多種許可權,使用角色為了簡化許可權的管理。分為預定義角色,自定義角色

預定義角色:connect、resource、dba

connect 角色:alter session、createcluster、create database link、create session、

create table、 create view、createsequence

resource角色:createtable\create indextype\create cluster\create type\create procedure \createtrigger

dba 角色:所有的系統許可權

自定義角色:具有create role 的系統許可權的使用者

建立角色:create role 角色名 notidentified;

create role 角色名 identified by 驗證密碼;

給角色授予許可權(dba使用者):注意使用者許可權不可以with admin option

grant create session to 角色名 withadmin option;

drop 角色名; //刪除角色,刪除角色後,被授予該角色的使用者也沒有相應的許可權l;

查詢角色:

select * from dab_roles;\\查詢所有角色

select privilege,admin_optin fromrol_sys_privs where role=』角色名』;//顯示角色所有的系統許可權

sys_tab_privs//查詢使用者許可權

查詢使用者擁有的角色

select grabted_role,default_role fromdab_role_privs where granter=』使用者名稱』

oracle高階 角色

角色就是相關許可權的命令集合,使用角色的主要目的就是為了簡化許可權的管理,方便進行許可權的批量授權。角色分為預定義和自定義角色兩類。一 預定義角色 預定義角色是指oracle所提供的角色,每種角色都用於執行一些特定的管理任務,常用的預定義角色有 connect,resource,dba。1.conn...

Oracle使用者許可權角色

skd和rh使用者的表都會保留,skd不能建立新錶,如a答案解析,但是rh使用者可以建立新錶。dba只是把skd的建立表許可權收回,oracle系統許可權不具有級聯收回的功能 sys test0910 grant mgrrole,drop any table,create any directory...

Oracle 許可權 使用者 角色

drop user ctq cascade 注意 cascade 先刪除使用者下的所有物件然後再刪除使用者 當前登入的使用者不能夠被刪除 登入 create session 建表許可權 create table 最高許可權 dba 1.建立使用者 create urser ctq identifie...