Oracle的表空间

一 表空间概述

1、理解表空间
表空间是数据库的逻辑存储空间
一个数据库可以有多个表空间构成
表空间是由一个或者多个数据文件构成,数据文件的位置和大小可以由用户自己来定义。
2、表空间分类
永久表空间:永久存储对象,例如:表、视图、存储过程
临时表空间:数据库操作过程中中间执行过程,执行完成后,存放的内容就会被自动释放掉,不进行永久性地保存。
UNDO表空间:保存事务修改数据前的数据,用于事务回滚撤销操作。
二 查看用户的表空间
1、数据字典
dba_tablespaces:针对系统管理员级别的用户登录之后查看的数据字典。
user_tablespaces:普通用户登录之后查看的数据字典。
dba_users: 针对系统管理员级别的用户登录之后查看的数据字典。
user_users: 普通用户登录之后查看的数据字典。
实例1:表空间实战
  1. sql> connect system
  2. 输入口令:
  3. 已连接。
  4. sql> desc dba_tablespaces
  5. 名称是否为空?类型
  6. -----------------------------------------------------------------------------
  7. TABLESPACE_NAME NOT NULL VARCHAR2(30)
  8. BLOCK_SIZE NOT NULL NUMBER
  9. INITIAL_EXTENT NUMBER
  10. NEXT_EXTENT NUMBER
  11. MIN_EXTENTS NOT NULL NUMBER
  12. MAX_EXTENTS NUMBER
  13. MAX_SIZE NUMBER
  14. PCT_INCREASE NUMBER
  15. MIN_EXTLEN NUMBER
  16. STATUS VARCHAR2(9)
  17. CONTENTS VARCHAR2(9)
  18. LOGGING VARCHAR2(9)
  19. FORCE_LOGGING VARCHAR2(3)
  20. EXTENT_MANAGEMENT VARCHAR2(10)
  21. ALLOCATION_TYPE VARCHAR2(9)
  22. PLUGGED_IN VARCHAR2(3)
  23. SEGMENT_SPACE_MANAGEMENT VARCHAR2(6)
  24. DEF_TAB_COMPRESSION VARCHAR2(8)
  25. RETENTION VARCHAR2(11)
  26. BIGFILE VARCHAR2(3)
  27. PREDICATE_EVALUATION VARCHAR2(7)
  28. ENCRYPTED VARCHAR2(3)
  29. COMPRESS_FOR VARCHAR2(12)
  30. sql>select tablespace_name from dba_tablespaces;
  31. TABLESPACE_NAME
  32. ------------------------------
  33. SYstem
  34. SYSAUX
  35. UNDOTBS1
  36. TEMP
  37. USERS
  38. EXAMPLE
  39. 已选择6行。
SYstem:存储system用户的表,视图,存储过程数据对象。也被称为系统表空间。
SYSAUX:作为 EXAMPLE的辅助表空间,
UNDOTBS1:存储撤销信息,属于UNDO类型的表空间。
TEMP:属于临时表空间。
USERS:是永久性表空间,用于存储用户创建的数据库对象。
EXAMPLE:安装数据库示例使用的表空间。
实例2:系统用户和普通用户查看表空间的权限不一样
系统用户有查看 dba_tablespaces和 user_tablespaces数据字典的权限。
普通用户只有查看 user_tablespaces数据字典的权限。
sql> desc user_tablespaces
  • 名称是否为空?类型
  • -----------------------------------------------------------------------------
  • TABLESPACE_NAME NOT NULL VARCHAR2(30)
  • BLOCK_SIZE NOT NULL NUMBER
  • INITIAL_EXTENT NUMBER
  • NEXT_EXTENT NUMBER
  • MIN_EXTENTS NOT NULL NUMBER
  • MAX_EXTENTS NUMBER
  • MAX_SIZE NUMBER
  • PCT_INCREASE NUMBER
  • MIN_EXTLEN NUMBER
  • STATUS VARCHAR2(9)
  • CONTENTS VARCHAR2(9)
  • LOGGING VARCHAR2(9)
  • FORCE_LOGGING VARCHAR2(3)
  • EXTENT_MANAGEMENT VARCHAR2(10)
  • ALLOCATION_TYPE VARCHAR2(9)
  • SEGMENT_SPACE_MANAGEMENT VARCHAR2(6)
  • DEF_TAB_COMPRESSION VARCHAR2(8)
  • RETENTION VARCHAR2(11)
  • BIGFILE VARCHAR2(3)
  • PREDICATE_EVALUATION VARCHAR2(7)
  • ENCRYPTED VARCHAR2(3)
  • COMPRESS_FOR VARCHAR2(12)
  • sql>select tablespace_name from user_tablespaces;
  • TABLESPACE_NAME
  • ------------------------------
  • SYstem
  • SYSAUX
  • UNDOTBS1
  • TEMP
  • USERS
  • EXAMPLE
  • 已选择6行。
  • sql> connect scott
  • 输入口令:
  • 已连接。
  • sql>select tablespace_name from dba_tablespaces;
  • select tablespace_name from dba_tablespaces
  • *
  • 1行出现错误:
  • ORA-00942:表或视图不存在
  • sql>select tablespace_name from user_tablespaces;
  • TABLESPACE_NAME
  • ------------------------------
  • SYstem
  • SYSAUX
  • UNDOTBS1
  • TEMP
  • USERS
  • EXAMPLE
  • 已选择6行。
  • 实例3:普通用户无法查看 dba_users
    sql> desc dba_users;
  • ERROR:
  • ORA-04043:对象"SYS"."DBA_USERS"不存在
  • 实例4:某一个用户对应着认表空间和临时表空间
    1. sql> connect system
    2. 输入口令:
    3. 已连接。
    4. sql> desc dba_users;
    5. 名称是否为空?类型
    6. -----------------------------------------------------------------------------
    7. USERNAME NOT NULL VARCHAR2(30)
    8. USER_ID NOT NULL NUMBER
    9. PASSWORD VARCHAR2(30)
    10. ACCOUNT_STATUS NOT NULL VARCHAR2(32)
    11. LOCK_DATE DATE
    12. EXPIRY_DATE DATE
    13. DEFAULT_TABLESPACE NOT NULL VARCHAR2(30)
    14. TEMPORARY_TABLESPACE NOT NULL VARCHAR2(30)
    15. CREATED NOT NULL DATE
    16. PROFILE NOT NULL VARCHAR2(30)
    17. INITIAL_RSRC_CONSUMER_GROUP VARCHAR2(30)
    18. EXTERNAL_NAME VARCHAR2(4000)
    19. PASSWORD_VERSIONS VARCHAR2(8)
    20. EDITIONS_ENABLED VARCHAR2(1)
    21. AUTHENTICATION_TYPE VARCHAR2(8)
    22. sql>select default_tablespace,temporary_tablespace from dba_users where username='SYstem';
    23. DEFAULT_TABLESPACE TEMPORARY_TABLESPACE
    24. ------------------------------------------------------------
    25. SYstem TEMP
    实例5:设置用户认或临时表空间
    ALTER USER username
    DEFAULT|TEMPORARY
    TABLESPACE tablespace_name
    1. sql> ALTER USER system
    2. 2 DEFAULT TABLESPACE system;
    3. 用户已更改。
    4. temporary_tablespace from dba_users where username='SYstem';
    5. DEFAULT_TABLESPACE TEMPORARY_TABLESPACE
    6. ------------------------------------------------------------
    7. SYstem TEMP

    相关文章

    Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
    Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
    Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
    随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
    Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
    Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...