• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    Oracle数据泵(expdp)导入导出数据的详细步骤

    发布者: 土豆服务器 | 发布时间: 2025-6-18 09:27| 查看数: 114| 评论数: 0|帖子模式

    源数据库操作(数据备份)


    自定义变量

    1.查询当前数据库的自定义变量(里面包含导出数据文件路径变量配置,即DUMP_DIR)
    1. select * from dba_directories;
    复制代码
    2.若没有配置,则创建一个dump_dir(变量名可自定义,后面用自定义的变量即可)
    1. create directory dump_dir as 'F:/dbback'
    复制代码
    3.导出指定用户的数据,指定导出的用户、导出文件名称、导出文件路径定义、导出时的日志文件信息
    1. expdp PMS_ZS/000000@pms schemas=PMS_ZS dumpfile=pms202410251525.dmp directory=DUMP_DIR logfile=pms202410251525.log
    复制代码
    经过以上步骤,源数据库的数据即备份完成

    目标数据库操作(数据恢复)


    创建用户(若用户存在则跳过)

    1.查询当前用户的表空间和临时表空间
    1. select default_tablespace,temporary_tablespace from dba_users where username = USER;
    复制代码
    2.根据上面查询出的表空间建立相应临时表空间(临时表空间指定最大容量)
    1. create temporary tablespace PMS_DATA_TMP_ZS
    2. tempfile 'D:\Oracle\oradata\PMS\PMS_DATA_TMP_ZS.DBF'
    3. size 32m
    4. autoextend on
    5. next 32m
    6. maxsize 4096m
    7. extent management local;
    复制代码
    修改临时表空间为不限制大小(32G上限):
    1. alter database tempfile 'D:\Oracle\oradata\PMS\PMS_DATA_TMP_ZS.DBF' autoextend on next 32m maxsize unlimited;
    复制代码
    增加一个新的临时表空间文件(此时必须设置固定大小)
    1. alter tablespace temp add tempfile 'D:\Oracle\oradata\PMS\PMS_DATA_TMP_ZS_01.DBF' size 4096m;
    复制代码
    修改第二个临时表空间文件为不限制大小
    1. alter database tempfile 'D:\Oracle\oradata\PMS\PMS_DATA_TMP_ZS_01.DBF' autoextend on next 32m maxsize unlimited;
    复制代码
    3. 根据上面查询出的表空间建立相应表空间
    1. CREATE TABLESPACE PMS_DATA_ZS
    2. DATAFILE 'D:\Oracle\oradata\PMS\PMS_DATA_ZS.DBF'
    3. SIZE 32M
    4. AUTOEXTEND ON NEXT 100M
    5. MAXSIZE UNLIMITED
    6. EXTENT MANAGEMENT LOCAL;
    复制代码
    -- 给表空间增加数据文件1(一个文件最大支持32G数据,多个文件可突破表空间最大容量32G限制)
    1. ALTER TABLESPACE PMS_DATA_ZS ADD DATAFILE 'D:\Oracle\oradata\PMS\PMS_DATA_ZS_01.DBF'
    2. SIZE 32M
    3. AUTOEXTEND ON NEXT 100M
    4. MAXSIZE UNLIMITED;
    复制代码
    -- 给表空间增加数据文件2(一个文件最大支持32G数据)
    1. ALTER TABLESPACE PMS_DATA_ZS ADD DATAFILE 'D:\Oracle\oradata\PMS\PMS_DATA_ZS_02.DBF'
    2. SIZE 32M
    3. AUTOEXTEND ON NEXT 100M
    4. MAXSIZE UNLIMITED;
    复制代码
    -- 给表空间增加数据文件3(一个文件最大支持32G数据)
    1. ALTER TABLESPACE PMS_DATA_ZS ADD DATAFILE 'D:\Oracle\oradata\PMS\PMS_DATA_ZS_03.DBF'
    2. SIZE 32M
    3. AUTOEXTEND ON NEXT 100M
    4. MAXSIZE UNLIMITED;
    复制代码
    -- 给表空间增加数据文件4(一个文件最大支持32G数据)
    1. ALTER TABLESPACE PMS_DATA_ZS ADD DATAFILE 'D:\Oracle\oradata\PMS\PMS_DATA_ZS_04.DBF'
    2. SIZE 32M
    3. AUTOEXTEND ON NEXT 100M
    4. MAXSIZE UNLIMITED;
    复制代码
    若表空间创建错误,可删除多余的表空间数据文件
    1. ALTER DATABASE DROP DATAFILE 'D:\Oracle\oradata\PMS\PMS_DATA_ZS01.DBF';
    复制代码
    4.创建用户并指定表空间
    1. create user PMS_ZS identified by PMSTEST2023
    2. default tablespace PMS_DATA_ZS
    3. temporary tablespace PMS_DATA_TMP_ZS;
    复制代码
    5.给用户授权
    1. grant create session to PMS_ZS;
    2. grant create table to PMS_ZS;
    3. grant unlimited tablespace to PMS_ZS;
    4. grant create any table to PMS_ZS;
    5. grant select on dual to PMS_ZS;
    6. grant insert on dual to PMS_ZS;
    7. grant all on dual to PMS_ZS;
    8. grant dba,connect,resource to PMS_ZS;
    复制代码
    导入数据

    6.导入数据
    导入数据前请先检查导入文件的路径变量是否已定义
    检查方法参考本文最上面的自定义变量,若没有定义则需要创建,将备份的数据文件存放在变量对应的路径下即可
    1. impdp pms_zs/000000@pms dumpfile=PMS202410251525.DMP DIRECTORY=dump_dir logfile=imp202410251525.log table_exists_action=replace
    复制代码
    总结

    到此这篇关于Oracle数据泵(expdp)导入导出数据的文章就介绍到这了,更多相关Oracle数据泵expdp导入导出数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    来源:https://www.jb51.net/database/3321568s4.htm
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表