oracle 临时表空间和数据表空间

Oracle临时表空间主要用来做查询和存放一些缓冲区数据。临时表空间消耗的主要原因是需要对查询的中间结果进行排序。重启数据库可以释放临时表空间,如果不能重启实例,而一直保持问题sql语句的执行,temp表空间会一直增长。直到耗尽硬盘空间。网上有人猜测在磁盘空间的分配上,oracle使用的是贪心算法,如果上次磁盘空间消耗达到1GB,那么临时表空间就是1GB。也就是说当前临时表空间文件的大小是历史上使用临时表空间最大的大小。临时表空间的主要作用:

索引create或rebuild

Order by 或 group by

Distinct 操作

Union 或 intersect 或 minus

Sort-merge joins

analyze

数据表空间:表空间的作用能帮助DBA用户完成以下工作:

决定数据库实体的空间分配;

设置数据库用户的空间份额;

控制数据库部分数据的可用性;

分布数据于不同的设备之间以改善性能;

备份和恢复数据。

用户创建其数据库实体时其必须于给定的表空间中具有相应的权力,所以对一个用户来说,其要操纵一个ORACLE数据库中的数据,应该:

被授予关于一个或多个表空间中的RESOURCE特权;

被指定缺省表空间;

被分配指定表空间的存储空间使用份额;

被指定缺省临时段表空间。

表空间的维护是由ORACLE数据库系统管理员DBA通过SQL*PLUS语句实现的,其中表空间创建与修改中的文件名是不能带路径的,因此DBA必须在ORACLE/DBS目录中操作。

-- 表空间相关问题

--创建永久表空间

create tablespace tablespace_name

datafile 'PATH_OF_NEW_DATAFILE'

size 50M

AUTOEXTEND ON NEXT 50M;

--删除表空间

DROP TABLESPACE TABLESPACE_NAME;

-- 表空间不足的一般报错信息为:

-- sqlexception:ora-01654: unable to extend index index_name by 1024 in tablespace tablespace_name

-- 表空间是逻辑概念,数据文件和临时数据文件都是物理感念。

-- 一个表空间可以有多个数据文件或者临时数据文件。

SELECT * FROM dba_tablespaces;

SELECT * FROM dba_data_files;

-- 该表中只有数据文件的使用率,不包含临时数据文件

SELECT * FROM dba_free_space;

-- dba_data_files表中同一个tablespace_name可能会有多个数据文件

-- 使用sum聚集函数,并且添加group by子句可以统计相同的tablesapce_name的多个数据文件的总大小

select t.tablespace_name, round(sum(d.bytes/(1024*1024)),0) "tablespace_size(M)"

from dba_tablespaces t, dba_data_files d

where t.tablespace_name = d.tablespace_name

group by t.tablespace_name;

select sum(bytes)/(1024*1024) as free_space,tablespace_name

from dba_free_space

group by tablespace_name;

-- 查询数据文件实际使用情况(不包含临时数据文件,执行速度比较慢)

select file_name, sum(e.bytes)/1024/1024 as mb

from dba_extents e join dba_data_files f on e.file_id=f.file_id

group by file_name;

-- 为某个表空间添加数据文件,文件路径格式参考dba_data_files表中的格式

alter tablespace tablespace_name add datafile 'PATH_OF_NEW_DATAFILE' size 10m

autoextend ON next 5m maxsize 100m;

-- 修改已有的数据文件自动增长

alter database datafile 'PATH_OF_OLD_DATAFILE'

autoextend on next 5m maxsize 100m;

-- 重新设置已有的数据文件大小,如果是缩小的话不能小于数据文件的实际使用情况

alter database datafile 'PATH_OF_OLD_DATAFILE'

resize 100m;

-- 如何解决临时表空间不足

SELECT * FROM dba_temp_files;

-- 查询临时表空间的使用情况,D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)代表左联接

SELECT D.TABLESPACE_NAME,SPACE "SUM_SPACE(M)",BLOCKS SUM_BLOCKS,

USED_SPACE "USED_SPACE(M)",ROUND(NVL(USED_SPACE,0)/SPACE*100,2) "USED_RATE(%)",

NVL(FREE_SPACE,0) "FREE_SPACE(M)"

FROM

(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) SPACE,SUM(BLOCKS) BLOCKS

FROM DBA_TEMP_FILES

GROUP BY TABLESPACE_NAME) D,

(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES_USED)/(1024*1024),2) USED_SPACE,

ROUND(SUM(BYTES_FREE)/(1024*1024),2) FREE_SPACE

FROM V$TEMP_SPACE_HEADER

GROUP BY TABLESPACE_NAME) F

WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+);

-- 建立一个中转临时表空间:

create temporary tablespace temp2

tempfile 'PATH_OF_NEW_TEMPFILE' size 512M

reuse autoextend on next 100M maxsize 2048M;

alter database default temporary tablespace temp2;

drop tablespace temp including contents and datafiles;

create temporary tablespace temp

tempfile 'PATH_OF_NEW_TEMPFILE' size 512M

reuse autoextend on next 100M maxsize 1024M;

alter database default temporary tablespace temp;

drop tablespace temp2 including contents and datafiles;

-- 查看分配给某个表的空间,不管实际是否使用

SELECT TABLESPACE_NAME,TO_CHAR(SUM(BYTES)/(1024*1024),'999G999D999') CNT_MB

FROM DBA_EXTENTS

WHERE OWNER='SCOTT' AND SEGMENT_NAME='BONUS' AND SEGMENT_TYPE LIKE '%TABLE%'

GROUP BY TABLESPACE_NAME;

-- 实际使用的空间

analyze table SCOTT.BONUS compute statistics;

select num_rows * avg_row_len

from dba_tables

where owner = 'SCOTT' and table_name = 'BONUS';

-- 数据文件,表空间与状态对应关系

SELECT FILE_NAME, TABLESPACE_NAME, ONLINE_STATUS FROM DBA_DATA_FILES;

-- 用户与表空间对应关系

SELECT USERNAME, DEFAULT_TABLESPACE FROM DBA_USERS;

oracle 表空间管理相关(原创)

通过以下几步基本可以查看表空间情况以及处理表空间不足问题. ASM相关 查看asm空间 select group_number,name,total_mb,free_mb from v$asm_dis ...

Oracle表空间管理相关

以下以我自己的测试环境举例: 1.表空间的 block_size 为 8192字节,即8KBytes.从数据字典中查到 max_size 为 2147483645,即约为15.9TBytes. 2.在 ...

oracle 表空间、用户名 相关语句

一.oracle查询表空间文件所在路径 select * from dba_data_files t  where t.tablespace_name='FLW' 二.计算出表空间各相关数据 SELE ...

oracle创建表空间等相关语句

在数据库可视化工具中执行以下语句,可建立Oracle表空间. 主要分为四步 1.创建临时表空间 create temporary tablespace xuanwu_temp tempfile 'D: ...

Oracle表空间管理

oracle表空间相关常用命令小结: 1.ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE;              //修改表空间数据文件类型 2.ALT ...

【转】Oracle 表空间与数据文件

--============================== --Oracle 表空间与数据文件 --============================== /* 一.概念 表空间:是一个或 ...

Oracle表空间详解

Oracle表空间详解 1.表空间的分类 Oracle数据库把表空间分为两类:系统表空间和非系统表空间. 1.1系统表空间指的是数据库系统创建时需要的表空间,这些表空间在数据库创建时自动创建,是每个数 ...

nagios监控oracle 表空间

oracle表空间满的危害以及处理方式见我的博客链接https://www.cnblogs.com/-abm/p/9764803.html 除此之外我们还需要对表空间实时监控,这样就可以及时了解表空间 ...

ORACLE表空间操作实例

本文主要介绍oracle表空间常见的操作实例,包括创建.查询.增加.删除.修改.表空间和数据文件常用的数据字典和动态性能视图包括v$dbfile.v$datafile.v$tempfile.dba_s ...

随机推荐

CSS实现水平垂直同时居中的5种思路

× 目录 [1]水平对齐+行高 [2]水平+垂直对齐 [3]margin+垂直对齐[4]absolute[5]flex 前面的话 水平居中和垂直居中已经单独介绍过,本文将介绍水平垂直同时居中的5种思路 ...

JavaScript算法题之–随机数的生成

JavaScript算法题之–随机数的生成 需求描述:从一组有序的数据中生成一组随机并且不重复的数,类似于简单的抽奖程序的实现. 先来生成一个有序的数组: 1 var arr = [], 2      ...

Linux定时任务Crontab详解_定时备份

文章来源:http://blog.chinaunix.net/uid-7552018-id-182133.html 今天做了个数据库的备份脚本,顺便系统得学习一下Linux下定时执行脚本的设置.Lin ...

ECSHOP首页调用指定分类下的商品

转:http://bbs.ecshop.com/thread-1123207-1-1.html 调用某个分类下的商品,方法有很多种的,不过都需要先在后台设置模板那里设置显示和显示条数, 然后在需要调用 ...

ios的一些开源资源

1. http://www.open-open.com/lib/view/open1428646127375.html vim插件:https://github.com/Valloric/YouCom ...

068 mapWithState函数的讲解

1.问题 主要是updateStateByKey的问题 有的值不需要变化的时候,还会再打印出来. 每个批次的数据都会出现,如果向redis保存更新的时候,会把不需要变化的值也更新,这个不是我们需要的, ...

CSS3 white-space属性

white-space 属性设置如何处理元素内的空白. 可能的值 值 描述 normal 默认.空白会被浏览器忽略. pre 空白会被浏览器保留.其行为方式类似 HTML 中的

 ...

POJ 3006 Dirichlet's Theorem on Arithmetic Progressions (素数)

Dirichlet's Theorem on Arithmetic Progressions Time Limit: 1000MS   Memory Limit: 65536K Total Submi ...

bzoj2843&&1180

题解: lct 和上一题差不多 这一题还要判断是否有链接 其实直接并查集判断就可以了 代码: #pragma GCC optimize(2) #include ...

wcf 配置与代码创建

oracle系统表空间不足,oracle表空间不足相关问题解决办法相关推荐

  1. 在ios中无法获取ajax返回数据类型,在iOS10系统中微信后退无法发起ajax请求的问题解决办法...

    在iOS10系统中微信后退无法发起ajax请求的问题解决办法 发布时间:2020-08-20 12:18:08 来源:脚本之家 阅读:102 作者:春去秋来情不归 在IOS10的系统中,在微信客户端中 ...

  2. oracle系统试算平衡表,oracle数据库中常用的系统表

    dba_开头..... dba_users 数据库用户信息 dba_segments 表段信息 dba_extents 数据区信息 dba_objects 数据库对象信息 dba_tablespace ...

  3. oracle修改字段的默认,oracle系统默认的账号ORACLE修改表字段的数据类型

    ORACLE修改表字段的数据类型 项目需求变更,需要用到备用字段,开始以为是这样改表的: alter table tablename alter column colname newDataType ...

  4. oracle系统计算工资,基于Oracle EBS的工资核算系统的设计与实现

    摘要: 随着信息技术的发展,越来越多的企业将会实施ERP系统.因各企业的业务差异,对系统将进行一定的二次开发.目前ERP实施过程中的二次开发存在诸多问题,经常导致项目延期及实施费用超出预算,所以总结一 ...

  5. php 表单提交2次,微信开发之php表单微信中自动提交两次问题解决办法

    前言: 最近做微信开发,在微信中访问PHP页面,页面中有个表单.测试发现偶尔会出现表单被自动提交两次的情况,导致流程出错. 问题原因 暂时未找到原因,不过怀疑跟微信本身的机制有关. 解决方法 用ses ...

  6. oracle 数据导入 数据和备注(comment)乱码问题解决办法

    转载自:http://blog.csdn.net/shipeng1022/article/details/53066558 1 源数据库: 字符集:SIMPLIFIEDCHINESE_CHINA.AL ...

  7. 数据太大导致oracle数据库连接关闭,ORACLE异常关闭后导致数据库报错无法连接问题解决办法-Oracle...

    1.首先kill掉所有oracle相关的进程 [oracle@oracle11g db_1]$ps -ef|grep $ORACLE_SID [oracle@oracle11g db_1]$kill ...

  8. 【UbuntuROS】双系统登Ubuntu和Windows开机选择界面消失问题解决办法

    一.前言 由于去年下半年忙着考研.今年上半年忙着毕业和找工作,博客停更了很久.趁着十一假期,打算更新几篇文章,把今年0篇博客的问题解决,哈哈.本人从事自动驾驶领域相关工作,主要做高精度地图引擎和路径规 ...

  9. oracle创建索引占用表空间吗,oracle创建索引表空间

    或者 drop tablespace 表空间名称 including contents;(表空间下有数据时候用) temporary tablespace 是 oracle 里临时表空间,临时表空间主 ...

最新文章

  1. 2021年春季学期-信号与系统-第三次作业参考答案-第四道题
  2. python字符串查找数字_Python Regex - 在字符串中用逗号查找数字
  3. Linux——进程间通信(总结)
  4. python2048游戏代码_【Python】用Python实现2048小游戏(源代码,1.0版本)
  5. .NET Core 单元测试
  6. c mysql使用场景_Mysql 场景
  7. python编程入门必备知识-python基础教程#菜鸟也能看懂的超简单入门必备知识
  8. C#实现把科学计数法(E)转化为正常数字值 (转)
  9. mysql查询4-6_MySQL学习(四)查询
  10. 阶段3 3.SpringMVC·_07.SSM整合案例_04.ssm整合之编写SpringMVC框架
  11. activemq linux 100M,Linux下安装 activemq 并指定jdk 1.8(示例代码)
  12. 如何查看谷歌卫星地图每级分辨率的两种方法
  13. 《老路用得上的商学课》61-65学习笔记
  14. 【问题描述】3.2.6 中国余数定理:“有物不知几何,三三数余一,五五数余二,七七数余三,问:物有几何?”。编程求1~1000以内所有解。
  15. 电视从u盘启动linux系统软件,自己制作从USB启动LINUX系统的方法
  16. Github(Life Restart作者)新作:生火间 网址
  17. 删除 drop truncate delete
  18. C++ USN日志 相关的代码
  19. android 百度唤醒,Android百度语音唤醒(has no license,错误码11002)
  20. Android P SELinux (二) 开机初始化与策略文件编译过程

热门文章

  1. MATLAB:im2bw()原理
  2. 因为没有逻辑没有怀疑致使中国成了无学的民族(二)
  3. excel导入导出工具包 Qexcel
  4. 专注的力量 敬业的精神
  5. python元组索引_Python 元组、列表
  6. RabbitMQ 端口号解析
  7. 电大英语计算机统考成绩查询2015,2015年12月份电大网考统考英语考试试题汇总 统考...
  8. C#/Csharp,通过GDI+知识,在窗体上绘制彩虹
  9. ps ef grep mysql_linux ps -ef grep查找进程
  10. c语言人物图形,C语言打造——游戏场景里面的人物行走