Oracle权限安全管理
实验内容
本次实验先使用system用户连接
温馨提示:题目要求切换账户登录的时候自己记得切换,本文章只提供相应的SQL语句
在表空间BOOKTBS1(实验4第1题已创建)创建一张表BOOKS,其字段如下::

SQL> create table BOOKS
2 (ISBN varchar(50) primary key,
3 title varchar(50),
4 author varchar(50),
5 cost number(12)) tablespace BOOKTBS1;表已创建。
在其中插入一条数据('20240101','Oracle数据库管理与开发','李真',48)。
SQL> insert into BOOKS(ISBN,title,author, cost)
2 values ('20240101','Oracle数据库管理与开发','李真',48);已创建 1 行。
创建一张表CUSTOMERS,其字段如下:

SQL> CREATE TABLE CUSTOMERS (
2 customer_id NUMBER(4) PRIMARY KEY,
3 name VARCHAR2(20) NOT NULL,
4 phone VARCHAR2(50) NOT NULL
5 ) TABLESPACE BOOKTBS1;表已创建。
1、用户创建与修改
(1)以自己名字首字母创建一个用户(后文称为本人用户),采用口令认证方式,口令自己定义,默认表空间为 USERS表空间,临时表空间为 TEMP,在 USERS 表空间上配额为 10M,在 BOOKTBS1 表空间上的配额为 50M。(下划线填自己名字首字母,下文也是)
SQL> create user _____
2 identified by 000000
3 default tablespace USERS
4 temporary tablespace TEMP
5 quota 10M on USERS
6 quota 50M on BOOKTBS1;用户已创建。
(2)创建一个名为Tom的用户,采用口令认证方式,口令为Tom,默认表空间为BOOKTBS1表空间,默认临时表空间为TEMP,在USERS表空间上配额为10MB,在BOOKTBS1表空间上的配额为20MB。该用户的初始状态为锁定状态。
SQL> create user Tom
2 identified by Tom
3 default tablespace BOOKTBS1
4 temporary tablespace TEMP
5 account lock
6 quota 10M on USERS
7 quota 20M on BOOKTBS1;用户已创建。
(3)为方便数据库中用户的登录,为 ORCL 数据库中所有用户授予 CREATE SESSION系统权限。
SQL> grant create session to public;
授权成功。
(4)分别使用 本人用户和 Tom 用户登录 ORCL 数据库,测试是否成功。
使用 SQLPlus 链接数据库,以本人用户和 Tom 用户的身份登录 ORCL 数据库,测试是否成功。
(5)为 Tom 用户帐户解锁,并重新进行登录。
SQL> alter user Tom account UNLOCK;
2、授权与回收操作
(6)切回SYSTEM用户,为本人用户授予 CREATE TABLE、 CREATE VIEW 系统权限,并可以进行权限传递转授;授予books表和customer表上的所有对象权限给本人用户。
SQL> grant create table,create view to ____ with admin option;
授权成功。
SQL> grant all privileges on BOOKS to ____with grant option;
授权成功。
SQL> grant all privileges on CUSTOMERS to ____ with grant option;
授权成功。
(7)切换到本人用户,将 books、customer 表的查询、插入权限以及CREATE VIEW、 CREATE TABLE 的系统权限授予 Tom 用户。
SQL> grant select,insert on system.BOOKS to Tom;
授权成功。
SQL> grant create table,create view to Tom;
授权成功。
(8)使用 Tom 用户连接数据库, 查询 books表中的数据,新增一条书籍数据(自拟)。
SQL> insert into system.books
2 (ISBN,TITLE,AUTHOR,COST)
3 values (20240202,'javac程序设计','张三',52);已创建 1 行。
(9)使用本人用户回收其授予 Tom 用户的 CREATE VIEW 的系统权限,以及其授予 Tom 用户的在 books 表上的 INSERT 权限。
SQL> revoke create view from Tom;
撤销成功。
SQL> revoke insert on system.BOOKS from Tom;
撤销成功。
(10)使用 system用户登录数据库, 回收本人用户所有具有的 CREATE TABLE系统权限以及在 books 表上 SELECT 权限,思考这时Tom用户的这两项权限是否受影响。
此时,Tom用户的CREATE VIEW权限和在books表上的INSERT权限应该受到影响。
SQL> revoke create table from ____;
撤销成功。
SQL> revoke select on system.BOOKS from ____;
撤销成功。
(11)分别查询 本人用户、Tom 用户所具有的对象权限和系统权限详细信息。
SQL> select * from dba_dba_privs where grantee='____';
SQL> select * from dba_sys_privs where grantee='____';
SQL> select * from dba_dba_privs where grantee='TOM';
SQL> select * from dba_sys_privs where grantee='TOM';
3、角色的创建与授予
(12)使用system用户登录,创建一个角色 seller,不使用口令验证,将 books 表的所有对象权限以及对customers 表的 SELECT 权限授予该角色。
SQL> create role seller;
角色已创建。
SQL> grant all privileges on system.BOOKS to seller;
授权成功。
SQL> grant select on system.CUSTOMERS to seller;
授权成功。
(13)将seller角色授予 Tom 用户,在dba_role_privs中查看当前Tom被授予的角色,在dba_tab_privs中查看seller角色所具有的对象属性。思考此时Tom拥有哪些权限。
此时,Tom拥有的权限将包括:对books表的所有权限(SELECT, INSERT, UPDATE, DELETE等);对customers表的SELECT权限。
SQL> grant seller to Tom;
授权成功。
SQL> select * from dba_role_privs where grantee='TOM';
(14)使用Tom用户,通过SET ROLE 角色名语句启用seller角色,并查询books表中的数据。
SQL> set role seller;
角色集
SQL> select * from system.BOOKS;
4、概要文件使用
(15) 创建一个 bs_profile1 的概要文件, 限定用户的最长会话时间为 30 分钟, 如果连续10 分钟空闲,则结束会话。同时, 限定其口令有效期为 20 天, 连续登录 2 次失败后将锁定账户,10 天后自动解锁。
SQL> create profile bs_profile1 limit
2 CONNECT_TIME 30
3 IDLE_TIME 10
4 PASSWORD_LIFE_TIME 20
5 FAILED_LOGIN_ATTEMPTS 2
6 PASSWORD_LOCK_TIME 10;配置文件已创建
(16) 将概要文件bs_profile1指定给Tom用户。
SQL> alter user Tom profile bs_profile1;
用户已更改。
(17)利用Tom用户登录ORCL数据库,连续两次输入错误口令,查看执行结果,并使用system查看Tom用户的锁定状态。
SQL> select username,account_status from dba_users where username = 'TOM';
相关文章:
Oracle权限安全管理
实验内容 本次实验先使用system用户连接 温馨提示:题目要求切换账户登录的时候自己记得切换,本文章只提供相应的SQL语句 在表空间BOOKTBS1(实验4第1题已创建)创建一张表BOOKS,其字段如下:: SQL> create…...
C++笔记之静态多态和动态多态
C++笔记之静态多态和动态多态 code review! 在C++中,多态(Polymorphism)是面向对象编程的一个核心概念,允许对象以多种形式存在。多态性主要分为静态多态(Static Polymorphism)和动态多态(Dynamic Polymorphism)。下面将详细解释这两种多态及其在C++中的实现方式、优缺…...
Axure RP电商系统商城PC+app+后台买家卖端高保真原型模板及元件库
AxureRP电商商城PCapp后台买家卖端高保真原型模板本套包含三份原型图素材 APP买家端原型简介: 包含了用户中心、会员成长、优惠券、积分、互动社区、运营推广、内容推荐、商品展示、订单流程、订单管理、售后及服务等完整的电商体系功能架构和业务流程。 本模板由…...
RTX3070的yolo训练模型迁移到NVIDIA JETSON XAVIER NX 上的踩坑经验,时机部署避雷点
NVIDIA JETSON XAVIER NX 的yolo环境部署 首先为了保证yolo的权重模型pt文件可以顺利迁移过去,要保证torch和cuda的版本一致 如何在NX上安装torch? 1.用 jtop工具 实时查看和控制板子状态 安装: sudo -H pip3 install jetson-stats使用: sudo jtop 在这里是为…...
带你学习如何编写一篇API详设文档以及给新人提点建议
文章目录 前言先认清一个问题详设文档如何写先看文档脉络详设文档分析需求背景方案概述API定义安全设计性能设计缓存与数据库 总结 前言 这篇文章带读者了解软件开发项目中一个需求的开发详设文档主要包括哪些内容,其中重点会给读者分析API设计的规范,相…...
【Python爬虫实战】正则:多字符匹配、开头与结尾定位、分组技术详解
🌈个人主页:https://blog.csdn.net/2401_86688088?typeblog 🔥 系列专栏:https://blog.csdn.net/2401_86688088/category_12797772.html 目录 前言 一、匹配多个字符 (一)匹配任意多个字符 ࿰…...
DOIP协议介绍-1
1.DOIP中的GID和EID是什么? 在DOIP(Diagnostics over IP)中,GID(Group Identification)和EID(Entity Identification)是两个重要的标识符,它们各自承担着不同的角色和功…...
探索Python中的多线程与多进程
在Python编程中,多线程和多进程是两个重要的概念,它们被用来提高程序的执行效率。本文将深入探讨这两个概念,并对比它们在Python中的实现方式。 一、多线程 多线程是一种并发执行的程序设计方法。在Python中,我们可以使用thread…...
paypal php 实现详细攻略
一、准备工作 登录 https://www.paypal.com/ 注册一个主账号(选择个人账号、企业账后都可) 申请完成后登录https://developer.paypal.com/ 在后台右侧菜地点击“Accounts”,可以看到系统自动给分配的两个沙箱环境的账号。类型为Personal是个人…...
深入理解Dubbo原理鱼实现,提升职场竞争力
小熊学Java全能学习面试指南:https://www.javaxiaobear.cn 1、RPC RPC(Remote Procedure Call)远程过程调用,它是一种通过网络从远程计算机程序上请求服务。 大白话理解就是:RPC让你用别人家的东西就像自己家的一样。 RPC两个作用࿱…...
自动化测试与敏捷开发的重要性
敏捷开发与自动化测试是现代软件开发中两个至关重要的实践,它们相互补充,共同促进了软件质量和开发效率的提升。 敏捷开发的重要性 敏捷开发是一种以人为核心、迭代、循序渐进的软件开发方法。它强调以下几个核心价值观和原则: 个体和交互…...
气膜:冰雪产业的创新解决方案—轻空间
随着冰雪运动的普及和发展,如何在不同季节和地区有效开展冰雪项目,成为了行业内的一个重要课题。气膜作为一种新兴的建筑形式,凭借其独特的优势,正在逐渐成为冰雪产业的创新解决方案。 优越的建筑特性 气膜建筑以其轻便、快速搭建…...
期货配资网/分仓多元化/配资系统服务商
提供期货配资服务的网络平台搭建服务。这些平台致力于为投资者提供高效、便捷的期货投资渠道,通过配资的方式放大投资者的资金杠杆,从而增加其盈利机会。期货配资网一般具有以下特点: 专业服务:提供期货交易、投资管理及信息咨询…...
「漏洞复现」百易云资产管理运营系统 ufile.api.php SQL注入漏洞
0x01 免责声明 请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具来自网络,安全性自测,如有侵权请联系删…...
Vue 3 和 Vue Router 使用 createWebHistory 配置
在 Vue 3 项目中,如果使用 Vue Router 并希望启用 HTML5 History 模式,需要在创建路由器实例时传入 createWebHistory 作为历史模式的配置。此外,还需要确保在生产环境中设置正确的基本路径(base),这样才能…...
Nginx:rewrite指令之flag标志
Nginx 的 rewrite 指令用于根据正则表达式来匹配请求的 URI,并将其重写为新的 URI。rewrite 指令可以包含一个可选的 flag(标志),该标志用于控制重写操作后的行为。 rewrite regex replacement [flag] 一. 常用四种 flag redir…...
C#从零开始学习(如何构建应用)
开始使用 C# 开发使用的软件Visual Studio 2019 文章所有的代码都放在 https://github.com/hikinazimi/head-first-Csharp 创建一个控制台应用 打开Visual Studio 2019 创建项目 选择控制台应用程序 创建后点击运行,就可以在控制台打印Hello World 构建一个游戏(创建WPF项目…...
FCoE简介
数据中心融合网络的发展趋势 如图1所示,传统数据中心组网中,以太网LAN(Local Area Network)用于服务器与服务器、客户端与服务器之间通信,存储区域网络SAN(Storage Area Network)用于服务器与存…...
论文笔记:Template-Based Named Entity Recognition Using BART
论文来源:ACL 2021 Finding 论文链接:https://aclanthology.org/2021.findings-acl.161.pdf 论文代码:GitHub - Nealcly/templateNER: Source code for template-based NER 笔记仅供参考,撰写不易,请勿恶意转载抄袭…...
【Nestjs】从入门到精通(依赖注入)
NestJS 是一个基于 Node.js 的渐进式框架,构建在 Express 或 Fastify 之上,主要用于构建高效、可扩展的服务器端应用程序。它使用 TypeScript 并借鉴了 Angular 的设计理念,采用了依赖注入(IoC, Inversion of Control)…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...
