TimesTen缓存管理员用户到底需要什么权限?
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缓存管理员用户到底需要什么权限?相关推荐
- MacOS解决sudo权限问题以及授予非管理员用户根目录管理权限
提示Need sudo access on macOS,是因为该用户没有sudo权限. 1.需要使用管理员账号登录,输入sudo visudo命令,更改/etc/sudoers文件 2.输入i进入编辑 ...
- 计算机切换到标准用户,Mac电脑使用:终端的管理员用户和普通用户的自由切换方式...
作为一名IT民工来说,对于电脑的各种操作都需要熟练掌握,不仅要学会Windows电脑的操作,更要学会Mac电脑的操作,不同的操作系统,有些操作是不一样的,就拿终端命令行来说,Windows系统的cmd ...
- 数据库管理员用户角色组权限设计
一.引言 因为做过的一些系统的权限管理的功能虽然在逐步完善,但总有些不尽人意的地方,总想抽个时间来更好的思考一下权限系统的设计. 权限系统一直以来是我们应用系统不可缺少的一个部分,若每个应用系统都重新 ...
- Linux:Root(管理员)新建用户,并赋普通用户文件夹的权限,同时普通用户设置文件权限仅自己能访问
1.新建用户 (1)为了获取创建用户的权限,切换为root用户 peng@ubuntu:~$ sudo su (2)添加一个新用户(如用户名为xyz) root@ubuntu:/home/peng# ...
- linux无需管理员运行sh,linux下权限问题,如何让无root管理员权限的用户执行需root权限执行的脚本文件...
匿名用户 1级 2013-07-12 回答 看了前面几位回答者我觉得应当采取一种简单的方法. 看你的意图允许任何人挂载/dev/sda5并且访问它 那么可以如此,任何人都可以挂载硬盘而无需密码,包括其 ...
- mysql 用户管理_mysql 用户管理及数据权限问题总结
1.远程登录mysql mysql -h ip -u root -p 密码 2.创建用户 格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码 ...
- Windows基本命令操作、网络相关操作、windows用户管理、NTFS权限、更新策略的方法
一.Windows基本命令操作 一.目录与文件应用操作 1.cd 命令 用于改变当前提示符盘符路径或提示符目录路径 CD [/D] [drive:][path] #跨盘符切换必须要跟上 /d 选项 举 ...
- linux用户、组、权限问题
用户.组.权限 一.权限:r, w, x 1.文件权限: r:可读,可以使用类似cat等命令查看文件内容: w:可写,可以编辑或删除此文件: x: 可执行,eXac ...
- springBoot+springSecurity 数据库动态管理用户、角色、权限(二)
序: 本文使用springboot+mybatis+SpringSecurity 实现数据库动态的管理用户.角色.权限管理 本文细分角色和权限,并将用户.角色.权限和资源均采用数据库存储,并且自定义 ...
最新文章
- (转)VS2005 SP1发布,解决只能创建WebSite,无法创建Web Application项目的问题
- spoj450 Enormous Input Test
- hbase-site.xml 和 hbase-default.xml
- jQuery-强大的jQuery选择器 (详解)
- Javascript基础系列之(五)条件语句(比较操作符)
- python将excel日期比大小_sql与excel、python比较(二)——日期和时间函数
- mysql报错 DuplicateKeyException分析与解决
- Python黑帽子--黑客与渗透测试编程之道
- linux中rpm -q命令,Linux中的RPM
- Ubuntu16.04使用语义分割标注工具Semantic-Segmentation-Editor
- 中国医科大学2021年9月《社区护理学》作业考核试题
- 黑客教父龚蔚谈公共WiFi该不该连?
- 使用Mongoose populate实现多表关联存储与查询,内附完整代码
- 计算机游戏软件使用说明书,虚贝游戏上号器怎么用 使用方法详解
- php后台登录,简单的PHP数据后台实现用户登录,php后台用户登录
- 2022互联网校招黑话大赏
- AT89S8253片内EEPROM字节读、字节写、页读、页写驱动代码、注意事项及注释
- 开源电子书阅读器 LibreraReader 编译环境与编译
- 集美大学计算机工程学院学业预警,学业预警
- This version of ChromeDriver only supports Chrome version 88 Current browser version is 91.0.4472.12
热门文章
- 罗马数字与阿拉伯数字互转
- VB .bas文件生成dll并且调用
- 有计算机考试励志的文案,中考励志文案(精选50句)
- 20180402-A · US Tuition Costs · ggplot2, 折线图 · R 语言数据可视化 案例 源码
- 一些完整的Android开源app项目
- IBM Rational AppScan保存报告时提示错误的解决方案
- 开源后台管理框架之AdminLTE学习
- 微信清除缓存的两种方法
- 软件测试简历包装我们会了,但测试人的自我“包装”呢?HR自我介绍包装小技巧【建议收藏】
- 虚拟邮箱地址-可随意接收邮箱验证码——网站