Oracle数据泵(expdp)导入导出数据

嚴華  论坛元老 | 2024-12-6 18:24:15 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1024|帖子 1024|积分 3072

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

自界说变量

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
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

嚴華

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表