最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
如何用Navicat备份Oracle数据库对象
时间:2026-08-14 20:35:47 编辑:袖梨 来源:一聚教程网
Navicat 本身不生成标准 Oracle .dmp 文件,其“数据泵导出”仅生成 SQL 脚本;真正生成 .dmp 文件必须使用 Oracle 服务端的 expdp 工具,并满足目录、权限和数据库安装三前提。
Navicat 本身不生成标准 Oracle DMP 文件,它做的是对象级导出(SQL 或数据传输),不是 Data Pump 级备份。想得到 .dmp 文件,必须用 expdp 命令,Navicat 只能调用或辅助准备环境。
Navicat 导出 Oracle 表结构和数据为 SQL 文件
这是最常用、最可控的本地备份方式,适合开发/测试环境迁移或结构快照。
- 右键目标数据库 → 选择「数据传输」→ 源选远程 Oracle,目标选「文件」→ 类型选「SQL 文件」
- 在「选项」画面中:
– 取消勾选「创建记录」可仅导出 DDL(表、索引、约束等)
– 勾选「创建记录」则同时导出
INSERT语句(注意:大数据量时会极慢且文件巨大) - 「数据库对象」画面中可精细筛选:只勾选需要的表、视图、序列,避免导出系统表或日志表
- 导出的 SQL 文件默认不含
COMMIT,导入时建议用 Navicat 的「运行 SQL 文件」而非手动执行,它会自动分段提交
用 Navicat 执行「数据同步」或「复制表」快速迁移
适用于把远程 Oracle 表直接复制到本地 Oracle 实例,绕过文件中转,但要求本地已装 Oracle 并建好用户+表空间。
- 确保本地 Oracle 用户有配额:否则导入中途报
ORA-01950: 表空间 'USERS' 中无权限 - 在「数据传输」中源选远程库,目标选本地连接 → 勾选「仅结构」或「结构和数据」
- 高级选项里务必勾选「遇到错误继续」:Oracle 字段含单引号、换行符或特殊字符时易触发
ORA-01740: 标识符中缺失双引号 - 不推荐跨版本直接同步(如远程是 19c,本地是 11g),DDL 兼容性可能出问题,优先走 SQL 文件中转
Navicat 调用 expdp 前必须手动准备的三件事
如果你坚持要 .dmp 文件(比如 DBA 要求归档),Navicat 无法替代命令行,但能帮你验证前置条件是否到位。
- 确认 DIRECTORY 存在:在远程 Oracle 执行
SELECT * FROM dba_directories;,记下合法的 directory 名(如DATA_PUMP_DIR) - 检查当前用户权限:需被显式授予
READ、WRITEon that directory,仅DBA角色不够 —— 报ORA-31631就是这原因 - 确认 Oracle 服务端 OS 路径可写:directory 对应的服务器路径(如
/u01/app/oracle/dpdump)必须对oracle用户可写,否则ORA-39070
真正麻烦的不是操作步骤,而是权限链路上任何一环断掉都会卡在报错里——DIRECTORY 名大小写敏感、路径属主不对、甚至 Oracle listener 没监听对应 service_name,都可能导致看似“配置完成”实则导出失败。别依赖 Navicat 界面提示,出错后第一反应是切到服务器查 expdp 日志和 dba_directories 视图。
相关文章
- 华为 WS550 无线路由器无线桥接设置指南 08-14
- 华为 A1 Lite 无线路由器设置MAC地址克隆操作流程 08-14
- 华为 A1 Lite 无线路由器通过WiFi中继连接老路由器操作流程 08-14
- 华为 荣耀路由Pro 开启游戏加速功能使用 08-14
- 华为 WS832 无线路由器手机设置 08-14
- 360路由器插件网速慢怎么办(360路由器插件网速慢如何解决) 08-14