Oracle 11g 数据库实验7 数据库安全管理

1、实验目的

(1)掌握Oracle数据库安全控制的实现。

(2)掌握Oracle数据库用户管理。

(3)掌握Oracle数据库权限管理。

(4)掌握Oracle数据库角色管理。

(5)了解Oracle数据库概要文件的管理。

(6)了解Oracle数据库审计。

2、实验环境

Oracle 11G

3、实验要求

(1)为BOOKSALES数据库创建用户

(2)为BOOKSALES数据库用户进行权限授予与回收。

(3)为BOOKSALES数据库创建角色,利用角色为用户授权。

(4)为BOOKSALES数据库创建概要文件,并指定给用户,

(5)对BOOKSALES数据库中的用户操作进行审计。

4、实验内容、过程与结果

(1)创建一个名为Tom的用户,采用口令认证方式,口令为Tom,默认表空间为USERS表空间,默认临时表空间为TEMP,在USERS表空间上配额为10MB,在BOOKTBS1表空间上的配额为50MB。

CREATE USER TOM IDENTIFIED BY TOM DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP QUOTA 10M ON USERS QUOTA 50M ON BOOKTBS1;

(2)创建个名为Joan的用户,采用口令认证方式, 口令为Joan,默认表空间为BOOKTBS2表空间,默认临时表空间为TEMP,在USERS表空间上配额为10MB,在BOOKTBS2表空间上的配额为20MB、该用户的初始状态为锁定状态。

CREATE USER JOAN IDENTIFIED BY JOAN DEFAULT TABLESPACE BOOKTBS2 TEMPORARY TABLESPACE TEMP QUOTA 10M ON USERS QUOTA 20M ON BOOKTBS2 ACCOUNT LOCK;

(3)为方便数据库中用户的登录,为BOOKSALES 数据库中所有用户授予CREATESESSION系统权限。

GRANT CREATE SESSION TO PUBLIC;

(4)分别使用Tom用户和Joan用户登录BOOKSALES数据库,测试是否成功。

CONN TOM/TOM@BOOKSALES
CONN JOAN.JOAN@BOOKSALE

(5)为Joan用户账户解锁,并重新进行登录。

CONN SYS AS SYSDBA
ALTER USER JOAN ACCOUNT UNLOCK;
CONN JOAN/JOAN@BOOKSALES;

(6) Tom 用户和Joan用户登录成功后,分别查询books表、customers 表中的数据.

SELECT * FROM BS.BOOKS;
SELECT * FROM BS.CUSTOMERS;

注意:这里是查不到bs用户的表的,继续往下面做即可!!

(7)为Tom用户授予CREATE TABLE、CREATE VIEW系统权限,并可以进行权限传递:将图书销售系统中的各个表的SELECT、UPDATE、DELETE、INSERT 对象权限授予Tom用户,也具有传递性。

CONN SYS AS SYSDBA
GRANT CREATE TABLE,CREATE VIEW TO TOM WITH ADMIN OPTION;
CONN BS //这里可以不切换
GRANT SELECT,UPDATE,DELETE,INSERT ON BS.CUSTOMERS TO TOM WITH GRANT OPTION;
GRANT SELECT,UPDATE,DELETE,INSERT ON BS.PUBLISHERS TO TOM WITH GRANT OPTION;
GRANT SELECT,UPDATE,DELETE,INSERT ON BS.BOOKS TO TOM WITH GRANT OPTION;
GRANT SELECT,UPDATE,DELETE,INSERT ON BS.ORDERS TO TOM WITH GRANT OPTION;
GRANT SELECT,UPDATE,DELETE,INSERT ON BS.ORDERITEM TO TOM WITH GRANT OPTION;
GRANT SELECT,UPDATE,DELETE,INSERT ON BS.PROMOTION TO TOM WITH GRANT OPTION;

(8) Tom用户将图书销售系统中的customers表、publishers 表、books 表的查询权限以及CREATE VIEW、CREATE TABLE的系统权限授予Joan用户。

CONN TOM/TOM
GRANT SELECT ON BS.CUSTOMERS TO JOAN;
GRANT SELECT ON BS.PUBLISHERS TO JOAN;
GRANT SELECT ON BS.BOOKS TO JOAN;
GRANT CREATE TABLE,CREATE VIEW TO JOAN;

(9)利用Joan用户登录BOOKSALES数据库,查询customers表、publishers 表、books表中的数据。创建一个包含出版社及其出版的图书信息的视图publisher book.

CONN JOAN/JOAN
SELECT * FROM BS.CUSTOMERS;
SELECT * FROM BS.PUBLISHERS;
CREATE VIEW PUBLISHERS_VIEW AS SELECT NAME,CONTACT,PHONE FROM BS.PUBLISHERS;

(10) Tom用户回收其授予Joan用户的CREATE VIEW的系统权限。

REVOKE CREATE VIEW FROM JOAN;

(11) Tom用户回收其授予Joan用户的在customers表上的SELECT权限。

REVOKE SELECT ON BS.CUSTOMERS FROM JOAN;

(12)利用system用户登录BOOKSALES数据库,回收Tom用户所有具有的CREATETABLE系统权限以及在customers表、publishers 表、books 表上SELECT权限。

CONN SYSTEM/root
REVOKE CREATE TABLE FROM TOM;
REVOKE SELECT ON BS.CUSTOMERS FROM TOM;
REVOKE SELECT ON BS.PUBLISHERS FROM TOM;
REVOKE SELECT ON BS.BOOKS FROM TOM;

(13)分别查询Tom用户、Joan 用户所具有的对象权限和系统权限详细信息。

SELECT * FROM USER_SYS_PRIVS;

(14)创建一个角色bs­_role, 将BOOKSALES数据库中books表的所有对象权限以及对customers表、publishers 表、orders表的SELECT权限授予该角色。

CREATE ROLE BS_ROLE NOT IDENTIFIED;
GRANT SELECT,UPDATE,DELETE,INSERT ON BS.BOOKS TO BS_ROLE;
GRANT SELECT ON BS.CUSTOMERS TO BS_ROLE;
GRANT SELECT ON BS.PUBLISHERS TO BS_ROLE;
GRANT SELECT ON BS.ORDERS TO BS_ROLE;

(15)将bs_role角色授予Joan用户,将CREATE SESSION、 RESOURCE、bs_ role角色授予Tom用户。

GRANT BS_ROLE TO JOAN;
GRANT CREATE SESSION,RESOURCE,BS_ROLE TO TOM;

(16)创建一个bs_profile1 的概要文件,限定该用户的最长会话时间为30分钟,如果连续10分钟空闲,则结束会话。同时,限定其口令有效期为20天,连续登录2次失败后将锁定账户,10天后自动解锁。

CREATE PROFILE BS_PROFILE1 LIMIT CONNECT_TIME 30 IDLE_TIME 10 PASSWORD_LIFE_TIME 20 FAILED_LOGIN_ATTEMPTS 2 PASSWORD_LOCK_TIME 10;

(17) 创建一个概要文件bs_profile2, 要求每个用户的最多会话数为3个,最长的连接时间为60分钟,最大空闲时间为20分钟,每个会话占用CPU的最大时间为10秒:用户最多尝试登录次数为3次,登录失败后账户锁定日期为7天。

CREATE PROFILE BS_PROFILE2 LIMIT SESSIONS_PER_USER 3 CONNECT_TIME 60 IDLE_TIME 20 CPU_PER_CALL 10 FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 7;

(18)将概要文件bs_profle1 指定给Tom用户,将概要文件bs_profile2 指定给Joan用户。

ALTER USER TOM PROFILE BS_PROFILE1;
ALTER USER JOAN PROFILE BS_PROFILE2;

后记:最后这里附上查各种权限的语句,

SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='TOM';
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='JOAN';
SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE='TOM';
SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE='JOAN';
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE='TOM';
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE='JOAN';
SELECT * FROM ROLE_SYS_PRIVS WHERE ROLE='BS_ROLE';
SELECT * FROM ROLE_TAB_PRIVS WHERE ROLE='BS_ROLE';

注意:如果在19题内的登录会话数不起作用,需输入一下语句解锁功能

ALTER SYSTEM SET RESOURCE_LIMIT = TRUE;

本次实验内容到此为止,内容仅供参考。

Oracle 11g 数据库 实验7 数据库安全管理相关推荐

  1. 数据库实验:数据库和表、查询、视图与安全性、存储过程及游标、触发器、综合实验-水果商店进阶

    数据库实验:数据库和表.查询.视图与安全性.存储过程及游标.触发器.综合实验-水果商店进阶 实验一.数据库和表 源码1: 源码2: 小结 实验二.查询 源码 小结 实验三.视图.安全性 源码: 小结 ...

  2. 数据库实验:数据库高级查询

    数据库实验:数据库高级查询 实验过程 (1) IN 嵌套查询 (2) 单层EXISTS 嵌套查询 (3) FROM 子句中的嵌套查询 (4) 集合查询(交) (5) 集合查询(并) (6) 集合查询( ...

  3. xorm oracle,Golang + Oracle 11g + XORM + go-oci8 的数据库驱动测试(超详细)

    一.系统环境介绍: Windows 10 Oracle 11g 64bit OCI -> instantclient-basic-windows.x64-12.2.0.1.0 OCI SDK - ...

  4. Oracle 11g 使用RMAN备份数据库

    使用Oracle自带的备份恢复工具RMAN(Recovery Manager)具有以下几种优势: 支持增量备份 能自动管理备份文件 自动化备份与恢复 备份的文件有效性检查 配置快闪恢复区(flash ...

  5. 数据库实验三 数据库系统设计综合实验实验报告

    广州大学学生实验报告 开课学院及实验室:计算机科学与网络工程学院   2023年5月24日 学院 计算机学院 年级.专业.班级 计科213 姓名 edw-Snow 学号 321061000** 课程实 ...

  6. 数据库实验8 数据库安全性(用户与权限管理)实验

    实验8 数据库安全性(用户与权限管理)实验 8.1实验目的及要求 加深对数据库安全性的理解 8.2实验内容 数据库用户与权限管理 8.3实验步骤 8.3.1创建新用户 1.创建新用户: Mysql&g ...

  7. 数据库实验7 数据库视图的定义与使用

    实验7 数据库视图的定义与使用 7.1实验目的及要求 掌握视图的用法,加深对视图作用的理解 7.2实验内容 1.创建.修改和删除视图 2.利用视图进行查询 7.3实验步骤 7.3.1视图的创建(查看视 ...

  8. 数据库实验6 数据库的分组查询和统计查询

    实验6 数据库的分组查询和统计查询 6.1实验目的及要求 熟练掌握数据查询中的分组.统计.计算和集合的操作方法 6.2实验内容 使用聚集函数查询.分组计算查询.集合查询 6.3实验步骤 6.3.1使用 ...

  9. 数据库实验5 数据库的嵌套查询实验

    实验5 数据库的嵌套查询实验 5.1实验目的及要求 加深对嵌套查询语句的理解 5.2实验内容 使用IN.比较符.ANY或ALL和EXIST操作符进行嵌套查询操作 5.3实验步骤 5.3.1使用带IN谓 ...

最新文章

  1. 【C++】C++11 STL算法(九):番外篇
  2. mflac文件解析工具_9 个爱不释手的 JSON 工具
  3. 详解集合之HashMap——HashMap内部结构,自动扩容机制,为什么需要重写hashcode和equals方法
  4. Python(8):模块内置变量
  5. Even for transaction data request, metadata is still needed as prerequisite
  6. SAP CRM partner主数据的地址格式设计
  7. mysql union as 注入_sql注入入门 之 mysql 常规注入 [ union方式 ]
  8. 听歌识曲java_homework_3
  9. 菜鸟编译OPenJDK全过程记录
  10. REACT打印页面组件
  11. 两个月攻克系统集成项目管理工程师
  12. 04-Groovy-运算符
  13. 用canvas写个接水管小游戏
  14. 用python爬取前程无忧网大数据岗位信息并分析
  15. Wordpress 4.6 任意命令执行漏洞
  16. 安装 tez-0.10.1
  17. 【磨刀不误砍柴工】安装 virtuoso IC617 遇到 version `CXXABI_1.3.8‘ not found 的解决方法
  18. Linux系统将几块磁盘制作lvm_linux卷并分区挂载
  19. 德州扑克实践之刚开始!------发牌
  20. vc mysql sniffer_MySQL抓包工具:MySQL Sniffer

热门文章

  1. STM32上手-STWingSKIT_BC28学习笔记(一)环境搭建和LED灯点亮
  2. 创业明星|她曾是中国互联网界最年轻的首席运营官:不靠美貌一样征服
  3. 第十七次ScrumMeeting博客
  4. 第十六次ScrumMeeting博客
  5. kali Linux2019 安装(中文)搜狗输入法
  6. 前端开发规范【范本】
  7. 删除Mac自带的 ABC 输入法?
  8. 全球语言标准码及其国家或地区对照
  9. 【Android+OkHttp3+Jsoup】 模拟登录教务系统 抓取课表和成绩
  10. 2015 重庆市赛 解题报告