删除数据泵备份失败的表

本文介绍了一种在Oracle中手动清理由expdp过程产生的SYS_EXPORT_SCHEMA表的方法。这些表通常会在expdp操作完成后由系统自动删除,但如果进程异常终止,则需要通过手工方式删除。文章提供了一个SQL脚本示例来实现这一目的。

expdp发现产生了很多SYS_EXPORT_SCHEMA,正常情况下expdp结束后oracle会自动清除,

 如果异常终止了,不会被删除,这个就是job_id,可以手工删除,可以在直接drop掉,如

 果你的expdp操作已经完成了

 Select 'Drop Table ' || Table_Name || ' Purge; '

  From User_Tables

 Where Tablespace_Name = 'CRMBUILD'

   And Table_Name Like '%SYS_EXPORT_SCHEMA%'


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10678398/viewspace-715112/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10678398/viewspace-715112/

<think>首先,用户的问题是关于Oracle数据泵导入时只导入数据不导入结构的方法。用户引用了两个来源:[^1]和[^2],这些引用似乎涉及空间传输和impdp命令的用法。 关键点: - 用户想导入数据但不导入结构。 - 引用[1]提到空间传输,这是一种快速移动数据的方法,通过附加数据文件而不是导出DMP文件。 - 引用[2]提到impdp命令,包括remap_schema和remap_tablespace参数,以及TABLE_EXISTS_ACTION选项。 从系统指令: - 所有行内数学达式必须用$...$,但这里可能不涉及数学公式。 - 独立公式用$$...$$,但可能不需要。 - LaTeX语法正确。 - 使用中文回答。 - 生成相关问题。 - 在引用的段落末尾添加引用标识。 - 回答结构清晰,逐步解决问题。 - 保证真实可靠。 结构回答: 1. **理解问题**:解释用户的需求。 2. **提供方法**:基于引用和知识,给出只导入数据不导入结构的方法。 3. **详细步骤**:使用impdp命令和相关参数。 4. **注意事项**:包括潜在问题或限制。 5. **生成相关问题**:在最后添加相关问题。 从引用[2],impdp命令有TABLE_EXISTS_ACTION参数,用于处理已存在的情况。用户想只导入数据,所以结构应该已经存在。 方法: - 使用impdp命令,指定CONTENT=DATA_ONLY参数。这告诉导入程序只导入数据,不导入元数据(如结构)。 - 结合TABLE_EXISTS_ACTION=APPEND或TRUNCATE,具体取决于需求。 - 确保结构在目标数据库中已存在。 参考引用: - 引用[2]提到:`impdp ... TABLE_EXISTS_ACTION=...`,这可以用于处理存在时的行为。 - 引用[1]关于空间传输,但那不是直接相关,因为空间传输涉及移动整个空间,而不仅仅是数据导入。 在回答中,自然地引用这些。 步骤: 1. 确保目标数据库中有相同的结构。 2. 使用impdp命令: - `impdp user/password@database directory=dir_name dumpfile=file.dmp content=DATA_ONLY` - 添加其他选项如remap_schema和remap_tablespace如果需要。 - 设置TABLE_EXISTS_ACTION=APPEND来追加数据,或TRUNCATE先清空。 参数解释: - `CONTENT=DATA_ONLY`:只导入数据。 - `TABLE_EXISTS_ACTION`:指定当存在时的动作,如APPEND(追加数据)、TRUNCATE(清空后插入)、REPLACE(替换,但会改变结构,所以不适合这里)、SKIP(跳过)。 - 对于只导入数据,使用APPEND或TRUNCATE。 注意事项: - 结构必须一致,否则可能出错。 - 数据泵导入需要权限。 相关问题生成: 1. 如何确保源和目标的结构一致? 2. 数据泵导入时如何处理数据冲突? 3. 空间传输与数据泵导入有什么区别? 最终回答结构: - 开头解释。 - 命令示例。 - 参数说明。 - 注意事项。 - 相关问题。 </think> 根据您的查询,您希望在使用Oracle数据泵工具(`impdp`)导入数据时,只导入数据而不导入结构。这可以通过指定`CONTENT=DATA_ONLY`参数实现,确保导入操作仅处理数据记录,忽略、索引等元数据。以下我将基于引用内容[^1]和Oracle最佳实践,逐步说明方法、步骤和注意事项。假设目标数据库中已存在与源数据库相同的结构(否则导入会失败),且您有适当的权限。 ### 方法概述 要只导入数据不导入结构,您需要使用`impdp`命令的以下关键参数组合: - `CONTENT=DATA_ONLY`:指定仅导入数据内容。 - `TABLE_EXISTS_ACTION`:定义当目标已存在时的处理方式(如追加或替换数据)。 - 可选参数如`REMAP_SCHEMA`和`REMAP_TABLESPACE`用于调整用户和空间映射(如果需要)。 ### 具体步骤 1. **准备目标数据库**: - 确保目标数据库中已创建与源数据库完全相同的结构。您可以使用`CREATE TABLE`语句手动创建,或通过导出结构(不包含数据)来实现。 - 验证结构一致性:检查列名、数据类型和约束是否匹配,否则导入可能报错。 2. **运行impdp命令**: - 使用以下命令格式进行导入。其中: - `user/password@database`:替换为目标数据库的用户名、密码和连接字符串。 - `directory=dir_name`:替换为存放DMP文件的目录对象名(需预先用`CREATE DIRECTORY`创建)。 - `dumpfile=file.dmp`:替换为您的DMP文件名。 - `TABLE_EXISTS_ACTION=APPEND`:示如果存在,则追加数据(不删除现有数据);如果使用`TRUNCATE`则先清空再导入。 - `REMAP_SCHEMA`和`REMAP_TABLESPACE`:仅在源和目标用户/空间不同时使用(如`REMAP_SCHEMA=source_user:target_user`)。 ```bash impdp user/password@database directory=dir_name dumpfile=file.dmp \ content=DATA_ONLY \ table_exists_action=APPEND \ remap_schema=source_user:target_user \ remap_tablespace=source_tablespace:target_tablespace ``` **示例解释**: - 假设DMP文件`data_only.dmp`存放在目录`DATA_PUMP_DIR`中,源用户是`SCOTT`,目标用户是`HR`: ```bash impdp hr/password@orcl directory=DATA_PUMP_DIR dumpfile=data_only.dmp \ content=DATA_ONLY \ table_exists_action=APPEND \ remap_schema=SCOTT:HR ``` - 此命令会将数据追加到`HR`用户的中,而不修改结构。 3. **验证导入结果**: - 导入完成后,查询目标检查数据: ```sql SELECT COUNT(*) FROM your_table_name; ``` - 如果遇到错误(如ORA-39151:已存在但结构不匹配),检查日志文件(位于`directory`指定路径)。 ### 注意事项 - **结构一致性**:必须确保目标结构与源完全一致。如果结构不同,导入会失败。导出时可以使用`expdp CONTENT=METADATA_ONLY`生成结构脚本。 - **性能影响**:`CONTENT=DATA_ONLY`可能减慢导入速度,尤其是处理大时。建议在低峰期操作。 - **空间传输替代方案**:如果您需要高性能数据迁移,考虑空间传输(如引用所述),它通过复制数据文件实现(类似文件复制)。但这不是"只导入数据",而是移动整个空间,适用于数据库间迁移。 - **错误处理**:常见错误包括权限不足或目录路径错误。确保用户有`IMP_FULL_DATABASE`权限,并使用有效目录对象。 - **备份建议**:操作前备份目标数据库,避免数据覆盖风险。 ### 相关问题 1. 如何导出Oracle数据库时只导出结构而不包含数据? 2. 数据泵导入时如何处理目标结构与源不一致的问题? 3. 空间传输与数据泵导入在性能和应用场景上有何区别? 通过以上方法,您可以高效实现只导入数据的需求。如果您提供更多细节(如具体错误或环境),我可以进一步优化建议[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值