`

查询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查询用户信息

    oracle查询用户信息1.查看所有用户2.查看用户或角色系统权限3.查看角色4.查看用户对象权限5.查看所有角色

    如何在oracle中查询所有用户表的表名、主键名称、索引、外键等

    根据提供的标题、描述以及部分代码内容,我们可以了解到这篇文章主要探讨的是如何在Oracle数据库中查询所有用户表的相关信息,包括表名、主键名称、索引、外键等元数据信息。接下来,我们将对这些知识点进行详细的...

    Oracle查询用户所有表的语句

    Oracle 查询用户所有表的语句是数据库管理中非常重要的一部分,本文为您介绍了查询用户所有表的语句,包括查询所有用户的表、视图等信息、查询本用户的表、视图等信息、查询所有用户的表的列名和注释信息等。

    Oracle 查询用户,表,授权相关语句

    在Oracle数据库管理中,查询用户、表以及授权信息是日常操作的重要部分。这些操作对于数据库管理员(DBA)和开发人员来说至关重要,因为它们有助于理解数据的存储结构和权限分配。以下是一些关于如何在Oracle中执行...

    如何查询Oracle表空间和数据文件信息

    本文将详细介绍如何查询Oracle数据库中的表空间和数据文件信息。 一、查看Oracle数据库中表空间信息的方法 1. 工具方法: 使用Oracle Enterprise Manager Console(EM Console)是一种直观的方式。在Windows环境...

    Oracle查询用户锁表

    Oracle 查询用户锁表是指在 Oracle 数据库中查询当前用户锁定的表,以便诊断和解决锁表问题。本文档将详细介绍如何查询用户锁表,并提供相关的代码。 一、查询用户锁表的必要性 在 Oracle 数据库中,锁表是指用户...

    oracle系统表查询

    `**:展示数据库中所有聚簇的信息,聚簇是一种存储多个表的物理记录在磁盘上相邻的技术,可以提高某些查询的性能。 ### 九、快照 - **`SELECT * FROM dba_snapshots;`**:快照用于保存数据库在特定时间点的状态,...

    linux shell 查询oracle数据库中的值 并返回

    当我们需要查询Oracle数据库中的数据并返回结果时,可以结合shell脚本和Oracle的SQL命令行工具来实现。这篇博客(虽然链接不可用)可能讨论了如何通过shell脚本来实现这个功能。以下是一些关于这个话题的关键知识点...

    oracle查询表的所有列并用逗号隔开

    1. **表的元数据**:在Oracle中,可以通过查询特定的数据字典视图来获取表的元数据信息。对于用户所拥有的表,可以使用`USER_TAB_COLUMNS`视图。该视图包含了关于表列的各种信息,如列名、数据类型等。 2. **WM_...

    Oracle查询指定表的所有字段名和数据类型SQL

    ### Oracle查询指定表的所有字段名和数据类型SQL ...总之,通过上述SQL查询语句,我们可以高效地获取Oracle数据库中指定表的所有字段名和数据类型信息,这对于数据库管理和开发工作来说具有重要的意义。

    查看登录oracle数据库用户记录.docx

    "查看登录 Oracle 数据库用户记录" Oracle 数据库是一个强大的关系型数据库管理系统,提供了强大的数据存储和管理功能。为了管理和监控数据库的访问情况,需要对登录 Oracle 数据库的用户记录进行跟踪和查看。本文...

    Oracle 多表查询优化

    Oracle 多表查询优化是指在 Oracle 数据库管理系统中,为了提高多表查询的效率和性能采取的一些优化策略和技术。在 Oracle 中,多表查询是指从多个表中检索数据的操作。这种操作可能会占用大量的系统资源和时间,...

    ORACLE最大并发数查询

    要查询Oracle数据库的最大并发数,主要通过查看系统参数和监控会话信息来实现。以下是一些常用的方法: 1. **查看初始化参数:** 使用`show parameter`命令可以查看与并发相关的系统参数。例如,执行`show ...

    通用查询分析器(Oracle数据查询)

    "通用查询分析器"就是为此目的设计的一款工具,它能够帮助用户更方便、直观地执行Oracle数据库的SQL查询操作。 通用查询分析器通常具备以下特性: 1. **图形化界面**:与命令行界面相比,通用查询分析器提供了一个...

    Oracle 数据查询器

    Oracle 数据查询器是一款由Delphi编程语言开发的工具,专门用于高效、便捷地查询Oracle数据库中的信息。Delphi是一款强大的Windows应用开发环境,以其高效的编译器和丰富的VCL(Visual Component Library)组件库...

    ORACLE分页查询效率

    综上所述,通过以上知识点的学习,我们不仅可以了解Oracle中分页查询的基本实现方法及其优化策略,还可以深入理解Oracle 9i新增的操作系统统计信息功能及其应用价值。这对于提升Oracle数据库的应用性能具有重要的...

    oracle查用户所有表

    在Oracle数据库管理系统中,查询用户所有表的相关信息是一项常见的操作,这对于数据库管理和开发工作至关重要。本文将详细解释如何使用SQL语句来实现这一目标,并提供一些相关的查询技巧。 首先,我们来看两个主要...

    oracle表空间查询命令

    此查询提供了关于表空间中所有数据文件的信息,包括: - **tablespace_name**:表空间名称。 - **file_id**:文件ID。 - **file_name**:文件名。 - **total_space**:文件大小(MB)。 #### 四、扩展表空间 当表...

    oracle通用查询系统

    Oracle通用查询系统是一款基于Delphi开发的图形化数据库查询工具,专为用户提供了方便快捷的方式来探索和操作Oracle数据库。这款工具允许用户直观地查看数据库的表结构,包括字段信息、索引、触发器和约束,使得...

    oracle中将一个用户的所有表的权限授予另一个用户的方法

    本文将深入探讨如何在Oracle中将一个用户的所有表的权限授予另一个用户,这一过程通常在PL/SQL环境下通过执行特定的命令来完成。下面我们将详细解析这一操作的步骤、原理以及可能遇到的问题。 ### Oracle中的权限...

Global site tag (gtag.js) - Google Analytics