oracle

Oracle 表空间、用户、角色和权限基本操作

2019-04-08  本文已影响0人  越过山丘xyz

表空间

表空间是对Oracle数据库的逻辑划分,一个数据库有一个或多个表空间,一个表空间对应着一个或多个的物理数据库文件。Oracle数据库就相当于一个房子,而表空间就相当于房间中的一间屋子。

表空间可以用于区分应用程序与用户,并为其配置表空间的额度和控制其所占用的磁盘位置。

表空间的创建和分配需要由系统管理员来完成(system):

create tablespace user_space  -- 表空间名
datafile 'D:\Data\Oracle\user_space2.dbf' -- 表空间地址
size 100m -- 表空间初始化大小
  autoextend on -- 允许自增
  next 20m -- 每次增加的大小
  maxsize 1024m; -- 上限
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;

用户、角色和权限

用户就是数据库的使用者,比如我们就是淘宝用户:

create user diz -- 用户名
identified by "123456" -- 密码
default tablespace user_space -- 指定表空间
temporary tablespace test_temp; -- 指定临时表空间
select username from dba_users;

在Oracle中,如果每次新增一个用户都对其进行单独的授权操作的话,将会很麻烦。大部分时候,一些用户需要的权限是相同的,所以,可以把这些用户归为一类,就是角色。

将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限,角色的出现就是为了简化授权操作:

create role base_user;
grant base_user to diz;
select role from dba_roles;

权限可以让某一用户拥有操作某项功能的权利。在Oracle中有系统权限和实体权限这两大类:

权限名 描述
DBA 全部特权、系统最高权限、可以创建数据库结构
RESOURCE 可以创建实体、不可以创建数据库结构
CONNECT 可以登录Oracle、不可以创建实体、不可以创建数据库结构
grant connect to diz;
grant resource, connect to base_user;
grant create any table to diz;
grant all on table_name to base_user;
revoke connect from diz;
上一篇 下一篇

猜你喜欢

热点阅读