博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
导入数据时遇见ORA-00054
阅读量:6273 次
发布时间:2019-06-22

本文共 2553 字,大约阅读时间需要 8 分钟。

今天应开发人员要求对一个表进行导入。发现如下错误:
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
ORA-00955: name is already used by an existing object
经过查看锁的使用情况,发现有开发人员对要导入的表进行dml操作。
下面模拟一下环境:、
session 1:
yang@rac1>update t set b=1 where a=4;
1 row updated.
导出数据:
oracle@rac1:rac1 /tmp/dump>impdp yang/yang directory=dumpdir  dumpfile=tm.dmp  tables=t  exclude=index
Import: Release 11.2.0.1.0 - Production on Fri Apr 1 23:41:48 2011
Data Mining and Real Application Testing options
Master table "YANG"."SYS_IMPORT_TABLE_01" successfully loaded/unloaded
Starting "YANG"."SYS_IMPORT_TABLE_01":  yang/******** directory=dumpdir dumpfile=tm.dmp tables=t exclude=index
Processing object type TABLE_EXPORT/TABLE/TABLE
ORA-39151: Table "YANG"."T" exists. All dependent metadata and data will be skipped due to table_exists_action of skip
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Job "YANG"."SYS_IMPORT_TABLE_01" completed with 1 error(s) at 23:42:51
使用  table_exists_action=skip (默认值)时,没有报错。但是使用 table_exists_action=replace 是 要先对表进行drop,然后重建并导入。此时报错
oracle@rac1:rac1 /tmp/dump>impdp yang/yang directory=dumpdir  dumpfile=tm.dmp table_exists_action=replace  tables=t  exclude=index
Import: Release 11.2.0.1.0 - Production on Fri Apr 1 23:45:00 2011
Master table "YANG"."SYS_IMPORT_TABLE_01" successfully loaded/unloaded
Starting "YANG"."SYS_IMPORT_TABLE_01":  yang/******** directory=dumpdir dumpfile=tm.dmp table_exists_action=replace tables=t exclude=index
Processing object type TABLE_EXPORT/TABLE/TABLE
ORA-39121: Table "YANG"."T" can't be replaced, data will be skipped. Failing error is:
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired

ORA-00955: name is already used by an existing object
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Job "YANG"."SYS_IMPORT_TABLE_01" completed with 1 error(s) at 23:46:01
查看lock的使用情况:
yang@rac1>SELECT OBJECT_ID,OBJECT_NAME FROM DBA_OBJECTS WHERE OBJECT_NAME='T' AND WNER='YANG';
 OBJECT_ID OBJECT_NAME
---------- --------------------------------------------------------------------------------------------------------------------------------
    130763 T
yang@rac1>@lock
lock                         lock                                                      blocked
address           session id type         id1       id2 lock mode  req mode      BLOCK   sessid
---------------- ----------- ------ --------- --------- --------- --------- ---------- --------
000000018B9B18E8         959 XR             4         0         1         0    2
000000018B9B22A8         385 RT             1         2         6         0    2
00002B79A83626F0           5 TM        130763         0         3         0    2  ====》该表上有tm锁
000000018B9B38C8        1344 AE           100         0         4         0    2
在对正在使用的数据库进行导入数据时(某个表)最后先确认是否正在使用。然后再导入。当然每个案例都有所不同,仁者见仁智者见智了。
好了,睡觉。。

转载地址:http://olmpa.baihongyu.com/

你可能感兴趣的文章
如何在Linux命令行下浏览天气预报
查看>>
中国人工智能学会通讯——深度学习的迁移模型 一、迁移学习的三大优点
查看>>
Mellanox公司计划利用系统芯片提升存储产品速度
查看>>
《中国人工智能学会通讯》——12.16 时空众包工作流程
查看>>
英国脱欧:3/4的技术初创公司将面临严峻时期
查看>>
JavaScript API 设计原则
查看>>
WiFi信号可进行隔墙观测 透过衣服观察人体轮廓
查看>>
蓝点数据携手北京大数据产业人才实训基地培养大数据人才
查看>>
数据价值无上限!Windows如何保护重要文件
查看>>
黑客大赛GeekPwn攻破主流厂商众多产品
查看>>
中国通信业抱团 加快布局5G时代
查看>>
创业公司做数据分析(四)ELK日志系统
查看>>
如何在Linux中压缩及解压缩.bz2文件
查看>>
数据为王的时代 大数据对消费金融的影响
查看>>
万事达启动“用你自己替代密码”计划
查看>>
阿里巴巴“NASA计划”新进展:一个世界纪录!
查看>>
Linux下使用USB网络
查看>>
5G标准化进程提速 射频器件市场空间将打开
查看>>
《分布式系统:概念与设计》一3.3.6 拥塞控制
查看>>
“烧烤模式”下 安防设备如何经得住考验?
查看>>