`

oracle查找用户语句

 
阅读更多

1.查看所有用户:
select * from dba_users;
select * from all_users;
select * from user_users;

2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限):
select * from dba_sys_privs;
select * from user_sys_privs; (查看当前用户所拥有的权限)

3.查看角色(只能查看登陆用户拥有的角色)所包含的权限
sql>select * from role_sys_privs;

4.查看用户对象权限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;

5.查看所有角色:
select * from dba_roles;

6.查看用户或角色所拥有的角色:
select * from dba_role_privs;
select * from user_role_privs;

7.查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)
select * from V$PWFILE_USERS

8.SqlPlus中查看一个用户所拥有权限
SQL>select * from dba_sys_privs where grantee='username';
其中的username即用户名要大写才行。
比如:
SQL>select * from dba_sys_privs where grantee='TOM';


9、Oracle删除指定用户所有表的方法
select 'Drop table '||table_name||';' from all_tables
where owner='要删除的用户名(注意要大写)';

10、删除用户
drop user user_name cascade;
如:drop user SMCHANNEL CASCADE

11、获取当前用户下所有的表:select table_name from user_tables;

12、删除某用户下所有的表数据: select 'truncate table ' || table_name from user_tables;

13、禁止外键
ORACLE数据库中的外键约束名都在表user_constraints中可以查到。其中constraint_type='R'表示是外键约束。
启用外键约束的命令为:alter table table_name enable constraint constraint_name
禁用外键约束的命令为:alter table table_name disable constraint constraint_name
然后再用SQL查出数据库中所以外键的约束名:
select 'alter table '||table_name||' enable constraint '||constraint_name||';' from user_constraints where constraint_type='R'
select 'alter table '||table_name||' disable constraint '||constraint_name||';' from user_constraints where constraint_type='R'

14、ORACLE禁用/启用外键和触发器
--启用脚本
SET SERVEROUTPUT ON SIZE 1000000
BEGIN
for c in (select 'ALTER TABLE '||TABLE_NAME||' ENABLE CONSTRAINT '||constraint_name||' ' as v_sql from user_constraints where CONSTRAINT_TYPE='R') loop
DBMS_OUTPUT.PUT_LINE(C.V_SQL);
begin
EXECUTE IMMEDIATE c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop;
for c in (select 'ALTER TABLE '||TNAME||' ENABLE ALL TRIGGERS ' AS v_sql from tab where tabtype='TABLE') loop
dbms_output.put_line(c.v_sql);
begin
execute immediate c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop;
end;
/
commit;

--禁用脚本
SET SERVEROUTPUT ON SIZE 1000000
BEGIN
for c in (select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||constraint_name||' ' as v_sql from user_constraints where CONSTRAINT_TYPE='R') loop
DBMS_OUTPUT.PUT_LINE(C.V_SQL);
begin
EXECUTE IMMEDIATE c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop;
for c in (select 'ALTER TABLE '||TNAME||' DISABLE ALL TRIGGERS ' AS v_sql from tab where tabtype='TABLE') loop
dbms_output.put_line(c.v_sql);
begin
execute immediate c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop;
end;
/
commit;

分享到:
评论

相关推荐

    oracle-查找硬解析问题SQL语句

    在数据库中硬解析是万恶之源,为大家提供一个查找并且定位oracle硬解析问题SQL语句脚本

    Oracle中SQL语句执行效率的查找与解决

    本文将深入探讨Oracle中SQL语句执行效率的查找与解决方法,特别关注于如何识别和优化那些导致性能瓶颈的查询。 ### Oracle SQL执行效率:查找与解决 #### 一、资源消耗分析 在Oracle中,SQL语句执行效率低下通常...

    ORACLE常用SQL语句大全.pdf

    Oracle 常用 SQL 语句大全 本文档总结了 Oracle 中常用的 SQL 语句,包括数据库的创建、删除、备份、表的创建、删除、修改、索引的创建、视图的创建等基本操作,以及一些高级查询运算符的使用。 一、数据库操作 ...

    oracle查找定位占用临时表空间较大的SQL语句方法

    oracle查找定位占用临时表空间较大的SQL语句方法,包括:(1)造成临时表空间暴涨的SQL还在运行中(2)造成临时表空间暴涨的SQL已经运行过了。

    Oracle查询用户所有表的语句

    Oracle 查询用户所有表的语句 Oracle 查询用户所有表的语句是数据库管理中非常重要的一部分,而对于新手来说,网络上的查询方法太乱了,本文将为您介绍 Oracle 查询用户所有表的语句。 首先,我们可以使用以下语句...

    Oracle报表经典语句

    ### Oracle报表经典SQL语句解析 #### 一、概述 Oracle报表系统是Oracle数据库中一个重要的组成部分,主要用于处理复杂的查询并生成格式化的报告。本文档将深入解析几个经典的Oracle报表SQL语句,这些语句涉及到了...

    自己整理的Oracle常用高级语句.rar

    文档中可能列举了这些函数的用途、语法和示例,帮助用户快速查找和理解。 4. **rank()函数**: RANK()函数用于对查询结果进行排序并赋予唯一的排名,常用于数据分组后的排名展示。文档可能会详细解释其用法和与...

    oracle帮助文件语句

    Oracle Help是Oracle数据库的一个组件,它提供了丰富的用户界面和查询功能,使得数据库管理员和开发人员可以更方便地查找和理解Oracle相关的技术信息。 描述中提到的"oracle帮助文件创建语句,直接插入到help表中"指...

    Oracle学习查询语句

    在Oracle中,查询语句是数据操作的核心,本篇文章将详细讲解Oracle查询语句的一些关键知识点。 首先,Oracle是大小写敏感的,这意味着在编写SQL语句时,需要特别注意变量名、表名和字段名的大小写。在条件表达式中...

    oracle监听执行sql语句

    此查询允许用户基于特定的时间段来筛选出执行过的SQL语句。这里使用`FIRST_LOAD_TIME`字段来筛选出特定时间范围内的SQL语句。需要注意的是,日期格式可能需要根据Oracle数据库的实际设置进行调整。 3. **获取高CPU...

    oracle查看执行最慢与查询次数最多的sql语句

    在Oracle数据库管理中,了解SQL语句的执行性能和频率对于系统优化至关重要。本文将详细介绍如何查看Oracle数据库中执行最慢和查询次数最多的SQL语句,以帮助DBA(数据库管理员)识别潜在的性能瓶颈。 首先,我们来...

    Oracle——sql语句优化

    通过合理选择操作符、优化查询结构、遵循最佳实践,可以在很大程度上提升Oracle数据库的查询效率,为用户提供更快捷、更稳定的服务体验。在实际操作中,开发者和DBA应持续关注查询性能,不断调整和优化SQL语句,以...

    Oracle数据查询语句执行过程分析.pdf

    但对于 UPDATE 或 DELETE 语句,这些语句影响到的所有行都会被锁定,防止用户提交或回滚之前,别的用户对这些数据进行修改,保证数据的一致性。 三、读取数据阶段 符合条件的行数据被取出来,每个后续的存取操作...

    oracle常用SQL语句下载

    Oracle SQL是用于管理和操作Oracle数据库的强大工具,它包含多种用于数据查询、操作、定义和控制的语句。本文将深入探讨Oracle SQL中的常见查询和计算功能。 首先,SQL(Structured Query Language,结构化查询语言...

    Oracle的SQL语句执行效率问题查找与解决方法文.pdf

    Oracle SQL 语句执行效率问题查找与解决方法 一、 Oracle SQL 语句执行效率问题查找方法 Oracle 数据库系统中, SQL 语句的执行效率问题是一个非常重要的问题。在实际应用中,我们经常会碰到一些性能不佳的 SQL ...

    oracle常用的语句

    以上是Oracle中的一些基本且常用的SQL语句,它们涵盖了数据库管理、查询、数据迁移、用户管理等多个方面,对于数据库管理员和开发人员来说非常重要。理解并熟练使用这些语句能有效提高工作效率。

    oracle语句性能优化集合

    本集合专注于"Oracle语句性能优化",旨在提供一系列有效的策略和技巧,帮助数据库管理员和开发人员提升查询效率。 1. **SQL语句优化基础** - **索引**:创建合适的索引可以显著提高查询速度。B树索引、位图索引、...

    oracle查询语句优化

    ### Oracle查询语句优化知识点详解 #### 一、概述 Oracle数据库因其强大的功能和灵活性,在企业级应用中占据着重要地位。随着业务的发展,数据库的数据量急剧增长,如何提高查询效率成为了亟需解决的问题之一。本文...

    Oracle对查询语句的分析过程

    综上所述,Oracle处理查询语句的过程包括连接建立、缓存查找、合法性检查、语义检查、优化、权限检查、执行计划存储、数据访问以及锁管理等多个环节,确保了高效、安全的数据检索。理解这些原理对于优化数据库性能和...

    初学者常用Oracle sql语句

    ### 初学者常用Oracle SQL语句详解 #### 一、查询表名 在Oracle数据库中,根据不同的权限和需求,可以使用以下几种方法来查询表名: 1. **查询当前用户所拥有的表:** ```sql SELECT table_name, tablespace_...

Global site tag (gtag.js) - Google Analytics