Oracle使用者授權與管理淺析

來源:互聯網
上載者:User

系統許可權( Database System Privilege )可以讓使用者執行特定的命令集。例如,CREATE TABLE許可權允許使用者建立表,GRANT ANY PRIVILEGE 許可權允許使用者授予任何系統許可權。對象許可權( Database Object Privilege )可以讓使用者能夠對各個對象進行某些操作。例如DELETE許可權允許使用者刪除表或視圖的行,SELECT許可權允許使用者通過select從表、視圖、序列(sequences)或快照 (snapshots)中查詢資訊。


每個Oracle使用者都有一個名字和口令,並擁有一些由其建立的表、視圖和其他資源。Oracle角色(role)就是一組許可權(privilege)(或者是每個使用者根據其狀態和條件所需的訪問類型)。使用者可以給角色授予或賦予指定的許可權,然後將角色賦給相應的使用者。一個使用者也可以直接給其他使用者授權。

一、建立使用者

Oracle內部有兩個建好的使用者:SYSTEM和SYS。使用者可直接登入到SYSTEM使用者以建立其他使用者,因為SYSTEM具有建立別 的使用者的 許可權。在安裝Oracle時,使用者或系統管理員首先可以為自己建立一個使用者

這段時間在學oracle,終於把公司的資料庫成功匯入到我自己的資料庫裡了。

create使用者

 代碼如下 複製代碼

SQL> create user visiontv identified by visiontv default tablespace visiontv quota 10m on users;   
 SQL> create user visiontv identified by visiontv default tablespace visiontv quota 10m on users;    

grant privilege

SQL> grant connect,resource to visiontv;  
SQL> grant connect,resource to visiontv;  

create tablespace 
  
SQL> create tablespace visiontv datafile 'D:DBServeroracleoradataoradb01vis     
iontv.ora' size 100m reuse default storage(initial 500k next 500k pctincrease 20     
3.3. );    
SQL> create tablespace visiontv datafile 'D:DBServeroracleoradataoradb01vis   
iontv.ora' size 100m reuse default storage(initial 500k next 500k pctincrease 20   
); 

import後就可以用了。

//

建立使用者到使用者建表的步驟:
Server
建立:create user 使用者名稱 identified by "密碼";
授權:grant create session to 使用者名稱;
            grant create table to  使用者名稱;
            grant create tablespace to  使用者名稱;
            grant create view to  使用者名稱;

Client:
建立資料表空間(一般建N個存資料的資料表空間和一個索引空間):
create tablespace 資料表空間名
datafile ' 路徑(要先建好路徑)***.dbf  ' size *M
tempfile ' 路徑***.dbf ' size *M
autoextend on  --自動成長
--還有一些定義大小的命令,看需要
default storage(
initial 100K,
next 100k,
);
Server:
授予使用者使用資料表空間的許可權:
alter user 使用者名稱 quota unlimited on 資料表空間;
或 alter user 使用者名稱 quota *M on 資料表空間;
自此,才大功告成可以隨意建表,運行SQL指令碼!

//1.建資料表空間

 

 代碼如下 複製代碼
1.create tablespace OSDB datafile 'F:oracleoradataglsqjzOSDB.ora' size 100m reuse default storage(initial 500k next 500k pctincrease 20); 
create tablespace OSDB datafile 'F:oracleoradataglsqjzOSDB.ora' size 100m reuse default storage(initial 500k next 500k pctincrease 20);

2.建使用者

 
1

 代碼如下 複製代碼
.create user OSUSER identified by OSUSER 
create user OSUSER identified by OSUSER;//identified by

 後面的是密碼,前面的是使用者名稱

3.使用者授權

 代碼如下 複製代碼

 
1.grant resource,connect,RECOVERY_CATALOG_OWNER to OSUSER ;  
2. 
3.grant create table to OSUSER ;  
4. 
5.alter user OSUSER quota unlimited ON OSDB;  
6. 
7.alter user OSUSER default tablespace OSDB; 
grant resource,connect,RECOVERY_CATALOG_OWNER to OSUSER ;

grant create table to OSUSER ;

alter user OSUSER quota unlimited ON OSDB;

alter user OSUSER default tablespace OSDB;

4.刪除資料表空間

 代碼如下 複製代碼


 
1.DROP TABLESPACE TableSpaceName INCLUDING CONTENTS AND DATAFILES; 
DROP TABLESPACE TableSpaceName INCLUDING CONTENTS AND DATAFILES;


二 、刪除使用者

刪除使用者,可以使用drop user命令,如下所示:

drop user user01;

如果使用者擁有對象,則不能直接刪除,否則將返回一個錯誤值。指定關鍵字CASCADE,可刪除使用者所有的對象,然後再刪除使用者。下面的例子用來刪除使用者與其對象:

drop user user01 CASCADE;


刪除使用者

 代碼如下 複製代碼

DROP USER User_Name CASCADE 
DROP USER User_Name CASCADE

6.刪除表的注意事項

在刪除一個表中的全部資料時,須使用
 
1.TRUNCATE TABLE 表名 
TRUNCATE TABLE 表名;因為用DROP TABLE,DELETE * FROM 表名時,TABLESPACE資料表空間該表的佔用空間並未釋放,反覆幾次DROP,DELETE操作後,該TABLESPACE上百兆的空間就被耗光了。

三 、3種標準角色

Qracle為了相容以前的版本,提供了三種標準的角色(role):CONNECT、RESOURCE和DBA。

1. CONNECT Role(串連角色)

臨時使用者,特別是那些不需要建表的使用者,通常只賦予他們CONNECTrole。CONNECT是使用Oracle的簡單許可權,這種許可權只有在對其他使用者的表有訪問權時,包括select、insert、update和delete等,才會變得有意義。擁有 CONNECT role的使用者還能夠建立表、視圖、序列(sequence)、簇(cluster)、同義字(synonym )、會話(session)和與其他資料庫的鏈(link)。

2. RESOURCE Role(資源角色)

更可靠和正式的資料庫使用者可以授予RESOURCE role。RESOURCE提供給使用者另外的許可權以建立他們自己的表、序列、過程(procedure)、觸發器(trigger)、索引(index)和簇(cluster)。

3. DBA Role(資料庫管理員角色)

DBA role擁有所有的系統許可權—-包括無限制的空間限額和給其他使用者授予各種許可權的能力。SYSTEM由DBA使用者擁有。下面介紹一些DBA經常使用的典型許可權。

(1)grant(授權)命令

下面對剛才建立的使用者user01授權,命令如下:

grant connect, resource to user01;

(2)revoke(撤消)許可權

已授與權限可以撤消。例如撤消(1)中的授權,命令如下:

revoke connect, resource from user01;

一個具有DBA角色的使用者可以撤消任何別的使用者甚至別的DBA的CONNECT、RESOURCE 和DBA的其他許可權。當然,這樣是很危險的,因此,除非真正需要,DBA許可權不應隨便授予那些不是很重要的一般使用者。

撤消一個使用者的所有許可權,並不意味著從Oracle中刪除了這個使用者, 也不會破壞使用者建立的任何錶;只是簡單禁止其對這些表的訪問。其他要訪問這些表的使用者可以象以前那樣地訪問這些表。

四、建立角色

除了前面講到的三種系統角色—-CONNECT、RESOURCE和DBA,使用者還可以在Oracle建立自己的role。使用者建立的role可以由表或系統許可權或兩者的組合構成。為了建立role,使用者必須具有CREATE ROLE系統許可權。下面給出一個create role命令的執行個體:

create role STUDENT;

這條命令建立了一個名為STUDENT的role。

一旦建立了一個role,使用者就可以給他授權。給role授權的grant命令的文法與對對使用者的文法相同。在給role授權時,在grant命令的to子句中要使用role的名稱,如下所示:

grant select on CLASS to STUDENT;

現在,擁有STUDENT 角色的所有使用者都具有對CLASS 表的select許可權。

五、刪除角色

要刪除角色,可以使用drop role命令,如下所示:

drop role STUDENT;

指定的role連同與之相關的許可權將從資料庫中全部刪除。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.