不求甚解

此博客为个人学习之用,如与其他作品雷同,纯属巧合。

导航

Q:查看数据库impdp数据泵导入进度

Posted on 2025-08-01 13:00  三年三班王小朋  阅读(88)  评论(0)    收藏  举报

1、监控 Oracle 中长时间运行的操作sql

SELECT sl.sid "会话ID", sl.serial# "序列号", sl.opname "操作名称", sl.sofar "已完成", sl.totalwork "总计", ROUND(sl.sofar/sl.totalwork*100,2) "完成百分比(%)",
 sl.units "单位", TO_CHAR(TRUNC(SYSDATE)+sl.elapsed_seconds/86400,'HH24:MI:SS') "已耗时", 
TO_CHAR(TRUNC(SYSDATE)+sl.time_remaining/86400,'HH24:MI:SS') "剩余时间", SUBSTR(s.sql_text,1,60) "当前SQL" 
FROM v$session_longops sl, v$sql s 
WHERE sl.sql_id=s.sql_id 
ORDER BY sl.elapsed_seconds DESC;

2通过impdp [用户名/密码@数据库服务名] ATTACH=[Data Pump 作业名]导入查看进度

例如:

 impdp system/YinhaiSX202500oo@hispdb ATTACH=SYS_IMPORT_SCHEMA_03 查看导入进度

impdp 交互模式常用命令一览表

命令语法示例功能说明是否可逆建议使用场景
查看状态 Import> STATUS 显示当前作业的详细进度信息(状态、已处理数据、当前对象等) ✅ 是 日常查看进度
自动刷新状态 Import> STATUS=5 每 5 秒自动刷新一次状态(数字可调,如 STATUS=10 ✅ 是 实时动态监控导入过程
暂停作业 Import> STOP_JOB=IMMEDIATE 立即停止当前作业,但保留作业元数据,可后续恢复 ✅ 是(可恢复) 需要临时中断(如维护)
恢复作业 Import> START_JOB 重新启动被 STOP_JOB 暂停的作业 ✅ 是 暂停后继续导入
彻底终止作业 Import> KILL_JOB 永久删除作业及其元数据,不可恢复 ❌ 否 确认不再需要该导入任务
退出客户端 Import> EXIT_CLIENT 退出命令行客户端,但作业在后台继续运行 ✅ 是 关闭终端但仍让导入继续