Oracle实验一--数据库安全管理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一数据库安全管理

实验内容

1、创建用户、角色

根据下表的要求

1)建立角色;

2)为角色分配权限;

3)建立密码管理和资源限制Profile文件;

4)建立用户;

5)为用户分配角色;

6)用户登录,执行相应的SQL操作。

由系统管理员(admin)创建以下数据表:课程信息表CourseInfo,排课信息表ClassInfo,部门代码表DepartmentInfo,教师信息表TeacherInfo,学生信息表StudentInfo,选课信息表SelectiveInfo,保存在系统管理员的schema中。请按照文档lab1_DataModel.doc的表结构创建表。

三次登录

失败,锁

定账户;

使用30天

后需要

更改密

码;

旧密码过

期后100

天内不

SESSION S_PER_USER=UNLIMI TED

CPU_PER _SESSION=UNLIMITE D

角色:CONNECT

对象权限:

查看学生信

查看教师信

更新教师信

查看排课记

更新和查看

选课信息

中成绩

列,学号

列以及班

级列记录

查看院系代

码信息

录时修

改密码;

SESSION

S_PER_USER=2

IDLE_TI

ME=30

CONNECT

_TIME=60

角色:CONNECT

对象权限:

查看学生信

录时修

改密码;

SESSION

S_PER_USER=1

IDLE_TI

ME=20

CONNECT

_TIME=30

看课程信

看选课信

实验步骤如下:

运行SQL*Plus工具,sys用户以SYSDBA特权登录,输入口令abc123。

1、ADMIN

操作步骤一:创建表空间ADMIN

指定该表空间内的表在加载数据时是否产生日志,默认为产生日志(LOGGING),指明数据文件的路径与名字,表空间的大小,最后指定表空间的扩展方式是本地化管理EXTENTMANAGEMENTLOCAL,段空间的管理方式为自动SEGMENTSPACEMANAGEMENTAUTO。

操作步骤二:创建概要文件ADMINPROFILE来对数据库用户进行资源限制和密码管理

限制用户在一次数据库会话期间可以使用的CPU时间为UNLIMITED,用户可打开的并发会话的最大数目为UNLIMITED,指定用户三次登录失败后锁定账户,设置使用一个特定密码的时间限制为30天,指定可重新使用密码前要经过100天。

操作步骤三:创建ADMIN用户

设置ADMIN用户密码为admin,指定其概要文件为ADMINPROFILE,标志用户所创建对象的默认表空间为admin,用户的临时段表空间为temp,限制表空间存储对象为1M。并授予ADMIN用户DBA权限。

操作步骤四:以AMDIN身份登录,执行lab1.sql脚本文件创建数据表。

2、TEACHER

操作步骤一:创建表空间TEACHER

操作步骤二:创建角色TEACHER

该角色使用非验证方式。将CONNECT角色授予TEACHER,给TEACHER角色授予查看学生信息,查看更新教师信息,查看排课记录,查看选课信息,更新选课信息中的成绩列、学号列和班级列记录,查看院系代码信息的权限。

操作步骤三:创建概要文件TEACHERPROFILE

操作步骤四:创建用户teacher1,并将TEACHER权限授予teacher1

3、STUDENT

操作步骤一:创建表空间STUDENT

操作步骤二:创建概要文件STUDENT

操作步骤三:创建角色STUDENT

操作步骤四:创建用户CHENWEIXIAO(陈伟晓),并将STUDENT权限授予CHENWEIXIAO

3.2、权限管理及安全信息查询

1)系统管理员admin登录选课系统数据库,登录三次失败,第四次输入正确的密码

进行登录,会出现什么情况?为什么?

答:系统管理员admin登录三次失败,系统会提示“在3次尝试之后无法连接到ORACLE,退出SQL*PLUS”,第四次输入正确的密码进行登录,系统提示“theaccountislocked”,即账户被锁定,无法登录。可以用sysassysdba登录,输入alteruseradminaccountunlock;命令对admin 进行解锁。

2)使teacher1具有创建数据表系统权限,以用户teacher1登录,创建一个部门代

码表DepartmentInfo作为系统管理员创建的部门代码表的备份;

答:以管理员admin登录,将创建表权限授予teacher1

登录teacher1用户,系统提示密码过期,更改teacher1密码为sir后重新登录。输入命令createtableDepartmentInfoasselect*fromadmin.DepartmentInfo;来创建表(当使用CREATETABLE…ASSELECT语句创建表时,Oracle将通过从admin.DepartmentInfo表中复制列来建立表。在创建表后,Oracle就会使用从SELECT语句中返回的行来填充新表)。

3)用户teacher1登录,分配学生用户(你的名字的拼音)查看

teacher1.DepartmentInfo记录的权限;学生用户登录,查看teacher1.DepartmentInfo中的记录;

答:用teacher1登录,输入grantselectonteacher1.DepartmentInfotochenweixiao分配给我查看teacher1.DepartmentInfo记录的权限,再用chenweixiao登录,系统提示密码过期,修改密码为cwx后登录,输入selece*fromteacher1.DepartmentInfo;来查看记录

4)取消用户teacher1创建数据表权限;取消学生用户查看teacher1.DepartmentInfo

记录的权限;

答:用系统管理员admin登录,用REVOKEsystem_privilegeFROMuser|role|public收回系统权限

5)从数据库中删除用户teacher1。

相关文档
最新文档