一、问题现象:在对数据库进行expdp导出时发生报错ora-16000,脚本如下:

nohup expdp "'/ as sysdba'" schemas=shp DIRECTORY=DATA_PUMP_DIR dumpfile=shp1.dmp logfile=shp1.log &

报错如下:

ORA-31626: job does not exist
ORA-31633: unable to create master table "SYS.SYS_EXPORT_SCHEMA_05"
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPV$FT", line 1038
ORA-16000: database open for read-only access

由上报错可知,数据库read—only,查看数据库状态:

SQL> select OPEN_MODE from v$database;

OPEN_MODE
--------------------
READ ONLY

果然,数据库是只读状态。

二、expdp研究

  将数据库设置为读写状态,观察expdp

SQL> shutdown immediate
SQL> startup mount
SQL> alter database open read write;

重新执行expdp导出脚本,观察执行情况

SQL> select job_name,state from dba_datapump_jobs;

JOB_NAME               STATE
------------------------------ ------------------------------
SYS_EXPORT_SCHEMA_01 EXECUTING

通过plsql查看dba_datapump_jobs这个视图的详细信息,发现

SQL> col COMMENT$ for a50
SQL> select * from sys.com$ c WHERE SUBSTR (c.comment$, 1, 22) = 'Data Pump Master Table'; OBJ# COL# COMMENT$
---------- ---------- --------------------------------------------------
91600 Data Pump Master Table EXPORT
SCHEMA

通过object_id找到对应的表,其实就是SYS.SYS_EXPORT_SCHEMA_01

在导出数据的过程中可以看到其表结构(截取了部分列名称)

查看这张表的数据,发现这张表记录了字符集,路径,导出的对象,时间,并行度等信息

在导出结束后,这张表将会自动清除。

Master table "SYS"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYS.SYS_EXPORT_SCHEMA_01 is:
/oracle/admin/orcl/dpdump/shp1.dmp
Job "SYS"."SYS_EXPORT_SCHEMA_01" successfully completed at Sat Mar 16 03:14:49 2019 elapsed 0 00:00:18

三、总结

  在使用expdp导出数据时,系统会自动创建数据泵主表(Data Pump Master Table)并插入相关数据,如果数据库是只读模式,无法创建失败,无法导出数据。在expdp导出完毕后,系统会自动删除数据泵主表,注意此表默认表空间为system表空间,在数据量大并行度高的导出需要关注一下表空间使用情况。

四、建议

  在对只读库进行数据导出的时候可以采用exp导出,或者使用expdp+network_link方式进行数据导出。

expdp导出时报错ora-16000的更多相关文章

  1. mysql数据库导出时报错mysqldump: Got error: 145的解决方法

      在给mysql数据库备份时,报错:mysqldump: Got error: 145: Table './jxzhtopenfire/ofoffline' is marked as crashed ...

  2. oracle expdp导出时报 ora-39070:无法打开日志文件

    在通过expdp导出命令导出某个用户的对象时出现以下截图错误: ORA-39002:操作无效 ORA-39070:无法打开日志文件 ORA-39087:目录名<directory>无效 该 ...

  3. oracle在exp导出时报错PLS-00201: identifier 'EXFSYS.DBMS_EXPFIL_DEPASEXP' must be declared

    报错如下信息: EXP-00008: ORACLE error 6550 encounteredORA-06550: line 1, column 14:PLS-00201: identifier ' ...

  4. oracle 导出时报错EXP-00011:table不存在

    oracle11g,在用exp命令备份数据库时,如果表中没有数据报EXP-00011错误,对应的表不存在.这导致对应的空表无法备份. 原因:11g默认创建一个表时不分配segment,只有在插入数据时 ...

  5. 【SQL】SQL2012 导入导出报错,未在计算机上注册...

    导出时报错: 如图: 解决方法:下载插件: 下载地址:http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463 ...

  6. EXPDP 时报错ORA-31693,ORA-02354,ORA-01555

    使用数据泵导出数据库大表时报错: ORA-31693: 表数据对象 "**"."**" 无法加载/卸载并且被跳过, 错误如下:ORA-02354: 导出/导入数 ...

  7. Microsoft SQL Server 17导出xlsx文件时报错:The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine. (System.Data)

    导出数据时报错: 如果你是导出office 2007格式 TITLE: SQL Server Import and Export Wizard ---------------------------- ...

  8. powerdesigner导出sql时报错 Generation aborted due to errors detected during the verification of the model.

    powerdesigner导出sql时报错 Generation aborted due to errors detected during the verification of the model ...

  9. 高版本 MySQL 导出的脚本到低版本 MySQL 中执行时报错

    导入 MySQL 脚本时报错:[ERR] 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'低版本还不支持 utfmb4 这个字符集 解决方法:将 sql 脚 ...

随机推荐

  1. DOM增删改操作

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  2. python匿名函数 高阶函数 内置函数 文件操作

    1.匿名函数 匿名就是没有名字 def func(x,y,z=1): return x+y+z 匿名 lambda x,y,z=1:x+y+z #与函数有相同的作用域,但是匿名意味着引用计数为0,使用 ...

  3. 二、ionic如何使用外链

    1.ionic如何使用外链并返回原有页面? html如下: 对应的controller如下: (function() { angular.module('app').controller('extra ...

  4. linux安装memcached

    一:为什么要使用memcached 瓶颈:互联网发展,特别在web2.0兴起之后,传统数据库开始出现瓶颈 1:对数据库的高并发读写 2:对海量数据库的处理(海量数据查找)memcache 是高性能的分 ...

  5. SQL SERVER 使用ESCAPE转义

    使用SQL语句查询是开发中常做的事,在实际的情况中,可能会遇到,查询包含某个关键词的所有行,而这个关键词正好也是SQL SERVER的关键词. 下面有一张表Member,有如下的数据: 假如需要查询名 ...

  6. ASP.NET Web API 跨域访问(CORS)要注意的地方

    一.客户端用JSONP请求数据 如果你想用JSONP来获得跨域的数据,WebAPI本身是不支持javascript的callback的,它返回的JSON是这样的: {"YourSignatu ...

  7. 1. 跟踪标记 (Trace Flag) 1117, 1118 文件增长及空间分配方式

    跟踪标记:1117 功能: 默认,同一个文件组下的多个文件,如果某个文件没有可用空间,且设置了自动增长,则该文件自动增长,其他文件大小保持不变: 开启后,同一文件组下的多个文件,如果某个文件没有可用空 ...

  8. 用CAShapeLayer写股市K线图动画效果

    用CAShapeLayer写股市K线图动画效果 说明 入市有风险,炒股需谨慎.(因项目需求,本人提供了写这种效果的源码) 效果 源码 // // ViewController.m // Path // ...

  9. 优化tableView加载cell与model的过程

    优化tableView加载cell与model的过程 效果图 说明 1. 用多态的特性来优化tableView加载cell与model的过程 2. swift写起来果然要比Objective-C简洁了 ...

  10. Request URL参数

    登录跳转完整参考: http://www.cnblogs.com/dreamer-fish/p/5435274.html request.META.get('HTTP_REFERER', '/') # ...