oracle表空间不足ORA-01653的问题:?unable?to?extend?table_oracle

来源:脚本之家  责任编辑:小易  
目录
具体步骤如下:解决方法一:增大数据文件解决方法二:增加数据文件

oracle报错:ORA-01653: unable to extend table DATAX.sqlserver_t1_copy by 1024 in tablespace DATAX_TEST

参考:https://www.zgxue.com/article/258188.htm

大概的意思是说DATAX_TEST表空间不足了,在网上搜了一下出现这种表空间不足的问题一般有两种情况:一种是表空间的自动扩展功能没有打开;另一种确实是表空间确实不够用了,已经达到了扩展的极限。所以我们解决问题就应该先去查看Oracle表空间大小,然后看一下Oracle表空间的自动扩展功能是否打开;若确实是表空间不够用了就需要扩展表空间;

具体步骤如下:

1.在Navicat中直线如下命令 :

SELECT a.tablespace_name "表空间名",
a.bytes / 1024 / 1024 "表空间大小(M)",
(a.bytes - b.bytes) / 1024 / 1024 "已使用空间(M)",
b.bytes / 1024 / 1024 "空闲空间(M)",
round(((a.bytes - b.bytes) / a.bytes) * 100, 2) "使用比"
FROM (SELECT tablespace_name, sum(bytes) bytes
FROM dba_data_files
GROUP BY tablespace_name) a,
(SELECT tablespace_name, sum(bytes) bytes, max(bytes) largest
FROM dba_free_space
GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name
ORDER BY ((a.bytes - b.bytes) / a.bytes) DESC;

表空间大小(M)表示表空间所有的数据文件总共在操作系统中占用磁盘空间的大小;

比如:DATAX_TEST表空有两个数据文件,datafile1为300M,datafile2为400M,那么DATAX_TEST表空间的表空间大小就是700M。

已使用空间(M)表示表空间已经使用了多少;

空闲空间表示表空间剩余多少;

使用比表示已经使用的百分比;

2,比如从步骤1中查看到DATAX_TEST表空间已使用百分比达到90%以上,可以查看该表空间总共有几个数据文件,每个数据文件是否自动扩展,可以自动扩展的最大值。

SELECT file_name,
tablespace_name,
bytes / 1024 / 1024 "bytes MB",
maxbytes / 1024 / 1024 "maxbytes MB"
FROM dba_data_files
WHERE tablespace_name = 'DATAX_TEST';

3.查看DATACENTER表空间是否为自动扩展;

SELECT file_id, file_name, tablespace_name, autoextensible, increment_by
FROM dba_data_files
WHERE tablespace_name = 'DATAX_TEST'
ORDER BY file_id desc;

查看autoextensible对应的值是YES还是NO,若是NO,说明DATACENTER表空间的自动扩展功能没有开。改成YES就可以了。

alter database datafile '/data/u01/app/oracle/product/11.2.0/dbhome_1/dbs/DATAX_TEST.DBF' autoextend on;

4.如果是表空间不够用了,快写满了,我们就需要扩大表空间

扩大表空建又分两种:一种增大数据文件大小,一种是增加数据文件数量;

首先找出该表空间对应的数据文件及路径:

SELECT * FROM dba_data_files t WHERE t.tablespace_name='DATAX_TEST';

解决方法一:增大数据文件

alter database datafile '全路径的数据文件名称' resize ***M; #增加对应的表空间里面某个数据文件的大小***M

alter database datafile '/data/u01/app/oracle/product/11.2.0/dbhome_1/dbs/DATAX_TEST.DBF' resize 2000M;

解决方法二:增加数据文件

获取创建表空间数据文件的语句:

SELECT dbms_metadata.get_ddl('TABLESPACE', 'USER_DATA') FROM dual;

①、确认磁盘空间足够,增加一个数据文件

alter tablespace 表空间名称 add datafile '全路径的数据文件名称' size ***M
autoextend on maxsize 20G;

--新增一个数据文件,全路径的数据文件名称为改新增数据文件的全路径文件名称。大小为***M,自动扩展功能打开,且该数据文件的最大扩展值为20G。

②、验证已增加的数据文件

SELECT file_name, file_id, tablespace_name
FROM dba_data_files
WHERE tablespace_name = '表空间名称'

注:如果删除表空间数据文件语句为:

altertablespace 表空间名称
DROP datafile '/u01/app/oracle/product/10.2.0/oradata/orcl/HSDC.dbf '

PS:表空间一般让空闲百分比保持在10%以上,且数据文件大小最好不要超过2G。当表空间不足时,要么resieze datafile,要么增加datafile。

到此这篇关于oralce表空间不足ORA-01653: unable to extend table的文章就介绍到这了,更多相关oralce表空间不足ORA-01653内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

您可能感兴趣的文章:Oracle表空间不足的两种解决办法

  • 本文相关:
  • oracle常用函数trunc及trunc函数用法讲解
  • oracle查询表最近更改数据的方法
  • oracle中返回结果集的存储过程分享
  • 深入探讨:oracle中方案的概念以及方案与数据库的关系
  • oracle 创建表空间步骤代码
  • oracle数据库表实现自增主键的方法实例
  • oracle rman自动备份控制文件方法介绍
  • oracle数据泵实现不同用户导入导出表级
  • oracle定义联合数组及使用技巧
  • oracle in长度限制的两个快速解决方法
  • oracle表空间名字的后缀 :.ora和.dbf有什么不同?
  • oracle表空间名字的后缀 :.ora和.dbf有什么不同?
  • oracle数据库创建表空间出现错误ora-01917
  • oracle扩展表空间时报错:ora-01144
  • ORACLE中创建表空间时出现ORA-01537已是数据库的一部分...
  • oracle创建表空间出现错误提示ORA-00900:无效SQL语句,下面...
  • oracle数据库创建表空间出现错误ora-01917 ora-01918
  • ORACLE创建表空间报错。ORA-01119和ORA-27040。
  • oracle表空间数据文件.dbf怎么修改成.ora
  • 0003: 遇到 ORACLE 错误 1658 ORA-01658: 无法为表空...
  • ORACLE创建表空间报错。ORA-01119和ORA-27040。
  • oracle创建表空间时表空间名和路径中的ora或者dbf文件名要一...
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全mssqlmysqlmariadboracledb2mssql2008mssql2005sqlitepostgresqlmongodbredisaccess数据库文摘数据库其它首页oracleoracle表空间不足的两种解决办法oracle常用函数trunc及trunc函数用法讲解oracle查询表最近更改数据的方法oracle中返回结果集的存储过程分享深入探讨:oracle中方案的概念以及方案与数据库的关系oracle 创建表空间步骤代码oracle数据库表实现自增主键的方法实例oracle rman自动备份控制文件方法介绍oracle数据泵实现不同用户导入导出表级oracle定义联合数组及使用技巧oracle in长度限制的两个快速解决方法oracle 查看表空间的大小及使用情况sql语句linux系统(x64)安装oracle11g完整安装图文教oracle数据库下载及安装图文操作步骤oracle存储过程基本语法介绍oracle 10g 安装教程[图文]oracle 如何查询被锁定表及如何解锁释放sessionoracle中to_date详细用法示例(oracle日期格基于ora-12170 tns 连接超时解决办法详解oracle数据库tns配置方法详解sqlplus登录\连接命令、sqlplus命令的使用大全详解oracle在out参数中访问光标oracle中如何获得数据库的dbid信息oracle 查询被锁住的对象,并结束其会话的方法oracle中的一些常用函数及示例oracle备库宕机启动的完美解决方案oracle数据库关于索引建立及使用的详细介绍oracle中三种表连接算法的总结linux 7下脚本安装配置oracle 11g r2教程oracle数据库账号被锁定解决方法oracle控制文件丢失恢复归档模式方法
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved