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中用户所有信息的更多相关文章

  1. 查询oracle中所有用户信息 禁用用户

    ----查询oracle中所有用户信息 ----1.查询数据库中的表空间名称 ----1)查询所有表空间 select tablespace_name from dba_tablespaces; se ...

  2. 如何用Excel直接查询Oracle中的数据

    将Oracle中查询的数据保存为Excel文件,通常使用的是PL/SQL Developer. 其实,Excel可直接写SQL语句查询Oracle中数据,在这里,用到ODBC驱动.详细步骤如下: 一. ...

  3. 如何用Excel直接查询Oracle中的数据(转)

    将Oracle中查询的数据保存为Excel文件,通常使用的是PL/SQL Developer. 其实,Excel可直接写SQL语句查询Oracle中数据,在这里,用到ODBC驱动.详细步骤如下: 一. ...

  4. 如何查询oracle中的关键字

    如何查询oracle中的关键字,执行: select * from v$reserved_words

  5. mysql查询语句中用户变量的使用

    先上代码吧 SELECT `notice`.`id` , `notice`.`fid` , `notice`.`has_read` , `notice`.`notice_time` , `notice ...

  6. (转)oracle中用户删除不了,ORA-01940提示 “无法删除当前已连接用户”

    Oracle删除用户的提示无法删除当前已连接用户两种解决方法如下: 1.先锁定用户.然后查询进程号,最后删除对应的进程.在删除对应的用户 SQLalter user XXX account lock; ...

  7. oracle中用户删除不了,ORA-01940提示 “无法删除当前已连接用户”

    Oracle删除用户的提示无法删除当前已连接用户两种解决方法如下: 1.先锁定用户.然后查询进程号,最后删除对应的进程.在删除对应的用户 SQL>alter user XXX account l ...

  8. Oracle中用户(User)和模式(Schema)的概念

    数据库理论中数据库用户和数据库模式并没有必定的联系.具体的数据库模式解释能够在这里找到: http://stackoverflow.com/questions/2674222/what-is-purp ...

  9. 使用PL/SQL能查询oracle中数据,在for update 语句中一直卡住

    原因:在oracle中,执行了update或者insert语句后,都会要求commit,如果不commit却强制关闭连接,oracle就会将这条提交的记录锁住.下次就不能执行增删操作. 解决:1.查询 ...

随机推荐

  1. HDU 3584 Cube --三维树状数组

    题意:给一个三维数组n*n*n,初始都为0,每次有两个操作: 1. 翻转(x1,y1,z1) -> (x2,y2,z2) 0. 查询A[x][y][z] (A为该数组) 解法:树状数组维护操作次 ...

  2. POJ 3481Double Queue Splay

    #include<stdio.h> #include<string.h> ; ],data[N],id[N],fa[N],size,root; void Rotate(int ...

  3. Android使用的Eclipse NDK开发较详细一篇文章

    转自: http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html

  4. 对访问修饰关键字public, protected, internal and private的说明

    对访问修饰关键字public, protected, internal and private的说明1.msdn: Internal types or members are accessible o ...

  5. Redis word bak

    @font-face { font-family: "Arial"; }@font-face { font-family: "Courier New"; }@f ...

  6. usb驱动开发2之代码地图

    USB只是Linux庞大家族里的一个小部落,host controller是它们的族长,族里的每个USB设备都需要被系统识别.下图显示包含一个USB接口的USB鼠标导出的结果. USB系统中的第一个U ...

  7. oracle文字与格式字符串不匹配的解决

    oracle文字与格式字符串不匹配的解决 oracle的日期时间类型 在往oracle的date类型插入数据的时候,记得要用to_date()方法. 如insert into CUSLOGS(STAR ...

  8. JQuery 如何选择带有多个class的元素

    Q: 比如下面代码需要选择同时带有这几个class的元素,怎么写? 1 <div class="modal fade in"></div> A: 1. 依次 ...

  9. .NET面试题解析(07)-多线程编程与线程同步 (转)

    http://www.cnblogs.com/anding/p/5301754.html 系列文章目录地址: .NET面试题解析(00)-开篇来谈谈面试 & 系列文章索引 关于线程的知识点其实 ...

  10. Week2学习过程报告

    一.学习内容 1. 熟悉Linux系统下的开发环境   2. 熟悉vi的基本操作   3. 熟悉gcc编译器的基本原理   4. 熟练使用gcc编译器的常用选项   5 .熟练使用gdb调试技术    ...