问题背景:

oracle表空间不足报错是比较常见的故障,尤其是没有对剩余表空间做定期巡检的系统;

报错代码如下:

oracle表空间不足错误代码:ORA-01653: unable to extend table ;

解决方式:

1、查看表空间使用率:

set linesize 220;
set pagesize 500;
col tbsn for a40;
select total.tablespace_name TBSN,
        round(total.MB,3) as total_space,
        case when free.MB is null then 0
                               else round(free.MB,3)
         end as free_space,
       case when free.MB is null then 0
         else round(free.MB,3)/round(total.MB,3)*100  end as free_rate
from ( select tablespace_name, sum(bytes/1024/1024) MB from dba_data_files group by tablespace_name )  total,
        ( select tablespace_name, sum(bytes/1024/1024) MB from dba_free_space group by tablespace_name )  free
where total.tablespace_name=free.tablespace_name(+)
order by  free_rate desc;

上述代码可以查询中数据库有哪些表空间,总空间大小,剩余空间大小以及使用百分比,可以做到对表空间使用情况的一目了然

2、 查看磁盘那个空间表多,把表空间放在剩余空间比较多的地方(Linux操作系统)
df -h

3、查看表空间数据文件:
一定要确认好路径,和原有的文件路径保持一致
set wrap on;
set lines 170
col file_name for a80
select file_id,file_name,bytes/1024/1024 MB from dba_data_files where tablespace_name=upper('&tablespace_name');

4、如果是RAC环境还要查看asm磁盘剩余空间
select group_number,name,total_mb,free_mb from v$asm_diskgroup;

5、添加表空间  (手动条件数据文件)
alter tablespace tablespace_name add datafile '/xxxx/xxxx/xxxxx_number.dbf' size 30g autoextend off;

6、自己写了一个自动编辑增加数据文件的扩容sql ,可以批量生成扩容脚本(不保证百分百成功率,基本都没问题)

set linesize 150 pagesize 900
SELECT 'alter tablespace ' || TABLESPACE_NAME || ' add datafile ''' ||
       substr(file_name, 1, regexp_instr(file_name, '[[:digit:]]+\.') - 1) ||
       TO_CHAR(substr(file_name,
                      regexp_instr(file_name, '[[:digit:]]+\.'),
                      instr(file_name, '.') -
                      regexp_instr(file_name, '[[:digit:]]+\.')) + B.RN) ||
       '.dbf'' size ' || bytes / 1024 / 1024 || 'm autoextend off;'
  FROM DBA_DATA_FILES,
       (select rownum rn
          from dba_objects
         WHERE ROWNUM <= &number_of_datafile) B       ----增加几个数据文件,比如3个
 WHERE FILE_ID = (SELECT DISTINCT LAST_VALUE(FILE_ID)
 OVER(ORDER
BY to_number(substr(file_name, regexp_instr(file_name,
'[[:digit:]]+\.'), instr(file_name, '.') - regexp_instr(file_name,
'[[:digit:]]+\.'))) ASC ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED
FOLLOWING)
                    FROM DBA_DATA_FILES
                   WHERE tablespace_name = '&tablespace_name');    --表空间名称

oracle表空间不足:ORA-01653: unable to extend table的更多相关文章

  1. Oracle表空间管理

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

  2. Python巡检Oracle表空间并邮件告警

    最近,自学了Python基础,突发奇想,把以前通过shell自定义通过nagios实现Oracle表空间以及ASM以及备份的脚本改进下,首先感叹的是Python脚本看上去确实挺好的,效率还不错. 这是 ...

  3. Oracle 表空间不足引起的问题及解决方法

    -- 1 向数据库导入数据时报了ORA-01653: unable to extend table错误,网上查了下原因是由于表空间不足引起的: 查询表空间使用情况语句 select a.tablesp ...

  4. oracle 表空间总结

                           表空间总结  一.认识表空间 1:表空间概念: 表空间是数据库中最大的逻辑单位,Oracle数据库采用表空间将相关的逻辑组件组合在一起,一个Oracle数 ...

  5. Oracle表空间,用户,用户授权

    一:Oracle表空间 1,Oracle表空间与SQL Server文件组对比 SQL Server的文件组(文件组包括若干MDF,NDF数据文件)对我们来说并不陌生,前段时间我在博客“怎样玩转千万级 ...

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

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

  7. 六分钟学会创建Oracle表空间的步骤

    经过长时间学习创建Oracle表空间,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西. 1.先查询空闲空间 select tablespace_name,file_id,blo ...

  8. 修改Oracle 表空间名称 tablespace name

    修改表空间名称步骤如下: 1. 使用oracle用户登录执行 $sqlplus / as sysdba 2. 执行修改表空间命令如下 SQL> alter tablespace  TEST re ...

  9. interview:about Oracle表空间

    Oracle表空间 SQL Server数据库与Oracle数据库之间最大的区别要属表空间设计.Oracle数据库开创性地提出了表空间的设计理念,这为Oracle数据库的高性能做出了不可磨灭的贡献.可 ...

随机推荐

  1. windows2008r2安装笔记

    安装win7主题 控制面板 - 程序 - 打开或关闭windows功能 - 功能 - 添加功能: 在选择功能里勾选 桌面体验(会添加必要功能),安装就行了. 1.安装好后,个性化时,发现win7主题为 ...

  2. 4.1、顺序栈的实现(java实现)

    1.实现源码 public class SeqStack { private final int MaxSize = 8; private int top; //栈顶 private Object s ...

  3. 自动更新Aria2中的bt-trackers选项

    #!/bin/bash /usr/sbin/service aria2 stop list=`wget -qO- https://raw.githubusercontent.com/ngosang/t ...

  4. 一套基于SpringBoot+Vue+Shiro 前后端分离 开发的代码生成器

    一.前言 最近花了一个月时间完成了一套基于Spring Boot+Vue+Shiro前后端分离的代码生成器,目前项目代码已基本完成 止步传统CRUD,进阶代码优化: 该项目可根据数据库字段动态生成 c ...

  5. nginx主配置参数详解

    ########Nginx的main(全局配置)文件 #指定nginx运行的用户及用户组,默认为nobody #user nobody; #开启的线程数,一般跟逻辑CPU核数一致 worker_pro ...

  6. jstl.jar下载地址

    下载地址: 链接:https://pan.baidu.com/s/15_B1QLelWOvTGdC7BoAp4A 密码:vmdr

  7. Dungeon Master POJ-2251 三维BFS

    题目链接:http://poj.org/problem?id=2251 题目大意 你被困在了一个三维的迷宫,找出能通往出口的最短时间.如果走不到出口,输出被困. 思路 由于要找最短路径,其实就是BFS ...

  8. python打开文件查询字符串时报UnicodeDecodeError: 'gbk' codec can't decode byte 0xaa in position 19: illegal multibyte sequence错误

    当这样打开时报错了 lines = open(path).readlines() open(path).close() for line in lines: idx1 = line.find('检测到 ...

  9. 编程范式 --- 函数式编程(Funtional Programming,简称FP)

    函数式编程(Funtional Programming,简称FP)是一种编程范式,也就是如何编写程序的方法论 主要思想:把计算过程尽量分解成一系列可复用函数的调用 主要特征:函数是"第一等公 ...

  10. Linux版本号的数值含义

    Linux内核版本有两种:稳定版和开发版 ,Linux内核版本号由3组数字组成:第一个组数字.第二组数字.第三组数字.第一个组数字:目前发布的内核主版本.第二个组数字:偶数表示稳定版本:奇数表示开发中 ...