码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Oracle】Oracle系列之五--Oracle表空间


    文章目录

    • 往期回顾
    • 前言
    • 1. 基本概念
    • 2. 表空间的创建与管理
      • (1)表空间的创建
      • (2)修改表空间数据文件大小
      • (3)表空间不足时,增加数据文件(可增加1个或多个)
      • (4)重命名表空间数据文件
      • (5)删除表空间

    往期回顾

    • 【Oracle】Oracle系列–Oracle数据类型
    • 【Oracle】Oracle系列之二–Oracle数据字典
    • 【Oracle】Oracle系列之三–Oracle字符集
    • 【Oracle】Oracle系列之四–用户管理

    前言

    1. 基本概念

    Oracle数据库开创性地提出了表空间(tablespaces)的设计理念,Oracle中很多优化都是基于表空间实现的。

    Oracle表空间是一个逻辑的概念,由数据文件(data files)作为承载。一个Oracle数据库可以有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件。

    表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库对象,如表、视图、索引、聚簇、回退段和临时段等。

    表空间分为:系统表空间、UNDO表空间、临时表空间、用户表空间。

    默认的表空间有SYSAUX,SYSTEM,UNDOTBS1,TEMP,USERS,对应数据文件在$ORACLE_HOME\oradata\orcl下,分别为SYSTEM01.DBF,SYSAUX01.DBF,UNDOTBS01.DBF , TEMP01.DBF,USERS01.DBF。

    表空间相关的视图包括:
    DBA_TABLESPACES(USER_TABLESPACES)、DBA_DATA_FILES

    2. 表空间的创建与管理

    (1)表空间的创建

    CREATE TABLESPACE tbs01 Datafile 'D:\oracle\product\10.2.0\oradata\orcl\tbs01.dbf' SIZE 100M;
    
    • 1

    可加入Autoextend On Next 100M Maxsize Unlimited,否则会由于空间不足报ORA-01659错误(表示无法分配超出的MINEXTENTS)。

    表空间默认区大小为64KB,可通过UNIFORM SIZE 128k来指定区大小为128k;或使用AUTOALLOCATE,区的大小由数据库根据情况指定。此时需要加入EXTENT MANAGEMENT LOCAL,表示表空间的区管理方式为本地管理(否则为字典管理)。

    Oracle的Data block address共32bit,其中10bit记录file_id,22bit(ROWID)记录block_id,在一个数据文件中最多能够记录 2 22 − 1 ( 4194303 ) 个block,由于db_block_size = 8k,所以一个数据文件的最大值为8k* 2 22=31.9999924G。(DBA_DATA_FILES视图中的MAXBLOCKS为4194302,MAXBYTES为34359721984,单位为字节BYTE)

    Oracle大文件表空间
    Oracle大文件表空间只包含一个数据文件,这个数据文件可包含4GB个数据块,一个数据文件大小可达32TB(8KB*4GB)。区(Extent)管理方式为本地管理(LOCAL),段(SEGMENT)管理方式为自动管理(AUTO)。

    建立大表空间语句如下:

    Create Bigfile Tablespace btbs1 Datafile 
    'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ BTBS01. DBF' Size 200M;
    
    • 1
    • 2

    (2)修改表空间数据文件大小

    Alter Database Datafile ‘D:\oracle\product\10.2.0\oradata\orcl\tbs01.dbf’ Resize 200M;

    (3)表空间不足时,增加数据文件(可增加1个或多个)

    ALTER TABLESPACE tbs01 add Datafile
    ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TBS01-1.DBF’ Size 50M,
    D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TBS01-2.DBF’ Size 50M;

    (4)重命名表空间数据文件

    Alter Tablespace tbs01 Rename Datafile ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TBS01.DBF’
    To ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TBS01-0.DBF’

    修改控制文件和数据字典中数据文件的位置和名称信息,在执行之前需要保证数据文件在操作系统中已经被正确重命名。

    (5)删除表空间

    DROP TABLESPACE tbs01 INCLUDING CONTENTS AND DATAFILES;

  • 相关阅读:
    win10打开VMware 16 pro里面的虚拟机就蓝屏怎么办
    CDN策略好坏的重要性
    区块链与比特币学习笔记二
    使用JMeter测试Go WebSocket服务的并发
    深入理解CSS常见选择器
    【B树 B+树】B树、B+树理论
    【React源码】(十三)Hook 原理(状态 Hook)
    商业化广告--体系学习--1
    MySQL事务管理
    [Linux](14)信号
  • 原文地址:https://blog.csdn.net/u011397981/article/details/133148656
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号