Oracle管理中常用的SQL语句(用户信息)

简介:
 
 
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
    , 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 是否为默认角色
用下面的SQL语句可以确认赋予用户SCOTT的角色。
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)
使用下面的SQL语句显示某个用户的系统权限。
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
使用下面的SQL语句可以查看用户的对象权限。
SELECT privilege priv
    , owner||'.'||table_name table_name
	 , grantee
	 , grantable
FROM dba_tab_privs
WHERE owner='SCOTT'









本文转自 yuwenhu 51CTO博客,原文链接:http://blog.51cto.com/yuwenhu/132527,如需转载请自行联系原作者
目录
相关文章
|
5天前
|
SQL 存储 Oracle
Oracle的PL/SQL定义变量和常量:数据的稳定与灵动
【4月更文挑战第19天】在Oracle PL/SQL中,变量和常量扮演着数据存储的关键角色。变量是可变的“魔术盒”,用于存储程序运行时的动态数据,通过`DECLARE`定义,可在循环和条件判断中体现其灵活性。常量则是不可变的“固定牌”,一旦设定值便保持不变,用`CONSTANT`声明,提供程序稳定性和易维护性。通过 `%TYPE`、`NOT NULL`等特性,可以更高效地管理和控制变量与常量,提升代码质量。善用两者,能优化PL/SQL程序的结构和性能。
|
5天前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL游标属性:数据的“导航仪”与“仪表盘”
【4月更文挑战第19天】Oracle PL/SQL游标属性如同车辆的导航仪和仪表盘,提供丰富信息和控制。 `%FOUND`和`%NOTFOUND`指示数据读取状态,`%ROWCOUNT`记录处理行数,`%ISOPEN`显示游标状态。还有`%BULK_ROWCOUNT`和`%BULK_EXCEPTIONS`增强处理灵活性。通过实例展示了如何在数据处理中利用这些属性监控和控制流程,提高效率和准确性。掌握游标属性是提升数据处理能力的关键。
|
5天前
|
SQL Oracle 安全
Oracle的PL/SQL循环语句:数据的“旋转木马”与“无限之旅”
【4月更文挑战第19天】Oracle PL/SQL中的循环语句(LOOP、EXIT WHEN、FOR、WHILE)是处理数据的关键工具,用于批量操作、报表生成和复杂业务逻辑。LOOP提供无限循环,可通过EXIT WHEN设定退出条件;FOR循环适用于固定次数迭代,WHILE循环基于条件判断执行。有效使用循环能提高效率,但需注意避免无限循环和优化大数据处理性能。掌握循环语句,将使数据处理更加高效和便捷。
|
5天前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL条件控制:数据的“红绿灯”与“分岔路”
【4月更文挑战第19天】在Oracle PL/SQL中,IF语句与CASE语句扮演着数据流程控制的关键角色。IF语句如红绿灯,依据条件决定程序执行路径;ELSE和ELSIF提供多分支逻辑。CASE语句则是分岔路,按表达式值选择执行路径。这些条件控制语句在数据验证、错误处理和业务逻辑中不可或缺,通过巧妙运用能实现高效程序逻辑,保障数据正确流转,支持企业业务发展。理解并熟练掌握这些语句的使用是成为合格数据管理员的重要一环。
|
5天前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL表达式:数据的魔法公式
【4月更文挑战第19天】探索Oracle PL/SQL表达式,体验数据的魔法公式。表达式结合常量、变量、运算符和函数,用于数据运算与转换。算术运算符处理数值计算,比较运算符执行数据比较,内置函数如TO_CHAR、ROUND和SUBSTR提供多样化操作。条件表达式如CASE和NULLIF实现灵活逻辑判断。广泛应用于SQL查询和PL/SQL程序,助你驾驭数据,揭示其背后的规律与秘密,成为数据魔法师。
|
6天前
|
SQL 安全 Go
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
在Python Web开发中,确保应用安全至关重要,主要防范SQL注入、XSS和CSRF攻击。措施包括:使用参数化查询或ORM防止SQL注入;过滤与转义用户输入抵御XSS;添加CSRF令牌抵挡CSRF;启用HTTPS保障数据传输安全;实现强身份验证和授权系统;智能处理错误信息;定期更新及审计以修复漏洞;严格输入验证;并培训开发者提升安全意识。持续关注和改进是保证安全的关键。
14 0
|
1月前
|
SQL 安全 测试技术
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
15 0
|
1月前
|
SQL Oracle 关系型数据库
Oracle系列十一:PL/SQL
Oracle系列十一:PL/SQL
|
SQL 监控 关系型数据库
|
SQL Oracle 关系型数据库
Oracle数据库语句大全
ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CHECK (检查)--检查在约束中指定的条件是否得到了满足. UNIQUE (唯一)--保证在指定的列中没有重复值.在该表中每一个值或者每一组值都将是唯一的. PRIMARY KEY (主键)-
1327 0

推荐镜像

更多