一、三权分立与四权分立
三权分立系统内置3种系统管理员:数据库管理员(SYSDBA),数据库安全员(SYSSSO),数据库审计员(SYSAUDITOR)。
四权分立:数据库管理员(SYSDBA),数据库安全员(SYSSSO),数据库审计员(SYSAUDITOR),数据库对象操作员(SYSDBO)。
1.1 数据库管理员(DBA)
三权分立时,数据库管理员负责数据库运行所需的软、硬件环境、安装和升级 DM 数据库、配置 DM 数据库参数、创建主要的数据库存储结构(表空间)和对象(如表、视图、索引、角色、用户等)、监控和优化数据库性能、数据导入导出以及数据库的备份和恢复等,一般情况下也可以进行数据库的增删改查,有些版本的数据库根据客户要求不能进行增删改查。
1.2 数据库安全员(sso)
数据库安全员的主要任务就是制定安全策略,定义新的数据库安全员,设置系统的安全等级、范围和组,并为主、客体定义安全标记,从而全面提升系统安全性。
1.3 数据库审计员(AUDITOR)
数据库审计员可以设置要审计的对象和操作、定义新的数据库审计员、查看和分析审计记录。通过设置审计,几乎可以跟踪任何人在系统内执行的任何操作,为事后追查提供便利。
1.4 数据库对象操作员
数据库对象操作员是“四权分立”新增加的一类用户,可以创建数据库对象,并对自己拥有的数据库对象(表、视图、存储过程、序列、包、外部链接)具有所有的对象权限并可以授出与回收,但其无法管理与维护数据库对象。
需要说明的是,在 DM 数据库中有一个特殊的预定义用户“SYS”,此用户仅用于保存系统内部对象,并非数据库管理员,也无法进行登录。
二、用户管理
2.1创建新用户
CREATE USER <用户名> IDENTIFIED <身份验证模式>
[PASSWORD_POLICY <口令策略>][<锁定子句>][<存储加密密钥>][<空间限制子句>]
[<只读标志>][<资源限制子句>][<允许 IP 子句>][<禁止IP子句>][<允许时间子句>]
[<禁止时间子句>][<TABLESPACE子句>][<INDEX_TABLESPACE子句>]
举例说明
例 1 创建用户名为 BOOKSHOP_USER、口令BOOKSHOP_PASSWORD、会话超时为30 分钟的用户。
CREATE USER BOOKSHOP_USER IDENTIFIED BY BOOKSHOP_PASSWORD
LIMIT CONNECT_TIME 3;
2.2 修改用户语句
ALTER USER <用户名> [IDENTIFIED <身份验证模式>]
[PASSWORD_POLICY <口令策略>] [<锁定子句>] [<存储加密密钥>]
[<空间限制子句>] [<只读标志>][<资源限制子句>][<允许 IP 子句 >]
[< 禁 止 IP 子 句 >][< 允 许 时 间 子 句 >][< 禁 止 时 间 子 句 >]
[<TABLESPACE 子句>][<INDEX_TABLESPACE 子句>][<SCHEMA 子句>];
举例说明
例 修改用户 BOOKSHOP_USER,会话空闲期为无限制,最大连接数为 10。
ALTER USER BOOKSHOP_USER LIMIT SESSION_PER_USER 10,
CONNECT_IDLE_TIME UNLIMITED;
例 修改密码
ALTER USER BOOKSHOP_USER IDENTIFIED BY 123456;
例 将用户名为BOOKSHOP_USER的用户锁定
alter user BOOKSHOP_USER ACCOUNT lock;
例 将用户名为BOOKSHOP_USER的用户解锁
alter user BOOKSHOP_USER ACCOUNT unlock;
2.3 用户删除语句
删除用户
DROP USER <用户名> [RESTRICT | CASCADE];
如果未使用 CASCADE 选项,若该用户建立了数据库对象 (如表、视图、过程或函数),或其他用户对象引用了该用户的对象,或在该用户的表上存在其它用户建立的视图,DM 将返回错误信息,而不删除此用户;
如果使用了 CASCADE 选项,除数据库中该用户及其创建的所有对象被删除外,如果其他用户创建的表引用了该用户表上的主关键字或唯一关键字,或者在该表上创建了视图,DM 还将自动删除相应的引用完整性约束及视图依赖关系;
举例说明
例 1 删除用户 BOOKSHOP_USER。
DROP USER BOOKSHOP_USER;
例 2 删除用户 BOOKSHOP_OS_USER。
DROP USER BOOKSHOP_OS_USER CASCADE;
2.4 权限分配
例 将DBA权限分配给BOOKSHOP_USER
GRANT DBA to BOOKSHOP_USER;
例 将ll表的查询权限赋予BOOKSHOP_USER
grant select on ll to BOOKSHOP_USER with grant option;
三、模式对象管理
用户的模式(SCHEMA)指的是用户账号拥有的对象集,在概念上可将其看作是包含表、视图、索引和权限定义的对象。在 DM 中,一个用户可以创建多个模式,一个模式中的对象(表、视图等)可以被多个用户使用。模式不是严格分离的,一个用户可以访问他所连接的数据库中有权限访问的任意模式中的对象
3.1 创建模式
例 用户 SYSDBA 创建模式 SCHEMA1,建立的模式属于 SYSDBA。
CREATE SCHEMA SCHEMA1 AUTHORIZATION SYSDBA;
3.2 设置模式
例 SYSDBA 用户将当前的模式从 SYSDBA 换到 SALES 模式。
SET SCHEMA SALES;
3.3 删除模式
语法格式
DROP SCHEMA <模式名> [RESTRICT | CASCADE];
如果使用 RESTRICT 选项,只有当模式为空时删除才能成功,否则,当模式中存在数据库对象时则删除失败。默认选项为 RESTRICT 选项;
如果使用 CASCADE 选项,则将整个模式、模式中的对象,以及与该模式相关的依赖关系都删除。
例 以 SYSDBA 身份登录数据库后,删除 BOOKSHOP 库中模式 SCHEMA1。
DROP SCHEMA SCHEMA1 CASCADE;