Oracle使用——Oracle表空间处理
创建表空间
- 查看表空间信息(名称、大小)
select t1.name tablespace_name ,t2.name file_local ,t2.bytes / (1024 * 1024) file_size
from v$tablespace t1,v$datafile t2 where t1.ts# = t2.ts#; - 创建临时表空间
- 概念:临时表空间用来管理数据库排序操作以及用于存储临时表、中间排序结果等临时对象,当ORACLE里需要用到SORT的时候,并且当PGA中sort_area_size大小不够时,将会把数据放入临时表空间里进行排序。像数据库中一些操作: CREATE INDEX、 ANALYZE、SELECT DISTINCT、ORDER BY、GROUP BY、 UNION ALL、 INTERSECT、MINUS、SORT-MERGE JOINS、HASH JOIN等都可能会用到临时表空间。当操作完成后,系统会自动清理临时表空间中的临时对象,自动释放临时段。这里的释放只是标记为空闲、可以重用,其实实质占用的磁盘空间并没有真正释放。这也是临时表空间有时会不断增大的原因。临时表空间存储大规模排序操作(小规模排序操作会直接在RAM里完成,大规模排序才需要磁盘排序Disk Sort)和散列操作的中间结果.它跟永久表空间不同的地方在于它由临时数据文件(temporary files)组成的,而不是永久数据文件(datafiles)。临时表空间不会存储永久类型的对象,所以它不会也不需要备份。另外,对临时数据文件的操作不产生redo日志,不过会生成undo日志。创建临时表空间或临时表空间添加临时数据文件时,即使临时数据文件很大,添加过程也相当快。这是因为ORACLE的临时数据文件是一类特殊的数据文件:稀疏文件(Sparse File),当临时表空间文件创建时,它只会写入文件头部和最后块信息(only writes to the header and last block of the file)。它的空间是延后分配的.这就是你创建临时表空间或给临时表空间添加数据文件飞快的原因。另外,临时表空间是NOLOGGING模式以及它不保存永久类型对象,因此即使数据库损毁,做Recovery也不需要恢复Temporary Tablespace。
- 创建:
create temporary tablespace test_temp tempfile 'D:\soft\oracle\app\oradata\orcl\TEST_TEMP.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local;
PS:红色部分为临时表空间存储路径,在oracle安装路径中可以找到。
- 创建数据表空间
- 概念:表空间是一个用来管理数据存储逻辑概念,表空间只是和数据文件(ORA或者DBF文件)发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。
- 创建
create tablespace test_data logging datafile 'D:\soft\oracle\app\oradata\orcl\TEST_DATA.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local;
- 创建用户并指定表空间
- 创建
create user test identified by test default tablespace test_data temporary tablespace test_temp;
- 创建
删除表空间
- 删除数据表空间
drop tablespace test_data including contents and datafiles cascade constraint;
修改表空间
- 修改已有表空间数据文件
- 修改表空间数据文件大小
--扩展空间,将数据文件扩大至32G
alter database datafile 'D:\soft\oracle\app\oradata\orcl\ZXGXH_DATA.dbf' resize 32000m; - 修改表空间属性,已有表空间数据文件大小实现自动扩展
--自动增长,表空间不足时增加200MB,最大扩展32G
alter database datafile 'D:\soft\oracle\app\oradata\orcl\ZXGXH_DATA.dbf' autoextend on next 200m maxsize 32000m; - 修改表空间数据文件大小为无限大
--扩展空间,将数据文件为无限大
alter database datafile 'D:\soft\oracle\app\oradata\orcl\ZXGXH_DATA.dbf'autoextend on maxsize unlimited;
- 修改表空间数据文件大小
- 追加新的表空间数据文件
- 在表空间内追加一个新的固定大小的数据文件
alter tablespace ZXGXH_DATA add datafile 'D:\soft\oracle\app\oradata\orcl\ZXGXH_DATA2.DBF' size 200m;
- 在表空间内追加一个新的可自动增长大小的数据文件
alter tablespace ZXGXH_DATA add datafile 'D:\soft\oracle\app\oradata\orcl\ZXGXH_DATA2.DBF' size 200m autoextend on next 200m maxsize 32000m;
- Next
- 在表空间内追加一个新的固定大小的数据文件
扩展
- 将maxsize设置为unlimited也并非能无限扩展,还受限于区块大小,即blocksize大小,如一般blocksize默认8k,数据文件大小最大也只能扩展到32GB。当然可以设置bigfile(大文件表空间),8k的blocksize表空间文件理论上最大可以扩展32TB,但是实际上受操作系统的文件系统限制。使用大文件表空间(bigfile tablespace)可以大幅度增强Oracle数据库的存储能力,简化数据库管理工作。与此同时,付出的代价是增加备份与恢复的时间。如果是中小型项目,数据量在TB级以内,建议使用小文件表空间。一个小文件表空间(smallfile tablespace)最多可以包含1022个数据文件(datafile)。
Oracle使用——Oracle表空间处理的更多相关文章
- 记一次ORACLE的UNDO表空间爆满分析过程
这篇文章是记录一次ORACLE数据库UNDO表空间爆满的分析过程,主要整理.梳理了同事分析的思路.具体过程如下所示: 早上收到一数据库服务器的UNDO表空间的告警邮件,最早一封是7:55发出的(监控作 ...
- Oracle 10g bigfile表空间、smallfile 表空间
smallfile tablespace设置不同大小的db_block_size时数据文件允许的最大大小 db_block_size=2KB,2KB*4M=8192M 8Gdb_block_ ...
- Oracle 10g创建表空间的完整步骤详解
本文我们主要介绍了Oracle 10g创建表空间的完整步骤,包括表空间的创建与删除.为应用创建用户以及权限的授予等操作,希望能够对您有所帮助. AD:WOT2014:用户标签系统与用户数据化运营培训专 ...
- 如何让Oracle释放undo表空间
如何让Oracle释放undo表空间 最佳答案 在日常的数据库维护和数据库编程中经常会遇到犹豫对大数据量做DML操作后是得ORACLE的undo表空间扩展到十几个G或者几十个G 但是这些表空间 ...
- [Oracle]理解undo表空间
一.回退段介绍 在Oracle数据库中,当某个事物对数据进行修改时,Oracle首先将数据的原始值保存到一个回退段中.一个事物只能将它的回退信息保存到一个回退段中,而多个并行事物可以使用同一个回退段. ...
- oracle用户与表空间操作
oracle系统用户sys,system , sysman, scott 使用system用户登录[username/password][@server][as sysdba|sysoper]eg: ...
- 删除Oracle用户及表空间
--转载自 https://blog.csdn.net/sunny05296/article/details/81126548--以sysdba用户登录,查找需要删除的用户conn / as sysd ...
- Oracle笔记之表空间
Oracle中有一个表空间的概念,一个数据库可以有好几个表空间,表放在表空间下. 1. 创建表空间 创建表空间使用create tablespace命令: CREATE TABLESPACE foo_ ...
- Oracle 删除用户和表空间////Oracle创建删除用户、角色、表空间、导入导出、...命令总结/////Oracle数据库创建表空间及为用户指定表空间
Oracle 使用时间长了, 新增了许多user 和tablespace. 需要清理一下 对于单个user和tablespace 来说, 可以使用如下命令来完成. 步骤一: 删除user drop ...
- Oracle数据库查看表空间sql语句
转: Oracle数据库查看表空间sql语句 2018-09-03 15:49:51 兰海泽 阅读数 6212 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出 ...
随机推荐
- Mod制作第一个物品
在通过Mod制作第一个物品时需要 一下几个步骤: 创建一个物品 通常在创建这个物品类的时候会继承Item或者是Block父类(因为Mod中的物品都是这个两个类的子类),在给类中使用了this.setU ...
- C# Control.Invoke匿名委托
if (txbValue.InvokeRequired) txbValue.Invoke(new MethodInvoker(delegate() { ...
- day1 hbuilder的使用
一.互联网的原理 1.概述 html:用来制作网页. 互联网原理:上网即请求数据. 用户通过在浏览器上输入一个网址,通过HTTP协议向服务器发送请求,服务器做出响应,将相关的网页数据传输到本地计算机, ...
- hdu5029 树链剖分 + 线段树
将树映射在线段上进行操作 然后每个 重链变成一个连续的区间 #include <iostream> #include <cstdio> #include <strin ...
- 什么是Unicode
写这篇博客的原因, 从做软件开始,什么ASCII码, Unicode,UTF-8,UTF-16,UTF-32......这些鬼东西总是经常碰到,只知道这些鬼是编码格式,其他的就啥都不清楚了,既然总是遇 ...
- jsp无法访问
一直无法访问jsp: 由于Spring boot使用的内嵌的tomcat,而内嵌的tamcat是不支持jsp页面的,所有需要导入额外的包才能解决. <!-- 解决jsp无法访问 --> & ...
- Linux基础命令---显示主机名hostname
hostname hostname指令用于设置或者显示系统主机名,没有任何参数就会返回gethostname()函数的返回值.使用hostname指令之后,主机名会立马被修改,但是重启系统之后就失效了 ...
- git 提交命令
git stash -u 占存本地版本 git commit git fetch 提交 git rebase git stash pop 将本地没有提交的代码暂存,然后切换到其他分支,然后再回到当前分 ...
- Jmeter压力测试和接口测试
jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单.因为jmeter是java开发的,所以运行的时候必须先要安 ...
- C#——WebApi 接口参数传参详解
本篇打算通过get.post.put.delete四种请求方式分别谈谈基础类型(包括int/string/datetime等).实体.数组等类型的参数如何传递. 一.get请求 对于取数据,我们使用最 ...