如何查询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中所有用户信息 禁用用户
----查询oracle中所有用户信息 ----1.查询数据库中的表空间名称 ----1)查询所有表空间 select tablespace_name from dba_tablespaces; se ...
- 如何用Excel直接查询Oracle中的数据
将Oracle中查询的数据保存为Excel文件,通常使用的是PL/SQL Developer. 其实,Excel可直接写SQL语句查询Oracle中数据,在这里,用到ODBC驱动.详细步骤如下: 一. ...
- 如何用Excel直接查询Oracle中的数据(转)
将Oracle中查询的数据保存为Excel文件,通常使用的是PL/SQL Developer. 其实,Excel可直接写SQL语句查询Oracle中数据,在这里,用到ODBC驱动.详细步骤如下: 一. ...
- 如何查询oracle中的关键字
如何查询oracle中的关键字,执行: select * from v$reserved_words
- mysql查询语句中用户变量的使用
先上代码吧 SELECT `notice`.`id` , `notice`.`fid` , `notice`.`has_read` , `notice`.`notice_time` , `notice ...
- (转)oracle中用户删除不了,ORA-01940提示 “无法删除当前已连接用户”
Oracle删除用户的提示无法删除当前已连接用户两种解决方法如下: 1.先锁定用户.然后查询进程号,最后删除对应的进程.在删除对应的用户 SQLalter user XXX account lock; ...
- oracle中用户删除不了,ORA-01940提示 “无法删除当前已连接用户”
Oracle删除用户的提示无法删除当前已连接用户两种解决方法如下: 1.先锁定用户.然后查询进程号,最后删除对应的进程.在删除对应的用户 SQL>alter user XXX account l ...
- Oracle中用户(User)和模式(Schema)的概念
数据库理论中数据库用户和数据库模式并没有必定的联系.具体的数据库模式解释能够在这里找到: http://stackoverflow.com/questions/2674222/what-is-purp ...
- 使用PL/SQL能查询oracle中数据,在for update 语句中一直卡住
原因:在oracle中,执行了update或者insert语句后,都会要求commit,如果不commit却强制关闭连接,oracle就会将这条提交的记录锁住.下次就不能执行增删操作. 解决:1.查询 ...
随机推荐
- bootstrap学习总结-js组件(四)
这次我们来看下js组件的使用,本篇文章会有点长,希望大家可以耐心看,相信收获会有不少.不少园友加我好友,表示喜欢我写文字的风格,简单明了,这里,再次谢谢你们的支持.一方面,博主自身技术有限,写的东西都 ...
- Linux搭建python环境中cx_Oracle模块安装遇到的问题与解决方法
安装或使用cx_Oracle时,需要用到Oracel的链接库,如libclntsh.so.11.1,否则会有各种各样的错误信息. 安装Oracle Instant Client就可得到这个链接库,避免 ...
- java 21 - 13 IO流之 合并流
SequenceInputStream :表示其他输入流的逻辑串联. 构造方法摘要 SequenceInputStream(Enumeration<? extends InputStream&g ...
- Studio 从入门到精通 (一)
目标:Android Studio新手–>下载安装配置–>零基础入门–>基本使用–>调试技能–>构建项目基础–>使用AS应对常规应用开发 AS简介 经过2年时间的研 ...
- Netty解决TCP粘包/拆包问题 - 按行分隔字符串解码器
服务端 package org.zln.netty.five.timer; import io.netty.bootstrap.ServerBootstrap; import io.netty.cha ...
- POJ 1141 Brackets Sequence
Brackets Sequence Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 29502 Accepted: 840 ...
- 30Springd的包扫描——<context:component-scan base-package=” ”/>
在context中配置 如:在base-package指明一个包: <context:component-scan base-package="cn.edu.dao"/> ...
- 动态调用webservice,不需要添加Web References
using System; using System.Collections.Generic; using System.Web; using System.Net; using System.IO; ...
- Css 特殊或不常用属性
1. -webkit-font-smoothing: antialiased; CSS3中用于webkit引擎(如chrome)中设置字体的抗锯齿或者说光滑度的属性.有3个属性:none用于小像素的文 ...
- linux patch 格式与说明(收录)
转:http://blog.chinaunix.net/uid-26813001-id-3282954.html 首先介绍一下diff和patch.在这里不会把man在线文档上所有的选项都介绍一下,那 ...