Oracle数据库管理
一、Oracle 的(资源限制)概要文件
为了控制系统资源的使用, 可以利用资源限制概要文件. 资源限制概要文件是 Oracle 安全策略的重要组成部分, 利用资源限制概要文件可以对数据库用户进行基本的资源限制, 而且还可以对用户的口令进行管理.
1、使用资源限制概要文件可以限制下列资源的使用
- 每个会话或每个语句的 CPU 时间(以百分之一秒计)
- 每个用户的并发数据库会话
- 每个会话的最大链接事件和空闲时间(以分计)
- 可供多线程服务器会话使用的最大的服务器内存.
2、使用资源限制概要文件可以对每个指定此概要文件的用户账号进行一下设置
- 允许用户连续输入错误口令的次数, 在此之后 Oracle 将锁定账户
- 口令的过期时间(以天计)
- 允许用户使用一个到期口令的天数, 这之后 Oracle 将锁定账号
- 是否检查一个账号口令的复杂性, 以防止账号使用明显的口令
3、每个 Oracle 数据库都有一个默认的资源概要文件, 名为 DEFAULT。
当创建一个新的数据库用户且不对用户分配一个特定的概要文件时, Oracle 自动给用户分配数据库的 DEFAULT 概要文件. 默认时,数据库 DEFAULT 概要文件的所有资源限制设置为无限制的.
二、模式:
- 模式:组织相关数据库对象的一个逻辑概念, 与数据库对象的物理存储无关. 一个模式只能属于一个数据库用户, 而且模式的名称与用户的名称相同.
- Oracle 数据库的每个用户都拥有唯一的模式. 默认情况下, 用户所创建的所有模式对象都保存在自己的模式中.在 Oracle 数据库中模式与用户账号为一一对应的关系
- 如果要从一个模式中引用另一个模式中的对象, 可以使用 点表示法. 不同模式中的对象名可以重复.
用户wanyne要访问 scott 用户的 emp 表, scott.emp
三、模式对象和非模式对象
- 能包含在模式中的对象称为模式对象.
- Oracle 数据库中有许多类型的对象, 但不是所有的对象都可以组织在模式中. 可以组织在模式中的对象有: 表, 索引, 触发器等.
- 有一些不属于任何模式的数据库对象, 称为非模式对象. 如: 表空间, 用户账号, 角色, 概要文件等.
四、用户的默认表空间
- 表空间是数据库的逻辑存储设备, 它把数据库信息组织成物理存储空间.
- 表空间由数据文件组成.用户的各种模式对象(如表, 索引, 过程, 触发器等) 都是放在表空间中.
- 对每个数据库用户, 都可以设置一个默认表空间. 当用户创建一个新的数据库对象(如表), 并且不明确地为此对象指定表空间时, Oracle 会把所创建的这个新数据库对象存放到用户默认的表空间中.
- 如果不给用户指定默认表空间, 则用户的默认表空间为 USERS 表空间.
五、用户的临时表空间
- 一般, SQL 语句在完成任务时需要临时工作空间. 例如:一个用来连接和排序大量的查询需要临时工作空间来存放结果. 除非另外指定, 一般情况下, 用户的临时表空间是 TEMP 表空间.
- 若数据库中没有创建 TEMP 表空间, 则用户的临时表空间为 SYSTEM 表空间.
- 因为 SYSTEM 表空间是用来保存数据库系统信息(数据库自身信息的内部系统表和视图 ---- 数据字典; 所有 PL/SQL 程序的源代码 ---- 包括函数, 触发器等)的. 如果用户大量使用此表空间存储自己的数据, 将会影响系统的执行效率. 因此一般不建议用户使用 SYSTEM 表空间
六、权限管理
- 在为一个 Oracle 数据库系统创建用户之后, 这些用户既不能与数据库服务器连接, 也不能做任何事情, 除非他们具有执行特定数据库操作的权限.
- Oracle 中的数据库访问权限类型共有两种:
1、系统权限: 一种功能很强的权限, 他向用户提供了执行某一种或某一类型的数据库操作的能力.
2、对象权限: 控制用户是否能在特定数据库对象(如表, 视图或存储过程) 上执行特定类型的操作.
①、常用的系统权限
②、使用系统权限
- 用户连接到数据库必须具备 create session 权限.
- 如果用户具有 create any procedure 系统权限, 则能够创建, 修改, 删除或执行任何存储过程, 程序包和函数
- 如果用户具有 create any table 系统权限, 则能够在自己的模式中创建, 修改, 删除或查询任何表
- 开发人员一般需要 create table, create view 和 create type 系统权限.
③、常用的对象权限
七、利用角色进行权限管理
- 数据库应用程序所需要的系统权限和对象权限很多. 为了使 ”安全管理” 成为比较容易的工作, 可以利用角色
- 角色(role): 系统权限和对象权限的一个集合. 可以将角色授予 用户, 被授予角色的用户会自动拥有角色所具有的权限. 如果修改了角色所拥有的权限, 则被授予角色的用户的权限也会随之自动修改.