数据库恢复与安全性
发表于:2022-11-24 |
字数统计: 932 | 阅读时长: 3分钟 | 阅读量:

数据库恢复与安全性(Oracle)

实验目的

(1)了解oracle的物理备份
(2)掌握oracle数据库逻辑备份方法
(3)掌握oracle数据库恢复的方法
(4)学会使用exp备份数据库、使用imp恢复数据库
(5)了解flashback 的使用
(6)学会完成SQL导入导出
(7)掌握ORACLE中有关用户创建的方法
(8)熟练掌握PL-SQL的数据控制语言,能通过自主存取控制进行权限管理
(9)熟悉用户资源文件的使用
(10)熟悉ORACLE中角色管理
(11)熟悉视图机制在自主存取控制上的应用

实验环境

Oracle Database 12 home

实验步骤、出现的问题及解决方案

数据库用户、表空间、表

逻辑备份

导出“预约”表

exp userid=ZS20220872/123456@orcl tables=TEST.预约 file=C:\Users\Administrator\Desktop\西南科技大学\数据库原理\预约.dmp

删除”预约“表

drop table 预约;

导入“预约表”,恢复“预约表”

imp userid=ZS20220872/123456@orcl fromuser=test file=C:\Users\Administrator\Desktop\西南科技大学\数据库原理\预约.dmp tables=预约

查询预约表中信息

select * from 预约;

导出数据库

exp userid=ZS20220872/123456@orcl full=y inctype=complete file=C:\Users\Administrator\Desktop\西 南科技大学\数据库原理\all.dmp

使用闪回(flashback)

设置行可移动

alter table 读者 enable row movement;

在读者表中添加多条记录

insert into 读者 values('20190325','张四','西科大应计学院','男','西山学院西100宿舍楼','1352659962','52182193213123');
insert into 读者 values('201903232','张七','西科大应计学院','男','西山学院西100宿舍楼','135262359962','522665445454564563');
select 姓名,性别 from 读者;

image-20221124153425218

闪回到改变之前

flashback table 读者 to timestamp to_timestamp('2022/11/24 15:30:00','YYYY/MM/DDHH24:MI:SS');
 select 姓名,性别 from 读者;

SQl导入导出

导出图书表

删除表

NULL

导入表

以SYSTEM登录数据库,为自己帐号增加系统角色DBA

grant dba to ZS20220872;

重新以自己的帐号登录,创建一个数据库用户,该用户拥有所有CONNECT, RESOURCE,DBA系统角色权限。

create user Renchengzhen identified by 123456;
grant connect to renchengzhen;
grant resource to renchengzhen;
grant dba to renchengzhen;

(未定义函数,以下语句无效)

建立角色:renchengzhen_OPER,该角色拥有调用存储过程借书、还书、预约的权限,以及CONNECT系统角色权限。

create role renchengzhen_role;
grant connect to renchengzhen_role;
grant execute on 借书 to renchengzhen_role;
grant execute on 还书 to renchengzhen_role;
grant execute on 预约 to renchengzhen_role;

创建一个数据库用户:用户_oper(用户为“自己名字全拼”)为该用户授权角色:用户_role。以该用户登录,完成借书,还书功能。

create role renchengzhen_oper;
grant renchengzhen_role to renchengzhen_oper;

call renchengzhen.借书();

以自己的帐号登录,建立视图VIEW_READER, 该视图包含书目(ISBN, 书名,作者,出版单位,图书分类名称)

CREATE VIEW VIEW_READER
AS
SELECT
	"书目"."iSBN", 
	"书目"."书名", 
	"书目"."作者", 
	"书目"."出版单位", 
	"书目"."图书分类号"
FROM
	"书目";

创建一个数据库用户:renchengzhen_USER1,该用户具有对视图VIEW_READER查询的权限。

create user renchengzhen_user1 identified by 123456;
grant connect to renchengzhen_user1;
grant select on view_reader to renchengzhen_user1;

创建一个概要文件,如果renchengzhen_USER1连续3次登录失败,则锁定该账户,10天后该账户自动解锁。把创建的概要文件分配给该账号,然后以该用户登录进行权限测试。

CREATE PROFILE LOCK_USER LIMIT
FAILED_LOGIN_ATTEMPTS 3
PASSWORD_LOCK_TIME 10;
ALTER USER renchengzhen_USER1 PROFILE LOCK_USER;

ALTER USER renchengzhen_USER1 ACCOUNT UNLOCK;

上一篇:
Sql笔记
下一篇:
变治法