上一篇
场景引入:
凌晨三点,运维老张被电话惊醒——"订单表数据被误删了!要恢复上周五下午3点前的数据!" 如果这时候只会用exp
全库导出,恐怕只能对着海量备份文件干瞪眼,别慌,掌握按时间导出Oracle数据的技巧,10分钟就能精准"捞"出目标数据。
传统全表备份就像把整个仓库打包,而按时间导出则是精准抓取某个货架的商品,适合:
Oracle官方工具Data Pump的精准导出方式:
expdp username/password@oracle11g tables=ORDERS directory=DATA_PUMP_DIR dumpfile=orders_202307.dmp logfile=exp_orders.log query=\"WHERE create_time BETWEEN TO_DATE('2025-07-01','YYYY-MM-DD') AND TO_DATE('2025-07-15','YYYY-MM-DD')\"
关键点:
directory
需提前用CREATE DIRECTORY
创建 AND/OR
连接 适合小表快速导出:
CREATE TABLE orders_backup_202507 AS SELECT * FROM orders WHERE update_date >= TIMESTAMP '2025-07-01 00:00:00' AND update_date < TIMESTAMP '2025-07-16 00:00:00';
再用常规导出工具备份新表即可。
适合自动化任务:
DECLARE h1 NUMBER; BEGIN h1 := DBMS_DATAPUMP.OPEN('EXPORT','SCHEMA',NULL,'TIME_EXPORT_JOB','LATEST'); DBMS_DATAPUMP.ADD_FILE(h1,'orders_time.dmp','DATA_PUMP_DIR'); DBMS_DATAPUMP.METADATA_FILTER(h1,'SCHEMA_EXPR','IN (''SCOTT'')'); DBMS_DATAPUMP.DATA_FILTER(h1,'INCLUDE_ROWS','YES','ORDERS', '"CREATE_DATE BETWEEN TO_DATE(''2025-07-01'',''YYYY-MM-DD'') AND TO_DATE(''2025-07-15'',''YYYY-MM-DD'')"'); DBMS_DATAPUMP.START_JOB(h1); END;
当需要非DMP格式时:
CREATE OR REPLACE DIRECTORY ext_tab_dir AS '/backup/oracle_exports'; -- 生成CSV DECLARE f UTL_FILE.FILE_TYPE; CURSOR c_data IS SELECT * FROM orders WHERE order_date BETWEEN TO_DATE('2025-07-01','YYYY-MM-DD') AND TO_DATE('2025-07-15','YYYY-MM-DD'); BEGIN f := UTL_FILE.FOPEN('EXT_TAB_DIR','orders_202507.csv','W'); FOR r IN c_data LOOP UTL_FILE.PUT_LINE(f,r.order_id||','||r.customer_name||','||r.order_date); END LOOP; UTL_FILE.FCLOSE(f); END;
FROM_TZ(CAST(... AS TIMESTAMP), 'UTC')
统一时区 PARALLEL=4
参数 WHERE CAST(create_time AS DATE) > TO_DATE('2025-07-01','YYYY-MM-DD')
导入后立即执行数据校验:
-- 检查时间范围内的数据量 SELECT COUNT(*) FROM orders WHERE create_time BETWEEN TO_DATE('2025-07-01','YYYY-MM-DD') AND TO_DATE('2025-07-15','YYYY-MM-DD'); -- 随机抽查数据 SELECT * FROM orders WHERE order_id IN (SELECT order_id FROM orders_sample FETCH FIRST 10 ROWS ONLY);
最后提醒:生产环境操作前,务必在测试库验证导出语句!时间条件写错可能导致导出GB级无用数据。
本文由 其尔容 于2025-07-30发表在【云服务器提供商】,文中图片由(其尔容)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/489015.html
发表评论