在Oracle中创建新用户, 并且赋予该用户查看其他用户视图的权限

2023-11-04

本文由Markdown语法编辑器编辑完成。

1. 需求提出

在HIS与第三方系统进行集成时,某第三方系统需要访问HIS数据库的视图而非全部的数据库表。

HIS的数据库为Oracle, 因此需要在Oracle中在原有用户的基础上,再增加一个用户,该用户仅能查看HIS中为其开放的视图。这也是为了系统之间的安全考虑的。

2. 解决方案

经过技术查阅,找到的解决方案如下:

(1)以system用户登录oracle数据库.
(2)创建用户并且为用户赋予查看视图的权限.
这里假设要创建一个tester用户,登录密码为:“123456”.
HIS需要开放的视图是在原来用户 outpatient下的,视图名称为:v_daily_charge.
此时,应该撰写的SQL为:

--01: 创建tester用户,并且初始密码为123456.
create user tester identified by "123456";

--02: 赋予该用户登录数据库的权限.
grant create session to tester;

--03: 赋予该用户查看outpatient下的视图v_daily_charge的权限.
grant select on outpatient.v_daily_charge to tester;

注意:在运行以上第三条SQL的时候,oracle数据库有可能会报错。
“ORA-01720: 不存在对 emergency.t_cost表的授权选项。”

经过研究,出错的原因应该是,tester用户要访问outpatient用户的视图,该视图不仅会查阅outpatient用户下的某些表,如t_user, t_dept表,而且还访问了其他用户的表,如emergency用户下的t_cost表。

为了避免以上的错误,就需要在为tester用户赋予查看outpatient的视图权限前,先将outpatient视图中需要访问到的emergency用户下的表的权限开放给outpatient用户。

因此,在第三句SQL前还需要补充几句:

--04: 由于在outpatient用户下的视图需要访问另一个用户emergency下的表,因此需要将emergency用户下的表t_cost先授权给outpatient和tester这两个用户.

grant select on emergency.t_cost to outpatient with grant option;

如果除了赋予tester用户, 查看outpatient下视图的权限外,还想再赋予tester用户查看outpatient用户下表t_user, t_dept表的权限,则需要增加以下的SQL:

--赋予tester用户查看outpatient用户下的t_user和t_dept表的权限.

grant select on outpatient.t_user to tester;
grant select on outpatient.t_dept to tester;

3. 参考链接:

  1. oracle建立视图,创建用户并授予查询权限
    http://www.cnblogs.com/king1302217/p/4543543.html
  2. ORA-01720: 不存在“*.*“授权选项
    http://blog.csdn.net/xyy511/article/details/41546209
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Oracle中创建新用户, 并且赋予该用户查看其他用户视图的权限 的相关文章

  • mybatis调用oracle视图

    多数据源切换调用oralce里的某个视图 后台报错 表或视图不存在 select from table 最后在select 语句中加上前缀即可 select from zzzz table
  • salesforce-潜在客户Lead的视图管理

    当我们收集到一些Lead数据之后 我们需要对这些Lead进行跟踪和管理 如何快速找到自己想要的信息呢 如下图 salesforce的默认视图只提供了一些标准字段信息 那么 我们就需要对视图进行自定义了 新建视图 点击页面右上角的设置图标 在
  • Scene窗口—Scene视图导航

    Scene 视图导航 Scene 视图具有一组可用于快速有效移动的导航控件 场景视图辅助图标 场景视图辅助图标 Scene Gizmo 位于 Scene 视图的右上角 此控件用于显示 Scene 视图摄像机的当前方向 并允许快速修改视角和投
  • 自己搭建IntelliJ IDEA授权服务器

    尊重原创 原文链接 感谢 首先说明 服务器文件不是我写的 我也是从lanyu大神那里搬过来的 我这里只是详细介绍一下如何使用 lanyu大神博客 http blog lanyus com archives 174 html 下载服务器文件
  • Shiro实战学习笔记(4)- 整合springboot(1)

    1 shiro整合spring boot gt
  • mysql视图的作用(详细)

    MySQL视图是一个虚拟表 其内容由查询定义 同真实的表一样 视图包含一系列带有名称的列和行数据 但是 视图并不在数据库中以存储的数据值集形式存在 行和列数据来自由定义视图的查询所引用的表 并且在引用视图时动态生成 对其中所引用的基础表来说
  • 在Oracle中创建新用户, 并且赋予该用户查看其他用户视图的权限

    本文由Markdown语法编辑器编辑完成 1 需求提出 在HIS与第三方系统进行集成时 某第三方系统需要访问HIS数据库的视图而非全部的数据库表 HIS的数据库为Oracle 因此需要在Oracle中在原有用户的基础上 再增加一个用户 该用
  • 数据库视图详解

    数据库视图详解 定义 视图 View 是从一个或多个表 或视图 导出的表 视图与表 有时为与视图区别 也称表为基本表 Base Table 不同 视图是一个虚表 即视图所对应的数据不进行实际存储 数据库中只存储视图的定义 在对视图的数据进行
  • windows7最简单最快速解决“此windows副本不是正版”(“This copy of Windows is not genuine”)方法

    如果出现这个问题的话 windows的桌面就会变成全黑 并且右下角出现 其实解决这个问题的方法有很多种 有很多工具都可以解决这个问题 下面介绍下最简单快速的解决方法 步骤1 在开始的输入框中输入cmd 步骤2 右击出现的cmd 以管理员ad
  • MySQL视图、索引、备份与恢复、执行计划

    目录 一 前言 1 导读 2 学习的好处 二 视图 1 什么是视图 2 视图与数据表的区别 3 使用视图的优点 4 视图的语法 1 创建视图 CREATE VIEW 2 查询视图数据 3 更新视图数据 4 修改视图定义 ALTER VIEW
  • SQL-使用视图

    什么是视图 它们怎样工作 何时使用它们 如何利用视图简化执行的某些SQL操作 1 使用视图的原因 A 重用SQL语句 B 简化复杂的SQL操作 在编写查询后 可以方便地重用它而不必知道其基本查询 C 使用表的一部分而不是整个表 D 保护数据
  • 2023全新SF授权系统源码 V3.7全开源无加密版本,亲测可用

    2023全新SF授权系统源码 V3 7全开源无加密版本 网站搭建很简单 大致看来一下应该域名解析后上传源码解压 访问域名 install就能直接安装 程序功能简介 1 盗版入库 26种 2 快捷登录 3 采用layuiadmin框架 4 易
  • JWT——概念、认证流程、结构、使用JWT

    一 什么是JWT JSON Web Token JWT is an open standard RFC 7519 that defines a compact and self contained way for securely tran
  • MySQL 视图(view)

    目录 视图 概念 基本使用 视图规则和限制 视图 view 概念 视图是一个虚拟表 其内容由查询定义 同真实的表一样 视图包含一系列带有名称的列和行数据 视图的数据变化会影响到基表 基表的数据变化也会影响到视图 基本使用 创建视图 crea
  • 十六、K8s安全管理与资源限制

    实验环境 按照图示部署好了K8s集群 一个Master 两个worker nodes 访问控制概述 apiserver作为k8s集群系统的网关 是访问及管理资源对象的唯一入口 余下所有需要访问集群资源的组件 包括kube controlle
  • [项目管理-30]:项目成员成熟度以及采取的不同的策略

    目录 前言 一 管理的误区 二 帮助部属的四种层次 2 1 四种类型 层次 2 2 四象限法差别化帮助 三 项目经理自身可以使用的权力 资源 3 1 专家权力 3 2 奖励权力 3 3 正式权力 3 4 参照性权力 3 5 惩罚性 强制性权
  • Opening a specific View directly from the SiteMap in Dynamics

    Opening a specific View directly from the SiteMap in Dynamics CRM Consultancy Blog Dynamics 365 Unified User Interface D
  • webshell与防范

    1 WebShell的概念和危害性 WebShell就是以asp php jsp或者cgi等网页文件形式存在的 种命令执行环境 也可以称为 种网页后门 黑客在入侵网站后 通常会将WebShell后门文件与网站服务器WEB目录下正常的网页文件
  • 解决数据库高并发访问瓶颈问题

    一 缓存式的Web应用程序架构 在Web层和db层之间加一层cache层 主要目的 减少数据库读取负担 提高数据读取速度 cache存取的媒介是内存 可以考虑采用分布式的cache层 这样更容易破除内存容量的限制 同时增加了灵活性 二 实现
  • Matlab 编辑器框与命令行框视图分开两个窗口

    之前不知道怎么弄的 将matlab编辑器视图和命令行视图变成了两个窗口 效果如下图 这样调试代码我很不适应 点了好久才发现这叫停靠 点击编辑器窗口右上角 选择停靠 就能将编辑器窗口与命令行窗口在同一界面上

随机推荐

  • vue/js实现文件流下载,文件下载进度监听

    文档下载 通过文档请求 直接下载文档 url 请求路径 fileName 下载名称 size 文件大小 loadDown url fileName size var this this var xhr new XMLHttpRequest
  • django2.0.6 连接使用redis集群

    环境需要 django gt 1 8 x python 2 7 或者python gt 3 4 安装django cluster redis包 pip install django redis 注意 django redis版本需要 gt
  • springSecurity基本使用2(实现简单的登录功能)

    文章目录 前言 一 实现用户创建 登陆后才能访问接口 注重用户认证 1 定义一个内存用户 不使用默认用户 2 效果 3 退出登陆 4 再创建一个张三用户 同时支持多用户登陆 二 实现管理员功能 注重权限控制 1 创建一个普通用户demo 2
  • vue 项目代码混淆配置(自定义插件适用)带配置项注释

    文章目录 vue 项目代码混淆配置 自定义插件适用 带配置项注释 一 概要 二 混淆步骤 1 引入混淆插件 2 添加混淆配置 3 执行代码混淆 vue 项目代码混淆配置 自定义插件适用 带配置项注释 一 概要 本文章适用 vue cli3
  • clickhouse--副本、分片、Distributed

    副本的目的防止数据丢失 保证高可用 分片则是实现数据的水平切分 使用副本需要使用replicatedMergeTree存储引擎 MergeTree存储引擎存储数据时首先将数据写入内存缓冲区 然后数据被写入本地磁盘临时目录分区 待全部完成后再
  • Spring Boot 整合redis

    1 在pom xml 添加Spring Boot 的redis 依赖
  • zedboard @ vivado:SDK 加载失败

    参考链接 vivado SDK那些事儿 初试 宋桓公 vivado launch SDK ERROR Timed out 180 seconds have elapsed while waiting for XSDB server to l
  • iOS实训笔记—页面跳转与传值

    iOS开发实训第九周周报 学习知识点归纳 1 页面跳转的方式 1 UITableBarController 标签栏控制器 中的界面跳转 BOOL application UIApplication application didFinish
  • 移动端开发rem实现屏幕适配及处理页面加载页面坍塌样式错乱网页闪烁问题

    rem布局在加载的时候会出现元素一开始很小 闪烁一下恢复正常大小 问题的原因无非就是html一开始没有设置字体大小嘛 那我们就一开始按最常用的iPhone 6 尺寸 设置html的font size 50px 好了 设置html的font
  • 华为OD机试真题-水库蓄水 【2023.Q1】

    题目内容 山脉间建一个天热蓄水库 如何选取水库边界 使蓄水量最大 要求 山脉用正整数数组s表示 每个元素代表山脉的高度 选取山脉上两个点作为蓄水库的边界 则边界内的区域可以蓄水 蓄水量需排除山脉占用的空间 蓄水量的高度为两边界的最小值 如果
  • C++之this指针概念及用法

    我们知道在C 中成员变量和成员函数是分开存储的 每一个非静态成员函数只会诞生一份函数实例 也就是说多个同类型的对象会共用一块代码 那么问题是 这一块代码是如何区分那个对象调用自己的呢 C 通过提供特殊的对象指针 this指针 解决上述问题
  • CSR867x — Speaker Equalizer曲线调试笔记

    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX 作 者 文化人 XX 联系方式 或进群 471144274 XX 版权声明 原创文章 欢迎评论和转载 转载时能告诉我一声就最
  • 面试了一个 31岁的iOS开发者,思绪万千,30岁以上的程序员还有哪些出路?

    前言 之前HR给了我一份简历 刚看到简历的第一眼 31岁 让我有点意外 实际上 现在开发趋向于年轻化 大部分都是90后 95后 毕竟 软件开发不像硬件开发一样 年限越高 相对来说越吃香 31岁 iOS开发工程师 工作经历7年 5年左右都在外
  • vscode操作vue项目的相关步骤

    1 vscode下载安装https code visualstudio com vue插件的安装 1 vetur 该插件是vue文件基本语法的高亮插件 在插件窗口中输入vetur点击安装插件就行 装好后点击文件 gt 首选项 gt 设置 打
  • 合并有序的链表

    合并有序的链表 这里是升序 只是改变指针的方向O n 也是一道超经典的题目 完整实现如下 include
  • iOS自定义弹出窗口

    链接 https www jianshu com p b9bba621b295 先看示例 最终效果图 gif 首先搭建好基础界面 void viewDidLoad super viewDidLoad 设置背景色 self view back
  • [LeetCode]面试题 17.05. 字母与数字

    给定一个放有字母和数字的数组 找到最长的子数组 且包含的字母和数字的个数相同 返回该子数组 若存在多个最长子数组 返回左端点下标值最小的子数组 若不存在这样的数组 返回一个空数组 示例 1 输入 A 1 B C D 2 3 4 E 5 F
  • linux脚本中使用ftp,在shell脚本中使用ftp的方法分享

    有时 我们需要通过ftp传送文件到另一台机器 通常情况下 可以通过交互式的命令行来完成 但对于数据量较多的情况来讲 这样的操作会很烦琐 此时 可以写一段shell脚本 实现ftp文件的自动传输即可 可能的问题 在shell脚本中用FTP传输
  • python2.7 使用super关键词 报错 TypeError: must be type, not classobj 解决办法

    原创作品 允许转载 转载时请务必以超链接形式标明文章 原始出处 作者信息和本声明 否则将追究法律责任 http yeelone blog 51cto com 1476571 971591 今天遇到这个错误 Traceback most re
  • 在Oracle中创建新用户, 并且赋予该用户查看其他用户视图的权限

    本文由Markdown语法编辑器编辑完成 1 需求提出 在HIS与第三方系统进行集成时 某第三方系统需要访问HIS数据库的视图而非全部的数据库表 HIS的数据库为Oracle 因此需要在Oracle中在原有用户的基础上 再增加一个用户 该用