`

查询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 10g问题总结

    1. 查询oracle中所有用户信息 select * from dba_users; 2. 只查询用户和密码 select username,password from dba_users; 3. 查询当前用户信息 select * from dba_ustats; 4. 查询用户可以访问的视图...

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

    NULL 博文链接:https://springlin.iteye.com/blog/1520674

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

    查找访问orcale数据库用户名称或IP地址

    ORACLE用户常用数据字典的查询使用方法

    ORACLE用户常用数据字典的查询使用方法,对于不熟悉oracle数据库系统表的,这份文档可以教你如何通过查询数据库系统表得到自己想要的信息。

    Oracle经典SQL语句

    ORACLE经典语句汇总 -- 字符串左填充和右填充,默认填充空格 -- 产生1~99行数据,少于一位则补0 -- 刪除相同行 -- 随机数 -- 产生业务流水号 -- 查询某张表中有哪些字段 -- 自循环表中 由叶子...--ORACLE获得系统信息

    查询表空间占用、记录条数、表归属用户信息,并举例截除过期数据释放表空间,Oracle适用

    1、当前登录用户,所有表占用表空间情况,提供合计 和 明细查询,显示为M; 2、查看某个用户所有表各自占用表空间的大小,并显示各表数据的条数;——常用于清表前,确认选最多记录的先清; 3、全数据库查询所有表...

    查询Oracle数据库表空间和数据文件方法

    下面以oracle9i为例,详细介绍查询Oracle数据库表空间信息和数据文件信息的方法。一、查看Oracle数据库中表空间信息的方法1、查看Oracle数据库中表空间信息的工具方法:使用oracleenterprisemanagerconsole工具,这...

    Oracle客户端连接Oracle服务器.docx

    另说明:查询本用户下的所有表的信息叫数据字典: user_tables;DBA_users; 两类数据字典表 dba一般是system用户 查表的信息从数据字典里查如:select table_name from user_tables; dual是名义表,不存任何东西. ...

    oracle完全手册

    --查询EMP表中部门号为20且岗位为CLERK的所有雇员信息 SELECT ename,sal,job,deptno FROM emp WHERE deptno=20 and job='CLERK'; --查询工资高于2500或岗位为MANAGER的所有雇员信息 SELECT ename,sal,job,deptno ...

    Oracle 内部培训资料:Oracle 10g 培训材料(18个PPT)

    Oracle数据库10g-信息集成.ppt Oracle数据库10g-对自我管理数据库进行管理1.ppt Oracle数据库10g-对自我管理数据库进行管理2.ppt Oracle数据库10g-支持全球化特性的平台.ppt Oracle数据库10g-网格数据库.ppt Oracle...

    批量获取oracle数据表记录信息

    通过ado链接,获取oracle数据库的所有表名,记录数,对应表空间等,并按照表大小排序,方表用户查询达标并及时做相应处理。自己很早以前写的,适合数据库初学者用。

    oracle成绩管理系统

    1. 实现对oracle中表的数据访问,并可对其进行操作。整个系统有三种用户,“管理员”,“教师”,“学生”。 2. 管理员可对整个系统的信息进行修改,添加,删除操作, 但不能对自己的信息进行删除操作 3. ...

    Oracle10g DBA经常使用的动态性能视图和数据字典

    dba_extents:数据库中所有分区的信息 dba_free_space:所有表空间中的自由分区 dba_indexs:关于数据库中所有索引的描述 dba_ind_columns:在所有表及聚集上压缩索引的列 dba_objects:数据库中所有的对象 dba_...

    SQL实验六 Oracle数据字典和ODBC

    ALL_视图包含了用户查询表时可以访问的所有对象的信息。 USER_视图包含了用户查询表时表所拥有的全部对象的信息。 常见的相关表格如下: ALL_USERS 用户名表 ALL_TABLES 可访问的数据库表 USER_TABLES ...

Global site tag (gtag.js) - Google Analytics