精华内容
下载资源
问答
  • Oracle 查询权限视图

    2018-11-23 11:14:00
    Oracle中有很多用于查权限视图,但很多人在需要查权限时会很困惑,不知道该用哪个视图去查,这里我列出几个常见的用于查权限视图及其用法: 1DBA_ROLE_PRIVS 该视图主要有以下2个作用: 1) 查某个user或...

    Oracle中有很多用于查权限的视图,但很多人在需要查权限时会很困惑,不知道该用哪个视图去查,这里我列出几个常见的用于查权限的视图及其用法:

    1DBA_ROLE_PRIVS

    该视图主要有以下2个作用:

    1) 查某个user或role拥有哪些role:

    select * from DBA_ROLE_PRIVS where GRANTEE='FIRGTRS';

     

    GRANTEE                        GRANTED_ROLE                   ADM DEF

    ------------------------------ ------------------------------ --- ---

    FIRGTRS                        GTRS_DMM_UPDATE_ROLE           NO  YES

    2) 查看某个role赋给了哪些user或role:select * from DBA_ROLE_PRIVS where GRANTED_ROLE='GTRS_DMM_UPDATE_ROLE';

     

    GRANTEE                        GRANTED_ROLE                   ADM DEF

    ------------------------------ ------------------------------ --- ---

    GTRSOSA                        GTRS_DMM_UPDATE_ROLE           NO  YES

    FIRGTRS                        GTRS_DMM_UPDATE_ROLE           NO  YES

    GTRSSUP                        GTRS_DMM_UPDATE_ROLE           NO  YES

    SYSTEM                         GTRS_DMM_UPDATE_ROLE           YES YES

    2DBA_TAB_PRIVS

    该视图的名字包含‘TAB’,且其中有一个column叫TABLE_NAME容易造成误解,其实该视图是用于查询在object上的权限,不仅仅table的权限。

    select GRANTOR,GRANTEE,TABLE_NAME,PRIVILEGE from DBA_TAB_PRIVS where TABLE_NAME='PAYAGENT' order by GRANTEE;

     

    GRANTOR         GRANTEE                                      TABLE_NAME                     PRIVILEGE

    --------------- ------------------------------                            ------------------------------ ---------------

    GTRS            DMM_ROLE                                        PAYAGENT                       INSERT

    GTRS            DMM_ROLE                                        PAYAGENT                       UPDATE

    GTRS            DMM_ROLE                                         PAYAGENT                       DELETE

    GTRS            DMM_ROLE                                            PAYAGENT                       SELECT

    GTRS            GTRS_DMM_READONLY_ROLE       PAYAGENT                       SELECT

    GTRS            GTRS_DMM_UPDATE_ROLE           PAYAGENT                       INSERT

    GTRS            GTRS_DMM_UPDATE_ROLE           PAYAGENT                       DELETE

    GTRS            GTRS_DMM_UPDATE_ROLE           PAYAGENT                       UPDATE

    GTRS            GTRS_DMM_UPDATE_ROLE           PAYAGENT                       SELECT

    GTRS            GTRS_SUPPORT_READONLY_ROLE     PAYAGENT                       SELECT

    GTRS            GTRS_SUPPORT_UPDATE_ROLE       PAYAGENT                       UPDATE

    GTRS            GTRS_SUPPORT_UPDATE_ROLE       PAYAGENT                       INSERT

    GTRS            GTRS_SUPPORT_UPDATE_ROLE       PAYAGENT                       DELETE

    GTRS            GTRS_SUPPORT_UPDATE_ROLE       PAYAGENT                       SELECT

    GTRS            SUPPORT_ROLE                                    PAYAGENT                       SELECT

    3DBA_SYS_PRIVS

    该视图用于查询某个user拥有哪些系统权限:

    select * from DBA_SYS_PRIVS where GRANTEE='FIRGTRS';

     

    GRANTEE                        PRIVILEGE       ADM

    ------------------------------ --------------- ---

    FIRGTRS                        CREATE SESSION  NO

    4ROLE_SYS_PRIVS

    该视图用于查询某个role拥有哪些系统权限:

    select * from ROLE_SYS_PRIVS where ROLE='DBA_SUPPORT';

     

    ROLE                           PRIVILEGE                      ADM

    ------------------------------ ------------------------------ ---

    DBA_SUPPORT                    SELECT ANY SEQUENCE            NO

    DBA_SUPPORT                    SELECT ANY DICTIONARY          NO

    5SESSION_PRIVS

    该视图用于查询当前user拥有哪些系统权限:

    select * from SESSION_PRIVS;

     

    PRIVILEGE

    ------------------------------

    CREATE SESSION

    SELECT ANY SEQUENCE

    SELECT ANY DICTIONARY

    6SESSION_ROLES

    该视图用于查询当前user拥有哪些role:select * from SESSION_ROLES;

     

    ROLE

    ------------------------------

    DBA_SUPPORT

    CONNECT

    SELECT_CATALOG_ROLE

    HS_ADMIN_ROLE

    7附注: WITH ADMIN OPTIONWITH ADMIN OPTION 是针对系统权限的,它的作用可以用下面这句话说明:

    Only users who have been granted a specific system privilege with the ADMIN OPTION or users with the system privileges GRANT ANY PRIVILEGE or GRANT ANY OBJECT PRIVILEGE can grant or revoke system privileges to other users.

    也就是说,对于某些权限大的user来说(比如DBA,一般拥有GRANT ANY PRIVILEGE和GRANT ANY OBJECT PRIVILEGE),WITH ADMIN OPTION对它们没有影响,因为它们本身就具有给其它user或role赋系统权限的权力;而对于一般的user来说,它们的权限都是DBA赋给它们的,如果在DBA赋给它们权限时加了WITH ADMIN OPTION, 则它们还可以把这些权限再赋给其它的user,否则不能,请看以下实验:

    1) 首先用DBA账号(a105024)登陆数据库,并创建两个测试账号(testuser1, testuser2):A105024@O02DMS1>create user testuser1 identified by test1;

     

    User created.

     

    A105024@O02DMS1>create user testuser2 identified by test2;

     

    User created.

    2) 用DBA账号把 create session权限赋给测试账号1:A105024@O02DMS1>grant CREATE SESSION to testuser1;

     

    Grant succeeded.

    3) 用测试账号1登陆数据库,并查看测试账号1的系统权限:TESTUSER1@O02DMS1>select * from user_sys_privs;

     

    USERNAME                       PRIVILEGE                                ADM

    ------------------------------ ---------------------------------------- ---

    TESTUSER1                       CREATE SESSION                           NO

    4) 用测试账号1尝试把create session赋给其它user:TESTUSER@O02DMS1>grant CREATE SESSION to testuser2;

    grant CREATE SESSION to testuser2

    *

    ERROR at line 1:

    ORA-01031: insufficient privileges出现权限不足的错误,是因为ADM那列的值为NO.

     

    5) 用DBA账号把create session权限赋给测试账号1,并加上with admin option:A105024@O02DMS1>grant CREATE SESSION to testuser1 with admin option;

     

    Grant succeeded.

    6) 查看测试账号1的系统权限:

    TESTUSER1@O02DMS1>select * from user_sys_privs;

     

    USERNAME                       PRIVILEGE                                ADM

    ------------------------------ ---------------------------------------- ---

    TESTUSER1                       CREATE SESSION                           YES

    7) 用测试账号1把create session赋给其它user:TESTUSER@O02DMS1>grant CREATE SESSION to testuser2;

     

    Grant succeeded.

    WITH GRANT OPTION类似,只是它是针对对象权限的。

     

     

     

    转载于:https://www.cnblogs.com/jenrry/p/10006347.html

    展开全文
  • 解决方法: 以dba用户登录 [sql] 代码如下: sqlplus / as sysdba 赋予scott用户创建VIEW的权限 [sql] 代码如下: grant create view to scott 以scott用户登录oracle [sql] 代码如下: conn scott/tiger 创建视图成功 ...
  • 2、在创建用户的时候如果直接给用户DBA权限,那么在B用户中可以直接查询A用户的表,但是在创建视图时就会报无权限, 在这种情况下需要再在被访问的A用户里面去给予要访问该表的B用户授权。 解决方法: 1、赋予用户...

    1、赋予dba的权限

    grant dba to user;

    2、在创建用户的时候如果直接给用户DBA权限,那么在B用户中可以直接查询A用户的表,但是在创建视图时就会报无权限,
    在这种情况下需要再在被访问的A用户里面去给予要访问该表的B用户授权。


    解决方法:

    1、赋予用户创建视图的权限:GRANT CREATE VIEW TO USER
    2、赋予可以查询任何表的权限:GRANT SELECT ANY TABLE TO USER
    3、赋予可以查询任何字典的权限:GRANT SELECT ANY DICTIONARY TO USER

    展开全文
  • oracle 查询dba

    2016-06-07 14:21:35
    --查看oracle所有数据库 select * from dba_tablespaces --查看系统所有表 select * from Dba_Tables --查看当前用户所有的表 ...DBA必须熟悉的、最有用的DBA视图。 dba_data_files 关于数据库文件的信息 ...

    --查看oracle所有数据库

    select * from dba_tablespaces

    --查看系统所有表

    select * from Dba_Tables

    --查看当前用户所有的表

    select * from user_tables

    DBA必须熟悉的、最有用的DBA视图。

    dba_data_files                            关于数据库文件的信息

    dba_db_links                              数据库中的所有数据库链路

    dba_extents                               数据库中包括所有分区

    dba_free_space                          所有表空间中自由分区

    dba_indexes                              数据库中所有索引的描述

    dba_ind_columns                       在所有表及聚族上压缩索引的列

    dba_objects                               数据库中所有的对象

    dba_rollback_segs                      回滚段的描述

    dba_segments                           为所有数据库段分配的存储空间

    dba_sequences                         数据库中所有顺序书的描述

    dba_synonyms                         数据库中所有同义词

    dba_tables                               数据库中所有表的描述

    dba_tablespaces                      数据库中所有表空间的描述

    dba_tab_columns                     所有表描述、视图以及聚族的列

    dba_tab_grants                       数据库中对象所授的权限

    dba_tab_privs                         数据库中对象所授的权限

    dba_ts_quotas                        所有用户表空间限额

    dba_users                             关于数据库的所有用户信息

    dba_views                             数据库中所有视图

     

    展开全文
  • --授予视图权限 GRANT ON COMMIT REFRESH to zht; GRANT GLOBAL QUERY REWRITE TO zht;   --授予DBA权限 grant dba to zht; grant connect,resource to zht;

    --授予视图权限

    GRANT ON COMMIT REFRESH to zht;

    GRANT GLOBAL QUERY REWRITE TO zht;

     

    --授予DBA权限

    grant dba to zht;

    grant connect,resource to zht;

    展开全文
  • 使用用户 AAA 登录Oracle以后,创建视图,提示“权限不够” 这是因为 AAA 这个帐户目前没有创建视图权限。 解决方法为: 首先使用system帐户进行登录 ,然后执行:grant create any view to AAA 提示:授权成功...
  • 1.查询视图,是否必须要有视图基表的查询权限? 2.将视图查询权限赋予其他用户,只需要有基表的查询权限吗?测试步骤: 1.创建三个用户test1,test2,test3,赋予connect,resource,create view权限。SQL> ...
  • 当前用户创建所属表的视图 1.1 以dba用户登录 sqlplus / as sysdba 1.2 赋予用户创建VIEW的权限 grant create view to 用户 当前用户创建其他用户的表视图 2.1 以dba用户登录 ...2.3 授予查询权限 grant sel...
  • Oracle用户权限视图

    2010-01-02 23:06:27
    Oracle用户权限视图概述  与权限,角色相关的视图大概有下面这些:  DBA_SYS_PRIVS: 查询某个用户所拥有的系统权限  USER_SYS_PRIVS: 当前用户所拥有的系统权限  SESSION_PRIVS: 当前用户所拥有的...
  • 注: 需要全部三个权限都授予,无法创建视图的可以查看当前用户是否有全部权限 --授予创建权限 1、grant create view to User; --授予查询权限 2、grant select any table to User; --授予权限 3、grant ...
  • 在scott用户创建视图的时候,出现错误ORA-01031:权限不足 具体解决方法如下: 1.使用dba用户登录 2.给scott用户创建视图的权限。 --创建视图权限grant create any view to scott;...--创建视图权限grant ...
  • oracle授权动态视图权限给用户

    千次阅读 2016-10-31 10:49:00
    给用户hf0928赋值视图 v$parameter查询权限 grant select on v$parameter to hf0928; 会报错误:  ORA-02030: can only select from fixed tables/views 正确的授权是按表名来授权,视图不行,查询 v...
  • Oracle创建视图view权限不足问题剖析

    千次阅读 2013-06-23 13:01:27
    使用USER1等其他用户登录Oracle以后,创建视图,提示“权限不够”,怎么解决?   这是因为USER1这个帐户目前没有创建视图权限。 解决方法为:  首先使用system帐户进行登录   然后执行: ...
  • Oracle查询用户权限角色(dba_sys_privs)

    千次阅读 2018-04-03 16:35:11
    Oracle查询用户权限数据字典1、动态数据字典是以v$xxx开始的数据字典,在数据库中约有150个左右,这些数据字典反映数据库动态运行状况,在不同时间查询会得到不同的结果。2、DBA数据字典是以DBA_xxx表示,该数据字典...
  • oracle授予所有视图查询权限

    千次阅读 2014-05-28 13:44:13
    搜了一下有人说是 GRANT SELECT ANY VIEW TO 用户名 实际上没有这种命令 应该是 ...' from dba_views; 参考 https://community.oracle.com/thread/2126988?start=0&tstart=0
  • Oracle数据字典:dba_视图

    千次阅读 2012-04-11 10:37:57
    数据字典相关连接: Oracle数据字典:常用字典 Oracle数据字典:user_视图 Oracle数据字典:all_视图 ...DBA_ 视图返回有关数据库中所有对象的...有时候数据库管理员可授予开发人员访问 DBA 视图权限。同义词并
  • oracle 用户视图创建权限

    千次阅读 2018-01-27 22:27:23
    问题描述:在scott用户下创建视图的时候,报错:权限不足。 (其他用户以此类推) 解决方法 以dba用户登录 [sql] 代码如下: sqlplus / as sysdba 赋予scott用户创建VIEW的权限 [sql] ...
  • Oracle 在创建用户的时候如果直接给用户DBA权限,那么在B用户中可以直接查询A用户的表,但是在创建视图时就会报无权限,在这种情况下需要再在被访问的A用户里面去给予要访问该表的B用户授权。 --创建视图权限,...
  • Oracle数据库视图权限问题

    千次阅读 2014-08-21 11:45:28
    前几天客户遇上这样一个问题,某个用户A将视图的SELECT给予另一个用户B,但是用户B查询这个视图时,仍然报错:ORA-01031: 权限不足。这是怎么一回事呢?下面来模拟一下这个过程:  有三个用户test1,test2,test3,...
  • oracle权限视图

    千次阅读 2014-11-08 17:28:26
    查看某个用户在某个对象的权限,可以查dba_tab_privs 或者user_tab_privs   如下:某普通用户登陆,查自己的角色 SQL> select * from user_role_privs;   查自己拥有哪些系统权限 ...
  • 本文将为大家介绍Oracle用户权限视图的使用方法,包括一些Oracle用户权限视图的命令等。希望能对大家日常数据库维护有所帮助。查看当前用户:SQL>select user from dual;一. ...
  • 最近看了一下关于oracle的用户权限的相关视图,现在将自己
  • Oracle所在服务器(虚拟机) 登陆dba (这样不需要密码) 步骤1:打开cmd 执行 sqlplus/nolg (可能需要cmd到sqlplus.exe所在目录下) 步骤2:conn/as sysdba 步骤3: 创建用户(你可能已有用户,不需要这一步) ...
  • ``` grant connect, resource, dba to scott; --没有权限创建视图 ``` 不是connect包含有创建视图权限吗? ``` grant create view to scott;--这个可以 ```
  • 主要角色及dba权限说明,详见压缩包中excel文件: III. 权限等级 A. sysdba 数据库系统管理员,sys用户默认具有sysdba权限,详细权限列表,可以参看压缩包中excel文件: 可以进行如下...
  • Oracle在sys用户方案中内置了许多视图,我们可以利用它们方便地查看系统相关的信息。在调用这些视图的时候我们可以不加schema,以下是一些 关于用户、角色和权限信息的视图总结: (1)all_users视图:可以查看...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,696
精华内容 9,878
关键字:

oracle查询dba视图权限