Oracle实验五

1、实验目的
(1)掌握Oracle数据库安全控制的实现。
(2)掌握Oracle数据库用户管理。
(3)掌握Oracle数据库权限管理。
(4)掌握Oracle数据库角色管理。
(5)了解Oracle数据库概要文件的管理。
2、实验环境
Win7 64位,oracle11g

3、实验要求
(1)为BOOKSALES数据库创建用户。
(2)为BOOKSALES数据库用户进行权限授予与回收。
(3)为BOOKSALES数据库创建角色,利用角色为用户授权。
(4)为BOOKSALES数据库创建概要文件,并指定给用户。
4、实验内容
(1)创建一个名为Tom的用户,采用口令认证方式,口令为Tom,默认表空间为USERS表空间,默认临时表空间为TEMP,在USERS表空间上配额为10MB,在BOOKTBS1表空间上的配额为50MB。
(2)创建一个名为Joan的用户,采用口令认证方式,口令为Joan,默认表空间为BOOKTBS2表空间,默认临时表空间为TEMP,在USERS表空间上配额为10MB,在BOOKTBS2表空间上的配额为20MB。该用户的初始状态为锁定状态。
(3)为方便数据库中用户的登录,为BOOKSALES数据库中所有用户授予CREATE SESSION系统权限。
(4)分别使用Tom用户和Joan用户登录BOOKSALES数据库,测试是否成功。
(5)为Joan用户账户解锁,并重新进行登录。
(6)Tom用户和Joan用户登录成功后,分别查询books表、customers表中的数据。
(7)为Tom用户授予CREATE TABLE、CREATE VIEW系统权限,并可以进行权限传递;将图书销售系统中的各个表的SELECT、UPDATE、DELETE、INSERT对象权限授予Tom用户,也具有传递性。
(8)Tom用户将图书销售系统中的customers表、publishers表、books表的查询权限以及CREATE VIEW、CREATE TABLE的系统权限授予Joan用户。
(9)利用Joan用户登录BOOKSALES数据库,查询customers表、publishers表、books表中的数据。创建一个包含出版社及其出版的图书信息的视图publisher_book。
(10)Tom用户回收其授予Joan用户的CREATE VIEW的系统权限。
(11)Tom用户回收其授予Joan用户的在customers表上的SELECT权限。
(12)利用system用户登录BOOKSALES数据库,回收Tom用户所有具有的CREATE TABLE系统权限以及在customers表、publishers表、books表上SELECT权限。
(13)分别查询Tom用户、Joan用户所具有的对象权限和系统权限详细信息。
(14)创建一个角色bs_role,将BOOKSALES数据库中books表的所有对象权限以及对customers表、publishers表、orders表的SELECT权限授予该角色。
(15)将bs_role角色授予Joan用户,将CREATE SESSION、RESOURCE、bs_role角色授予Tom用户。
(16)创建一个bs_profile1的概要文件,限定该用户的最长会话时间为30分钟,如果连续10分钟空闲,则结束会话。同时,限定其口令有效期为20天,连续登录2次失败后将锁定账户,10天后自动解锁。
(17)创建一个概要文件bs_profile2,要求每个用户的最多会话数为3个,最长的连接时间为60分钟,最大空闲时间为20分钟,每个会话占用CPU的最大时间为10秒;用户最多尝试登录次数为3次,登录失败后账户锁定日期为7天。
(18)将概要文件bs_profile1指定给Tom用户,将概要文件bs_profile2指定给Joan用户。
(19)利用Tom用户登录BOOKSALES数据库,连续两次输入错误口令,查看账户状态;利用Joan用户登录BOOKSALES数据库,测试最多可以启动多少个会话。
5、实验过程与结果
(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数据库中所有用户授予CREATE SESSION系统权限。
grant create session to public;

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

(5)为Joan用户账户解锁,并重新进行登录。
Alter user Joan account unlock;
Conn Joan/Joan @wangwen;

(6)Tom用户和Joan用户登录成功后,分别查询books表、customers表中的数据。
Select * from bs.books;
Select * from bs.customers;
Conn Tom/Tom @wangwen;
Select * from bs.books;
Select * from bs.customers;

(7)为Tom用户授予CREATE TABLE、CREATE VIEW系统权限,并可以进行权限传递;将图书销售系统中的各个表的SELECT、UPDATE、DELETE、INSERT对象权限授予Tom用户,也具有传递性。
Grant create table,create view to Tom with admin option;
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 @wangwen;
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 @wangwen;
Select * from bs.customers;
Select * from bs.publishers;
Select * from bs.books;

create view publisher_view as select ISBN,title,author,pubdate,books.publisher_id,cost,retail,category,name
from BS.publishers,BS.books
where books.publisher_id=publishers.publisher_id;

(10)Tom用户回收其授予Joan用户的CREATE VIEW的系统权限。
Conn Tom/Tom @wangwen;
Revoke create view from Joan;

(11)Tom用户回收其授予Joan用户的在customers表上的SELECT权限。
Revoke select on bs.customers from Joan;

(12)利用system用户登录BOOKSALES数据库,回收Tom用户所有具有的CREATE TABLE系统权限以及在customers表、publishers表、books表上SELECT权限。
Conn system/Aa123456 @wangwen;
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用户所具有的对象权限和系统权限详细信息。
Conn Tom/Tom @wangwen;
select * from user_sys_privs;
select * from user_sys_privs;
Conn Joan/Joan @wangwen;
select * from user_sys_privs;
select * from user_sys_privs;

(14)创建一个角色bs_role,将BOOKSALES数据库中books表的所有对象权限以及对customers表、publishers表、orders表的SELECT权限授予该角色。
Conn system/Aa123456 @wangwen;
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_profile1指定给Tom用户,将概要文件bs_profile2指定给Joan用户。
alter user Tom profile bs_profile1;
Alter user Joan profile bs_profile2;

(19)利用Tom用户登录BOOKSALES数据库,连续两次输入错误口令,查看账户状态;利用Joan用户登录BOOKSALES数据库,测试最多可以启动多少个会话。
conn Tom/1 @wangwen
conn Tom/1 @wangwen

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值