表空間
表空間是對(duì)Oracle數(shù)據(jù)庫的邏輯劃分蹦锋,一個(gè)數(shù)據(jù)庫有一個(gè)或多個(gè)表空間兆沙,一個(gè)表空間對(duì)應(yīng)著一個(gè)或多個(gè)的物理數(shù)據(jù)庫文件。Oracle數(shù)據(jù)庫就相當(dāng)于一個(gè)房子莉掂,而表空間就相當(dāng)于房間中的一間屋子葛圃。
表空間可以用于區(qū)分應(yīng)用程序與用戶,并為其配置表空間的額度和控制其所占用的磁盤位置。
表空間的創(chuàng)建和分配需要由系統(tǒng)管理員來完成(system):
- 創(chuàng)建表空間
create tablespace user_space -- 表空間名
datafile 'D:\Data\Oracle\user_space2.dbf' -- 表空間地址
size 100m -- 表空間初始化大小
autoextend on -- 允許自增
next 20m -- 每次增加的大小
maxsize 1024m; -- 上限
- 創(chuàng)建臨時(shí)表空間
臨時(shí)表空間主要放置一些臨時(shí)數(shù)據(jù)库正,臨時(shí)表空間會(huì)自己刪除(可以選擇會(huì)話結(jié)束就刪除)曲楚。
create temporary tablespace test_temp -- 表空間名
tempfile 'D:\Data\Oracle\test_temp.dbf' -- 表空間地址
size 128m -- 表空間初始化大小
autoextend on -- 允許自增
next 20m -- 每次增加的大小
maxsize 1024m; -- 上限
- 刪除表空間
drop tablespace test_temp; -- 刪除表空間,不刪除文件
drop tablespace test_temp including contents and datafiles; -- 刪除表空間褥符,并刪除文件
- 查詢表空間
select t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) as ts_size -- 單位為 M
from dba_tablespaces t, dba_data_files d
where t.tablespace_name = d.tablespace_name
group by t.tablespace_name;
用戶龙誊、角色和權(quán)限
用戶就是數(shù)據(jù)庫的使用者,比如我們就是淘寶用戶:
- 創(chuàng)建用戶
create user diz -- 用戶名
identified by "123456" -- 密碼
default tablespace user_space -- 指定表空間
temporary tablespace test_temp; -- 指定臨時(shí)表空間
- 查詢用戶
select username from dba_users;
在Oracle中喷楣,如果每次新增一個(gè)用戶都對(duì)其進(jìn)行單獨(dú)的授權(quán)操作的話趟大,將會(huì)很麻煩。大部分時(shí)候铣焊,一些用戶需要的權(quán)限是相同的逊朽,所以,可以把這些用戶歸為一類曲伊,就是角色叽讳。
將角色賦給一個(gè)用戶,這個(gè)用戶就擁有了這個(gè)角色中的所有權(quán)限坟募,角色的出現(xiàn)就是為了簡化授權(quán)操作:
- 創(chuàng)建角色
create role base_user;
- 將角色賦予某用戶
grant base_user to diz;
- 查詢角色
select role from dba_roles;
權(quán)限可以讓某一用戶擁有操作某項(xiàng)功能的權(quán)利岛蚤。在Oracle中有系統(tǒng)權(quán)限和實(shí)體權(quán)限這兩大類:
- 系統(tǒng)權(quán)限
權(quán)限名 | 描述 |
---|---|
DBA | 全部特權(quán)、系統(tǒng)最高權(quán)限懈糯、可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu) |
RESOURCE | 可以創(chuàng)建實(shí)體灭美、不可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu) |
CONNECT | 可以登錄Oracle、不可以創(chuàng)建實(shí)體昂利、不可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu) |
-
實(shí)體權(quán)限
實(shí)體權(quán)限分為 select届腐、 update、insert蜂奸、alter犁苏、index、delete 和 all 等權(quán)限扩所,all 為上述的所有實(shí)體權(quán)限围详。
為角色/用戶賦予權(quán)限
grant connect to diz;
grant resource, connect to base_user;
grant create any table to diz;
grant all on table_name to base_user;
- 收回權(quán)限
revoke connect from diz;