ORACLE 数据备份EXP IMP

ORALCE 数据备份EXP IMP

EXPDP 导出

需要系统用户权限,一般不使用

sqlplus

  1. 创建dmp导出逻辑目录
-- create directory 目录名 as '目录路径'
create directory expdp_dmp as 'D:/expdp_dmp';
  1. 查看当前创建的所有dmp导出目录 (验证看是否创建成功)
select * from dba_directories
  1. 登录system用户,为创建的目录赋权限
-- grant read,write on directory 目录名 to 需要赋值的用户名
grant read,write on directory expdp_dmp to pqm_adm;
  1. 导出 pqm_adm用户下的数据

dos下执行,不在sqlplus中执行

-- expdp 用户名/密码@数据库实例名 directory=导出目录 dumpfile=导出的文件名.dmp logfile=导出的日志名.log
expdp pqm_adm/pqm123456zf@foctestdb directory=expdp_dmp dumpfile=pqm_adm20180209expdp.dmp logfile=pqm_adm20180209expdp.log;

exp/imp

exp导出

exp pqm_adm/pqm123456zf@foctestdb file=e:\pqm_admExp.dmp log=e:\pqm_admExp.log

导出指定的表和条件,添加参数 TABLES=(table1,table2 ...) QUERY=\"WHERE rownum<11\"

exp pqm_adm/pqm123456zf@foctestdb TABLES=(io_portal_human_resource,io_qlf_license_schedu_grade )
 file=C:\wangcf\数据库数据TABLE\pqm_admExp.dmp  log=C:\wangcf\数据库数据TABLE\pqm_admExp.log

程序代码EXP的所有参数(括号中为参数的默认值):

  • USERID        用户名/口令      如: USERID=duanl/duanl
  • FULL          导出整个数据库 (N)
    -BUFFER        数据缓冲区的大小
  • OWNER        所有者用户名列表,你希望导出哪个用户的对象,就用owner=username
  • FILE           输出文件 (EXPDAT.DMP)
  • TABLES        表名列表 ,指定导出的table名称,如:TABLES=table1,table2
  • COMPRESS     导入一个extent (Y)
  • RECORDLENGTH   IO 记录的长度
  • GRANTS        导出权限 (Y)
  • INCTYPE        增量导出类型
  • INDEXES        导出索引 (Y)
  • RECORD        跟踪增量导出 (Y)
  • ROWS           导出数据行 (Y)
  • PARFILE        参数文件名,如果你exp的参数很多,可以存成参数文件.
  • CONSTRAINTS   导出约束 (Y)
  • CONSISTENT    交叉表一致性
  • LOG            屏幕输出的日志文件
  • STATISTICS     分析对象 (ESTIMATE)
  • DIRECT         直接路径 (N)
  • TRIGGERS      导出触发器 (Y)
  • FEEDBACK      显示每 x 行 (0) 的进度
  • FILESIZE        各转储文件的最大尺寸
  • QUERY          选定导出表子集的子句

下列关键字仅用于可传输的表空间

  • TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)
  • TABLESPACES 将传输的表空间列表

imp 导入

imp MFFMS/MFFMS@AERO68 FULL=Y FILE=E:\pqm_admExp.dmp log=e:\mffms.log
添加参数 ignore=y,导入已有表则可以只导入数据,否则表已存在则报错

程序代码IMP的所有参数(括号中为参数的默认值):

  • USERID    用户名/口令
  • FULL      导入整个文件 (N)
  • BUFFER    数据缓冲区大小
  • FROMUSER      所有人用户名列表
  • FILE      输入文件 (EXPDAT.DMP)
  • TOUSER        用户名列表
  • SHOW      只列出文件内容 (N)
  • TABLES       表名列表
  • IGNORE    忽略创建错误 (N)
  • RECORDLENGTH   IO 记录的长度
  • GRANTS   导入权限 (Y)
  • INCTYPE       增量导入类型
  • INDEXES 导入索引 (Y)
  • COMMIT        提交数组插入 (N)
  • ROWS     导入数据行 (Y)
  • PARFILE       参数文件名
  • LOG       屏幕输出的日志文件
  • CONSTRAINTS   导入限制 (Y)
  • DESTROY   覆盖表空间数据文件 (N)
  • INDEXFILE 将表/索引信息写入指定的文件
  • SKIP_UNUSABLE_INDEXES   跳过不可用索引的维护 (N)
  • ANALYZE   执行转储文件中的 ANALYZE 语句 (Y)
  • FEEDBACK 显示每 x 行 (0) 的进度
  • TOID_NOVALIDATE   跳过指定类型 id 的校验
  • FILESIZE 各转储文件的最大尺寸
  • RECALCULATE_STATISTICS 重新计算统计值 (N)

下列关键字仅用于可传输的表空间

  • TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)
  • TABLESPACES 将要传输到数据库的表空间
  • DATAFILES 将要传输到数据库的数据文件
  • TTS_OWNERS 拥有可传输表空间集中数据的用户

参考:https://wenku.baidu.com/view/de256bb8f61fb7360a4c652a.html

常见问题

表空间错误

查看数据库中的表空间存放地址

select TABLESPACE_NAME,FILE_NAME from dba_data_files where TABLESPACE_NAME='PQMDATA';
创建相同的表空间名称
create tablespace PQMDATA --表空间名称,一般在用户名前加 TBS_ 前缀
datafile 'D:\ORACLE11\ORADATA\MYORACLE\PQMDATA.DBF' --test数据路径,表空间名称,
size 100m --初始表空间的大小
autoextend on next 10m --当表空间不足时,每次增加大小
maxsize unlimited--表空间最大的大小

https://jingyan.baidu.com/article/4b07be3caf086448b380f39f.html

无权限

  • 删除用户的权限 drop user user_name cascade
  • 授权创建会话的权限 grant create session to remotesea
  • 授权连接,操作表权限 grant connect,resource to remotesea
发布了241 篇原创文章 · 获赞 14 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/qq_29150765/article/details/101023680