【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对象…...
第 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链接,使用request库进行批量下载。 send_headers为requests的headers,不需要做变动。 在for循环中读取每一行数据的链接数据,创建一个空pdf,将链接指向的pdf文件写入空pdf文件。 for循环内容…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
wpf在image控件上快速显示内存图像
wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...
android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...
