Oracle创建只读账号的详细步骤


Posted in Oracle onJune 07, 2021

需求说明

现有数据库账号:HEPSUSR:具有完整权限,增删改查。

需要创建一个数据库账号:HTREADER,对HEPSUSR账号下所有的表具有只读权限。

第一步:创建只读账号

--创建只读账号 第一步
CREATE USER htreader identified by 123456;

第二步:赋予账号连接数据库等基本权限

--赋予htreader连接等常规权限
grant connect to htreader;
grant create view to htreader;
grant create session to htreader;
grant create synonym to htreader;

第三步:获取原账号的查询权限

获取原账号HEPSUSR用户的所有查询表权限
select 'grant select on '||owner||'.'||object_name||' to htreader;'
from dba_objects
where owner in ('HEPSUSR')
and object_type='TABLE';

--查询结果为新账号的赋值语句,如下图

Oracle创建只读账号的详细步骤

第四步:将原账号权限赋值为新账号

在原账号HEPSUSR下执行,将原账号的查询权限 赋值给新账号
-------
grant select on HEPSUSR.ENTRY_CERT to htreader;
grant select on HEPSUSR.SUB_MESSAGE_INFO to htreader;
grant select on HEPSUSR.ENTRY_CERT_RELATION to htreader;
grant select on HEPSUSR.ENTRY_CERT_RELATION to htreader;
grant select on HEPSUSR.ENTRY_DECL_TAX to htreader;
grant select on HEPSUSR.ENTRY_DOCU to htreader;
grant select on HEPSUSR.ENTRY_FEES to htreader;
grant select on HEPSUSR.ENTRY_GOODS_TAX to htreader;
grant select on HEPSUSR.ENTRY_HEAD to htreader;
grant select on HEPSUSR.ENTRY_LIST to htreader;
grant select on HEPSUSR.ENTRY_WORKFLOW to htreader;
grant select on HEPSUSR.IQ_APPEND to htreader;
grant select on HEPSUSR.IQ_CERT to htreader;
grant select on HEPSUSR.SUB_SWAP to htreader;
grant select on HEPSUSR.VIN_LIST to htreader;

第五步:在新账号端创建同位显示表

因为新创建的只读账号,Tables栏中显示为空,我们需要在PL/SQL显示栏中为新账号登录界面添加显示同位元素,如下:

--在原账号HEPSUSR端执行,获取需要显示的表名称
select 'create or replace SYNONYM htreader.'||object_name|| ' for ' ||owner|| '.'||object_name||';'
from dba_objects
where owner in ('HEPSUSR')
and object_type='TABLE'

Oracle创建只读账号的详细步骤

第六步:查询结果在新账号端执行

在只读账号HTREADER端执行:添加显示各个表信息;在SYSNONYM目录下,tables目录下无显示
create or replace SYNONYM htreader.VIN_LIST for HEPSUSR.VIN_LIST;
create or replace SYNONYM htreader.SUB_SWAP for HEPSUSR.SUB_SWAP;
create or replace SYNONYM htreader.SUB_MESSAGE_INFO for HEPSUSR.SUB_MESSAGE_INFO;
create or replace SYNONYM htreader.IQ_CERT for HEPSUSR.IQ_CERT;
create or replace SYNONYM htreader.IQ_APPEND for HEPSUSR.IQ_APPEND;
create or replace SYNONYM htreader.ENTRY_WORKFLOW for HEPSUSR.ENTRY_WORKFLOW;
create or replace SYNONYM htreader.ENTRY_LIST for HEPSUSR.ENTRY_LIST;
create or replace SYNONYM htreader.ENTRY_HEAD for HEPSUSR.ENTRY_HEAD;
create or replace SYNONYM htreader.ENTRY_GOODS_TAX for HEPSUSR.ENTRY_GOODS_TAX;
create or replace SYNONYM htreader.ENTRY_FEES for HEPSUSR.ENTRY_FEES;
create or replace SYNONYM htreader.ENTRY_DOCU for HEPSUSR.ENTRY_DOCU;
create or replace SYNONYM htreader.ENTRY_DECL_TAX for HEPSUSR.ENTRY_DECL_TAX;
create or replace SYNONYM htreader.ENTRY_CONTAINER for HEPSUSR.ENTRY_CONTAINER;
create or replace SYNONYM htreader.ENTRY_CERT_RELATION for HEPSUSR.ENTRY_CERT_RELATION;
create or replace SYNONYM htreader.ENTRY_CERT for HEPSUSR.ENTRY_CERT;

第七步:执行完成之后 登录新账号,查看结果

新账号可以查询原账号的所有表结构,但是无法执行 增删改相关操作

Oracle创建只读账号的详细步骤

第八步:执行删除、修改sql语句测试

Oracle创建只读账号的详细步骤

附录:Oracle查询账号及权限详细语句

1.查看所有用户:
select * from dba_users;
select * from all_users;
select * from user_users;

2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限):
select * from dba_sys_privs;
select * from user_sys_privs;

3.查看角色(只能查看登陆用户拥有的角色)所包含的权限
sql>select * from role_sys_privs;

4.查看用户对象权限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;

5.查看所有角色:
select * from dba_roles;

6.查看用户或角色所拥有的角色:
select * from dba_role_privs;
select * from user_role_privs;

以上就是Oracle创建只读账号的详细步骤的详细内容,更多关于Oracle创建只读账号的资料请关注三水点靠木其它相关文章!

Oracle 相关文章推荐
mybatis使用oracle进行添加数据的方法
Apr 27 Oracle
DBCA命令行搭建Oracle ADG的流程
Jun 11 Oracle
C#连接ORACLE出现乱码问题的解决方法
Oct 05 Oracle
Oracle安装TNS_ADMIN环境变量设置参考
Nov 01 Oracle
Oracle中update和select 关联操作
Jan 18 Oracle
oracle删除超过N天数据脚本的方法
Feb 28 Oracle
详细聊聊Oracle表碎片对性能有多大的影响
Mar 19 Oracle
Oracle使用别名的好处
Apr 19 Oracle
排查并解决Oracle sysaux表空间异常增长
Apr 20 Oracle
Oracle用户管理及赋权
Apr 24 Oracle
SQL试题 使用窗口函数选出连续3天登录的用户
Apr 24 Oracle
Oracle中DBLink的详细介绍
Apr 29 Oracle
Oracle11g R2 安装教程完整版
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
使用Navicat Premium工具将oracle数据库迁移到MySQL
Oracle更换为MySQL遇到的问题及解决
May 21 #Oracle
oracle覆盖导入dmp文件的2种方法
Oracle 区块链表创建过程详解
zabbix agent2 监控oracle数据库的方法
You might like
php计算数组相同值出现次数的代码(array_count_values)
2015/01/20 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
用javascript编写的第一人称射击游戏
2007/02/25 Javascript
jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
2010/10/20 Javascript
javascript来定义类的规范小结
2010/11/19 Javascript
js解析json读取List中的实体对象示例
2014/03/11 Javascript
js运动应用实例解析
2015/12/28 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
浅谈Vue数据响应思路之数组
2018/11/06 Javascript
JavaScript常用事件介绍
2019/01/21 Javascript
详解JavaScript中的强制类型转换
2019/04/15 Javascript
微信小程序下拉框搜索功能的实现方法
2019/07/31 Javascript
Vue 动态组件components和v-once指令的实现
2019/08/30 Javascript
layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子
2019/09/11 Javascript
JS如何调用WebAssembly编译出来的.wasm文件
2020/11/05 Javascript
Python查看多台服务器进程的脚本分享
2014/06/11 Python
分析在Python中何种情况下需要使用断言
2015/04/01 Python
Python使用arrow库优雅地处理时间数据详解
2017/10/10 Python
分析python请求数据
2018/08/19 Python
Python寻找两个有序数组的中位数实例详解
2018/12/05 Python
Python的UTC时间转换讲解
2019/02/26 Python
Python3.5运算符操作实例详解
2019/04/25 Python
numpy concatenate数组拼接方法示例介绍
2019/05/27 Python
webapp字号大小跟随系统字号大小缩放的示例代码
2018/12/26 HTML / CSS
AC Lens:购买隐形眼镜
2017/02/26 全球购物
中东地区为妈妈们提供一切的头号购物目的地:Sprii
2018/05/06 全球购物
美国饼干礼物和美食甜点购买网站:Cheryl’s
2020/05/28 全球购物
销售业务实习自我鉴定
2013/09/23 职场文书
法律专业应届生自荐信范文
2014/01/06 职场文书
《小壁虎借尾巴》教学反思
2014/02/16 职场文书
五一口号
2014/06/19 职场文书
不听老师话的万能检讨书
2014/10/04 职场文书
增值税发票丢失证明
2015/06/19 职场文书
党组织关系的介绍信模板
2019/06/21 职场文书
原来闭幕词是这样写的呀!
2019/07/01 职场文书
Html5生成验证码的示例代码
2021/05/10 Javascript