it编程 > 数据库 > Oracle

Oracle数据库Schema备份与导入导出的全攻略

17人参与 2025-10-22 Oracle

一、schema 基础认知

1. schema 的定义

在 oracle 中,schema(模式)与用户(user)一一对应,一个用户默认对应一个 schema,用于存储表、视图、索引等数据库对象。例如scott用户对应的scottschema,包含该用户创建的所有对象。

2. 区分系统 schema 与业务 schema

二、schema 备份工具:oracle data pump

oracle 推荐使用data pump(数据泵) 工具进行 schema 备份,相比传统exp/imp,其速度更快、功能更强大,支持按 schema、表、用户等维度灵活导出。核心命令为:

三、schema 备份(expdp)实操指南

1. 准备工作:创建逻辑目录

data pump 需通过逻辑目录映射操作系统路径,步骤如下:

-- 以sysdba身份登录
sqlplus / as sysdba
 
-- 创建逻辑目录(示例:映射到/u01/backup)
create or replace directory backup_dir as '/u01/backup';
 
-- 授予导出用户读写权限(如system用户)
grant read, write on directory backup_dir to system;

2. 单个 schema 备份

命令格式:

expdp 用户名/密码@服务名 schemas=目标schema directory=逻辑目录 dumpfile=备份文件名.dmp logfile=日志名.log

示例(备份iuap_yms_data):

expdp system/ufgov1234@ufgovdb1 schemas=iuap_yms_data directory=backup_dir dumpfile=iuap_yms_data.dmp logfile=iuap_yms_data_exp.log

3. 多个 schema 批量备份

通过schemas参数指定多个 schema(逗号分隔):

expdp system/ufgov1234@ufgovdb1 
  schemas=iuap_yms_data,iuap_ipaas,yondif_ams_db 
  directory=backup_dir 
  dumpfile=multi_schemas.dmp 
  logfile=multi_schemas_exp.log 
  compression=all  # 启用压缩(11g及以上支持)

4. 处理大文件:自动拆分

当备份文件过大时,使用%u自动拆分(如超过 4gb):

expdp system/ufgov1234@ufgovdb1 
  schemas=业务schema列表 
  directory=backup_dir 
  dumpfile=all_schemas_%u.dmp  # 生成all_schemas_01.dmp、02.dmp等
  logfile=all_schemas_exp.log 
  parallel=4  # 并行导出,加快速度

四、schema 大小查询

备份前需了解 schema 占用空间,以便规划存储。查询所有 schema 大小(单位:gb):

select 
  u.username as schema_name,
  round(nvl(sum(s.bytes)/(1024*1024*1024), 0), 2) as size_in_gb
from 
  dba_users u
left join 
  dba_segments s on u.username = s.owner
group by 
  u.username
order by 
  size_in_gb desc;

五、schema 导入(impdp)操作

1. 导入单个备份文件

impdp system/ufgov1234@ufgovdb1 
  directory=backup_dir 
  dumpfile=multi_schemas.dmp 
  logfile=multi_schemas_imp.log

2. 导入多个不同名称的文件

通过dumpfile参数列出所有文件(逗号分隔):

impdp system/ufgov1234@ufgovdb1 
  directory=backup_dir 
  dumpfile=schema1.dmp,schema2.dmp,schema3.dmp 
  logfile=import_multi.log 
  parallel=3  # 并行度与文件数匹配

3. 关键参数说明

六、常见问题与解决方案

1. 导出失败:系统 schema 报错

部分系统 schema(如syssystemmdsys)禁止直接导出,需从备份列表中排除,仅保留业务 schema(如iuap_yondif_系列)。

2. 单个文件过大

3. 权限问题

七、最佳实践总结

  1. 备份策略:业务低峰期执行,核心 schema 每日全量备份,搭配增量备份。
  2. 文件管理:启用压缩(compression=all),拆分大文件,避免单个文件超过 10gb。
  3. 日志校验:备份 / 导入后查看日志,确认successfully completed标识。
  4. 权限控制:严格区分系统与业务 schema,仅备份业务数据。

通过本文的方法,可高效完成 oracle schema 的备份与恢复,确保数据安全性与可恢复性。

以上就是oracle数据库schema备份与导入导出的全攻略的详细内容,更多关于oracle schema备份与导入导出的资料请关注代码网其它相关文章!

(0)

您想发表意见!!点此发布评论

推荐阅读

Oracle数据库面试宝典之db file parallel read等待事件处理过程

10-23

Linux安装Oracle12C全过程

10-21

Linux上oracle的安装部署与查询使用过程

10-21

ORACLE检查并创建表空间和表分区的脚本

10-24

oracle关闭数据库的4种操作方法区别详析

10-24

Ubuntu服务器已下载Nginx安装包的安装步骤(最新推荐)

10-24

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论