Oracle数据泵备份与恢复实例

合集下载

ORACLE数据泵还原(IMPDP命令)

ORACLE数据泵还原(IMPDP命令)

ORACLE数据泵还原(IMPDP命令)Oracle数据库还原IMPDP命令是相对于EXPDP命令的,⽅向是反向的。

即对于数据库备份进⾏还原操作。

⼀、知晓IMPDP命令C:\>impdp -helpImport: Release 11.1.0.7.0 - Production on 星期六, 28 9⽉, 2013 15:37:03Copyright (c) 2003, 2007, Oracle. All rights reserved.数据泵导⼊实⽤程序提供了⼀种⽤于在 Oracle 数据库之间传输数据对象的机制。

该实⽤程序可以使⽤以下命令进⾏调⽤:⽰例: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp您可以控制导⼊的运⾏⽅式。

具体⽅法是: 在 'impdp' 命令后输⼊各种参数。

要指定各参数, 请使⽤关键字:格式: impdp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)⽰例: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmpUSERID 必须是命令⾏中的第⼀个参数。

关键字说明 (默认)------------------------------------------------------------------------------ATTACH 连接到现有作业, 例如 ATTACH [=作业名]。

CONTENT 指定要加载的数据, 其中有效关键字为:(ALL),DATA_ONLY和METADATA_ONLY。

DATA_OPTIONS 数据层标记,其中唯⼀有效的值为:SKIP_CONSTRAINT_ERRORS-约束条件错误不严重。

DIRECTORY 供转储⽂件,⽇志⽂件和sql⽂件使⽤的⽬录对象。

oracle 数据泵 备份 步骤

oracle 数据泵 备份 步骤

oracle 数据泵备份步骤Oracle 数据泵是一种用于备份和恢复数据库的工具,它可以将数据库对象和数据导出到一个二进制文件中,然后再将其导入到另一个数据库中。

下面将详细介绍使用Oracle数据泵进行数据库备份的步骤。

1.创建目录对象:在备份数据库之前,首先要在数据库中创建一个目录对象,用于存储导出和导入文件。

可以使用以下SQL语句来创建目录对象:```sqlCREATE DIRECTORY e某p_dir AS '/backup/dump';```其中,'e某p_dir'是目录对象的名称,'/backup/dump'是目录对象在操作系统中的路径。

2.创建数据库备份任务:可以使用e某pdp命令来创建并执行数据库备份任务。

以下是一个创建数据库备份任务的示例:```sql```其中,system是数据库用户名,password是数据库密码,dbname是数据库实例名,e某p_dir是上一步创建的目录对象名,backup.dmp是导出文件的名称,full=y表示导出整个数据库,logfile是导出日志文件的名称。

3.执行备份任务:运行上述命令后,将会开始执行数据库备份任务,导出的数据将保存到指定的目录对象中。

在此过程中,可以通过查看日志文件来跟踪导出的进度和错误信息。

4.导入备份文件:如果需要将备份文件导入到另一个数据库中,可以使用impdp命令来执行导入任务。

以下是一个导入备份文件的示例:```sql```其中,system是目标数据库的用户名,password是密码,dbname是目标数据库的实例名,e某p_dir是之前创建的目录对象名,backup.dmp 是导出文件的名称,logfile是导入日志文件的名称,full=y表示完全导入整个数据库。

5.执行导入任务:运行上述命令后,将开始导入备份文件的过程,将数据导入到目标数据库中。

在此过程中,可以查看日志文件以了解导入的进度和错误信息。

oracle数据库还原步骤

oracle数据库还原步骤

oracle数据库还原步骤Oracle数据库是一种高效可靠的关系型数据库管理系统(RDBMS),在企业应用中得到了广泛的应用。

然而,在实际的运维过程中,数据库可能会遇到各种问题,包括数据丢失、损坏等,因此数据库的还原步骤非常重要。

接下来,我将为大家详细介绍Oracle数据库还原的步骤。

1. 确认数据库备份:在进行还原之前,首先需要确认数据库的备份情况。

数据库的备份可以分为完全备份和增量备份两种。

完全备份是指对整个数据库进行备份,而增量备份是在完全备份的基础上,对新增或修改的数据进行备份。

确认备份的方式可以通过查看备份记录或者与负责备份的人员进行沟通。

2. 停止数据库实例:在进行数据库还原之前,需要先停止数据库实例的运行。

可以使用SQL*Plus工具或者在操作系统中执行相应的命令来停止数据库实例。

停止数据库实例的目的是为了避免在还原过程中产生数据冲突或者影响还原的正常进行。

3. 清空数据库:在进行数据库还原之前,需要将当前的数据库清空。

可以使用Oracle提供的工具或者通过执行相应的SQL语句来清空数据库。

清空数据库的目的是为了将还原的数据与当前的数据进行分离,避免数据的冲突。

4. 还原数据库文件:根据备份的情况选择相应的还原方式。

如果是完全备份,可以直接将备份文件拷贝到原始的数据库文件目录中。

如果是增量备份,需要先将完全备份进行还原,然后再将增量备份进行还原。

在还原的过程中需要注意数据库文件的权限和路径是否正确。

5. 启动数据库实例:在将数据库文件还原完毕后,需要启动数据库实例,使其重新运行。

可以使用SQL*Plus工具或者在操作系统中执行相应的命令来启动数据库实例。

启动数据库实例后,可以通过连接数据库来验证数据是否还原成功。

6. 恢复数据:在还原完成后,可以根据实际情况进行数据的恢复操作。

恢复数据可以根据备份文件进行还原,也可以通过应用程序的日志进行数据的恢复。

具体的恢复方式和步骤根据实际情况来确定。

数据泵方式备份与恢复使用说明

数据泵方式备份与恢复使用说明

数据泵方式备份与恢复使用说明
“expdp/impdp”的方式
oracle11g(11.2.0.1.0)里涉及到表分区,所以用expdp和impdp的命令。

1)create directory bdctest as 'E:\products\bdctest\DB';
请修改蓝色文字部分为合适的路径,供备份与恢复使用。

2)select * from dba_directories;
验证是否已经创建好。

在磁盘里创建步骤1)里创建的路径。

1、备份。

命令如下:
2、恢复。

命令如下:
在恢复库之前先要清空已有的用户及数据。

当前数据库不是一个空的库,即已经存在了通用用户或项目使用的用户、表空间和数据,则需要先DROP掉已经存在的用户,再创建用户并授权,表空间直接使用即可。

如果备份和恢复的机器的oracle版本不一致请增加“version=11.2.0.2.0”的参数来指定版本号。

例如:
指令中用到的各字段含义说明见下表:
注意:导入前一定要确保表空间足够大,否则造成导入失败需要重新导,很浪费时间。

此种备份与恢复的详细方法参见《Oracle_expdp_impdp用法详解.pdf》。

数据泵详解及案例

数据泵详解及案例

数据泵详解及案例北京神州泰岳软件股份有限公司2011年5月12日文档属性文档变更文档送呈目录1前言 (5)2准备工作 (6)3导出常见需求案例 (7)3.1全库导出 (7)3.1.1全库导出最简写法 (7)3.1.2全库并行导出到多个文件 (7)3.1.3全库导出到多个路径 (7)3.2按schema导出 (8)3.3按表导出 (8)3.3.1导出普通表 (8)3.3.2导出表分区 (8)3.4导出表空间 (9)3.5部分导出(EXCLUDE与INCLUDE) (9)3.5.1屏蔽部分schema (9)3.5.2屏蔽部分对象 (9)3.5.3屏蔽统计信息 (10)3.5.4INCLUDE对象 (10)3.6带查询条件导出(QUERY) (10)3.7估算导出数据大小 (10)3.8只导出元数据或数据 (11)3.9其他可选参数 (11)3.9.1JOB_NAME参数 (11)3.9.2LOGFILE参数 (11)3.9.3VERSION参数 (11)3.9.4STA TUS参数 (12)3.9.5PARFILE参数 (12)3.9.6SAMPLE参数 (12)4导入常见需求案例 (13)4.1导入到不同SCHEMA中 (13)4.2导入到不同表空间中 (13)4.3将元数据以sql形式写入文本文件 (14)4.4导入时使用新存储属性 (14)4.5导入表存在时的处理 (14)5管理维护任务 (15)6重建数据泵工具 (17)1 前言Oracle 10g引入了最新的数据泵(Data Dump)技术,使DBA或开发人员可以将数据库元数据(对象定义)和数据快速移动到另一个oracle数据库中。

数据泵导出导入(EXPDP和IMPDP)的作用:1)实现逻辑备份和逻辑恢复。

2)在数据库用户之间移动对象。

3)在数据库之间移动对象4)实现表空间搬移。

数据泵导出导入与传统导出导入的区别:在10g之前,传统的导出和导入分别使用EXP 工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP.使用EXPDP和IMPDP时应该注意的事项;EXP和IMP是客户端工具程序,它们既可以在可以客户端使用,也可以在服务端使用。

oracle数据泵批量备份操作指南

oracle数据泵批量备份操作指南

一、oracle数据自动备份数据泵,e:\vob\dbbak指的是文件存储路径,可以修改;expdp后的avic20140825/sys指的是数据库的用户名和密码;nchr指的是数据库实例(数据库/ODBC);请根据贵单位系统实际情况修改以上字段。

二、10G的数据库直接就可以备份,11G的数据库需要做以下操作:
1、在服务器上建立一个文件名为e:\vob\dbbak的文件夹,文件夹路径和名字可以修改,但
相应地要修改sql.sql下的路径和文件夹名字。

2、在plsql中或者sqlplus中执行压缩包中sql语句。

如果数据库字符集选择的是utf8,则一
定在sqlplus下执行脚本。

该sql语句下as后的‘e:\vob\dbbak’和avic20140825根据设置的文件夹路径和数据库用户名来修改。

3、oracle数据自动备份数据泵放在windows里面做定时任务,通过控制面板-任务计划根据
向导来做定时任务。

注:文件名和路径可以任意起,但是起完之后需要对sql和bat文件进行修改。

恢复命令:
impdp user/pasword@数据库实例directory=dump_dir2 dumpfile=备份名字remap_schema=导出用户:导入用户。

Linux_oracle数据库的备份与恢复

Linux_oracle数据库的备份与恢复

Linux_oracle数据库的备份与恢复1 数据库备份和恢复(备份和恢复均已做成脚本自动运行,下列操作供参考,请不要在生产机上做测试) 1)数据库备份:◆将dbexp.parm,dbexp.sh 拷贝至/home/oracle/backup/.以oracle用户登录系统$ cd /home/oracle/backup$ dos2unix *$ chmod 755 dbexp.sh◆手工执行备份,用oracle用户登录:$ cd /home/oracle/backup$ ./dbexp.sh◆自动执行备份,用root用户登录:#crontab -e 00 01 * * * su - oracle -c "/home/oracle/backup/dbexp.sh"2)数据库恢复:以oracle用户登录系统◆删除用户:sqlplus /nolog>connect / as sysdba;>drop user center cascade;>create user center identified by center;>grant connect,resource,dba to center◆恢复数据库$imp center/center full=y grants=y INDEXES=y constraints=y LOG=/tmp/backup.log rows=y ignore=y file=xxx(xxx--为以前备份的数据文件,如checkid_20041123.dat)oracle数据库的备份与恢复原理及方法:导出(备份)exp 用户名/密码@服务名file=d:daochu.dmp (rows=no(导出空结构)) 导入(恢复)imp 用户名/密码@服务名file=d:daochu.dmp fromuser=原用户名touser=新用户名---- 当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(包括机器故障、介质故障、误操作等),数据库有时也可能遭到破坏,这时如何尽快恢复数据就成为当务之急。

Oracle11gR2新特性数据泵实现数据备份与数据还原(e.

Oracle11gR2新特性数据泵实现数据备份与数据还原(e.

Oracle11gR2新特性数据泵实现数据备份与数据还原
一 expdp 数据备份
1. 打开sqlplus 窗口方法有两种 1、直接在Oracle安装的程序中点击
2、在dos 命令中输入 sqlplus 回车即可打开
2. 输入用户名和密码(注意:这里必须是system 即 role为dba)的用户名
登陆,若非dba 可以在pl /sql 中通过 grant dba to Scott; 的方式进行授权
3. 查询system 用户下的逻辑目录和真实目录: select * from dba_directories;
4. 为Scott 用户在在逻辑目录DATA_PUMP_DIR上有读写的权限
<5>、打开cmd,
执行expdp 'system/dreams as sysdba' directory= DATA_PUMP_DIR schemas=scott dumpfile=itsmuse20130705.dmp logfile=itsmuse20130705.log
注意:一定要是权限。

二、导入数据详细介绍(impdp)
1.cmd 命令打开 dos窗口
输入impdp ‘system/dreams as sysdba’ directory=DATA_PUMP_DIR SCHEMAS=scott dumpfile=itsmuse20130828.dmp logfile=itsmuse20130828.log 回车即可。

Oracle+sde数据备份、恢复

Oracle+sde数据备份、恢复

EXP SYSTEM/PASSWORD@SID FULL=Y FILE=D:\SYSTEM.DMP LOG=D:\SYSTEM.LOG2.数据入库(a)从数据库中删除SDE和SDE USER用户DROP USER SDE CASCADE;DROP USER SDEUSER CASCADE;(b)创建新的SDE用户和SDEUSER下为创建SDE用户过程:(i)创建表空间CREATE TABLESPACE "SDE"LOGGINGDA TAFILE 'C:\ORACLE\ORADATA\ORACLE\SDE.ora' SIZE 200MEXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO(ii)创建用户CREATE USER "SDE" PROFILE "DEFAULT"IDENTIFIED BY "PASSWORD" DEFAULT TABLESPACE "SDE"TEMPORARY TABLESPACE "TEMP"ACCOUNT UNLOCK;(iii)创建角色GRANT "DBA" TO "SDE";GRANT "CONNECT" TO "SDE";GRANT "RESOURCE" TO "SDE";(iiii)系统权限GRANT ALTER ANY INDEX TO "SDE" WITH ADMIN OPTION;GRANT ALTER ANY TABLE TO "SDE" WITH ADMIN OPTION;GRANT ANAL YZE ANY TO "SDE" WITH ADMIN OPTION;GRANT CREATE ANY INDEX TO "SDE" WITH ADMIN OPTION;GRANT CREATE ANY PROCEDURE TO "SDE" WITH ADMIN OPTION;GRANT CREATE ANY SEQUENCE TO "SDE" WITH ADMIN OPTION;GRANT CREATE ANY TRIGGER TO "SDE" WITH ADMIN OPTION;GRANT CREATE ANY VIEW TO "SDE" WITH ADMIN OPTION;GRANT CREATE SESSION TO "SDE" WITH ADMIN OPTION;GRANT DROP ANY INDEX TO "SDE" WITH ADMIN OPTION;GRANT DROP ANY TABLE TO "SDE" WITH ADMIN OPTION;GRANT DROP ANY VIEW TO "SDE" WITH ADMIN OPTION;GRANT DROP ANY PROCEDURE TO "SDE" WITH ADMIN OPTION;GRANT DROP ANY SEQUENCE TO "SDE" WITH ADMIN OPTION;GRANT EXECUTE ANY PROCEDURE TO "SDE" WITH ADMIN OPTION;GRANT SELECT ANY SEQUENCE TO "SDE" WITH ADMIN OPTION;GRANT SELECT ANY TABLE TO "SDE" WITH ADMIN OPTION;GRANT UNLIMITED TABLESPACE TO "SDE" WITH ADMIN OPTION;3.导入SDE和SDEUSER的数据注意顺序,先SDE,后SDEUSERIMP SYSTEM/PASSWOR@SID FROMUSER=SDE TOUSER=SDEIMP SYSTEM/PASSWOR@SID FROMUSER=SDEUSER TOUSER=SDEUSER以上提到的SDE和SDEUSER是不同的用户,SDE是ArcSDE安装时的默认用户,SDEUSER 是指用户存储数据的用户,如果之间使用SDE默认用户存储,则省去所以的SDEUSER操作空间数据的备份、导出/导入(以Oracle为例):1、首先为什么oracle的exp/imp不能使用?一个feature class (shp文件)导入数据库后,会生成3个table 和7个index,这些表或者是index 可以保存在不同的表空间中。

oracle数据库备份与恢复方案

oracle数据库备份与恢复方案

oracle数据库备份与恢复方案目录一、编写目旳 ......................................................................................................... 错误!未定义书签。

二、备份工具及备份方式...................................................................................... 错误!未定义书签。

三、软件备份 ......................................................................................................... 错误!未定义书签。

四、软件恢复 ......................................................................................................... 错误!未定义书签。

五、数据备份 ......................................................................................................... 错误!未定义书签。

六、备份旳存储 ..................................................................................................... 错误!未定义书签。

七、备份数据旳保留规定...................................................................................... 错误!未定义书签。

oracle数据备份与还原

oracle数据备份与还原

在Oracle11g及以上版本中建议使用数据泵来代替EXP和IMP实用程序,数据泵技术提供了许多新的特性,可以中断导出\导入作业然后恢复作业的执行,从一个会话中监控数据泵取作业,在作业执行过程中修改作业属性,以及重启一个失败的数据泵取作业等。

☐数据泵导入导出技术的结构当启动数据泵导入或导出程序时,在数据库服务器端启动相应的服务器进程,完成数据的导入及导出任务,所以我们也称数据泵技术是基于Oracle数据库服务器的,导入及导出的数据文件也保存在数据库服务器端。

数据泵取即EXPDP程序启动数据库服务器端的服务器进程,服务器进程完成数据的备份并将备份文件写入数据库服务器端的计算机磁盘空间,文件格式filename.dat。

导出的备份文件在导入时只能通过数据泵的导入实用程序IMPDP完成,将数据导入到运行在其他平台上的数据库中。

☐数据泵导入导出与EXP/IMP技术的区别☐Oracle数据泵技术是对传统的EXP和IMP实用程序扩展,使得在数据库服务器端快速的移动数据。

这里我们给出二者的主要区别,使得读者在使用时根据需要有所取舍。

☐数据泵技术比传统的EXP/IMP技术更快速的移动大量数据,因为数据泵技术采用并行流技术实现快速的并行处理。

☐数据泵技术基于数据库服务器,在启动数据泵导入导出实用程序时在数据库服务器端产生服务器进程负责备份或导入数据,并且将备份的数据备份在数据库服务器端。

而且服务器进程与EXPDP客户机建立的会话无关。

☐传统的EXP/IMP是类似于普通的用户进程,执行象SELECT、INSERT、CREATE等的SQL语句。

而数据泵技术类似于启动作业的控制进程,不但启动客户端进程建立会话,还控制整个导入或导出过程,如重启作业。

☐使用传统的EXP/IMP实用程序导出的数据格式与数据泵技术导出的数据格式不兼容。

☐数据泵技术与传统的导入导出实用程序不同,它使用目录和目录对象存储数据泵导出文件,使用数据泵导出数据前必须先创建目录对象,否则无法使用数据泵导入和导出作业。

ORACLE表备份恢复测试用例

ORACLE表备份恢复测试用例

1.准备工作在ORACLE中创建表SQL> create table test(name char(8),age int);Table created.SQL> select * from test;no rows selectedSQL> insert into test values('aaa',22);1 row created.SQL> commit;Commit complete.SQL> select * from test;NAME AGE-------- ----------aaa 222.准备工作在安腾普管理控制台创建Oracle备份应用添加ORACLE相关参数,包括ORACLE_HOME、ORALE_SID软件库文件等◆如果填写的各项参数都正确,点ORACLE应用图标右键还原和归档管理器就能展开ORACLE数据库结构如下◆定义ORACLE备份的介质池◆在作用管理器中可以查看ORACLE备份结果3.进行ORACLE表备份恢复测试◆恢复前将数据库的表dropSQL> drop table test;Table dropped.SQL> conn /as sysdbaConnected.SQL> shutdown immediate; Database closed.Database dismounted.ORACLE instance shut down.SQL>进入还原和归档管理器,启动还原操作数据库还原后,对数据库进行recoverSQL> startup mount;ORACLE instance started.Total System Global Area 5010685952 bytesFixed Size 2212936 bytesVariable Size 3221228472 bytesDatabase Buffers 1744830464 bytesRedo Buffers 42414080 bytesDatabase mounted.SQL> recover database using backup controlfile until cancel;ORA-00279: change 1040140 generated at 03/04/2015 02:54:36 needed for thread 1 ORA-00289: suggestion : /u01/app/11.2.0/arch/1_11_873425412.dbfORA-00280: change 1040140 for thread 1 is in sequence #11Specify log: {<RET>=suggested | filename | AUTO | CANCEL}ORA-00279: change 1040340 generated at 03/04/2015 02:55:15 needed for thread 1 ORA-00289: suggestion : /u01/app/11.2.0/arch/1_12_873425412.dbfORA-00280: change 1040340 for thread 1 is in sequence #12ORA-00278: log file '/u01/app/11.2.0/arch/1_11_873425412.dbf' no longer needed for this recoverySpecify log: {<RET>=suggested | filename | AUTO | CANCEL}Log applied.Media recovery complete.SQL>SQL> alter database open resetlogs;Database altered.4.检查还原的数据SQL> conn zwh/zwh Connected.SQL> select * from test; NAME AGE-------- ----------aaa 22SQL>。

Oracle-RAC环境数据备份与恢复方案

Oracle-RAC环境数据备份与恢复方案

Oracle RAC 环境数据备份与恢复方案【导读】某企业因项目需要在Oracle RAC集群环境下,根据实际情况对Oracle数据库进行备份;使用生产环境的rman全备数据,进行恢复数据搭建测试环境。

本文将详细介绍此案例中Oracle数据库rman全备份过程、Oracle RAC 环境下rman备份数据如何恢复至单机服务器。

考虑到非常的实用,将实施经验分享给更多同行进行交流学习。

一、背景环境生产环境使用两台DELL R840 服务器,安装了 linux centos 7.6操作系统,并配置多路径,使用 EMC untiy 作为共享存储,分配了2个1T LUN 存储数据库文件,1个500G LUN存放归档数据,3个30G LUN存放 OCR 、FALSH、GIMR 数据。

Oracle RAC 软件版本是19C 19.0.0.0.0。

二、数据备份1、备份策略为保障oracle rac 集群数据安全,因项目组要求设计数据库备份方案。

考虑到服务器RAC1与RAC2每台服务器自带2T本地可用容量,每次全备产生约400GB数据文件。

可将奇数天备份到RAC1,偶数天备份到RAC2,4*400GB=1.6TB,每台服务器可以备份4天的全量数据。

空间非常的富余,不计划使用rman的增量备份,直接全量备份近8天数据,恢复也较为方便。

2、备份过程在RAC1主机下执行,(RAC2同理)首先Oracle 数据库开启归档,归档模式下,才可以进行数据库的热备份、联机备份、手工备份等。

非归档模式下,只能进行冷备份。

当然我们rman备份是在线备份。

如下图:接着,创建rman脚本目录创建备份执行脚本,并加入定时任务创建备份数据清理脚本,并加入定时任务,只备份近4次数据,脚本会自动判断最近一次rman备份是否成功,不成功将不删除备份数据。

这里我调用了zabora.sh 脚本判断rman备份状态,sql语句也比较简单。

定时任务(RAC1)定时任务 (RAC2)记得重启定时任务创建rman执行脚本,用于被上述执行脚本调用3、测试验证第一次可手动执行备份任务,不等到凌晨自动执行查看日志log备份完成如下图:三、数据恢复因为本项目使用的是全备数据,无增量。

基于Oracle10g的VLDB备份与恢复技术

基于Oracle10g的VLDB备份与恢复技术

发生物理数据文件丢 失或存储设 备损坏 ,利用物理备份能将 丢失减少到最小甚至完全恢复 ,但是它不能实现不同数据库 之 问的数据搬移。物理备份分为脱机 备份和联机备份 。 () 1 脱机 备份是在关 闭数据库 的情 况下 ,将数据库所有的 控制文件 、日志文件、数据文件和初始 化参数 文件 ( 可选) 转存到其它存储设备上。其优点为 :备份速 度快 ,只需拷贝 文件 ,归档方便 ;维护简单 ,数据安全性高;恢复简单 。不 足之 处在于 :备份和恢复时必须确保数据库 有足够长 的时 间
HE Pig Y n , ANG h q a g J A a , S u in , I Y n ZOU n Pe g
(c o l f o ue ce c , t n l i es yo f n e e h oo y Ch n s a4 0 3 S h o mp t S in e Nai a Unv ri f oC r o t Dee s c n lg , a g h 7 ) T 1 0
[ yw r s cyL re t aeVL )Orce0 ; ak p Daap mp T besa e Ke o d I v r ag a s( DB ; al1g B cu ; t u ; a l pc Da b
1概述
现代企业应用面临数据大集中的需 求 ,一 些与人们 生活 紧密相 关的应 用领域 ,如 电信、银行、户籍管理 等,需 要集 中统一地存储和管理大量 的数据 ,其所用的数据 库系统 的数 据 量达到 了 GB 或 T B级 。这样大规模 的数据库系统被称之 为海量数据库 。V D 不仅需 要支持大量 的用户连接 和大 的 L B 工作负荷 ,而且 更多地体现在对数据库系统 的有效管理上。 面对海量的数据 ,如何进行有效 的维护和存储 ,在数据库 出 现 错误 或者 毁损的情况 下,如何进行系统 的恢复、保持数据 库系统的 良好运 行是海量 数据库系统特别需要关注的问题 。 自关系数据库模 型提 出以来 ,数据库系统技术 已经发展

Oracle备份恢复方案

Oracle备份恢复方案

Oracle 备份恢复方案第一章基础知识一、备份内容:备份数据库一般包括备份数据库文件、控制文件、归档重做日志文件和INIT.OTRA文件,如果有可能,备份还应包括可执行代码和配置文件。

二、备份方法分类:主要的备份方法有物理备份、逻辑备份和恢复管理器(RMAN)备份。

1.物理备份是实际物理数据库文件从一处拷贝到另一处的备份,它使用操作系统提供的拷贝命令来完成,包括操作系统备份(NT下一般不用)、冷备份和热备份;2.逻辑备份是利用SQL从数据库中抽取数据并存入二进制文件,这些数据可以重新导入原来的数据库,或者以后导入其它数据库,ORACLE提供的EXPORT/IMPORT工具可用于进行数据库的导入和导出。

3.恢复管理器RMAN(Recovery Manager)为Oracle 8新引入,能够完成数据库的备份与恢复任务,既可以在图形用户界面GUI中使用,也可以在CLI (命令行)中使用。

三种方法各有长短,DBA应该综合灵活运用。

第二章物理备份和恢复一、冷备份步骤如下:1、关闭数据库实例:命令行下关闭数据库有三种方式:normal,immediate,和abort,对于备份而言,immediate方式最好,因为这种方式既避免了normal方式下因用户忘记退出而造成的等待,且因为Oracle进行了回滚和检查点操作,可以保证数据库的一致和完整性。

推荐在控制面板的服务窗口下关闭专用服务,可以彻底的关闭数据库,这里的数据库服务名为OracleServiceZZYD。

2、拷贝所有与数据库相关的物理文件:包括控制文件、重做日志文件和数据库文件,这里拷贝目录E:\ZZYD即可,另外最好把监听器配置文件(d:\orace\ora81\network\admin\目录下的listener.ora和tnsnames.ora)也拷贝下来。

3、完成拷贝后重新启动数据库。

二、热备份步骤:热备份是一个复杂的过程,这是因为每个表空间都是一个完整的备份过程。

Oracle数据备份(exp.exe)、恢复工具(imp.exe)使用方法

Oracle数据备份(exp.exe)、恢复工具(imp.exe)使用方法

Oracle数据备份(exp.exe)、恢复⼯具(imp.exe)使⽤⽅法Oracle数据备份(exp.exe)、恢复⼯具(imp.exe)使⽤⽅法例⼦:exp svcm/svcm@zjzx owner=svcm rows=y indexes=n compress=n buffer=65536 file=d:\exp_svcm_20060323.dmplog=d:\imp_svcm_20060323.logimp sms/smssend@orazw fromuser=svcm touser=sms rows=y commit=y buffer=65536 file=d:\exp_svcm_20060323.dmp log=d:\imp_svcm_20060323.logexp 命令格式: EXP KEYWORD=value 或KEYWORD=(value1,value2,...,valueN)实例: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)或TABLES=(T1: P1,T1: P2),如果T1 是分区表USERID 必须是命令⾏中的第⼀个参数。

关键字说明(默认)---------------------------------------------------USERID ⽤户名/⼝令FULL 导出整个⽂件(N)BUFFER 数据缓冲区的⼤⼩OWNER 所有者⽤户名列表FILE 输出⽂件(EXPDAT.DMP)TABLES 表名列表COMPRESS 导⼊⼀个范围(Y)RECORDLENGTH IO 记录的长度GRANTS 导出权限(Y)INCTYPE 增量导出类型INDEXES 导出索引(Y)RECORD 跟踪增量导出(Y)ROWS 导出数据⾏(Y)PARFILE 参数⽂件名CONSTRAINTS 导出限制(Y)CONSISTENT 交叉表⼀致性LOG 屏幕输出的⽇志⽂件STATISTICS 分析对象(ESTIMATE)DIRECT 直接路径(N)TRIGGERS 导出触发器(Y)FEEDBACK 显⽰每x ⾏(0) 的进度FILESIZE 各转储⽂件的最⼤尺⼨QUERY 选定导出表⼦集的⼦句下列关键字仅⽤于可传输的表空间TRANSPORT_TABLESPACE 导出可传输的表空间元数据(N)TABLESPACES 将传输的表空间列表imp 命令:或者, 可以通过输⼊IMP 命令和各种⾃变量来控制“导⼊”按照不同参数。

Oracle数据泵备份与恢复实例

Oracle数据泵备份与恢复实例

SQL> conn / as sysdba已连接。

SQL> create directory mydump as 'd:\oracle\mydump';SQL> Grant read,write on directory mydump to test;授权成功。

创建目录d:\oracle\mydump。

C:\Users\David>expdp test/test directory=mydump dumpfile=test.dmp logfile=test.log tables=t1Export: Release 11.2.0.1.0 - Production on 星期三7月16 22:52:58 2014Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options启动"TEST"."SYS_EXPORT_TABLE_01": test/******** directory=mydump dumpfile=test.dmp logfile=test.log tables=t1正在使用BLOCKS 方法进行估计...处理对象类型TABLE_EXPORT/TABLE/TABLE_DATA使用BLOCKS 方法的总估计: 64 KB处理对象类型TABLE_EXPORT/TABLE/TABLE处理对象类型TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS. . 导出了"TEST"."T1" 5.507 KB 5 行已成功加载/卸载了主表"TEST"."SYS_EXPORT_TABLE_01"****************************************************************************** TEST.SYS_EXPORT_TABLE_01 的转储文件集为:D:\ORACLE\MYDUMP\TEST.DMP作业"TEST"."SYS_EXPORT_TABLE_01" 已于22:53:09 成功完成需要将原表删除。

ORACLE最简单有效的备份恢复方案

ORACLE最简单有效的备份恢复方案

ORACLE 最简单有效的备份恢复方案ORACLE备份分两种,1.逻辑备份;2.物理备份;逻辑备份又分两种:传统的exp备份;10g开始支持的expdp数据泵备份;物理备份主要就是RMAN备份;最基本的原则是:这些逻辑或物理备份和数据库文件必须放在不同的硬盘上;否者一损俱损;备份就没多大意义了;如果数据库不是很大,比如在50G以下,那么我们就考虑一些傻话化的全备方案我现在的备份方案是:两个逻辑备份和RMAN 备份全部用上;1.传统dmp逻辑备份和恢复1.1传统dmp逻辑备份,这个是最简单的备份方法;现在我提供一个简单的脚本:1.1.1首先建立一个bat文件,名字叫:exp_backup.bat内容是:set oracle_username=%1set oracle_password=%2set local_tnsname=%3set url=%oracle_username%/%oracle_password%if not %local_tnsname% == "" set url=%url%@%local_tnsname%if exist %oracle_username%_old.dmp del %oracle_username%_old.dmpif exist %oracle_username%_old.log del %oracle_username%_old.logif exist %oracle_username%.dmp ren %oracle_username%.dmp %oracle_username%_old.dmpif exist %oracle_username%.log ren %oracle_username%.log %oracle_username%_old.logexp %url% file=%oracle_username%.DMP log=%oracle_username%.LOG该脚本是一个通用的最简单的exp脚本;意思就是:备份之间,把以前的备份文件修改名字,后面加上_old ,如果本来就有old文件,就删除之;之后,就开始备份;备份的文件目录和该脚本一致(这样做最简单);所以总是会出现一新一旧两个文件;当然只要最新的就行了,所以理论上只要一份文件;但是考虑有可能备份的时候突然报错,这样old文件还在,将就着使用,否者新的是坏的,旧的也没了;有的人做一周7天逻辑循环备份,我觉得没有必要,要那么多旧的备份文件何用,浪费空间;1.1.2然后再做一个bat文件,比如是my_exp.bat内容是:call exp_backup.bat USER PASSWORD ""如果是在服务器自身上备份,就不需要写入数据库服务名;如果有多个用户数据需要备份;那么就在my_exp.bat继续添加:call exp_backup.bat USER1 PASSWORD1 ""….My_EXP.BAT可以做成windows的执行计划,每天不忙的时候执行一次;1.2 exp备份的恢复下面就是恢复的最简单方法:1.2.1.把电脑上当前用户彻底删除,用命令,这样就可以把对象彻底清除;DROP USER XXX CASCADE1.2.2.再创建该用户CREATE USER xxxxIDENTIFIED BY xxxxDEFAULT TABLESPACE xxxxTEMPORARY TABLESPACE TEMP并赋予权限:GRANT DBA TO xxxx WITH ADMIN OPTION1.2.3用IMP恢复C:\> imp xxxx/xxxx FILE=xxxx.DMP LOG=xxxx.LOG FULL=Y2.10G后的数据泵expdp备份和恢复2.1 expdp 备份据说这个比exp有很多优点,这个我就不说了,大家可以自己参考资料;不过我测试下来,如果数据量小expdp 还是不如exp的;但是还是建议是使用expdp,因为数据会慢慢变大的,用expdp更好些;我最看重的是:expdp备份的文件涵盖的东西更多;所以恢复的时候方便;删除用户后,可以不用再创建用户恢复;实现方法和exp类似:不过,它的目录不像EXP那么直接,需要使用oracle的目录对象;所以2.1.1第一步先创建一个目录对象,比如:SQL>create or replace directory LOGIC_BUCKUPas 'd:\OACLE_BACKUP\逻辑备份';2.1.2建立一个通用脚本,比如叫EXPDP_BACKUP.BAT内容是:set oracle_username=%1set oracle_password=%2set local_tnsname=%3set url=%oracle_username%/%oracle_password%if not %local_tnsname% == "" set url=%url%@%local_tnsname%if exist %oracle_username%_old_dump.dmp del %oracle_username%_old_dump.dmpif exist %oracle_username%_old_dump.log del %oracle_username%_old_dump.logif exist %oracle_username%_dump.dmp ren %oracle_username%_dump.dmp %oracle_username%_old_dump.dmpif exist %oracle_username%_dump.log ren %oracle_username%_dump.log %oracle_username%_old_dump.logEXPDP %url% DIRECTORY=LOGIC_BACKUP DUMPFILE=%oracle_username%_DUMP.DMP LOGFILE=%oracle_username%_DUMP.LOG PARALLEL=2该方法与上面的dmp备份类似;2.1.3然后再做一个bat文件,比如是my_expdp.bat内容是:call expdp_backup.bat USER PASSWORD ""如果是在服务器自身上备份,就不需要写入数据库服务名;如果有多个用户数据需要备份;那么就在my_exp.bat继续添加:call expdp_backup.bat USER1 PASSWORD1 ""……同dmp备份一样,My_EXPdp.BAT也可以做成windows的执行计划,每天不忙的时候执行一次;2.2 expdp备份的恢复下面就是恢复的最简单方法:2.2.1.把电脑上当前用户彻底删除,用命令,这样就可以把对象彻底清除;DROP USER XXXX CASCADE2.2.2.用另外一个权限较高的用户(最好不是sys,比如是YYYY) 导入:C:\>IMPDP yyyy/yyyy DUMPFILE=xxxx_DUMP.DMP LOGFILE=xxxx_DUMP.LOG DIRECTORY=LOGIC_BUCKUPPARALLEL=2(这里的LOGIC_BUCKUP是oracle的对象目录,要和xxxx_dump.dup存放的目录一致)这样就OK了,也即是说用户不需要创建,数据泵文件含有了用户以及它原来的权限;从这点来讲,是不是比IMP导入更为方便;好了,两种逻辑备份讲完了,下面重点说一下RMAN备份;因为在生产系统中,逻辑备份作用不大的,因为它不能实时的备份数据,所以逻辑备份更多的时候是给开发人员互相导入数据和存储过程之类用的;RMAN备份的原理还是有点复杂的,很多细节的我也不是很清楚,不过没关系,我们可以整理出一套最简单的备份方案:3.RMAN备份和恢复3.1. RMAN备份3.1.1 首先把数据库参数关注一下,关注下面两个参数第一个参数:db_recovery_file_dest_size,上图中的大小是默认的4G,也就是归档模式下,archivelog的所有归档日志文件大小总和,如果超过这个数,就会导致数据库出问题;所以要非常小心,因而建议修改大一些,比如修改成20G;当然最本质的方法,是要按时清理无用的归档日志;第二个参数:db_recovery_file_dest ,这个参数非常重要,是11G里,存放rman备份集和归档日志的地方;默认是放在flash_recovery_area目录下的,因为我的系统的flash_recovery_area 和数据库文件在同一个硬盘,所以修改了;3.1.2.关注redo日志文件,每组里要有两个成员,1个在数据库文件的硬盘下,1个在备份文件的硬盘下,因为日志文件写入最频繁,RMAN无法对它备份,或者说任何备份工具都无法对redo日志备份;不过redo它自己可以做冗余,两个文件只要有一个在,即可;比如:3.1.3做一个最简单的rman备份脚本;3.1.3.1首先做一个txt,比如是:autorman.txt内容是:sql 'alter system archive log current';backup database;delete noprompt obsolete;这三句话的作用分别是:1.对当前redo日志进行归档;2.备份数据库3.删除无效的archive日志和rman备份集3.1.3.2 做一个bat 调用上面的autorman.txt,比如是:autorman.bat内容是:rman target / @autorman.txt然后就在winddows下做一个执行计划,每天或没隔几天,自动执行一下这个autorman.bat当然备份之前,要用rman>show all 看一下参数设置,有没有自动备份控制文件,如果没有,要加上;3.2 rman恢复Rman恢复非常简单;下面说一下步骤:3.2.1 假如最新一次全备是3天前的,先随便建立一个新表,比如是test_rman,随便插几条数据;用来测试还原后,这个最新的对象是否也给恢复了;现在用sqlplus登陆,shutdown 数据库,然后把oracle的数据库文件全部删除(控制文件,redo日志文件,数据库文件);3.2.2 用sql> startup nomount 启动数据库的参数文件,参数文件和数据库文件不在同一个硬盘,所以没丢;这时候如果执行sql>alter database mount 会报错,因为mount会加载控制文件,而控制文件已经丢了;3.3.3.把以前控制文件所在的目录建立好,否者rman找不到控制文件恢复路径;然后执行RMAN> restore controlfile from autobackup;这样控制文件就回复了,有了控制文件就好办了;3.2.4. 以为有了控制文件,所以在sqlplus里,可以装载数据库Sql>alter database mount3.2.5 数据库被装载后,说明控制文件生效了,这时候,所有的数据库信息都出来了;所以可以用rman还原数据库了:RMAN> RESTORE database;3.2.6 恢复数据库:RMAN> recover database;2.2.7 数据库现在已经全部回复好,可以重新启动了:SQL> alter database open resetlogs;数据库已更改。

ORACLE数据库数据泵备份与恢复

ORACLE数据库数据泵备份与恢复

ORACLE数据库数据泵备份与恢复EXPDP和IMPDP是服务端的⼯具程序,他们只能在ORACLE服务端使⽤,不能在客户端使⽤。

IMP只适⽤于EXP导出的⽂件,不适⽤于EXPDP导出⽂件;IMPDP只适⽤于EXPDP导出的⽂件,⽽不适⽤于EXP导出⽂件。

⼀、expdp和impdp的使⽤1.创建⽬录create directory DBBAK as '/bak'; #DBBAK名称可以随便命名需要⼿⼯创建/bak,并且此⽬录oracle⽤户有读取写⼊权限2.查看所有⽬录select * from dba_directories;3.给test⽤户赋予在指定⽬录的操作权限,最好⽤root⽤户赋予。

grant read,write on directory DBBAK to test;4.导出数据1)按⽤户导expdp test/test@orcl schemas=test dumpfile=expdp.dmp DIRECTORY=DBBAK logfile=expdp.log2)并⾏进程parallelexpdp test/test@orcl directory=DBBAK dumpfile=expdp1.dmp parallel=10 job_name=test13)按表名导expdp test/test@orcl TABLES=table01,table02 dumpfile=expdp2.dmp DIRECTORY=DBBAK;4)按查询条件导expdp test/test@orcl directory=DBBAK dumpfile=expdp4.dmp Tables=table01 query='WHERE id=001';5)按表空间导expdp system/system DIRECTORY=DBBAK DUMPFILE=tablespace.dmp TABLESPACES=test,USERS;6)导整个数据库expdp system/system DIRECTORY=DBBAK DUMPFILE=full.dmp FULL=y;5、创建表空间及⽤户create tablespace test datafile '+data/test/datafile/data01.dbf' size 32000M;alter tablespace test add datafile '+data2/test/datafile/users02.dbf' size 32000M;create user test identified by test default tablespace TEST temporary tablespace TEMP;grant connect,resource,dba to test;grant read,write on directory DBBAK to test;6、还原数据1)导到指定⽤户下impdp test1/test1@orcl DIRECTORY=DBBAK DUMPFILE=expdp.dmp SCHEMAS=test logfile=impdp.log2)改变表的ownerimpdp system/system DIRECTORY=DBBAK DUMPFILE=expdp2.dmp TABLES=test.table01REMAP_SCHEMA=test1:table11;3)导⼊表空间impdp system/system DIRECTORY=DBBAK DUMPFILE=tablespace.dmp TABLESPACES=test;4)导⼊数据库impdb system/system DIRECTORY=DBBAK DUMPFILE=full.dmp FULL=y;5)追加数据impdp system/system DIRECTORY=DBBAK DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION7、查看数据是否⼀致select OBJECT_TYPE,COUNT(*) from all_objects where OWNER='TEST' group by OBJECT_TYPE;⼆、expdp详细参数可以通过 expdp help=y查看1.CONTENT 指定要导出的数据其中有效关键字为:(ALL), (默认)导出结构和数据DATA_ONLY:只导出数据METADATA_ONLY:只导出结构2.DIRECTORY 供转储⽂件和⽇志⽂件使⽤的⽬录对象3.DUMPFILE ⽬标转储⽂件 (expdat.dmp) 的列表例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.d4.INCLUDE 包括特定的对象类型例如 INCLUDE=PACKAGE,FUNCTION,PROCEDURE,TABLE:"='EMP'"5.EXCLUDE 排除特定的对象类型与INCLUDE相反6.TABLES 标识要导出的表的列表7.SCHEMAS 要导出的⽅案的列表可⽀持多个schemas=(user01,user02,user03)8.TABLESPACES 标识要导出的表空间的列表9.ATTACH 连接到现有作业, 例如 ATTACH [=作业名]PRESSIONALL :对导出的元数据和表数据都进⾏压缩,得到的导出⽂件是最⼩的,耗时也是最长的。

Oracle11gR2 实现数据库备份与恢复(exp、imp)

Oracle11gR2 实现数据库备份与恢复(exp、imp)

Oracle11gR2 实现数据库备份与恢复
一、导出数据库(数据库备份)
1.Cmd exp
2.输入用户名scott及密码:Tiger
3.enter (默认)
4.输入要备份的文件名称如mydata.dmp
5.选择导出的内容U –>用户T->代表的是表
6.导入权限、导出表数据、及数据压缩选项
这样就完成数据备份了,,备份数据所在位置为默认目录
二、导入数据(imp)恢复备份数据
1.cmd ->imp(导入数据命令)
2.输入用户名:scott和密码:Tiger
3.对仅导入数据、选项进行选择
4.导入文件填写
5.对冲去进行默认操作、对只导入文件内容、等进行莫荣选择
6.对导入权限、导入表数据、导入整个导出文件选项进行选择
7.数据备份就完成了,,在pl/sqL工具中查询下删除掉的数据是否恢复就知道了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SQL> conn / as sysdba
已连接。

SQL> create directory mydump as 'd:\oracle\mydump';
SQL> Grant read,write on directory mydump to test;
授权成功。

创建目录d:\oracle\mydump。

C:\Users\David>expdp test/test directory=mydump dumpfile=test.dmp logfile=test.l
og tables=t1
Export: Release 11.2.0.1.0 - Production on 星期三7月16 22:52:58 2014
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Produc
tion
With the Partitioning, OLAP, Data Mining and Real Application Testing options
启动"TEST"."SYS_EXPORT_TABLE_01": test/******** directory=mydump dumpfile=test
.dmp logfile=test.log tables=t1
正在使用BLOCKS 方法进行估计...
处理对象类型TABLE_EXPORT/TABLE/TABLE_DATA
使用BLOCKS 方法的总估计: 64 KB
处理对象类型TABLE_EXPORT/TABLE/TABLE
处理对象类型TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . 导出了"TEST"."T1" 5.507 KB 5 行
已成功加载/卸载了主表"TEST"."SYS_EXPORT_TABLE_01"
****************************************************************************** TEST.SYS_EXPORT_TABLE_01 的转储文件集为:
D:\ORACLE\MYDUMP\TEST.DMP
作业"TEST"."SYS_EXPORT_TABLE_01" 已于22:53:09 成功完成
需要将原表删除。

C:\Users\David>impdp test/test directory=mydump dumpfile=test.dmp tables=t1
Import: Release 11.2.0.1.0 - Production on 星期三7月16 23:00:28 2014
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Produc
tion
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加载/卸载了主表"TEST"."SYS_IMPORT_TABLE_01"
启动"TEST"."SYS_IMPORT_TABLE_01": test/******** directory=mydump dumpfile=test .dmp tables=t1
处理对象类型TABLE_EXPORT/TABLE/TABLE
处理对象类型TABLE_EXPORT/TABLE/TABLE_DATA
. . 导入了"TEST"."T1" 5.507 KB 5 行
处理对象类型TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
作业"TEST"."SYS_IMPORT_TABLE_01" 已于23:00:31 成功完成。

相关文档
最新文档