数据库的表空间_默认表空间

数据库的表空间_默认表空间表空间的概述数据库的表空间,简而言之就是数据库存储数据的存储结构,是一种用来存储数据的逻辑空间,是数据库用来存储数据的最大逻辑单元,其下还有段、区、数据块等逻辑数据类型。表空间的存在就是为了用来存储数据库的数据对象,一个数据库可以由多个数据表空间组成,可以通过表空间来实现对数据库的调参。表空间的分类永久性表空间:在存储过程中需要永久化存储的对象,比如二维表,视图,存储过程,索引。临时表空间:临时表…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

表空间的概述

数据库的表空间,简而言之就是数据库存储数据的存储结构,是一种用来存储数据的逻辑空间,是数据库用来存储数据的最大逻辑单元,其下还有段、区、数据块等逻辑数据类型。表空间的存在就是为了用来存储数据库的数据对象,一个数据库可以由多个数据表空间组成,可以通过表空间来实现对数据库的调参。

表空间的分类

  • 永久性表空间:在存储过程中需要永久化存储的对象,比如二维表,视图,存储过程,索引。
  • 临时表空间:临时表空间实在数据库执行的过程中创建的,如:执行order by,like,等查询命令时产生的临时数据。操作完之后临时表空间的内容会自动释放,不会对数据库产生影响。临时表空间一般存储在TEMP中,用户也可以自行手动创建临时表空间,手法多样,多变。
  • UNDO表空间:保存数据库表修改之前的副本。存储事务修改的旧址,即是为了保存数据修改之前的另一个版本。利于对数据操作的回滚、恢复和撤销。

查看system用户的默认表空间和临时表空间

Jetbrains全家桶1年46,售后保障稳定

SQL> SELECT PROPERTY_NAME, PROPERTY_VALUE 
2 FROM DATABASE_PROPERTIES;

PROPERTY_NAME PROPERTY_VALUE
------------------------------ ------------------
DEFAULT_TEMP_TABLESPACE              TEMP

默认表空间

用户在登陆后没有指定表空间的话,数据就会默认存储到默认表空间。

查看默认的永久表空间

注意:如果创建用户时,不指定其永久表空间,则会使用默认的表空间

SQL> SELECT PROPERTY_NAME, PROPERTY_VALUE 
2 FROM DATABASE_PROPERTIES;

PROPERTY_NAME PROPERTY_VALUE
------------------------------ ------------------
DEFAULT_TEMP_TABLESPACE              TEMP

DEFAULT_PERMANENT_TABLESPACE         USERS

查看默认的TEMP表空间

系统管理员查看表空间

SQL> SELECT PROPERTY_NAME, PROPERTY_VALUE
2 FROM DATABASE_PROPERTIES
3 WHERE PROPERTY_NAME='DEFAULT_TEMP_TABLESPACE'
4 ;

PROPERTY_NAME                        PROPERTY_VALUE
------------------------------ ----------------------------
DEFAULT_TEMP_TABLESPACE                  TEMP

普通用户

SELECT USERNAME, TEMPORARY_TABLESPACE FROM DBA_USERS

逻辑结构到物理结构的映射

表空间与数据文件:实际上表空间是由若干个数据文件构成,数据文件的位置和大小可以由我们而定。数据被存放在表空间的数据文件中。

数据库的表空间_默认表空间

注意:表空间的段,区,块等等是一种逻辑结构,其下最小的数据块会映射到磁盘块中,而磁盘块是物理结构。一个数据块由若干个磁盘块组成。

数据库的表空间_默认表空间

数据库的表空间_默认表空间

表空间的操作方式

  • 数据字典:表空间的分配信息可以都存储在数据字典中,但是如果真这样做了,会引起字典争用的后果,这是性能调优的目标之一。
  • 本地存储:表空间分配不放在数据字典,而在每个数据文件头部的第3到第8个块的位图块,来管理空间分配。


查看表空间使用情况

SELECT A.TABLESPACE_NAME                     AS TABLESPACE_NAME, 
        ROUND(A.BYTES/(1024*1024*1024),2)    AS "TOTAL(G)"     , 
        ROUND(B.BYTES/(1024*1024*1024),2)    AS "USED(G)"      , 
        ROUND(C.BYTES/(1024*1024*1024),2)    AS "FREE(G)"      , 
        ROUND((B.BYTES * 100) / A.BYTES,2)   AS "% USED"       , 
        ROUND((C.BYTES * 100) / A.BYTES,2)   AS "% FREE" 
FROM SYS.SM$TS_AVAIL A, SYS.SM$TS_USED B, SYS.SM$TS_FREE C 
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME 
AND A.TABLESPACE_NAME = C.TABLESPACE_NAME;

计算表空间使用情况(考虑了数据文件自动增长情况)

SELECT UPPER(F.TABLESPACE_NAME) AS "表空间名称", 
        ROUND(D.AVAILB_BYTES ,2) AS "表空间大小(G)", 
        ROUND(D.MAX_BYTES,2) AS "最终表空间大小(G)", 
        ROUND((D.AVAILB_BYTES - F.USED_BYTES),2) AS "已使用空间(G)", 
        TO_CHAR(ROUND((D.AVAILB_BYTES - F.USED_BYTES) / D.AVAILB_BYTES * 100, 
            2), '999.99') AS "使用比", 
        ROUND(F.USED_BYTES, 6) AS "空闲空间(G)", 
        F.MAX_BYTES AS "最大块(M)" 
 FROM (
        SELECT TABLESPACE_NAME, 
                ROUND(SUM(BYTES) / (1024 * 1024 * 1024), 6) USED_BYTES, 
                ROUND(MAX(BYTES) / (1024 * 1024 * 1024), 6) MAX_BYTES 
        FROM SYS.DBA_FREE_SPACE 
        GROUP BY TABLESPACE_NAME) F, 
      (SELECT DD.TABLESPACE_NAME, 
                ROUND(SUM(DD.BYTES) / (1024 * 1024 * 1024), 6) AVAILB_BYTES, 
            ROUND(SUM(DECODE(DD.MAXBYTES, 0, DD.BYTES, DD.MAXBYTES))/(1024*1024*1024),6) MAX_BYTES 
       FROM SYS.DBA_DATA_FILES DD 
       GROUP BY DD.TABLESPACE_NAME) D 
        WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME 
ORDER BY 4 DESC

懒得copy了,想看原文点下面

转自:点击打开链接


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234797.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Struts2之—实现自己的结果集的定义ajax

    Struts2之—实现自己的结果集的定义ajax

    2022年1月10日
    43
  • xxe漏洞原理与防御

    xxe漏洞原理与防御xml基础知识要了解xxe漏洞,那么一定得先明白基础知识,了解xml文档的基础组成。另外php版本大于5.4.45的默认不解析外部实体XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素为什么使用DTD?通过DTD,您的每一个X…

    2022年5月23日
    34
  • java 创建新文件_Java创建新文件[通俗易懂]

    java 创建新文件_Java创建新文件[通俗易懂]创建文件是一种非常常见的IO操作,在这一小节中我们将学习如何在java中创建文件的几个方法。在java中创建文件有三种流行的方法,下面将一个一个地来学习。方法一:使用File.createNewFile()方法java.io.File类可用于在Java中创建新文件。当初始化File对象时,需要提供一个文件名,然后调用createNewFile()方法来在Java中创建新文件。如果创建新文件成功,则…

    2022年6月18日
    37
  • Basic脚本解释器移植到STM32

    Basic脚本解释器移植到STM32

    2022年1月16日
    49
  • 5种很牛的两位数乘法速算方法「建议收藏」

    5种很牛的两位数乘法速算方法「建议收藏」5种很牛的两位数乘法速算方法第一种:十几乘以任意两位数公式推导(10+b)(10c+d)=100c+10(bc+d)+bd=10(10c+bc+d)+bd=10((10c+d)+bc)+bd 方法:如果c=1,那么就是一个因数,加上另一个因数的尾数,做前积;两个因数的乘积,做尾积应用举例:11×11=|11+1||1×1|=12112×14=|12+4||2×4|=1681

    2022年6月8日
    57
  • 最新服务器节点,服务器emule必备知识(更新服务器列表与kad节点文件)

    最新服务器节点,服务器emule必备知识(更新服务器列表与kad节点文件)emule必备知识(更新服务器列表与kad节点文件)emule必备知识emule是通过ED2K网络和KAD网络寻找、连接其他emule客户端的所以服务器列表和KAD节点文件是emule的必需文件。有些新手由于下载官方原版emule压缩包或其他未集成这些必需文件的emule压缩包从而出现“连接不上ED2K与KAD”问题。所以学会下载更新服务器列表与KAD节点文件是使用emule的第一步以下方法…

    2022年6月16日
    76

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号