linux ORACLE备份还原(EXP\IMP)
一、Oracle导入导出
1.Oracle的备份是Oracle操作中常见的工作,常见的备份方案有:逻辑备份(IMP&EXP命令进行备份)、物理文件备份(脱机及联机备份)、利用RMAN(Recovery Manager)的增量物理文件系统备份。
2.ORACLE数据库的逻辑备份分为四种模式:表空间备份(tablespace)、表备份(table)、用户备份(user)和完全备份(full)。
3.Oracle的逻辑备份是使用IMP&EXP命令进行数据导入导出的操作。使用EXP命令导出或者使用IMP命令导入时,需要Create Session系统权限,但是如果要导出其他的表,必须拥有权限:EXP_FULL_DATABASE。
4.调用导入导出命令时,首先要估计所需的空间。EXP命令导出的文件是二进制文件(*.dmp)只能由对应的IMP命令进行读取恢复。 导入导出的用途是:
4.1.备份与恢复
4.2.Oracle平台更换:可以在相同版本之间进行备份与恢复,Oracle较低版本的export 数据文件可以import到高版本的Oracle数据库中,但是Oracle的版本只能是相邻的,不能垮版本。
二、数据库逻辑备份方法(导出EXP)
ORACLE数据库的逻辑备份分为三种模式:表备份、用户备份和完全备份。
由于备份时对系统I/O有较大影响,所以,建议在晚上11点以后进行备份工作
表模式
备份某个用户模式下指定的对象(表)。业务数据库通常采用这种备份方式。
若备份到本地文件,使用如下命令:
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=exp_icdmain_csd_yyyymmdd.dmp
log=exp_icdmain_csd_yyyymmdd.log
tables=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfo
用户模式备份
备份某个用户模式下的所有对象。业务数据库通常采用这种备份方式。
exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=exp_icdmain_yyyymmdd.dmp
log=exp_icdmain_yyyymmdd.log
完全模式
imp system/SYS file=/home/oracle/seineebs.DMP fromuser=seineebs touser=scott buffer=65536
imp system/SYS file=/data/20150826.dmp fromuser=seineebs touser=scott buffer=65536
备份完整的数据库。业务数据库不采用这种备份方式。备份命令为:
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0 full=y
file=exp_fulldb_yyyymmdd.dmp(磁带设备则为/dev/rmt0)
log=exp_fulldb_yyyymmdd.log
对于数据库备份,建议采用增量备份,即只备份上一次备份以来更改的数据。增量备份命令:
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0 full=y inctype=incremental
file=exp_fulldb_yyyymmdd.dmp(磁带设备则为/dev/rmt0)
log=exp_fulldb_yyyymmdd.log
注:关于增量备份必须满足下列条件:
1.只对完整数据库备份有效,且第一次需要full=y参数,以后需要inctype=incremental参数。
2. 用户必须有EXP_FULL_DATABASE的系统角色。
3. 话务量较小时方可采用数据库备份。
4. 如果磁盘有空间,建议备份到磁盘,然后再备份到磁带。业务数据库备份方法及周期
用EXP进行备份前,先在SYS用户下运行CATEXP.SQL文件(如果以前已运行该文件,则不要执行这个脚本)。
例子:
1、 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
exp system/manager@TEST file=d:\daochu.dmp full=y
2、 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
3、 将数据库中的表table1 、table2导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
4、 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
三、数据库还原(导入IMP)
恢复方案:数据库的逻辑恢复分为表恢复、用户恢复、完全恢复三种模式。
参数说明:
FROMUSER 指出导出时dmp文件中记载的用户信息
TOUSER dmp文件要导入到什么目标用户中
Commit:默认是N,在缓冲区满时是否需要commit,如果设为N,需要较大的回滚段。
Igore: Oracle在恢复数据的过程中,当恢复某个表时,该表已经存在,就要根据ignore 参数的设置来决定如何操作。若ignore=y,Oracle不执行CREATE TABLE语句,直接将数据插入到表中,如果插入的记录违背了约束条件,比如主键约束,则出错的记录不会插入,但合法的记录会添加到表中。若ignore=n,Oracle不执行CREATE TABLE语句,同时也不会将数据插入到表中,而是忽略该表的错误,继续恢复下一个表
indexes:在恢复数据的过程中,若indexes=n,则表上的索引不会被恢复,但是主键对应的唯一索引将无条件恢复,这是为了保证数据的完整性。
1.表模式
此方式将根据按照表模式备份的数据进行恢复。
A. 恢复备份数据的全部内容
若从本地文件恢复,使用如下命令:
imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
commit=y buffer=65536 feedback=100000 ignore=n volsize=0
file=exp_icdmain_cs
d_yyyymmdd.dmp
log=imp_icdmain_csd_yyyymmdd.log
B. 恢复备份数据中的指定表
若从本地文件恢复,使用如下命令:
imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
commit=y buffer=65536 feedback=100000 ignore=n volsize=0
file=exp_icdmain_cs
d_yyyymmdd.dmp
log=imp_icdmain_csd_yyyymmdd.log
tables=commoninformation,serviceinfo
2.用户模式
此方式将根据按照用户模式备份的数据进行恢复。
A. 恢复备份数据的全部内容
若从本地文件恢复,使用如下命令:
imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
commit=y buffer=65536 feedback=100000 ignore=n volsize=0
file=exp_icdmain_yy
yymmdd.dmp
log=imp_icdmain_yyyymmdd.log
B. 恢复备份数据中的指定表
若从本地文件恢复,使用如下命令:
imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
commit=y buffer=65536 feedback=100000 ignore=n volsize=0
file=exp_icdmain_yy
yymmdd.dmp
log=imp_icdmain_yyyymmdd.log
tables=commoninformation,serviceinfo
完全模式
如果备份方式为完全模式,采用下列恢复方法:
若从本地文件恢复,使用如下命令:
imp system/manager rows=y indexes=n commit=y buffer=65536
feedback=100000 ignore=y volsize=0 full=y
file=exp_icdmain_yyyymmdd.dmp
log=imp_icdmain_yyyymmdd.log
2.字符集转换
对于单字节字符集(例如US7ASCII),恢复时,数据库自动转换为该会话的字符集(NLS_LANG参数);对于多字节字符集(例如ZHS16CGB231280),恢复时,应尽量使字符集相同
(避免转换),如果要转换,目标数据库的字符集应是输出数据库字符集的超集。
恢复方法
业务数据库采用表恢复方案。在用IMP进行恢复前,先在SYS用户下运行CATEXP.SQL文件(如果以前已运行该文件,则不要执行这个脚本),然后执行下列命令:
IMP ICDMAIN/ICD FILE=文件名 LOG=LOG文件名 ROWS=Y COMMIT=Y BUFFER=Y IGNORE=Y TABLES=表名
注:要恢复的表名参照备份的表名 。恢复是在原表基础上累加数据 。没有特殊说明,不允许在客户端执行恢复命令
http://www.cnblogs.com/luluping/archive/2010/03/16/1687103.html
http://www.cnblogs.com/yugen/archive/2010/07/25/1784763.html
IMP的所有参数(括号中为参数的默认值):
USERID 用户名/口令
FULL 导入整个文件 (N)
BUFFER 数据缓冲区大小
FILE 输入文件 (EXPDAT.DMP)
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 拥有可传输表空间集中数据的用户
linux ORACLE备份还原(EXP\IMP)的更多相关文章
- Oracle 备份还原
导出整个数据库,在CMD命令窗口执行 EXP 用户名/密码@服务名(数据库) FULL=Y FILE=路径 EXP INTERFACE/INTERFACE@PIVAS_XMDWYY FULL=Y FI ...
- Oracle备份 还原命令
1.备份命令 exp username/password file=d:/test/test.dmp; 2.还原命令 imp username/password full=y file=d:/test ...
- oracle备份还原数据库
首先到对应bin目录下打开cmd(windows),linux用相应终端链接:eg:D:\app\sun\product\11.2.0\dbhome_1\BIN 用户备份:exp u_tdms/p_t ...
- Linux系统备份还原工具2(TAR/压缩工具)
相比DD备份还原工具,TAR压缩还原工具更加小巧和灵活,但是不能备份MBR.当然可以通过重新安装GRUB来解决MBR的这一问题.同时,TAR的做法也是官方推荐的. 注意:一个硬盘启动时最新经过MBR( ...
- oracle数据处理之exp/imp
oracle 导出/导入数据方法一 exp/imp工具:1 将数据库oracle01完全导出,DBA:sys,密码:123456:用户名Scott 密码123456 导出到D:\emp.dmp中 ex ...
- LINUX系统备份还原
1.Linux系统备份工具 REAR (RELAX-AND-RECOVER) https://blog.csdn.net/qq43748322/article/details/78710754?loc ...
- ORACLE expdp \ impdp \ exp \ imp
(转自:http://www.cnblogs.com/lanzi/archive/2011/01/06/1927731.html) EXPDP命令行选项1. ATTACH该选项用于在客户会话与已存在导 ...
- oracle导入导出exp,imp
exp dadifilm/oracle@dg file=/tmp/dadi.dmp full=y imp u_data/321@dg1 file=/dadi_desc.dmp Import: Rel ...
- Linux系统备份还原工具1(DD)
注意:只要时运行备份,建议都使用Ubuntu的Live CD功能启动来操作(即启动盘下的试用Ubuntu而不安装的功能),因为这样可以减少资源占用造成的备份不完整. 说明: 1.使用DD进行硬盘备份可 ...
随机推荐
- java:IO:file 类
刷某一目录下的所有文件夹/文件 public class FileDemo2 { public static void main(String args[]) { File file = new Fi ...
- R文件报错:cannot resolve symbol ‘R’
今天仿照别人项目,因为不太熟悉Androidstudio,所以就照着他项目结构走,结果包名跟他的不一样,项目一直报标题这个错误,网上百度了很多也没用,不过先把网上的解决方案copy一下 请注意 ① E ...
- sikiA计划问题记录
1.有时候在场景中创建光源会有一条虚线 解决方法:禁用锯齿 edit - project setting - quality - anti aliasing
- JProfiler连接weblogic
转 http://blog.csdn.net/xu1314/article/details/7737236
- Spring_总结_04_高级配置(五)_运行时注入值
一.前言 本文承接上一节:Spring_总结_04_高级配置(四)_bean的作用域 当讨论依赖注入的时候,我们通常所讨论的是将一个bean引用注入到另一个bean的属性或者构造参数中.它通常指的是将 ...
- LeetCode OJ:Invert Binary Tree(反转二叉树)
Invert a binary tree. 4 / \ 2 7 / \ / \ 1 3 6 9 to 4 / \ 7 2 / \ / \ 9 6 3 1 Trivia:This problem was ...
- dilworth定理的通俗讲解
度娘定义:在数学理论中的序理论与组合数学中,Dilworth定理根据序列划分的最小数量的链描述了任何有限偏序集的宽度.其名称取自数学家Robert P. Dilworth. 反链是一种偏序集,其任意两 ...
- 网络编程基础--协程--greenlet切换---gevent自动识别 IO ---
协程: 1 单线程来实现并发---协程: 协程:是单线程下的并发,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程:协程是一种用户态的轻量级线程, 即协程是由用户程序自己控制调度的 只 ...
- 利用Fiddler或Charles进行mock数据创造测试环境
使用场景:服务器数据不符合测试条件时,我们可以通过在本地创建虚拟数据来打到测试用例所描述的条件. fiddler使用方法 1.首先在本地创建txt数据:将抓到的response中的json数据拷贝到记 ...
- UVA 11176 Winning Streak
#include <iostream> #include <stdio.h> #include <cstring> #define N 501 using name ...