视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
oracle查看用户,用户权限,用户表空间,用户默认表空间
2020-11-09 08:01:39 责编:小采
文档


http://blog.sina.com.cn/s/blog_616d29fc010154yo.html 查看用户和默认表空间的关系。 select username,default_tablespace from dba_users; 1.查看表结构:desc表名 2.查看当前用户的表: select table_name from user_tables; 3.查看所有用户的表名: sel

http://blog.sina.com.cn/s/blog_616d29fc010154yo.html

查看用户和默认表空间的关系。
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 * from session_privs

◆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

创建临时表空间
Sql代码
create temporary tablespace stbss_tmp
tempfile 'E:\oracle\product\10.2.0\oradata\orcl\stbss_temp01.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;


创建数据表空间
Sql代码
create tablespace stbss
logging
datafile 'E:\oracle\product\10.2.0\oradata\orcl\stbss01.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;

DATAFILE: 表空间数据文件存放路径
SIZE: 起初设置为32M
UNIFORM: 指定区尺寸,如不指定,区尺寸默认为k
空间名称stbss与数据文件名称 stbss.dbf 不要求相同,可随意命名.
AUTOEXTEND ON/OFF 表示启动/停止自动扩展表空间
alter database datafile ' E:\oracle\product\10.2.0\oradata\orcl\stbss01.dbf ' resize 32m; //手动修改数据文件大小为32M

创建用户并指定表空间
Sql代码
create user username identified by password
default tablespace stbss
temporary tablespace stbss_tmp;


给用户授予权限
Sql代码
grant connect,resource to username;

改变用户默认表空间


Sql代码
alter user username default tablespace stbss;

查询用户和表空间之间的关系
select distinct(owner) ,tablespace_name from dba_segments;

 向USERS表空间增加一个数据文件:


  SQL> alter tablespace users add datafile '/opt/oracle/oradata/eygle/users02.dbf' size 10M;
  Tablespace altered.
  SQL> select file#,name from v$datafile;
  FILE# NAME
  ---------- --------------------------------------------------
  1 /opt/oracle/oradata/eygle/system01.dbf
  2 /opt/oracle/oradata/eygle/undotbs01.dbf
  3 /opt/oracle/oradata/eygle/sysaux01.dbf
  4 /opt/oracle/oradata/eygle/users01.dbf
  5 /opt/oracle/oradata/eygle/users02.dbf
  5 rows selected.


  确认表空间文件信息:

  SQL> select file_name,file_id from dba_data_files where tablespace_name='USERS';
  FILE_NAME FILE_ID
  -------------------------------------------------- ----------
  /opt/oracle/oradata/eygle/users02.dbf 5
  /opt/oracle/oradata/eygle/users01.dbf 4


确认表空间未被存储占用:


  SQL> select segment_name,file_id,blocks from dba_extents where file_id=5;
  no rows selected


  删除表空间中的空数据文件:

  SQL> alter tablespace users drop datafile '/opt/oracle/oradata/eygle/users02.dbf';
  Tablespace altered.


  检查数据字典,这个空文件的信息已经被彻底清除了:

  SQL> select file_name,file_id from dba_data_files where tablespace_name='USERS';
  FILE_NAME FILE_ID
  -------------------------------------------------- ----------
  /opt/oracle/oradata/eygle/users01.dbf 4

以后以该用户登录,创建的任何数据库对象都属于stbss_tmp和stbss表空间,这就不用在每创建一个对象给其指定表空间了

删除oracle临时表空间
新建一个临时表空间,然后把数据库的默认临时表空间指向新建的这个,等到旧的临时表空间没人用的时候,就可以删除了

Sql代码
--1:查看数据库的默认临时表空间
select property_name, property_value
from database_properties
where property_name = 'default_temp_tablespace';

--2:创建一个新的临时表空间temp_xxxx
-----参考上面的创建语句
--3:查看数据库中有哪些临时表空间。
select distinct tablespace_name from dba_temp_files;

--4:把默认临时表空间从temp切换到temp_xxxx
alter database default temporary tablespace temp_xxxx;

--5:再次查看数据库的默认临时表空间
select property_name, property_value
from database_properties
where property_name = 'default_temp_tablespace';

--6:删除原来的临时表空间
drop tablespace temp;


删除用户:test
drop user test cascade

删除表空间:
DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES

删除表:
delete from users;

下载本文
显示全文
专题