【Oracle】玩转Oracle数据库(六):模式对象管理与安全管理

简介: 【Oracle】玩转Oracle数据库(六):模式对象管理与安全管理

image.gif

前言

嘿,数据库大冒险家们!准备好迎接数据库管理的新挑战了吗?今天我们要探索的是Oracle数据库中的模式对象管理与安全管理!🛡️💻

在这篇博文【Oracle】玩转Oracle数据库(六):模式对象管理与安全管理中,我们将揭开数据库管理的神秘面纱,学会如何高效地管理数据库中的模式对象,并确保数据的安全与隐私!🔒🔍

无论你是想成为数据库安全专家,还是希望提升数据库管理的技能,相信我,本文都将成为你的灯塔!我们要掌握模式对象的创建、修改和删除,了解权限管理的重要性,学会如何保护数据库免受未授权访问和恶意攻击!准备好和我一起踏上数据库安全之路了吗?让我们的数据堡垒更坚固,让数据库的守护者更强大!🏰🔐



☀️一、研究目的

1.了解模式对象的类型

2.掌握在OEM中操作模式对象的方法

3.掌握命令方式建立表、视图、索引等常见对象的方法

4.熟悉Oracle中权限分类和设置,理解系统提供用户的角色和权限

5.熟练使用建立用户、角色,为用户授权、授予角色的命令


🌼二、研究内容

1.创建一个TESTUSER用户,密码为test,默认表空间为users表空间

2.创建用户后为其授予登录数据库和创建数据库对象的权限

3.用TESTUSER用户登录数据库

4.创建学生信息表(学号,姓名,性别,入学成绩),定义主键和输入数据(至少5条数据),提交添加的数据。并完成下面的题目:

(1)再继续添加2条数据,设置一个保存点savepoint,再添加1    条数据,执行回退到保存点的回退命令。查看此时表中数据

(2)查询入学成绩大于480的学生信息

(3)建立男生信息视图(创建视图的权限需要提前授予)

(4)在“成绩”字段上建立B-树索引

5.创建一个表簇,名为empl_dep,容纳empl表和dep表,有公共字段depno(簇键),大小为500,默认表空间为USERS表空间,存储参数为,初始化区间大小为100K,第二区间为200K等。

6.在表簇中建立empl表和dep表

(1)empl表(职员表)的主键为eno,外键为depno

(2)dep表(部门表)的主键为depno。

7.在表簇中建立一个簇键索引,名为empl_dep_index。

8.授予scott用户在empl表上的所有权限,提示:授权和收回权限可在sys/system/testuser用户登录以后进行授权。

9.收回scott用户拥有的empl表上DELETE权限


🌷三、研究结论

准备工作:

按住win+r输入sqlplus,如图1.

图1

输入用户名:sys as sysdba,密码:Csuft123.并输入startup启动实例如图2.

图2

【实验内容开始】

🔥1. 创建一个TESTUSER用户,密码为test,默认表空间为users表空间

答:创建语句如下

create user testuser
identified by test
default tablespace users
quota 5M on users;

运行结果如图3

图3


🔥2. 创建用户后为其授予登录数据库和创建数据库对象的权限

答:创建语句为

grant create session,create table to testuser;

运行结果如图4

图4


🔥3. 用TESTUSER用户登录数据库

使用命令

conn testuser/test

运行结果如图5

图5


🔥4. 创建学生信息表(学号,姓名,性别,入学成绩),定义主键和输入数据(至少5条数据),提交添加的数据。

(1)再继续添加2条数据,设置一个保存点savepoint,再添加1    条数据,执行回退到保存点的回退命令。查看此时表中数据

答:创建命令为

create table student
(s_num varchar2(10) Primary key,
s_name varchar2(20) not null,
s_sex varchar2(8) not null,
s_grade int );

运行结果如图6

图6

查询表结果如图7

图7

此时表中无数据,向表中添加五条数据如图8

图8

(2)查询入学成绩大于102的学生信息

答:输入命令如图9

select * from student where s_grade>102;

图9

(3)建立男生信息视图(创建视图的权限需要提前授予)

答:输入命令如图10

create or replace view view_man
as
select * from student
where s_sex='男';

图10

(4)在“成绩”字段上建立B-树索引

答:创建语句,结果如图11.

create index s_grade_index on student(s_grade);

图11


🔥5. 创建一个表簇,名为empl_dep,容纳empl表和dep表,有公共字段depno(簇键),大小为500,默认表空间为USERS表空间,存储参数为,初始化区间大小为100K,第二区间为200K等。

答:输入指令结果如图12

create cluster empl_dep(depno varchar2(4))
size 500
tablespace users
storage(
initial 100k
next 200k)

图12


🔥6. 在表簇中建立empl表和dep表

(1)empl表(职员表)的主键为eno,外键为depno

答:如图13

图13

(2)dep表(部门表)的主键为depno。

答:如图14

图14


🔥7. 在表簇中建立一个簇键索引,名为empl_dep_index。

答:如图15

图15


🔥8.授予scott用户在empl表上的所有权限,提示:授权和收回权限可在sys/system/testuser用户登录以后进行授权。

答:由于需要授权,此处需要连接到sys即超级管理员用户,再输入命令进行授权如图16

grant all on testuser.empl to scott;

图16


🔥9. 收回scott用户拥有的empl表上DELETE权限

答:由于需要收回权限,此处需要连接到sys即超级管理员用户,再输入命令进行授权如图17

revoke delete on testuser.empl from scott;

图17


📝四、研究心得

嘿,数据库探险家们!这次的Oracle数据库管理实验简直就像是一场火爆的技术狂欢!我不仅熟悉了模式对象的种类和创建方式,还潜入了Oracle权限的秘境,尝试了各种神奇的授权操作!🔑💻

但是,技术之路永远都是充满挑战和惊喜的!在这次实验中,遇到了各种小插曲和技术困境。比如,授权的时候,我可是碰了不少壁!ORA-01031错误简直就是技术小怪兽!👾😅后来,我才发现,创建视图的权限没给全,导致了这场小插曲!

还有,授权操作可不是那么容易就能搞定的!一不小心就会掉进权限的迷宫!必须要返回到更高权限的用户进行操作,否则就是一触即发的错误!🚨

总的来说,这次实验虽然不算太难,但却要求我们做到认真细致!比如,创建表设置主键和外键时,属性格式一定要一致,稍有不慎就会出现技术小烦恼!😉💡

这就是技术之路的魅力所在!每一次挑战都是一次成长,每一次困境都是一次启迪!让我们继续探索,让数据库的世界更加精彩!💪🌟


目录
相关文章
|
6天前
|
存储 SQL 数据库
数据库模式(Schema)
**数据库模式(Schema)**是逻辑结构和特征的描述,体现整体观,基于数据模型,定义数据项、安全性和完整性。**外模式(External Schema)**是用户视图,是部分数据的逻辑表示,可多视图,保障安全。**内模式(Internal Schema)**描述数据的物理存储,唯一,涉及文件格式、索引和压缩,优化存取效率。三模式分离确保逻辑和物理独立性。
|
1天前
|
Oracle 关系型数据库 Java
Oracle数据库教程*
Oracle数据库教程*
|
1天前
|
存储 SQL 数据库
数据库模式(Schema)
**数据库模式**是数据的逻辑结构和特征描述,基于数据模型,定义数据项及安全、完整性的规则。**外模式**是用户视图,多个外模式可存在,展示局部数据。**内模式**描述数据的物理结构和存储,确保效率和数据共享。每个数据库有唯一模式、内模式,外模式可多。
|
6天前
|
Oracle 数据可视化 关系型数据库
Oracle数据库安装及使用Navicat连接oracle2
Oracle数据库安装及使用Navicat连接oracle
29 1
|
1天前
|
Oracle 关系型数据库 Java
Oracle数据库导入工具IMP详解与用法
Oracle数据库导入工具IMP详解与用法
|
2天前
|
Oracle 关系型数据库 Linux
解决oracle数据库乱码
解决oracle数据库乱码
|
3天前
|
关系型数据库 MySQL 数据库
深入OceanBase分布式数据库:MySQL 模式下的 SQL 基本操作
深入OceanBase分布式数据库:MySQL 模式下的 SQL 基本操作
|
4天前
|
XML 机器学习/深度学习 存储
技术心得:对象的序列化存入数据库,与反序列化
技术心得:对象的序列化存入数据库,与反序列化
|
4天前
|
存储 SQL 数据库
数据库模式(Schema)
**数据库模式(Schema)**是逻辑结构和特征的描述,体现整体观,是所有用户的公共视图。**外模式(External Schema)**是用户特定的局部视图,提供数据安全性。**内模式(Internal Schema)**描述数据的物理存储方式,对应于物理级,优化存取效率和数据组织。一个数据库有一个模式和内模式,但可有多个外模式。
|
5天前
|
缓存 Java 数据库连接
解析Hibernate与JPA:Java对象的数据库化之旅
【6月更文挑战第25天】在Java企业开发中,Hibernate和JPA提供优雅的数据持久化方案。Hibernate是JPA规范的强大ORM实现,简化对象与数据库映射。配置环境后,通过@Entity注解定义实体类映射表,如`User`类映射"users"表。利用JPA的EntityManager执行查询和更新,如JPQL查询及对象更新。事务管理和性能优化是关键,确保数据完整性和应用性能。本文揭示了Hibernate与JPA的最佳实践,助开发者从容应对数据持久化。