当前位置: 首页 > news >正文

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

 

前言

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

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

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

目录

前言

☀️一、研究目的

🌼二、研究内容

🌷三、研究结论

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

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

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

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

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

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

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

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

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

📝四、研究心得


☀️一、研究目的

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错误简直就是技术小怪兽!👾😅后来,我才发现,创建视图的权限没给全,导致了这场小插曲!

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

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

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

相关文章:

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

前言 嘿,数据库大冒险家们!准备好迎接数据库管理的新挑战了吗?今天我们要探索的是Oracle数据库中的模式对象管理与安全管理!🛡️💻 在这篇博文【Oracle】玩转Oracle数据库(六)&#…...

微服务篇之限流

一、为什么要限流 1. 并发的确大(突发流量)。 2. 防止用户恶意刷接口。 二、限流的实现方式 1. Tomcat限流 可以设置最大连接数,但是每一个微服务都有一个tomcat,实现起来非常麻烦。 2. Nginx限流 (1)控…...

react脚手架

1.react概述 1.1 什么是react React是一个用于构建用户界面的JS库。 用户界面:HTML页面(前端) React主要用来写HTML界面,或构建Web应用 如果从MVC的角度来看,React仅仅是视图层(V),也就是只负…...

【Vue3】插槽使用和animate使用

插槽使用 插槽slot匿名插槽具名插槽插槽作用域简写 动态插槽transition动画组件自定义过渡class类名如何使用animate动画库组件动画生命周期appear transition- group过渡列表 插槽slot 插槽就是子组件中提供给父组件使用的一个占位符父组件可以在这个占位符智能填充任何模板代…...

HarmonyOS—低代码开发Demo示例

接下来为大家展示一个低代码开发的JS工程的Demo示例,使用低代码开发如下华为手机介绍列表的HarmonyOS应用/服务示例。 1.删除模板页面中的控件后,选中组件栏中的List组件,将其拖至中央画布区域,松开鼠标,实现一个List组…...

Spring体系下解决请求统一加解密之ResponseBodyAdvice和RequestBodyAdvice

在日常写项目中经常一般正规的项目都需要将信息加密后返回前端,前端进行解密后再展示出来给用户,这样做的目的无一不是为了安全,在Java开发中,如何简单快速的完成这个功能呢,这里就需要用到这两个接口ResponseBodyAdvi…...

C# 经典:ref 和 out 的区别详解

在C#中,ref和out关键字用于按引用传递变量,它们在变量传递、输出参数、返回值以及异常处理等方面有一些重要区别。本文将详细阐述这些差异。 1. 变量传递 ref和out关键字都可以用于方法的参数传递。它们的主要区别在于如何处理变量的引用。 ref关键字…...

Linux 系统添加虚拟内存的方法

https://cloud.189.cn/t/6nqy2m3YnUN3 (访问码:ic3i) 云服务器 群晖NAS 切换到 root 模式 sudo su 或者 sudo -i #群晖/volume2 是你添加的硬盘挂载路径 不一定是 volume2 有可能是 volume1 #如果你只有1快硬盘 volume2 改成 volume1 …...

PHP 函数四

一 fgets(resource $stream, ?int $length null) 从文件指针中读取一行。 返回字符串,如果文件指针中没有更多的数据了则返回 false。错误发生时返回 false。 $stream 为文件资源,必须指向fopen()或fscokopen()成功打开的文件。文件打开之后&#x…...

【Android】反编译APK及重新打包

1.下载 APK 反编译工具 首先,需要下载一个 APK 反编译工具,例如 Apktool。可以在官网(https://apktool.org/docs/install)上下载最新版本的 Apktool,也可以使用包管理器来安装。 2.反编译 APK 文件 将要修改包名的 …...

下载huggingface数据集到本地并读取.arrow文件遇到的问题

文章目录 1. 524MB中文维基百科语料(需要下载的数据集)2. 下载 hugging face 网站上的数据集3. 读取 .arrow 文件报错代码4. 纠正后代码 1. 524MB中文维基百科语料(需要下载的数据集) 2. 下载 hugging face 网站上的数据集 要将H…...

.NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】

设计模式是软件工程中常用的解决特定问题的通用设计方法。它们提供了经过验证的解决方案,可用于解决在软件开发过程中经常遇到的一些常见问题。设计模式不是一种具体的编程语言特性或语法,而是一种通用的设计思想或模板,可以帮助开发人员设计…...

【Web】关于jQuery萌新必须要知道的那些基础知识

目录 DOM对象和jQuery包装集对象 jQuery选择器 jQuery操作元素的属性,样式,内容 jQuery创建元素和添加元素,删除元素和遍历元素 jQuery-ready加载事件 jQuery绑定事件 jQuery中ajax的使用 DOM对象和jQuery包装集对象 DOM对象&#xf…...

第 1 章 微信小程序与云开发从入门到实践从零开始做小程序——开发认识微信小程序

小北的参考工具书 小程序开发的图书并不少,这本书仍然值得你拥有! 首先,这是一本全栈小程序开发教程,循序渐进,由浅入深,介绍了小程序开发你想了解的方方面面,包括近其小程序开发的各种新技术应…...

数据隐私安全趋势

在当今社交媒体和开源开发的世界中,共享似乎已成为社会常态。毕竟,我们都被教导分享就是关怀。这不仅适用于个人,也适用于公司:无论是有意在社交媒体帐户和公司网站上,还是无意中通过员工的行为,公司可能会…...

学习磁盘管理

文章目录 一、磁盘接口类型二、磁盘设备的命名三、fdisk分区四、自动挂载五、扩容swap六、GPT分区七、逻辑卷管理八、磁盘配额九、RAID十、软硬链接 一、磁盘接口类型 IDE、SATA、SCSI、SAS、FC(光纤通道) IDE, 该接口是并口。SATA, 该接口是串口。SCS…...

C语言从入门到精通(一) - C语言开发神器CLion

clion安装配置 下载安装 下载 安装 运行clion clion设置 配置快捷键 配置快捷键为eclipse模式 [可以选择自己喜欢的快捷键模式] 添加cygwin编译器 下载cygwin Cygwin Installation Cygwin是一个在windows平台上运行的类UNIX模拟环境,是Cygnus Solutions公司开发的…...

【办公类-16-10-02】“2023下学期 6个中班 自主游戏观察记录(python 排班表系列)

背景需求: 已经制作了本学期的中4班自主游戏观察记录表 【办公类-16-10-01】“2023下学期 中4班 自主游戏观察记录(python 排班表系列)-CSDN博客文章浏览阅读398次,点赞10次,收藏3次。【办公类-16-10-01】“2023下学…...

SpringBooot之RestTemplate接口返回多层泛型导致java.util.LinkedHashMap cannot be cast to异常

统一泛型返回对象 Data public class Res<T> implements Serializable {private static final long serialVersionUID 6558796578827818466L;private Integer code; //状态码private String msg; //返回消息private T data; //数据 }data里包裹的泛型对象假设是DZPJ D…...

【新三板年报文本分析】第二辑:从pdf链接的列表中批量下载年报文件

第一辑中已经获取了新三板年报的pdf链接&#xff0c;使用request库进行批量下载。 send_headers为requests的headers&#xff0c;不需要做变动。 在for循环中读取每一行数据的链接数据&#xff0c;创建一个空pdf&#xff0c;将链接指向的pdf文件写入空pdf文件。 for循环内容…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API&#xff0c;用于在函数组件中使用 state 和其他 React 特性&#xff08;例如生命周期方法、context 等&#xff09;。Hooks 通过简洁的函数接口&#xff0c;解决了状态与 UI 的高度解耦&#xff0c;通过函数式编程范式实现更灵活 Rea…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

初学 pytest 记录

安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

Qemu arm操作系统开发环境

使用qemu虚拟arm硬件比较合适。 步骤如下&#xff1a; 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载&#xff0c;下载地址&#xff1a;https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...

Vue ③-生命周期 || 脚手架

生命周期 思考&#xff1a;什么时候可以发送初始化渲染请求&#xff1f;&#xff08;越早越好&#xff09; 什么时候可以开始操作dom&#xff1f;&#xff08;至少dom得渲染出来&#xff09; Vue生命周期&#xff1a; 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...

通过MicroSip配置自己的freeswitch服务器进行调试记录

之前用docker安装的freeswitch的&#xff0c;启动是正常的&#xff0c; 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...

mac:大模型系列测试

0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何&#xff0c;是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试&#xff0c;是可以跑通文章里面的代码。训练速度也是很快的。 注意…...