Oracle 12c执行Data Pump前如何停库?能否用expdp停库?
关于Oracle 12c中Data Pump工具与数据库启停的问题
核心结论
expdp(Data Pump导出工具)无法停止数据库,它仅用于数据库对象和数据的导出操作,不具备数据库启停的管理权限。
只读模式下expdp无法运行的原因
Data Pump工具依赖数据库的可写模式工作:它需要与数据库内部的元数据进程(如DBMS_DATAPUMP包、相关后台进程)交互,同时要在库内创建临时对象(导出日志表、作业信息表等)。当数据库处于只读模式时,这些写入操作无法执行,因此expdp会直接报错无法启动。
正确操作建议
若要使用expdp执行导出,数据库必须处于读写打开状态,标准启动步骤为:
sql> shutdown immediate; sql> startup;
之后再执行expdp命令。
如果需要在导出前避免数据变更,可采用受限模式替代只读模式:
- 切换到受限模式,禁止普通用户登录:
sql> alter system enable restricted session; - 执行expdp导出操作
- 导出完成后解除受限模式:
sql> alter system disable restricted session;
内容的提问来源于stack exchange,提问作者Tony92
相关产品推荐
相关产品推荐

