TimesTen缓存组做初始化时需要用SYS用户执行一个脚本,即$TIMESTEN_HOME/install/oraclescripts下的grantCacheAdminPrivileges.sql。
其实从此脚本输出中也可以看到一些信息:

SQL> @grantCacheAdminPrivileges "cacheadm"Please enter the administrator user id
The value chosen for administrator user id is cacheadm***************** Creation of TT_CACHE_ADMIN_ROLE starts ******************
0. Creating TT_CACHE_ADMIN_ROLE role
** Creation of TT_CACHE_ADMIN_ROLE done successfully **
***************** Initialization for cache admin begins ******************
0. Granting the CREATE SESSION privilege to CACHEADM
1. Granting the TT_CACHE_ADMIN_ROLE to CACHEADM
2. Granting the DBMS_LOCK package privilege to CACHEADM
3. Granting the DBMS_DDL package privilege to CACHEADM
4. Granting the DBMS_FLASHBACK package privilege to CACHEADM
5. Granting the CREATE SEQUENCE privilege to CACHEADM
6. Granting the CREATE CLUSTER privilege to CACHEADM
7. Granting the CREATE OPERATOR privilege to CACHEADM
8. Granting the CREATE INDEXTYPE privilege to CACHEADM
9. Granting the CREATE TABLE privilege to CACHEADM
10. Granting the CREATE PROCEDURE  privilege to CACHEADM
11. Granting the CREATE ANY TRIGGER  privilege to CACHEADM
12. Granting the GRANT UNLIMITED TABLESPACE privilege to CACHEADM
13. Granting the DBMS_LOB package privilege to CACHEADM
14. Granting the SELECT on SYS.ALL_OBJECTS privilege to CACHEADM
15. Granting the SELECT on SYS.ALL_SYNONYMS privilege to CACHEADM

那到底是否需要此SYS用户,实际赋予了哪些权限,我们通过以下的实验看一下。

假设缓存管理员用户为cacheadm,首先以此用户登录:

$ sqlplus cacheadm@orclpdb1

赋予的角色

可以看到,其被赋予了TT_CACHE_ADMIN_ROLE角色:

col username for a10
col granted_role for a30
select * from USER_ROLE_PRIVS;USERNAME   GRANTED_ROLE                   ADM DEL DEF OS_ COM INH
---------- ------------------------------ --- --- --- --- --- ---
CACHEADM   TT_CACHE_ADMIN_ROLE            NO  NO  YES NO  NO  NOSQL> desc USER_ROLE_PRIVSName                                      Null?    Type----------------------------------------- -------- ----------------------------USERNAME                                           VARCHAR2(128)GRANTED_ROLE                                       VARCHAR2(128)ADMIN_OPTION                                       VARCHAR2(3)DELEGATE_OPTION                                    VARCHAR2(3)DEFAULT_ROLE                                       VARCHAR2(3)OS_GRANTED                                         VARCHAR2(3)COMMON                                             VARCHAR2(3)INHERITED                                          VARCHAR2(3)

用户表权限

set lines 160
set pages 999
col grantee for a10
col owner for a10
col table_name for a20
col grantor for a10
col privilege for a20
col type for a10SQL> SELECT * FROM USER_TAB_PRIVS;GRANTEE    OWNER      TABLE_NAME           GRANTOR    PRIVILEGE            GRA HIE COM TYPE       INH
---------- ---------- -------------------- ---------- -------------------- --- --- --- ---------- ---
CACHEADM   SYS        V_$DATABASE          SYS        SELECT               NO  NO  NO  VIEW       NO
CACHEADM   SYS        GV_$SESSION          SYS        SELECT               NO  NO  NO  VIEW       NO
CACHEADM   SYS        GV_$LOCK             SYS        SELECT               NO  NO  NO  VIEW       NO
CACHEADM   SYS        ALL_OBJECTS          SYS        SELECT               NO  NO  NO  VIEW       NO
CACHEADM   SYS        ALL_SYNONYMS         SYS        SELECT               NO  NO  NO  VIEW       NO
CACHEADM   SYS        USER_USERS           SYS        SELECT               NO  NO  NO  VIEW       NO
CACHEADM   SYS        USER_SYS_PRIVS       SYS        SELECT               NO  NO  NO  VIEW       NO
CACHEADM   SYS        USER_FREE_SPACE      SYS        SELECT               NO  NO  NO  VIEW       NO
CACHEADM   SYS        DBA_DATA_FILES       SYS        SELECT               NO  NO  NO  VIEW       NO
CACHEADM   SYS        USER_TS_QUOTAS       SYS        SELECT               NO  NO  NO  VIEW       NO
CACHEADM   SYS        DBMS_LOB             SYS        EXECUTE              NO  NO  NO  PACKAGE    NO
CACHEADM   SYS        DBMS_LOCK            SYS        EXECUTE              NO  NO  NO  PACKAGE    NO
CACHEADM   SYS        DBMS_DDL             SYS        EXECUTE              NO  NO  NO  PACKAGE    NO
CACHEADM   SYS        DBMS_FLASHBACK       SYS        EXECUTE              NO  NO  NO  PACKAGE    NO
CACHEADM   ORATT      BIN$tw2BbRXrHJTgUwEA ORATT      SELECT               NO  NO  NO  TABLE      NOAH9Nig==$0CACHEADM   ORATT      BIN$tw2BbRXrHJTgUwEA ORATT      INSERT               NO  NO  NO  TABLE      NOAH9Nig==$0CACHEADM   ORATT      BIN$tw2BbRXrHJTgUwEA ORATT      UPDATE               NO  NO  NO  TABLE      NOAH9Nig==$0CACHEADM   ORATT      BIN$tw2BbRXrHJTgUwEA ORATT      DELETE               NO  NO  NO  TABLE      NOAH9Nig==$0CACHEADM   ORATT      BIN$tw2BbRXnHJTgUwEA ORATT      SELECT               NO  NO  NO  TABLE      NOAH9Nig==$0CACHEADM   ORATT      ORDERS               ORATT      SELECT               NO  NO  NO  TABLE      NO
CACHEADM   ORATT      BIN$tyJQ+o4YLFTgUwEA ORATT      SELECT               NO  NO  NO  TABLE      NOAH+mkg==$0CACHEADM   ORATT      READTAB              ORATT      SELECT               NO  NO  NO  TABLE      NO
PUBLIC     SYS        CACHEADM             CACHEADM   INHERIT PRIVILEGES   NO  NO  NO  USER       NO23 rows selected.

上面输出稍多,原因是还有Schema用户ORATT赋予的基础表的权限,以下输出更简洁,这些是实际SYS用户赋予的权限:

SQL> SELECT * FROM USER_TAB_PRIVS where GRANTOR = 'SYS';GRANTEE    OWNER      TABLE_NAME           GRANTOR    PRIVILEGE            GRA HIE COM TYPE       INH
---------- ---------- -------------------- ---------- -------------------- --- --- --- ---------- ---
CACHEADM   SYS        V_$DATABASE          SYS        SELECT               NO  NO  NO  VIEW       NO
CACHEADM   SYS        GV_$SESSION          SYS        SELECT               NO  NO  NO  VIEW       NO
CACHEADM   SYS        GV_$LOCK             SYS        SELECT               NO  NO  NO  VIEW       NO
CACHEADM   SYS        ALL_OBJECTS          SYS        SELECT               NO  NO  NO  VIEW       NO
CACHEADM   SYS        ALL_SYNONYMS         SYS        SELECT               NO  NO  NO  VIEW       NO
CACHEADM   SYS        USER_USERS           SYS        SELECT               NO  NO  NO  VIEW       NO
CACHEADM   SYS        USER_SYS_PRIVS       SYS        SELECT               NO  NO  NO  VIEW       NO
CACHEADM   SYS        USER_FREE_SPACE      SYS        SELECT               NO  NO  NO  VIEW       NO
CACHEADM   SYS        DBA_DATA_FILES       SYS        SELECT               NO  NO  NO  VIEW       NO
CACHEADM   SYS        USER_TS_QUOTAS       SYS        SELECT               NO  NO  NO  VIEW       NO
CACHEADM   SYS        DBMS_LOB             SYS        EXECUTE              NO  NO  NO  PACKAGE    NO
CACHEADM   SYS        DBMS_LOCK            SYS        EXECUTE              NO  NO  NO  PACKAGE    NO
CACHEADM   SYS        DBMS_DDL             SYS        EXECUTE              NO  NO  NO  PACKAGE    NO
CACHEADM   SYS        DBMS_FLASHBACK       SYS        EXECUTE              NO  NO  NO  PACKAGE    NO14 rows selected.

系统权限

SQL> col privilege for a22
SQL> SELECT * FROM USER_SYS_PRIVS;USERNAME   PRIVILEGE              ADM COM INH
---------- ---------------------- --- --- ---
CACHEADM   CREATE OPERATOR        NO  NO  NO
CACHEADM   CREATE ANY TRIGGER     NO  NO  NO
CACHEADM   CREATE INDEXTYPE       NO  NO  NO
CACHEADM   CREATE SEQUENCE        NO  NO  NO
CACHEADM   CREATE CLUSTER         NO  NO  NO
CACHEADM   CREATE TABLE           NO  NO  NO
CACHEADM   CREATE TYPE            NO  NO  NO
CACHEADM   CREATE SESSION         NO  NO  NO
CACHEADM   CREATE PROCEDURE       NO  NO  NO
CACHEADM   SELECT ANY TRANSACTION NO  NO  NO
CACHEADM   UNLIMITED TABLESPACE   NO  NO  NO11 rows selected.

补充

2021年5月11日,用户问到TT_CACHE_ADMIN_ROLE这个角色有什么用?因为没有看到这个角色里有任何权限。是的,确实没有,只是把这个角色赋予缓存管理员了,因此这个角色估计是为了后续赋权方便。

参考

  • How to find the privileges and roles granted to a user in Oracle? [duplicate]

TimesTen缓存管理员用户到底需要什么权限?相关推荐

  1. MacOS解决sudo权限问题以及授予非管理员用户根目录管理权限

    提示Need sudo access on macOS,是因为该用户没有sudo权限. 1.需要使用管理员账号登录,输入sudo visudo命令,更改/etc/sudoers文件 2.输入i进入编辑 ...

  2. 计算机切换到标准用户,Mac电脑使用:终端的管理员用户和普通用户的自由切换方式...

    作为一名IT民工来说,对于电脑的各种操作都需要熟练掌握,不仅要学会Windows电脑的操作,更要学会Mac电脑的操作,不同的操作系统,有些操作是不一样的,就拿终端命令行来说,Windows系统的cmd ...

  3. 数据库管理员用户角色组权限设计

    一.引言 因为做过的一些系统的权限管理的功能虽然在逐步完善,但总有些不尽人意的地方,总想抽个时间来更好的思考一下权限系统的设计. 权限系统一直以来是我们应用系统不可缺少的一个部分,若每个应用系统都重新 ...

  4. Linux:Root(管理员)新建用户,并赋普通用户文件夹的权限,同时普通用户设置文件权限仅自己能访问

    1.新建用户 (1)为了获取创建用户的权限,切换为root用户 peng@ubuntu:~$ sudo su (2)添加一个新用户(如用户名为xyz) root@ubuntu:/home/peng# ...

  5. linux无需管理员运行sh,linux下权限问题,如何让无root管理员权限的用户执行需root权限执行的脚本文件...

    匿名用户 1级 2013-07-12 回答 看了前面几位回答者我觉得应当采取一种简单的方法. 看你的意图允许任何人挂载/dev/sda5并且访问它 那么可以如此,任何人都可以挂载硬盘而无需密码,包括其 ...

  6. mysql 用户管理_mysql 用户管理及数据权限问题总结

    1.远程登录mysql mysql -h ip -u root -p 密码 2.创建用户 格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码 ...

  7. Windows基本命令操作、网络相关操作、windows用户管理、NTFS权限、更新策略的方法

    一.Windows基本命令操作 一.目录与文件应用操作 1.cd 命令 用于改变当前提示符盘符路径或提示符目录路径 CD [/D] [drive:][path] #跨盘符切换必须要跟上 /d 选项 举 ...

  8. linux用户、组、权限问题

    用户.组.权限 一.权限:r, w, x 1.文件权限:       r:可读,可以使用类似cat等命令查看文件内容:       w:可写,可以编辑或删除此文件:       x: 可执行,eXac ...

  9. springBoot+springSecurity 数据库动态管理用户、角色、权限(二)

    序:  本文使用springboot+mybatis+SpringSecurity 实现数据库动态的管理用户.角色.权限管理 本文细分角色和权限,并将用户.角色.权限和资源均采用数据库存储,并且自定义 ...

最新文章

  1. (转)VS2005 SP1发布,解决只能创建WebSite,无法创建Web Application项目的问题
  2. spoj450 Enormous Input Test
  3. hbase-site.xml 和 hbase-default.xml
  4. jQuery-强大的jQuery选择器 (详解)
  5. Javascript基础系列之(五)条件语句(比较操作符)
  6. python将excel日期比大小_sql与excel、python比较(二)——日期和时间函数
  7. mysql报错 DuplicateKeyException分析与解决
  8. Python黑帽子--黑客与渗透测试编程之道
  9. linux中rpm -q命令,Linux中的RPM
  10. Ubuntu16.04使用语义分割标注工具Semantic-Segmentation-Editor
  11. 中国医科大学2021年9月《社区护理学》作业考核试题
  12. 黑客教父龚蔚谈公共WiFi该不该连?
  13. 使用Mongoose populate实现多表关联存储与查询,内附完整代码
  14. 计算机游戏软件使用说明书,虚贝游戏上号器怎么用 使用方法详解
  15. php后台登录,简单的PHP数据后台实现用户登录,php后台用户登录
  16. 2022互联网校招黑话大赏
  17. AT89S8253片内EEPROM字节读、字节写、页读、页写驱动代码、注意事项及注释
  18. 开源电子书阅读器 LibreraReader 编译环境与编译
  19. 集美大学计算机工程学院学业预警,学业预警
  20. This version of ChromeDriver only supports Chrome version 88 Current browser version is 91.0.4472.12

热门文章

  1. 罗马数字与阿拉伯数字互转
  2. VB .bas文件生成dll并且调用
  3. 有计算机考试励志的文案,中考励志文案(精选50句)
  4. 20180402-A · US Tuition Costs · ggplot2, 折线图 · R 语言数据可视化 案例 源码
  5. 一些完整的Android开源app项目
  6. IBM Rational AppScan保存报告时提示错误的解决方案
  7. 开源后台管理框架之AdminLTE学习
  8. 微信清除缓存的两种方法
  9. 软件测试简历包装我们会了,但测试人的自我“包装”呢?HR自我介绍包装小技巧【建议收藏】
  10. 虚拟邮箱地址-可随意接收邮箱验证码——网站