expdp导出问题亲身体验!

本文介绍了在使用Oracle数据库进行表导出过程中遇到的问题及解决方法,包括如何处理因同义词导致的对象不存在错误,以及如何正确停止expdp作业。

今天帮人导一个表,老是报对象不存在。


desc 又可以看到这个“表”,然后,发现是个同义词!


找到同义词对应的表,导出完成!!!


还有停止一个expdp的job,不能只是crtl+c,这个停止不了


要select job_name,state from dba_datapump_jobs


[oracle@database ~]$ expdp \"sys/oracle as sysdba\" attach=SYS_EXPORT_SCHEMA_02
Export: Release 11.2.0.4.0 - Production on Mon Jan 26 10:31:42 2015
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Job: SYS_EXPORT_SCHEMA_02
  Owner: SYS                            
  Operation: EXPORT                         
  Creator Privs: TRUE                           
  GUID: 0D85DF9D2F014494E053A80013AC483D
  Start Time: Monday, 26 January, 2015 10:27:03
  Mode: SCHEMA                         
  Instance: orcl
  Max Parallelism: 1
  EXPORT Job Parameters:
  Parameter Name      Parameter Value:
     CLIENT_COMMAND        "sys/******** AS SYSDBA" schemas=(prod,tts_fnd,tts_cms,tts_hr,tts_ecm,tts_coa,tts_exm,tts_htm) dumpfile=tt.dmp logfile=tt.log directory=test 
  State: EXECUTING                      
  Bytes Processed: 17,595,108,512
  Percent Done: 81
  Current Parallelism: 1
  Job Error Count: 0
  Dump File: /oracle/backup/tt.dmp
    bytes written: 17,610,469,376  
Worker 1 Status:
  Process Name: DW00
  State: EXECUTING                      
  Object Schema: TTS_EXM
  Object Name: EXM_PERSON_ITEMS
  Object Type: SCHEMA_EXPORT/TABLE/TABLE_DATA
  Completed Objects: 80
  Total Objects: 1,400
  Worker Parallelism: 1
Export> stop_job=immediate 
Are you sure you wish to stop this job ([yes]/no): yes   
[oracle@database ~]$ 

在此查看视图dba_datapump_jobs


发现SYS_EXPORT_SCHEMA_02已经是not runing状态了



expdp his/his TABLES=PHIS_CHSS.PERSON_MAIN dumpfile=FHA_PERSON_MAIN.dmp DIRECTORY=expdp_dir;

<think> 首先,用户询问的是Oracle expdp工具的导出步骤。参考了站内引用,特别是引用[1],它提供了详细的导出步骤,包括创建目录、权限设置等。 关键点: - 用户明确说:“我想查Oracle expdp工具的导出步骤”,所以我的回答必须专注于导出步骤。 - 参考引用[1]提供了步骤:切换用户、创建文件夹、赋予权限、创建逻辑目录等。 - 引用[2]是关于导出视图数据的,但用户主要关注导出步骤,所以我会以引用[1]为主。 系统级指令: - 所有行内数学达式使用$...$格式(但在这个上下文中没有数学达式)。 - 独立公式使用$$...$$(没有公式)。 - LaTeX语法正确(没有LaTeX需求)。 - 使用中文回答。 - 生成相关问题。 - 回答中引用的段落末尾自然地添加引用标识,例如:[^1] 回答结构: - 结构清晰,逐步解决问题。 - 帮助用户逐步操作。 - 保证真实可靠:基于Oracle文档和标准实践。 用户上一次问题:在系统上下文中有“用户上一次的问题和你的回答”,但在这个对话中,用户的第一条消息是直接询问expdp导出步骤。之前的消息是系统级的指令和示例。所以,没有用户的上一次问题需要参考。我应该直接回答问题。 生成相关问题:在回答结束时,生成相关问题。 步骤概述(基于引用[1]): 1. 切换到root用户,创建导出文件夹并赋予权限。 2. 切换到oracle用户。 3. 连接到oracle数据库(作为sysdba)。 4. 创建逻辑目录(directory)。 5. 验证目录创建。 6. 使用expdp命令导出数据。 确保回答可靠:我会基于Oracle标准文档补充细节,确保完整。 最终回答结构: 1. 介绍expdp工具。 2. 详细步骤。 3. 添加引用标识:[^1] 4. 生成相关问题。 </think> 以下是Oracle `expdp`(Data Pump Export)工具的详细导出步骤。`expdp`是Oracle用于高效导出数据和元数据的命令行工具,常用于数据库备份和迁移。基于标准Oracle文档和实践,我将逐步解释操作过程。整个过程需要在数据库服务器上执行,并确保用户具有适当权限(如`sysdba`角色)。 ### Oracle expdp导出步骤 1. **创建导出文件夹并设置权限(使用root用户)** 切换到root用户,创建存储导出文件的物理目录,并赋予Oracle用户访问权限。 ```bash su - root # 切换到root用户 mkdir -p /data/dmp # 创建导出目录(例如:/data/dmp) chown -R oracle:oinstall /data/dmp # 修改目录所有者为oracle用户及其组 chmod -R 775 /data/dmp # 设置目录权限(775允许oracle读写) ``` 这里使用`/data/dmp`作为示例目录路径您可根据实际需求修改。 2. **切换到Oracle用户并连接到数据库** 切换到Oracle用户(通常是数据库安装用户),然后以`sysdba`身份登录SQL*Plus。 ```bash su - oracle # 切换到oracle用户 sqlplus / as sysdba # 连接到数据库 ``` 3. **创建逻辑目录(directory对象)** 在数据库中定义一个逻辑目录,该目录映射到物理目录。这将用于`expdp`导出路径。 ```sql CREATE OR REPLACE DIRECTORY dmp_dir AS '/data/dmp'; -- dmp_dir是逻辑目录名,路径需与物理目录一致 GRANT READ, WRITE ON DIRECTORY dmp_dir TO system; -- 授权给system用户(其他导出用户) ``` 验证目录是否创建成功: ```sql SELECT * FROM dba_directories WHERE directory_name = 'DMP_DIR'; -- 检查目录信息 EXIT; -- 退出SQL*Plus ``` 4. **执行expdp导出命令** 在命令行中使用`expdp`工具导出数据。指定逻辑目录、导出文件名、导出对象(如、schema全库)。 ```bash expdp system/your_password # 使用system用户登录(替换your_password为实际密码) DIRECTORY=dmp_dir # 指定逻辑目录 DUMPFILE=export_data.dmp # 导出文件名 LOGFILE=export_log.log # 日志文件名 SCHEMAS=your_schema # 导出指定schema(例如:SCHEMAS=HR) # 可选参数:FULL=y(全库导出)、TABLES=table1,table2(导出指定) ``` - 示例导出HR schema: ```bash expdp system/password DIRECTORY=dmp_dir DUMPFILE=hr_export.dmp LOGFILE=hr_export.log SCHEMAS=HR ``` - 导出过程日志会写入`export_log.log`文件,便于调试。导出文件保存到`/data/dmp`目录中。 5. **验证导出结果** - 检查导出文件: ```bash ls -l /data/dmp/export_data.dmp # 确认文件已生成 ``` - 查看日志: ```bash cat /data/dmp/export_log.log # 检查是否有错误警告 ``` **注意事项**: - **权限要求**:确保执行用户(如`system`)对逻辑目录有读写权限。如果导出特定对象(如视图),需预先处理(例如,创建临时)[^2]。 - **性能优化**:对于大型数据库,添加`PARALLEL=4`参数加速导出(基于CPU核心数)[^1]。 - **错误处理**:常见问题包括目录路径错误权限不足;检查日志文件并及时修正权限设置[^1]。 通过以上步骤,您可以顺利完成Oracle数据导出。如需导入数据,使用`impdp`工具并指定相同的dump文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值