Oracle管理中常用的SQL语句(用户信息)
2009-02-23 14:19
567 查看
版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2006/06/13/oracle-management-sql/以及本声明。
Oracle管理中常用的SQL语句。
用户信息
确认用户角色
确认用户的系统权限
确认用户的对象权限
使用下面的SQL语句可以确认用户信息。
推荐格式如下:
用以下的SQL语句可以查找系统中默认密码的用户,以检查安全隐患。
用下面的SQL语句可以确认赋予用户SCOTT的角色。
使用下面的SQL语句显示某个用户的系统权限。
但是,仅通过DBA_SYS_PRIVS表无法看到SYSDBA和SYSOPER权限的赋予情况。可以使用下面的SQL语句。下面的SQL语句确认SYS用户的权限。
使用下面的SQL语句可以查看用户的对象权限。
Oracle管理中常用的SQL语句。
用户信息
确认用户角色
确认用户的系统权限
确认用户的对象权限
用户信息
DBA_USERS表中的主要列如下。列名 | 说明 |
USERNAME | 用户名 |
USER_ID | 用户的唯一id |
PASSWORD | 加密后的密码 |
ACCOUNT_STATUS | 用户状态(正常、锁定、密码过期等) |
DEFAULT_TABLESPACE | 默认表空间 |
TEMPORARY_TABLESPACE | 排序时使用的临时表空间 |
CREATED | 该用户的创建时间 |
SELECT username , user_id , password , account_status , default_tablespace , temporary_tablespace , created FROM dba_users
推荐格式如下:
col username form a20 col default_tablespace form a20 col temporary_tablespace form a20 col password form a20 col account_status form a30
用以下的SQL语句可以查找系统中默认密码的用户,以检查安全隐患。
SELECT username "User(s) with Default Password!" FROM dba_users WHERE 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 | 是否为默认角色 |
SELECT granted_role , admin_option , default_role FROM dba_role_privs WHERE grantee='SCOTT'
确认用户的系统权限
DBA_SYS_PRIVS表中的主要列如下。列名 | 说明 |
GRANTEE | 接受权限的用户名或角色名 |
PRIVILEGE | 系统权限名 |
ADMIN_OPTION | 赋予时是否带有ADMIN OPTION(YES/NO) |
SELECT privilege , admin_option FROM dba_sys_privs WHERE grantee='SCOTT'
但是,仅通过DBA_SYS_PRIVS表无法看到SYSDBA和SYSOPER权限的赋予情况。可以使用下面的SQL语句。下面的SQL语句确认SYS用户的权限。
SELECT privilege , admin_option FROM dba_sys_privs WHERE grantee='SYS' UNION SELECT DECODE(sysdba, 'TRUE', 'SYSDBA', NULL) , 'YES' FROM v$pwfile_users WHERE username='SYS' AND sysdba='TRUE' UNION SELECT DECODE(sysoper, 'TRUE', 'SYSOPER', NULL) , 'YES' FROM v$pwfile_users WHERE username='SYS' AND sysoper='TRUE'
确认用户的对象权限
DBA_TAB_PRIVS表的主要列如下。列名 | 说明 |
GRANTEE | 接受该权限的用户名 |
OWNER | 对象的拥有者 |
TABLE_NAME | 对象名 |
GRANTOR | 赋予权限的用户 |
PRIVILEGE | 权限名 |
GRANTABLE | 赋予该权限时是否带有GRANT OPTION |
HIERARCHY | 赋予该权限时是否带有HIERARCHY OPTION |
SELECT privilege priv , owner||'.'||table_name table_name , grantee , grantable FROM dba_tab_privs WHERE owner='SCOTT'
相关文章推荐
- Oracle管理中常用的SQL语句——用户信息
- Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复
- oracle 11g数据库管理常用sql语句
- Oracle锁管理中常用的3个SQL语句
- 十三周二次课 2018.01.15 mysql用户管理、常用sql语句、mysql数据库备份恢复
- MySQL用户管理、常用sql语句、数据库备份
- MySQL用户管理、常用sql语句、备份和恢复数据
- mysql用户管理,常用sql语句,mysql数据库备份恢复
- ORACLE创建用户 管理用户常用语句
- mysql用户管理、常用sql语句、mysql数据库备份
- MySQL用户管理、常用sql语句、数据库备份
- oracle 导出当前用户下表结构信息 sql语句
- 13.4 mysql用户管理 13.5 常用sql语句 13.6 mysql数据库备份恢复
- 【数据库学习笔记】Oracle_01_sql*plus,存储结构,用户管理,常用数据类型
- MySQL用户管理、常用SQL语句、MySQL数据库备份恢复
- Oracle常用命令_查看用户_新建user_连接user_授权user_版本_表空间查看_控制文件_日志_sql语句
- ORACLE查询当前连接的用户信息及操作的SQL语句
- mysql用户管理、常用sql语句、mysql数据库备份恢复
- ORACLE创建用户 管理用户常用语句
- oracle创建删除表空间、用户、数据导入导出等常用sql语句