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 相关文章推荐
ORACLE数据库对long类型字段进行模糊匹配的解决思路
Apr 07 Oracle
使用springboot暴露oracle数据接口的问题
May 07 Oracle
Oracle安装TNS_ADMIN环境变量设置参考
Nov 01 Oracle
排查并解决Oracle sysaux表空间异常增长
Apr 20 Oracle
分析SQL窗口函数之排名窗口函数
Apr 21 Oracle
Oracle用户管理及赋权
Apr 24 Oracle
SQL试题 使用窗口函数选出连续3天登录的用户
Apr 24 Oracle
清空 Oracle 安装记录并重新安装
Apr 26 Oracle
Oracle中DBLink的详细介绍
Apr 29 Oracle
Oracle锁表解决方法的详细记录
Jun 05 Oracle
oracle设置密码复杂度及设置超时退出的功能
Jun 28 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读取msn上的用户信息类
2008/12/05 PHP
PHP时间格式控制符对照表分享
2013/07/23 PHP
PHP获取当前页面URL函数实例
2014/10/22 PHP
PHP文件读取功能的应用实例
2015/05/08 PHP
php可扩展的验证类实例(可对邮件、手机号、URL等验证)
2015/07/09 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
2016/04/20 PHP
php array 转json及java 转换 json数据格式操作示例
2019/11/13 PHP
javascript对话框使用方法(警告框 javascript确认框 提示框)
2014/01/07 Javascript
Javascript中this的用法详解
2014/09/22 Javascript
jQuery Ajax 全局调用封装实例代码详解
2016/06/02 Javascript
详解JavaScript中数组的reduce方法
2016/12/02 Javascript
进阶之初探nodeJS
2017/01/24 NodeJs
babel的使用及安装配置教程
2018/02/22 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
2018/08/12 Javascript
vue根据进入的路由进行原路返回的方法
2018/09/26 Javascript
使用JS实现动态时钟
2020/03/12 Javascript
Vue基于iview table展示图片实现点击放大
2020/08/05 Javascript
VUE前端从后台请求过来的数据进行转换数据结构操作
2020/11/11 Javascript
[01:34]2014DOTA2展望TI 剑指西雅图VG战队专访
2014/06/30 DOTA
[01:38]女王驾到——至宝魔廷新尊技能&特效展示
2020/06/16 DOTA
跟老齐学Python之深入变量和引用对象
2014/09/24 Python
使用pdb模块调试Python程序实例
2015/06/02 Python
python win32 简单操作方法
2017/05/25 Python
使用python批量化音乐文件格式转换的实例
2019/01/09 Python
Python创建字典的八种方式
2019/02/27 Python
python字符串替换第一个字符串的方法
2019/06/26 Python
django的聚合函数和aggregate、annotate方法使用详解
2019/07/23 Python
Python读写锁实现实现代码解析
2020/11/28 Python
维珍澳洲航空官网:Virgin Australia
2017/09/08 全球购物
Tommy Hilfiger美国官网:美国高端休闲领导品牌
2019/01/14 全球购物
办公室副主任岗位职责
2013/11/25 职场文书
财务经理的岗位职责
2013/12/17 职场文书
任命书范本大全
2014/06/06 职场文书
安全标兵事迹材料
2014/08/17 职场文书
《女娲补天》教学反思
2016/02/20 职场文书
Nginx+Windows搭建域名访问环境的操作方法
2022/03/17 Servers