查看oracle用户权限表空间等惯用方法

查看oracle用户权限表空间等常用方法
查看用户和默认表空间的关系。  
  select   username,default_tablespace   from   dba_users;

1.查看表结构:desc表名

2.查看当前用户的表:

select   table_name   from   user_tables;   
3.查看所有用户的表名:

select    table_name    from   all_tables;    
4.查看所有表名(其中包括系统表)

select   table_name    from   all_tables;     
5.查看所有的表:

select  *  from  tab/dba_tables/dba_objects/cat; 
下面介绍Oracle查询用户表空间
◆Oracle查询用户表空间:select * from user_all_tables
◆Oracle查询所有函数和储存过程:select * from user_source
◆Oracle查询所有用户:select * from all_users.select * from dba_users
◆Oracle查看当前用户连接:select * from v$Session
◆Oracle查看当前用户并发连接Select count(*) from v$session where status='ACTIVE'
◆Oracle最大连接show parameter processes 
--------------------------------------------
以下的SQL语句列出当前数据库建立的会话情况:
select sid,serial#,username,program,machine,status
from v$session;
SID 会话(session)的ID号;
SERIAL# 会话的序列号,和SID一起用来唯一标识一个会话;
USERNAME 建立该会话的用户名;
PROGRAM 这个会话是用什么工具连接到数据库的;
STATUS 当前这个会话的状态,ACTIVE表示会话正在执行某些任务,INACTIVE表示当前会话没有执行任何操作;
手工断开某个会话,则执行:
alter system kill session \'SID,SERIAL#\';
注意,SID为1到7(USERNAME列为空)的会话,是Oracle的后台进程,不要对这些会话进行任何操作。

修改连接数
1.以sysdba身份登陆PL/SQL 或者 Worksheet
2.查询目前连接数show parameter processes;
3.更改系统连接数 alter system set processes = 1000 scope = spfile;
4.创建pfile   create pfile from spfile;
5.重启Oracle服务或重启Oracle服务器
-----------------------------------------
◆Oracle查看当前用户权限:select * from session_privs
◆查询Oracle游标使用情况的方法
   select * from v$open_cursor where user_name = 'TRAFFIC';
◆Oracle查看用户表空间使用情况:
select a.file_id "FileNo",a.tablespace_name   
  "Tablespace_name",   
  a.bytes "Bytes",a.bytes-sum(nvl(b.bytes,0)) "Used",  
  sum(nvl(b.bytes,0)) "Free",  
  sum(nvl(b.bytes,0))/a.bytes*100 "%free"    from dba_data_files a, dba_free_space b    where  a.file_id  = b  .file_id(+)    group by a.tablespace_name ,    a.file_id,a.bytes order by a.tablespace_name; 
 
1.查看所有用户:  
select * from dba_user;   select * from all_users;   select * from user_users;
2.查看用户系统权限: 
  select * from dba_sys_privs;   select * from all_sys_privs;   select * from user_sys_privs;
3.查看用户对象权限:
  select * from dba_tab_privs;   select * from all_tab_privs;   select * from user_tab_privs;
4.查看所有角色:   select * from dba_roles;
5.查看用户所拥有的角色:   select * from dba_role_privs;   select * from user_role_privs; 
6.查看角色所拥有的权限:     select * from role_sys_privs;     select * from role_tab_privs;  
7.查看所有系统权限     select * from system_privilege_map;   
8.查看所有对象权限   
select * from table_privilege_map;  
以上是在Oracle中查看用户权限 ,
在DB2中为:   select * from syscat.dbauth   或者   get authorizations  查看sid select * from v$instance

--查看锁
select t2.username,t2.sid,t2.serial#,t2.logon_time
from v$locked_object t1,v$session t2
where t1.session_id=t2.sid order by t2.logon_time;
--解锁   
alter system kill session 'sid,serial#'
创建删除用户表空间
1.创建用户前,需要为该用户创建表空间。命令格式如下:
create tablespace 表空间名 datafile '数据文件名' size 表空间大小;
比如,我现在打算创建名为test_tablespace的表空间,则输入以下命令:
create tabalespace test_tablespace datafile 'C:\oracle\product\10.2.0\oradata\orcl\test_data.dbf' size 500M;
回车后,会提示“表空间创建成功”。

2.接下来就可以创建用户名了。命令格式如下:
create user 用户名 identified by 用户密码 default tablespace 表空间名;
我现在要创建用户test,则输入以下命令:
create user test identified by 1234 default tablespace test_tablespace;
回车后,会提示“用户创建成功”,该用户默认使用的表空间为test_tablespace。

3.接下来就可以创建用户名了。命令格式如下:
create user 用户名 identified by 用户密码 default tablespace 表空间名;
我现在要创建用户test,则输入以下命令:
create user test identified by 1234 default tablespace test_tablespace;
回车后,会提示“用户创建成功”,该用户默认使用的表空间为test_tablespace。

以下是删除用户和表空间的过程。
删除用户(仍以用户名test为例):
drop user test cascade;//cascade参数是级联删除该用户所有对象,若不加上此参数,删除操作可能会出错,建议加上
回车后,会提示“用户删除成功”。

删除表空间:
drop tablespace test_tablespace including contents and datafiles;
回车后,会提示“表空间删除成功”。