问题描述:exp导数据时报错ORA-01578 ORA-01110,如下所示:
数据库:oracle 19.12 多租户
1、异常重现
[oracle@dbserver ~]$ exp ora1/ora1@orclpdbfile=emp.dmp tables=emp log=exp.log
Export: Release 19.0.0.0.0 - Production onSat Jan 14 20:30:57 2023
Version 19.12.0.0.0
Copyright (c) 1982, 2019, Oracle and/or itsaffiliates. All rights reserved.
Connected to: Oracle Database 19c EnterpriseEdition Release 19.0.0.0.0 - Production
Version 19.12.0.0.0
Export done in US7ASCII character set andAL16UTF16 NCHAR character set
server uses AL32UTF8 character set (possiblecharset conversion)
About to export specified tables viaConventional Path ...
. . exporting table EMP
EXP-00056: ORACLE error 1578 encountered
ORA-01578: ORACLE data block corrupted (file# 12, block # 659)
ORA-01110: data file 12:'+DATA/ORCLCDB/CBB47E352F7AAEA7E0537885A8C03007/DATAFILE/users.279.1082994667'
Export terminated successfully with warnings.
2、解决过程
SQL> conn sys/oracle_4U@orclpdb as sysdba
Connected.
SQL> alter system set events='10231 tracename context forever,level 10';
Session altered.
SQL> select count(*) from ora1.emp;
COUNT(*)
----------
140
[oracle@dbserver ~]$ exportNLS_LANG=AMERICAN_AMERICA.AL32UTF8
[oracle@dbserver ~]$ echo $NLS_LANG
AMERICAN_AMERICA.AL32UTF8
[oracle@dbserver ~]$ exp ora1/ora1@orclpdbfile=emp.dmp tables=emp log=exp.log
Export: Release 19.0.0.0.0 - Production onSat Jan 14 20:41:11 2023
Version 19.12.0.0.0
Copyright (c) 1982, 2019, Oracle and/or itsaffiliates. All rights reserved.
Connected to: Oracle Database 19c EnterpriseEdition Release 19.0.0.0.0 - Production
Version 19.12.0.0.0
Export done in AL32UTF8 character set andAL16UTF16 NCHAR character set
About to export specified tables viaConventional Path ...
. . exporting table EMP 140 rows exported
Export terminated successfully withoutwarnings.
说明:如上成功导出emp表.
补充知识:
--关闭10231内部事件.
altersystem set events='10231 trace name context off';