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. Java学习----Java概述

    一.常用DOS命令 d:      盘符切换 dir(directory)  列出当前目录下的文件以及文件夹 md (make directory)  创建目录 rd (remove director ...

  2. C++ 箭头-> 双冒号:: 点号.操作符区别

    点 (.) 如果变量是一个对象或者对象引用,则用它来访问对象成员. 箭头( ->) 如果变量是一个对象指针,则用它来访问对象成员. 双冒号 (::) 如果操作目标是一个具有名空间的标识符,则用它 ...

  3. 通过TTL值判断系统

    我们做网络的渗透测试,开始的时候会ping一下网站判断一下网站使用的系统,默认情况下, UNIX 255 LINUX 64WIN2K/NT 128WINDOWS 32 但是 每经过一个路由器就会减1这 ...

  4. 浅谈CLR

    1.什么是CLR CLR(Common Language Runtime)公共语言远行时,是一个可由多种编程语言使用的“远行时”.CLR的核心功能(比如内存管理.程序集加载.安全性.异常处理和线程同步 ...

  5. MySQL初始化简单优化

    1,yum  2,源码 3,二进制 4,源码+yum 不管哪种方式装完成数据库,都需要对数据库做一些优化. 优化数据库 mysql> select host,user from mysql.us ...

  6. [C#]動態叫用Web Service

    http://www.dotblogs.com.tw/jimmyyu/archive/2009/04/22/8139.aspx 摘要 Web Service對大家來說想必都不陌生,也大都了解Web S ...

  7. DIV相关的操作总结

    由于有时候需要做网站项目,遇到CSS的问题总是需要百度或者google一下,比较麻烦,索性今天就来总结一下,这里就拿div开刀先. DIV在HTML前端页面布局中,非常重要,我们经常遇到的问题是:DI ...

  8. android背景选择器selector用法汇总

    一.创建xml文件,位置:drawable/xxx.xml,同目录下记得要放相关图片 <?xml version="1.0" encoding="utf-8&quo ...

  9. Linux常用指令---工作

    查看所有用户cat /etc/passwd 复制整个目录cp -ri A/B/* A1/B1/ 若复制过程中询问是否覆盖,输入y按回车 另外若A A1不在同一目录下,最好填绝对路径,就是/xxx/xx ...

  10. JAVA NIO是什么(zz)

    JAVA NIO是什么? 1.   基本 概念 IO 是主存和外部设备 ( 硬盘.终端和网络等 ) 拷贝数据的过程. IO 是操作系统的底层功能实现,底层通过 I/O 指令进行完成. 所有语言运行时系 ...