| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Oracle 表空间(tablespace)介绍 -> 正文阅读 |
|
[大数据]Oracle 表空间(tablespace)介绍 |
Oracle 表空间(tablespace)介绍在oracle中,表空间是Oracle数据对象和数据存储的容器,是一个逻辑概念,若干操作系统文件就可以组成一个表空间。表空间统一管理空间中的数据文件(通常,文件的后缀名是dbf),一个数据文件只能属于一个表空间;而一个数据库空间由若干个表空间组成。表空间是ORACLE数据库恢复的最小单位。 Oracle表空间之作用 表空间的作用能帮助DBA用户完成以下工作: 1.决定数据库实体的空间分配; 2.设置数据库用户的空间份额; 3.控制数据库部分数据的可用性; 4.分布数据于不同的设备之间以改善性能; 5.备份和恢复数据。 用户创建其数据库实体时,必须给予表空间中具有相应的权力,所以对一个用户来说,其要操纵一个ORACLE数据库中的数据,应该: 1.被授予关于一个或多个表空间中的RESOURCE特权; 2.被指定缺省表空间; 3.被分配指定表空间的存储空间使用份额; 4.被指定缺省临时段表空间,建立不同的表空间,设置最大的存储容量。 Oracle 12c数据库系统默认创建的空间及其对应的默认用户如下表:
表空间的模式,也可以称为状态有: 处于读写(Read/write)状态的表空间任何拥有表空间配额并有权限的用户都可以读写该表空间中的数据; 处于只读(Read-only)状态的表空间任何用户无法向该表空间写入数据,也无法修改其中已有的数据。 脱机(offline)有4种模式:正常、临时、立即、用于恢复。 默认情况下所有表空间的状态都是读写状态。 用户可以通过 CREATE TABLESPACE 命令创建表空间。Oracle创建表空间语法结构如下: 创建表空间使用CREATE TABLESPACE语句,创建的用户必须拥有CREATE TABLESPACE系统权限。语法格式为: CREATE TABLESPACE <表空间名> ?? DATAFILE '<文件路径>/<文件名>' [SIZE <文件大小> [ K∣M ]] [ REUSE ] ?? [ AUTOEXTEND [ OFF∣ON [ NEXT <磁盘空间大小> [ K∣M ]] ?? [ MAXSIZE [ UMLIMITED∣<最大磁盘空间大小> [ K∣M ] ] ] ] ?? [ MINMUM EXTENT <数字值>[ K | M ] ] ?? [ DEFAULT <存储参数>] ?? [ ONLINE∣OFFLINE ] ?? [ LOGGING∣NOLOGGING ] ?? [ PERMANENT∣TEMPORARY ] ?? [ EXTENT MANAGEMENT [ DICTIONARY∣LOCAL [ AUTOALLOCATE∣UNIFORM [ SIZE <数字值>[ K∣M ] ] ] ] ] 其中, [AUTOEXTEND ON NEXT N1 MAXSIZE M /OF ]:表示表空间是否是自动扩展的,ON 为自动扩展,OF为不扩展,当自动扩展时,NEXT N1表示自动扩展的大小,MAX SIZE M 表示数据文件最大扩展到M大小。 [PERMANENT] :表示创建的表空间的类型,PERMANENT表示永久表空间,不填都是默认永久表空间。 [EXTENT MANAGEMENT LOCAL/DICTIONARY]:表示表空间管理的方式,LOCAL表示本地的管理模式,DICTIONARY表示数据字典管理模式,默认都是本地管理方式。 例
说明:创建一个student表空间,指定了数据文件为“E:\APP\ADMIN\ORADATA\ORCL\student.DBF”,表空间是自动扩展的,每次自动扩展大小为10M,最大扩展到500M,创建的是永久表空间,用来存储student用户的数据库对象和数据,管理模式为本地管理。 通过查看数据字典dba_data_files和dba_tablespaces,可对表空间进行查询,查询代码如下: select t.TABLESPACE_NAME, --表空间名 ?????? t.FILE_NAME, --文件名 ?????? t.AUTOEXTENSIBLE, --是否自动扩展 ?????? t.BYTES / 1024 / 1024, --表空间初始大小 ?????? t.MAXBYTES / 1024 / 1024, --表空间最大扩展到多少 ?????? b.CONTENTS, --表空间类型 ?????? b.EXTENT_MANAGEMENT --表空间管理模式 from dba_data_files t, dba_tablespaces b where t.TABLESPACE_NAME = b.TABLESPACE_NAME 利用ALTER TABLESPACE命令可以修改现有的表空间或它的一个或多个数据文件。可以为数据库中每一个数据文件指定各自的存储扩展参数值;Oracle 12c会在自动扩展数据文件时使用这些参数。语法格式为: ALTER TABLESPACE <表空间名> ???? [ ADD DATAFILE∣TEMPFILE? '<路径>/<文件名>' [ SIZE <文件大小> [ K∣M ] ] ???? [ REUSE ] ?????? [ AUTOEXTEND [ OFF∣ON [ NEXT <磁盘空间大小>? [ K∣M ] ] ] ] ?????? [MAXSIZE [ UNLIMITED∣<最大磁盘空间大小> [ K∣M ] ] ] ?????? [ RENAME DATAFILE '<路径>/<文件名>',…n TO '<路径>/<新文件名>'',…n ] ?????? [ DEFAULT STORAGE <存储参数>] ?????? [ ONLINE∣OFFLINE [ NORMAL∣TEMPORARY∣IMMEDIATE ] ] ?????? [ LOGGING∣NOLOGGING ] ?????? [ READ ONLY∣WRITE ] ?????? [ PERMANENT ] ?????? [ TEMPORARY ] 如果不再需要表空间和其中保存的数据,可以使用DROP TABLESPACE语句删除已经创建的表空间。语法格式为: DROP TABLESPACE <表空间名> ?? [ INCLUDING CONTENTS [ {AND | KEEP} DATAFILES ] ?? [ CASCADE CONSTRAINTS ] ?? ] 其中: DROP TABLESPACE:删除表空间的关键字。 [INCLUDING CONTENTS]:表示在删除表空间的时候把表空间中的数据文件一并删除。 [CASCADE CONSTRAINTS]:表示在删除表空间的时候把表空间的完整性也一并删除。比如表的外键,和触发器等就是表的完整性约束。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/16 3:54:13- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |