表空间:
oracle 使用表空间来管理数据库的对象(表,序列,过程,函数,游标等)。
oracle的逻辑结构
oracle 数据库 =》 表空间 =》 表 序列 过程 等对象
oracle的物理结构
oracle 数据库 =》oracle的数据文件 =》数据段=》数据区间=》数据块
oracle中所有数据都存在数据文件中。
oracle的数据文件分三种
1,控制文件,以ctl结尾,控制文件中存储oracle运行所需要的字典,用户 等对象。
2,日志文件,以log 存储oracle操作产生的日志文件,还包含oracle的重做日志。
3,数据文件。存储用户或者系统创建的对象
表空间也是对象,需要存储到数据文件中,所以创建表空间的时候需要指定使用哪个数据文件。
创建表空间的语法:
create tablespace 表空间名称
datafifile 'D: est_tab est01.dbf' 指定表空间使用的数据文件,如果文件不存在会自动创建
size 50m 表空间的初始大小
autoextend on next 30m 表空间如果空间不够用了,下次自动扩展的大小
maxsize 300m 指定表空间的最大存储空间;
-- 创建表空间 create tablespace tab_test01 --指定使用的数据文件 datafile 'D: est_tab est01.dbf' --指定表空间的初始大小 size 50m --当表空间不够用时,下次自动增长的大小 autoextend on next 30m --表空间自动增长的最大值 maxsize 300m;
创建表空间的参数 除了表空间名称和数据文件,初始值大小外都是可选的:
-- 创建表空间 create tablespace tab_test02 --指定使用的数据文件 datafile 'D: est_tab est02.dbf' --指定表空间的初始大小 size 50m;
表空间用到的物理文件,不要在磁盘上直接删除,否则数据库将不能正常启动,如果要删除数据文件,需要先删除表空间。
drop tablespace tab_test02;
oracle中有内置的默认的表空间:(users01)
1,临时表空间,存储oracle数据库运行产生的临时数据
2,重做表空间 ,存储数据库产生的重做文件。
3,用户表空间,存储默认用户的数据。当创建用户 且用户不指定默认表空间的时候会使用该表空间。
权限管理:
oracle中使用角色来批量的管理权限,常用的角色有三种 :
connect 连接数据库的角色 ,可以执行数据库的增删改查,但是不能执行数据库表的增删改,一般在开发环境中给
用户赋予这种角色
resource 开发者角色 。可以执行数据库对象的增删改查。我们一般在开发中使用这种角色。
dba 数据库管理员角色。最高权限,可以执行数据库的任何操作。一般不建议使用这种角色。
给用户赋予角色可以使用如下语句:
grant 角色名[,角色名2,角色名3] to 用户;
--为张三用户赋予连接的权限 grant connect to zhangsan; --为张三赋予开发权限 grant resource to zhangsan; --为张三同时赋予连接和开发权限 grant connect ,resource to zhangsan;
撤销权限可以使用如下语句:
--撤销张三的开发权限
revoke resource from zhangsan;