博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle管理中常用的SQL语句(用户信息)
阅读量:6939 次
发布时间:2019-06-27

本文共 2668 字,大约阅读时间需要 8 分钟。

 
 
Oracle管理中常用的SQL语句。

用户信息

DBA_USERS表中的主要列如下。
列名 说明
USERNAME 用户名
USER_ID 用户的唯一id
PASSWORD 加密后的密码
ACCOUNT_STATUS 用户状态(正常、锁定、密码过期等)
DEFAULT_TABLESPACE 默认表空间
TEMPORARY_TABLESPACE 排序时使用的临时表空间
CREATED 该用户的创建时间
使用下面的SQL语句可以确认用户信息。
SELECT username    , user_id    , password    , account_status    , default_tablespace    , temporary_tablespace    , createdFROM dba_users
推荐格式如下:
col username form a20col default_tablespace form a20col temporary_tablespace form a20col password form a20col account_status form a30
用以下的SQL语句可以查找系统中默认密码的用户,以检查安全隐患。
SELECT username "User(s) with Default Password!"FROM dba_usersWHERE password IN (  'E066D214D5421CCC', -- dbsnmp  '24ABAB8B06281B4C', -- ctxsys  '72979A94BAD2AF80', -- mdsys  'C252E8FA117AF049', -- odm  'A7A32CD03D3CE8D5', -- odm_mtr  '88A2B2C183431F00', -- ordplugins  '7EFA02EC7EA6B86F', -- ordsys  '4A3BA55E08595C81', -- outln  'F894844C34402B67', -- scott  '3F9FBD883D787341', -- wk_proxy  '79DF7A1BD138CF11', -- wk_sys  '7C9BA362F8314299', -- wmsys  '88D8364765FCE6AF', -- xdb  'F9DA8977092B7B81', -- tracesvr  '9300C0977D7DC75E', -- oas_public  'A97282CE3D94E29E', -- websys  'AC9700FD3F1410EB', -- lbacsys  'E7B5D92911C831E1', -- rman  'AC98877DE1297365', -- perfstat  '66F4EF5650C20355', -- exfsys  '84B8CBCA4D477FA3', -- si_informtn_schema  'D4C5016086B2DC6A', -- sys  'D4DF7931AB130E37'  -- system)

确认用户角色

DBA_ROLE_PRIVS表中的主要列如下。
列名 说明
GRANTEE 接受该角色的用户名或角色名
GRANTED_ROLE 赋予用户或角色的角色名
ADMIN_OPTION 赋予时是否带有ADMIN OPTION(YES/NO)
DEFAULT_ROLE 是否为默认角色
用下面的SQL语句可以确认赋予用户SCOTT的角色。
SELECT granted_role    , admin_option    , default_roleFROM dba_role_privsWHERE grantee='SCOTT'

确认用户的系统权限

DBA_SYS_PRIVS表中的主要列如下。
列名 说明
GRANTEE 接受权限的用户名或角色名
PRIVILEGE 系统权限名
ADMIN_OPTION 赋予时是否带有ADMIN OPTION(YES/NO)
使用下面的SQL语句显示某个用户的系统权限。
SELECT privilege    , admin_optionFROM dba_sys_privsWHERE grantee='SCOTT'
但是,仅通过DBA_SYS_PRIVS表无法看到SYSDBA和SYSOPER权限的赋予情况。可以使用下面的SQL语句。下面的SQL语句确认SYS用户的权限。
SELECT privilege    , admin_optionFROM dba_sys_privsWHERE grantee='SYS'UNIONSELECT DECODE(sysdba, 'TRUE', 'SYSDBA', NULL)    , 'YES'FROM v$pwfile_usersWHERE username='SYS'  AND sysdba='TRUE'UNIONSELECT DECODE(sysoper, 'TRUE', 'SYSOPER', NULL)    , 'YES'FROM v$pwfile_usersWHERE username='SYS'  AND sysoper='TRUE'

确认用户的对象权限

DBA_TAB_PRIVS表的主要列如下。
列名 说明
GRANTEE 接受该权限的用户名
OWNER 对象的拥有者
TABLE_NAME 对象名
GRANTOR 赋予权限的用户
PRIVILEGE 权限名
GRANTABLE 赋予该权限时是否带有GRANT OPTION
HIERARCHY 赋予该权限时是否带有HIERARCHY OPTION
使用下面的SQL语句可以查看用户的对象权限。
SELECT privilege priv    , owner||'.'||table_name table_name	 , grantee	 , grantableFROM dba_tab_privsWHERE owner='SCOTT'
本文转自 yuwenhu 51CTO博客,原文链接:http://blog.51cto.com/yuwenhu/132527,如需转载请自行联系原作者
你可能感兴趣的文章
tab切换效果
查看>>
石家庄地区招聘php和android开发实习生!
查看>>
PHP 转换snmp的时间格式
查看>>
登录界面 动画背景效果
查看>>
DEV 第三方控件报表分类汇总
查看>>
CSS截取字段,让过长的字段结尾变成省略号(IE有效)
查看>>
ubuntu下php7安装及配置
查看>>
Shiro 设置session超时时间
查看>>
html5-增强的表单-表单的重写
查看>>
sql
查看>>
DirectX9 着色器学习(一)
查看>>
Codeforces 854 B Maxim Buys an Apartment 思维 水题
查看>>
通过1997年拓荒者号飞行器事件理解优先级反转
查看>>
python做数据清洗
查看>>
山东理工OJ【2054】双向链表(两种方法)
查看>>
2014华为机试——两个城市之间的最多路径
查看>>
[LintCode] 两个排序数组的中位数
查看>>
Linux c 学习第一天
查看>>
sql server显示某一列中有重复值的行
查看>>
dtoj#4138. 染色(ranse)
查看>>