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. Hibernate Java、Hibernate、SQL 之间数据类型转换

    Hibernate映射类型 Java类型 标准SQL类型  integer  java.lang.Integer  integer  long  java.lang.Long  bigint  sho ...

  2. You are note Hk

    直接打开是forbidden  最后一句话提示 于是改包 第二次还是修改包 Mozilla/5.0 (MSIE 7.0; Windows NT 6.0;.NET CLR 9.9)

  3. pycharm简单使用

    http://blog.csdn.net/chenggong2dm/article/details/9365437

  4. [原创]gerrit上分支操作记录(创建分支、删除分支)

    Git分支对于一个项目的代码管理而言,是十分重要的! 许多久用git的朋友可能已经掌握的很牢固了,但对于一些初涉git的童鞋来说,可能还不是很熟悉. 在此,我将自己的一些操作经历做一梳理,希望能帮助到 ...

  5. 【转】【C#】【Thread】【Parallel】并行计算

    并行计算 沿用微软的写法,System.Threading.Tasks.Parallel类,提供对并行循环和区域的支持. 我们会用到的方法有For,ForEach,Invoke. Program.Da ...

  6. PBR综合小实验视频-狮子XL

    这个是上学时候录的一个策略路由小实验

  7. [转]C# WinForm treeview checkbox----递归算法利用

    在平常开发中,treeview的节点显示checkbox,若节点存在几级时,往往希望,选中父节点后,其子节点都要选中,如何实现勒,请看 using System; using System.Colle ...

  8. 将Html文档整理为规范XML文档

    有多种方式可以在.NET 平台进行HTML文件解析.数据提取,其中最简单.稳妥的办法是先使用工具将Html文档整理成XML文档,再通过XML Dom模型或XPath灵活地进行数据处理.SGML便是一个 ...

  9. 联想Y50p预装win8系统改为win7

    &1 修改OS Optimized Defaults 开机,按[F2]进入BIOS设置,按右方向键选择到EXIT上面,按下方向键选择OS Optimized Defaults,回车,将Win8 ...

  10. Google java代码风格导入Eclipse

    Git地址 https://github.com/codeset/google-java-styleguide 下载配置文件在Eclipse中执行导入:Window -> Preferences ...