首页数据库Oracle创建只读账号的详细步骤

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

时间2024-02-28 16:10:03发布访客分类数据库浏览979
导读:收集整理的这篇文章主要介绍了Oracle创建只读账号的详细步骤,觉得挺不错的,现在分享给大家,也给大家做个参考。 目录需求说明第一步:创建只读账号第二步:赋予账号连接数据库等基本权限第三...
收集整理的这篇文章主要介绍了Oracle创建只读账号的详细步骤,觉得挺不错的,现在分享给大家,也给大家做个参考。
目录
  • 需求说明
  • 第一步:创建只读账号
  • 第二步:赋予账号连接数据库等基本权限
  • 第三步:获取原账号的查询权限
  • 第四步:将原账号权限赋值为新账号
  • 第五步:在新账号端创建同位显示表
  • 第六步:查询结果在新账号端执行
  • 第七步:执行完成之后 登录新账号,查看结果
  • 第八步:执行删除、修改sql语句测试
  • 附录:Oracle查询账号及权限详细语句

需求说明

现有数据库账号: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_objectswhere owner in ('HEPSUSR')and object_tyPE='TABLE';
    --查询结果为新账号的赋值语句,如下图

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

在原账号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_objectswhere owner in ('HEPSUSR')and object_type='TABLE'

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

在只读账号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;
    

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

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

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

附录: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多表查询中间表的创建实例教程
  • Oracle数据库scott用户创建view视图权限的操作方法
  • Navicat Premium中Oracle创建主键自增的方法
  • Navicat for oracle创建数据库的方法
  • Oracle数据库创建存储过程的示例详解
  • 通过PLSQL Developer创建Database link,DBMS_Job,Procedure,实现Oracle跨库传输数据的方法(推荐)
  • oracle创建dblink方法示例
  • Oracle 给rac创建单实例dg并做主从切换功能
  • Oracle创建设置查询权限用户的方法
  • Oracle创建新undo表空间最佳实践(包含段检查)
  • 使用sqlplus命令行工具为oracle创建用户和表空间

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Oracle创建只读账号的详细步骤
本文地址: https://pptw.com/jishu/631647.html
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过) DBCA命令行搭建Oracle ADG的流程

游客 回复需填写必要信息