ORALCE 数据备份EXP IMP
EXPDP 导出
需要系统用户权限,一般不使用
sqlplus
- 创建dmp导出逻辑目录
-- create directory 目录名 as '目录路径'
create directory expdp_dmp as 'D:/expdp_dmp';
- 查看当前创建的所有dmp导出目录 (验证看是否创建成功)
select * from dba_directories
- 登录system用户,为创建的目录赋权限
-- grant read,write on directory 目录名 to 需要赋值的用户名
grant read,write on directory expdp_dmp to pqm_adm;
- 导出 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