美文网首页
ORA-39171: 作业出现可恢复的等待。

ORA-39171: 作业出现可恢复的等待。

作者: 桩i | 来源:发表于2018-08-14 17:52 被阅读0次

在测试系统恢复数据时报错如下:

ORA-39171: 作业出现可恢复的等待。
ORA-01658: 无法为表空间 NNC_DATA01 中的段创建 INITIAL 区
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
ORA-39171: 作业出现可恢复的等待。
ORA-01653: 表 NC0731.SM_BUSILOG_DEFAULT 无法通过 32 (在表空间 NNC_DATA01 中) 扩展
ORA-39171: 作业出现可恢复的等待。

初步判断是因为名为NNC_DATA01的表空间不足导致,查看对应的数据文件,发现马上要到32G了,所以报错。
Oracle单个数据文件超过32G后需要扩容

解决思路

  • 查看表空间使用情况等信息
SQL> select file_name,tablespace_name,round(bytes/(1024*1024)) from dba_data_files;

一般来说,单个数据文件最大为32G,我的结果显示其中一个表空间的数据文件已经达到32G了,所以新建用户默认使用的是这个表空间,空间不足就会造成数据无法导入,需要更换表空间或者增加数据文件。

  • 查看用户与表空间的关系
SQL> SELECT USERNAME,ACCOUNT_STATUS,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE,CREATED FROM DBA_USERS WHERE ACCOUNT_STATUS = 'OPEN';

注:查询用户名,状态,默认表空间,默认临时表空间,创建日期
找到上面32G的数据文件对应的表空间,然后看这个表空间上有哪些用户。就像这个测试系统,开发需要多个用户,所以导致表空间不够用。

  • 查找哪个用户占用表空间最大
select *
from (select owner || '.' || tablespace_name name, sum(b) g
from (select owner,
t.segment_name,
t.partition_name,
round(bytes / 1024 / 1024 / 1024, 2) b,
tablespace_name
from dba_segments t)
where owner not in
('SYS', 'OUTLN', 'SYSTEM', 'TSMSYS', 'DBSNMP', 'WMSYS')
group by owner || '.' || tablespace_name)
order by name

解决方案

一、新增数据文件

SQL> select file_name,tablespace_name,round(bytes/(1024*1024)) from dba_data_files;  
--找到爆满的表空间以及对应的数据文件的位置。
SQL> alter tablespace NNC_DATA01 add datafile 'D:\oradata\ncdb\NNC_DATA02.DBF' size 200M  autoextend on next 50M maxsize unlimited;   
/*
新增一个数据文件到表空间,数据文件可以放到同一个系统目录下,方便管理。
数据文件初始大小为200M,自动扩展,最大不限制,也就是最大是32G
*/

二、将备份数据恢复到新的表空间

SQL> create tablespace test_data  logging  datafile 'e:\oradata\test_data.dbf' size 1024m  autoextend on  next 200m maxsize 30000M  extent management local;
-- 创建新的表空间
SQL> create temporary tablespace test_temp tempfile 'e:\oradata\test_temp.dbf' size 1024m  autoextend on  next 200m maxsize 30000m  extent management local;
--创建新的临时表空间
SQL> create user test123 identified by test123  default tablespace test_data  temporary tablespace test_temp;
--创建用户,并指定表空间与临时表空间。如果要导入数据,不要忘了授权哦。
SQL>SELECT USERNAME,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE FROM DBA_USERS WHERE USERNAME= 'TEST123';
--查看用户表空间与临时表空间

三、删除爆满表空间上之前的用户

SQL> select file_name,tablespace_name,round(bytes/(1024*1024)) from dba_data_files;  
--找到爆满的表空间以及对应的数据文件的位置。
select *
from (select owner || '.' || tablespace_name name, sum(b) g
from (select owner,
t.segment_name,
t.partition_name,
round(bytes / 1024 / 1024 / 1024, 2) b,
tablespace_name
from dba_segments t)
where owner not in
('SYS', 'OUTLN', 'SYSTEM', 'TSMSYS', 'DBSNMP', 'WMSYS')
group by owner || '.' || tablespace_name)
order by name
--查看哪个用户占用的表空间最大
SQL>  drop user test123 cascade;
--删除用户及用户下的数据

相关文章

  • ORA-39171: 作业出现可恢复的等待。

    在测试系统恢复数据时报错如下: 初步判断是因为名为NNC_DATA01的表空间不足导致,查看对应的数据文件,发现马...

  • Swift学习笔记-错误处理

    错误分为可恢复的错误和不可恢复的错误,可恢复的错误指的是能预见并处理的错误,例如文件不存在,网络连接失败等;不可恢...

  • wifi模块 ATK-RM04

    出现如下乱码问题: 解决方案:切换为ie内核即可恢复为中文 192.168.1.100 每次开机前,确认模块的名字...

  • Rust for cpp devs - 错误处理

    Rust 将软件中的错误分为两个类型:可恢复错误和不可恢复错误。 对于可恢复错误,例如文件找不到,可以报告给调用者...

  • 等待你的出现

    这是一个春天般美好的日子 阳光裹着花香弥漫在你行经的山路上 有一种思念可以穿过千重山水 有一种相思可以在时间的长河...

  • 等待惊喜的出现

    这几天在装修一套民宿。专门找了一个设计师帮我设计。设计师设计好,帮我在网上下单买东西,我就负责等着收货。等待的时间...

  • 《我等待你的出现》

    《我等待你的出现》 我等待你的出现 就像花儿等待春天 就像蝶儿等待风儿 等待美丽画面 我等待你的出现 就像花种播散...

  • Linux Vim ctrl+s 卡死问题

    ctrl+q即可恢复

  • 虚拟机错误的解决方案【乐搏TestPRO】

    虚拟机开启后,出现不可恢复错误弹窗, 如上图,有效的解决方式 查找电脑型号对应的BIOS开启方式 重启电脑进入BI...

  • 若可恢复……

    有时候我们就是因为在一些看似非常细小的事情上疏忽迟疑,没有及时顺从圣灵的感动立即做出正确的行动,过后带来的损坏也许...

网友评论

      本文标题:ORA-39171: 作业出现可恢复的等待。

      本文链接:https://www.haomeiwen.com/subject/cyhxbftx.html