Oracle备份还原

Oracle有两类备份方式:


(1)物理备份:是将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,
通常是从磁盘到磁带。物理备份又分为冷备份、热备份;   
(2)逻辑备份:是利用SQL语言从数据库中抽取数据并存于二进制文件的过程。
逻辑备份使用导入导出工具:EXPDP/IMPDP或EXP/IMP; 


--冷备份
冷备份是Oracle最简单的一种备份;执行冷备份前必须关闭数据库;然后使用操作系统
实用工具或者第三方工具备份所有相关的数据库文件。
优点:能简单快速地备份。能简单快速地恢复。
执行简单。
缺点:必须关闭数据库,不能进行点恢复。


--热备份
热备份是当数据库正在运行时进行数
据备份的过程。执行热备份的前提是:数据库运行在可归档日志模式。适用于24X7不间断运行的关
键应用系统。
优点:备份时数据库可以是打开的。热备份可以用来进行点恢复。初始化参数文件、
归档日志在数据库正常运行时是关闭的,可用操作系统命令拷贝。
缺点:执行过程复杂。
由于数据库不间断运行,测试比较困难。不能用操作系统实用工具拷贝打开的文件。
必须使用Oracle提供的ocopy工具来拷贝打开的文件。热备份可能造成CPU、I/O过载,
应在数据库不太忙时进行。


sqlplus system/manager
SQL> alter tablespace XXX begin backup;
SQL> host ocopy c:\oradata\MYDB\xxx.ora c:\backup\xxx.ora
SQL> alter tablespace XXX end backup;


其中第二步也可以再开个DOS窗口作,或者光打HOST命令临时回到DOS提示符,
再打ocopy命令,完成再exit回到sqlplus


为什么用ocopy而不用copy?
OCOPY allows writing to continue while the backup is running. The COPY is a closed copy and the files may be marked either as "fuzzy" or "corrupt".  OCOPY opens the file using CreateFile() with the FILE_SHARE_READ and FILE_SHARE_WRITE flags. This allows writing to continue while we take the backup.  Inconsistencies in the backup are repaired by applying archived redo during recovery. The 'copy' command from NT doesn't use these flags since it wants to prevent writes to the file while the copy is taking place.



--Export导出数据库对象
冷备份和热备份都备份物理数据库文件,因而被称为物理备份。
而export备份的是数据库对象,因此被称为逻辑备份。
优点:能执行对象或者行恢复。
备份和恢复速度更快。能够跨操作系统平台迁移数据库。数据库可一直运行。
缺点:export并
不是冷备份和热备份的替代工具。冷、热备份可保护介质失效。
export备份可保护用户或应用错误。


--
    EXPDP/IMPDP是10G以后的一种新的数据导入导出方式,也称为数据泵。
相比于传统的EXP/IMP的方式有了很大的不同.
    EXP/IMP产生的文件格式和EXPDP/IMPDP并不兼容,虽然文件名字都是DMP扩展文件。
不能用EXP导出的的文件用IMPDP导入,反之则一样.
    EXP/IMP的是客户机的工作模式,由EXP/IMP指定连接串,连接到相应的ORACLE数据库,
然后在ORACLE数据库生成一个相应的前台服务器成进程来完成各种请求,
所以IMP/EXP可以进行远程导入导出.
    EXPDP/IMPDP直接在ORACLE数据库生成一个后台进程来完成相应的任务.
    EXP/IMP通过数据字典来获取相应的对像信息,并且通过select来返回对像中的所有数据,
在EXP的时会进行全表扫描,也相当于做了一次块的检查.在exp的时候,有可能会得到表数据
不一致的情况,可以通过consistent来指定,那样可能会导致undo表空间变得非常大。
    EXPDP主要是通过执行DBMS_METADATA的包来获取对像的相应信息,而且直接是通过拷贝
相应数据文件块的方式,所以效率要高得多.
    EXPDP/IMPDP还有很多特性,比如可以过相应的网络导出导入,在大文件操作时候,
就不要生成中间文件了.还有job装态,表空间REMAP,并行等.但是expdp/impdp在使用的时候
要创建DIRECTORY。数据量很小的时候一般还是比较推荐EXP/IMP方式.
-------------------------exp\imp---------------------------
在cmd窗口运行:
exp scott/tiger@vpmdb file=d:\xx.dmp  
imp scott/tiger@vpmdb file=d:\xx.dmp  


exp scott/tiger@vpmdb file=d:\xx.dmp tables=emp,dept 
imp scott/tiger@vpmdb file=d:\xx.dmp tables=emp,dept
-------------------------expdp\impdp---------------------------
expdp -help
impdp -help


create or replace directory bakdir as 'D:\bak';
GRANT WRITE ON DIRECTORY bakdir TO scott WITH GRANT OPTION
/
GRANT READ ON DIRECTORY bakdir TO scott WITH GRANT OPTION
/



在cmd窗口运行:
expdp scott/tiger@vpmdb directory=bakdir dumpfile=xx.dmp  
impdp scott/tiger@vpmdb directory=bakdir dumpfile=xx.dmp  


expdp scott/tiger@vpmdb directory=bakdir  dumpfile=xx1.dmp tables=(emp,dept) 
expdp scott/tiger@vpmdb directory=bakdir  dumpfile=xx1.dmp tables=%emp%
 
impdp scott/tiger@vpmdb directory=bakdir  dumpfile=xx1.dmp tables=(emp,dept)




expdp lushanguat/lushanguat@ls directory=bakdir dumpfile=xx.dmp tables=( TS_USER_ROLE)  --失败
exp lushanguat/lushanguat@ls  file=d:\xx.dmp tables=usermgr.TS_USER_ROLE 



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/545274.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Eclipse快捷键-方便查找

【Ct rlT】 搜索当前接口的实现类 1. 【ALT /】 此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,多体验一下【ALT /】快捷键带来的好处吧。 2. 【Ct rlO】…

很实用的21个SQL小技巧!

前言每一个好习惯都是一笔财富,本文基于MySQL,分SQL后悔药, SQL性能优化,SQL规范优雅三个方向,分享写SQL的21个好习惯,谢谢阅读,加油哈~1. 写完SQL先explain查看执行计划(SQL性能优化…

Java ByteArrayOutputStream size()方法与示例

ByteArrayOutputStream类size()方法 (ByteArrayOutputStream Class size() method) size() method is available in java.io package. size()方法在java.io包中可用。 size() method is used to return the current size of the buffer exists. size()方法用于返回缓冲区当前存…

Oracle备份文件名获取系统时间的做法(windows)

在对数据库进行备份时,用数据泵的方法,需要执行一段代码: --建目录 create directory dir as d:\bak;--给用户授权使用目录 grant read,write on directory dir to scott;--在cmd中输入以下代码 expdp scott/tigerXE directorydir dumpfileab…

java getmonth_Java LocalDateTime类| 带示例的getMonth()方法

java getmonthLocalDateTime类getMonth()方法 (LocalDateTime Class getMonth() method) getMonth() method is available in java.time package. getMonth()方法在java.time包中可用。 getMonth() method is used to get the field value month-of-year based on the enum Mon…

阿里最喜欢问的多线程顺序打印的5种解法!

Keeper导读大家在换工作面试中,除了一些常规算法题,还会遇到各种需要手写的题目,所以打算总结出来,给大家个参考。全文 2929 字,剩下的是代码,P6 及以下阅读只需要 8 分钟,高 P 请直接关闭第一篇…

CSS入门

CSS入门1_CSS概要1.1_CSS引入方式2_CSS选择器3_字体样式3.1_字体属性3.2_字体类型:font-family3.3_字体大小:font-size3.4_字体粗细:font-weight3.5_字体颜色:color3.6_总结4_文本样式4.1_文本样式属性4.2_首行缩进:te…

Oracle笔记:数据库启动的三个阶段

数据库的启动可分为三个阶段:1、startup nomount -- 启动实例,不加载数据库 nomount:在这一阶段,只需要读取initSID.ora文件,启动数据库实例,创建后台进程。在initSID.ora文件中,可以定位…

Java LocalDate类| lengthOfYear()方法和示例

LocalDate类lengthOfYear()方法 (LocalDate Class lengthOfYear() method) lengthOfYear() method is available in java.time package. lengthOfYear()方法在java.time包中可用。 lengthOfYear() method is used to get the length of the year represented by this LocalDate…

23张图!万字详解「链表」,从小白到大佬!

作者 | 王磊来源 | Java中文社群(ID:javacn666)转载请联系授权(微信ID:GG_Stone)链表和数组是数据类型中两个重要又常用的基础数据类型。数组是连续存储在内存中的数据结构,因此它的优势是可以通…

何为“秒传”

写在前面 最近一直在弄文件传输的组件,在讨论组里面,有同事提到“秒传”的功能。在目前的通信软件中也有网盘的功能,就从网上搜了一下,这里对“秒传”的实现思路做一下总结,在之后会写一个小的demo实现一下。没有其他&…

JavaScript入门

JavaScript入门1_语法基础1.1_变量1.2_数据类型1.3_运算符1.4_类型转换1.5_注释跟c一样2_流程控制语句3_函数3.1_没有返回值的函数3.2_有返回值的函数4_对象4.1_对象简介4.2_字符串对象4.3_数组对象4.4_时间对象4.5_数学对象简介5_DOM基础5.1_DOM是什么5.2_节点类型5.3_获取元素…

oracle 序列的概念与使用步骤

转载自:http://www.worlduc.com/blog2012.aspx?bid20342458 一、概念 1、 序列: 是oacle提供的用于产生一系列唯一数字的数据库对象。主要用于提供主键值。 2、 创建序列: 创建序列的语法 CREATE SEQUENCE sequence //创建序列名称 [INCREMENT BY n]…

数组转List的3种方法和使用对比!

作者 | 大脑补丁来源 | blog.csdn.net/x541211190/article/details/79597236前言:本文介绍Java中数组转为List三种情况的优劣对比,以及应用场景的对比,以及程序员常犯的类型转换错误原因解析。一.最常见方式(未必最佳)…

java 根据类名示例化类_Java即时类| getEpochSecond()方法与示例

java 根据类名示例化类即时类getEpochSecond()方法 (Instant Class getEpochSecond() method) getEpochSecond() method is available in java.time package. getEpochSecond()方法在java.time包中可用。 getEpochSecond() method is used to get the number of seconds from t…

oracle10g备份导入

2019独角兽企业重金招聘Python工程师标准>>> //导出 exp test/testgdsoft filed:\gd.dmp //删用户 drop user wkwx cascade; //用PLSQL创建数据数据库 create user hzjzjn identified by hzjzjn default tablespace BDP_DATABD; grant CREATE USER,DROP USER,ALTE…

VisualSVNServer的使用

VisualSVNServer的使用1_服务端初识1.1_创建新仓库1.2_创建用户并分配权限1_服务端初识 1.1_创建新仓库 右击Repository,点击create 点击下一步 输入仓库名 右击空白处,点击新建,点击project structure 输入工程名 1.2_创建用户并分…

安利一个IDEA骚操作:一键生成方法的序列图

在平时的学习/工作中,我们会经常面临如下场景:阅读别人的代码阅读框架源码阅读自己很久之前写的代码。千万不要觉得工作就是单纯写代码,实际工作中,你会发现你的大部分时间实际都花在了阅读和理解已有代码上。为了能够更快更清晰地…

overflow滚动条属性

做网页的时候,因为网页内容的长短不一样,并且滚动条的策略默认是自动,所以网页的滚动条根据内容一会有一会没有。我的网页做的是居中的,所以滚动条在有和没有的时候,会影响网页内容的位置,这样感觉不太好&a…

c#中textbox属性_C#.Net中带有示例的TextBox.Multiline属性

c#中textbox属性Here we are demonstrating use of Multiline property of the TextBox Control. 在这里,我们演示了TextBox控件的Multiline属性的使用。 Multiline property contains two values: 多行属性包含两个值: True: We can enter text in mo…