项目4 创建图书借阅网站项目开发用户

4.2 任务1——用户管理

--- 4.2.2 创建用户 ---
-- 例4.1 --

CREATE USER BOOKUSER1
IDENTIFIED BY BOOKUSER1;
-- 创建用户BOOKUSER1,口令为BOOKUSER1。 --

-- 例4.2 --

CREATE USER BOOKUSER
IDENTIFIED BY BOOKUSER
DEFAULT TABLESPACE BOOKTBS
QUOTA 10M ON USERS
TEMPORARY TABLESPACE BOOKTEMPTBS;
-- 创建用户BOOKUSER,口令为BOOKUSER,默认永久表空间为BOOKTBS,在该表空间的配额为10MB;默认临时表空间为BOOKTEMPTBS. --

--- 4.2.3 查看用户 ---
-- 例4.3 --

SELECT USERNAME,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE
FROM DBA_USERS
WHERE USERNAME = 'BOOKUSER';
-- 查询当前数据库中所有用户名称及用户默认表空间等信息。 --

--- 4.2.4 修改用户 ---
-- 例4.4 --

ALTER USER BOOKUSER1
IDENTIFIED BY NewPassword;
-- 将用户BOOKUSER1的密码修改为NewPassword。 --

-- 例4.5 --

ALTER USER BOOKUSER1 PASSWORD EXPIRE;
-- 设置用户BOOKUSER1的密码立即过期,在下一次登录时必须修改密码。 --

-- 例4.6 --

ALTER USER BOOKUSER1 ACCOUNT LOCK;
-- 锁定用户BOOKUSER1,使其无法登陆。 --

-- 例4.7 --

ALTER USER BOOKUSER1 ACCOUNT UNLOCK;
-- 解除对用户BOOKUSER1的锁定。 --

-- 例4.8 --

ALTER USER BOOKUSER
DEFAULT TABLESPACE BOOKTBS
QUOTA 20M ON BOOKTBS;
-- 修改用户BOOKUSER的默认表空间为BOOKTBS,并指定在该表空间的配额为20MB。 --

--- 4.2.5 删除用户 ---
-- 例4.9 --

DROP USER BOOKUSER1;
-- 删除用户BOOKUSER1. --

-- 例4.10 --

DROP USER BOOKUSER1 CASCADE;
-- 删除用户的同时,删除用户的所有对象。 --

4.3 任务2——权限管理

--- 4.3.1系统权限管理 ---
-- 例4.11 --

CONN SYS /BOOKBORROW AS SYSDBA; -- 以管理员的身份连接。 --
GRANT CREATE SESSION TO BOOKUSER; -- 给用户赋予连接数据库权限。 --
CONN BOOKUSER /BOOKUSER; -- 以用户BOOKUSER连接。 --
-- 授予用户BOOKUSER连接数据库的权限 --

-- 例4.12 --

select * from user_sys_privs;
-- 查看用户BOOKUSER拥有的系统权限。 --

-- 例4.13 --

CONN SYS /BOOKBORROW AS SYSDBA; -- 以管理员的身份连接 --
REVOKE CREATE SESSION FROM BOOKUSER; -- 撤销用户连接数据库权限 --
CONN BOOKUSER /BOOKUSER; -- 再次使用户BOOKUSER连接,失败 --

--- 4.3.2 对象权限管理 ---
-- 例4.14 --

select * from SCOTT.EMP; -- 未授权前查看SCOTT用户emp表 --
CONN SYS /BOOKBORROW AS SYSDBA; -- 切换管理员登录 --
GRANT SELECT ON SCOTT.EMP TO BOOKUSER; -- 授权用户BOOKUSER查看SCOTT用户emp表中的数据的对象权限 --
CONN BOOKUSER /BOOKUSER;
select * from SCOTT.EMP; -- 切换到用户BOOKUSER连接,然后再次查看SCOTT用户emp表中的数据 --

-- 例4.15 --

update scott.emp set mgr=7698
where empno=7369; -- 未授权列权限前修改SCOTT用户mgr列值 --
CONN SYS /BOOKBORROW AS SYSDBA; -- 切换管理员登录 --
GRANT UPDATE ON SCOTT.EMP TO BOOKUSER; -- 授权用户BOOKUSER查看SCOTT用户emp表中的数据的对象权限 --
CONN BOOKUSER /BOOKUSER;
update scott.emp set mgr=7698
where empno=7369;
-- 授权用户BOOKUSER修改SCOTT用户emp表中mgr列数据的对象权限。 --

-- 例4.16 --

SELECT * FROM USER_TAB_PRIVS_RECD;
-- 查看用户BOOKUSER拥有的对象权限 --

-- 例4.17 --

CONN SYS /BOOKBORROW AS SYSDBA; -- 切换管理员登录 --
REVOKE SELECT ON SCOTT.EMP FROM BOOKUSER; -- 回收用户BOOKUSER查看SCOTT用户emp表中的数据的对象权限 --

4.4 任务3——角色管理

--- 4.4.1 系统预定义角色 ---
-- 例4.18 --

SELECT ROLE FROM DBA_ROLES;
-- 查看当前数据库中所有预定义角色 --

-- 例4.19 --

SELECT PRIVILEGE FROM DBA_SYS_PRIVS WHERE GRANTEE = 'RESOURCE';
-- 查看RESOURCE角色所拥有的系统权限。 --

--- 4.4.2 自定义角色 ---
-- 例4.20 --

CONN SYS /BOOKBORROW AS SYSDBA; -- 切换管理员登录。 --
CREATE ROLE BOOKROLE
IDENTIFIED BY BOOKROLE;
-- 创建图书借阅信息网站系统开发角色BOOKROLE,并设置密码为BOOKROLE。 --

-- 例4.21 --

GRANT CREATE SESSION TO BOOKROLE;
-- 给角色BOOKROLE授予CREATE SESSION权限。 --

-- 例4.22 --

GRANT RESOURCE TO BOOKROLE;
-- 给角色BOOKROLE赋予RESOURCE角色所有的全部权限。 --

-- 例4.23 --

SELECT ROLE,PRIVILEGE FROM ROLE_SYS_PRIVS
WHERE ROLE = 'BOOKROLE';
-- 查看角色BOOKROLE所拥有的全部权限。 --

-- 例4.24 --

SELECT ROLE,GRANTED_ROLE FROM ROLE_ROLE_PRIVS
WHERE ROLE = 'BOOKROLE';
-- 查看角色BOOKROLE所拥有的角色信息。 --

-- 例4.25 --

GRANT BOOKROLE TO BOOKUSER;
-- 为用户BOOKUSER赋予对应的开发角色BOOKROLE。 --

-- 例4.26 --

SELECT GRANTEE,GRANTED_ROLE FROM DBA_ROLE_PRIVS
WHERE GRANTEE = 'BOOKUSER';
-- 查看用户BOOKUSER的角色 --

-- 例4.27 --

ALTER USER BOOKUSER DEFAULT ROLE NONE;
-- 屏蔽用户BOOKUSER的角色 --

-- 例4.28 --

ALTER USER BOOKUSER DEFAULT ROLE BOOKROLE;
-- 激活用户BOOKUSER的角色BOOKROLE --

-- 例4.29 --

ALTER USER BOOKUSER DEFAULT ROLE ALL;
-- 激活用户BOOKUSER的所有角色 --

-- 例4.30 --

REVOKE BOOKROLE FROM BOOKUSER;
-- 回收用户BOOKUSER的开发角色BOOKROLE. --

-- 例4.31 --

ALTER ROLE BOOKROLE
IDENTIFIED BY BOOKBORROWROLE;
-- 修改角色BOOKROLE的口令 --

-- 例4.32 --

DROP ROLE BOOKROLE;
-- 删除角色BOOKROLE --
署名-非商业性使用-禁止演绎 4.0 国际 协议(CC BY-NC-ND 4.0)
最后修改:2022 年 12 月 23 日
如果觉得我的文章对你有帮助,可以点个赞再走喔