当前位置:文档之家› 一个优秀的oracle 自动备份脚本(exp for windws)

一个优秀的oracle 自动备份脚本(exp for windws)

一个优秀的oracle 自动备份脚本(exp for windws)
一个优秀的oracle 自动备份脚本(exp for windws)

一个优秀的oracle自动备份脚本(exp for windws)

xx

时间:2011-5-12

一、脚本内容

set mydate=%DATE:

~0,10%

exp system/system@hzic full=y file=d:

\ora_bak\data\hzic_%date%.dmplog=d:

\ora_bak\log\hzic-log_%mydate%.log

forfiles /p "D:

\ora_bak\data" /s /m *.* /d -7 /c "cmd /c del @path"forfiles /p "D:

\ora_bak\log" /s /m *.* /d -7 /c "cmd /c del @path"注:

使用时只需要把上述内容,复制到记事本中,保存为.bat的文件即可,注意换行,上面其实是4行内容。自动备份的计划设置,可以用windows的任务计划轻松搞定。

二、解释说明

1、set mydate=%DATE:

~0,10%:

设置日期变量,为了在备份导出文件时自动使用当前日期进行命名。0代表开始位置,10代表从开始位置取10个字符

2、expsystem/system@hzicfull=y file=d:

\ora_bak\data\hzic_%date%.dmplog=d:

\ora_bak\log\hzic-log_%mydate%.log:

使用sytem账号进行全库导出,备导出的数据文件存放在d:

\ora_bak\log目录下,导出的日志文件存放在d:

\ora_bak\log目录下

3、forfiles /p "D:

\ora_bak\log" /s /m *.* /d -7 /c "cmd /c del @path":

自动删除7天前的备份,详细说明见后面附件

附件

FORFILES [/P pathname] [/M searchmask] [/S]

描述:

选择一个文件(或一组文件)并在那个文件上

执行一个命令。这有助于批处理作业。参数列表:

/P pathname表示开始搜索的路径。默认文件夹是当前工作的目录(.)。/M searchmask根据搜索掩码搜索文件。默认搜索掩码是'*'。

/S指导forfiles递归到子目录。像"DIR /S"。

默认命令是"cmd /c echo @file"。下列变量可以用在命令字符串中:

@file -返回文件名。

@fname -返回不带扩展名的文件名。

@ext -只返回文件的扩展。

@path -返回文件的完整路径。

@relpath -返回文件的相对路径。

@isdir -如果文件类型是目录,返回"TRUE";如果是文件,返回"FALSE"。

@fsize -以字节为单位返回文件大小。

@fdate -返回文件上一次修改的日期。

@ftime -返回文件上一次修改的时间。

要在命令行包括特殊字符,字符请以0xHH形式使用十六进制代码(例如,0x09为tab)。

内部CM

D.exe命令前面应以"cmd /c"开始。

/D date选择文件,其上一次修改日期大于或等于(+),或者小于或等于(-)用"yy-MM-dd"格式指定的日期;

或选择文件,其上一次修改日期大于或等于(+)当前日期加"dd"天,或者小于或等于(-)当前日期减"dd"天。有效的"dd"天数可以是0 - 32768范围内的任何数字。如果没有指定,"+"被当作默认符号。

/?显示帮助消息。

例如:

FORFILES /?

FORFILES

FORFILES /P C:

\WINDOWS /S /M DNS*.*

FORFILES /S /M *.txt /C "cmd /c type @file | more"

FORFILES /P C:

\ /S /M *.bat

FORFILES /D -30 /M *.exe

/C "cmd /c echo @path 0x09在30前就被更改。"

FORFILES /D 2001-01-01

/C "cmd /c echo @fname在

2001年1月1日就是新的。"FORFILES /D +2009-10-11 /C "cmd /c echo

@fname今天是新的。"FORFILES /M *.exe /D +1

FORFILES /S /M *.doc /C "cmd /c echo @fsize"

FORFILES /M *.txt /C "cmd /c if @isdir==FALSE notepad.exe @file"删除7天前的文件:

forfiles /p "D:

\ora_bak\log" /s /m *.* /d -7 /c "cmd/c del @path"

oracle 备份恢复语句整理(最全)

Oracle备份恢复场景总结 一、数据文件、表空间恢复 1、数据库文件恢复 1>场景一: 问题描述: test.dbf丢失,有RMAN备份。 重启报错: Startup; ORA-01157: cannot identify/lock data file 5 - see DBWR trace file ORA-01110: data file 5: '/oracle/app/oracle/oradata/orcl/test01.dbf' run{ startup mount; allocate channel ch00 type 'SBT_TAPE'; restore datafile 5; recoverdatafile 5; alter database open; release channel ch00; }

2>场景二 问题描述: 模拟test表空间损坏,删除数据文件(恢复到新目录) 旧目录:/oracle/app/oracle/oradata 新目录: /home/oracle run{ allocate channel ch00 type 'SBT_TAPE'; sql 'alter database datafile 5 offline'; setnewname for datafile 5 to '/home/oracle/test01.dbf'; restoredatafile 5; switchdatafile 5; recoverdatafile 5; sql 'alter database datafile 4 online'; release channel ch00; } 说明: set newname for 告诉RMAN 还原数据文件的新位置在哪里。这个命令在restore 前出现。 switch datafile更新controlfile,记录这个新位置。这个命令要在recover 前出现

Linux下Oracle 11g数据库全库自动备份(EXPDP)

使用EXPDP方式备份整个实例 本教程可使用system账户将整个实例备份(包含空表),并自动删除超过6天的历史数据。 1、r oot用户登录服务器 mkdir -p /backup/oracledata#新建Oracle数据库备份目录 chown -R oracle:oinstall /backup/oracledata -R #设置目录权限为oinstall用户组的 oracle用户(用户oracle与用户组oinstall是在安装 Oracle数据库时设置的) 2、创建目录对象 因为使用expdp命令需要使用到目录对象(directory),所以首先需要创建目录对象,并赋予某个用户对目录对象的操作权限。 操作步骤如下: su – oracle #切换到oracle用户 sqlplus / as sysdba#切换到SQLPLUS环境 执行以下命令: create directory expdp_bak_dir as '/backup/oracledata'; #指定EXPDP输出目录 grant create any directory to system; #授予system权限 3、编辑自动备份脚本 vi /backup/oracledata/ordatabak.sh #新建文件,输入以下代码 #/bin/sh export ORACLE_SID=shuwei export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 export NLS_LANG=american_america.zhs16gbk export DATA_DIR=/backup/oracledata now=` date +%Y%m%d%H%M%S ` dmpfile=db$now.dmp echo start exp $dmpfile ... /u01/app/oracle/product/11.2.0/dbhome_1/bin/expdp system/123456@shuwei DUMPFILE=$dmpfile DIRECTORY=expdp_bak_dir full=y echo "Delete the file bakup before 6 days..." find /backup/oracledata/ -mtime +6 -name "*.dmp" -exec rm -rf '{}' \; echo "Delete the file bakup successfully. "

实验8-Oracle数据库备份与恢复

实验8 Oracle数据库备份与恢复 1 实验目的 (1)掌握Oracle数据库各种物理备份方法。 (2)掌握Oracle数据库各种物理恢复方法。 (3)掌握利用RMAN工具进行数据库的备份与恢复。 (4)掌握数据的导入与导出操作。 2 实验要求 (1)对BOOKSALES数据库进行一次冷备份。 (2)对BOOKSALES数据库进行一次热备份。 (3)利用RMAN工具对BOOKSALES数据库的数据文件、表空间、控制文件、初始化参数 文件、归档日志文件进行备份。 (4)利用热备份恢复数据库。 (5)利用RMAN备份恢复数据库。 (6)利用备份进行数据库的不完全恢复。 3 实验步骤 (1)关闭BOOKSALES数据库,进行一次完全冷备份。 select file_name from dba_data_files; select member from v$logfile; select value from v$parameter where name='control_files';

(2)启动数据库后,在数据库中创建一个名为cold表,并插入数据,以改变数据库的状态。 CREATE TABLE COLD( ID NUMBER PRIMARY KEY, NAME VARCHAR2(25) ); (3)利用数据库冷备份恢复BOOKSALES数据库到备份时刻的状态并查看恢复后是否

存在cold表。 (4)将BOOKSALES数据库设置为归档模式。 1.1 shutdown immediate 正常关闭数据 1.2 startup mount;将数据库启动到mount状态 3)、关闭flash闪回数据库模式,如果不关闭的话,在后面关闭归档日志的时候就会出现讨厌的ora-38774错误。 alter database flashback off 1.3 alter database archivelog;发出设置归档模式的命令 1.4 alter database open;打开数据库 1.5 再次正常关闭数据库,并备份所有的数据文件和控制文件 1.6archive log list;在将数据库设置为归档模式后,可以执行此命令进行确认 1.6.1 Database log mode 为Archive Mode说明当前的数据库为归档模式 1.6.2 Automatic archival为Enable说明启动了自动归档。

2016年9月1日rman备份恢复脚本

rman备份恢复 1.通过rman备份文件恢复spfile 2.通过rman备份文件恢复controlfile 3.通过rman备份文件恢复datafile 4.利用恢复回来的controlfile和datafile生成redolog 5.测试交易是否存在,并全备 我系统环境所有的文件如下: [oracle@fowaydbs]$ pwd /opt/oracle/10g/dbs [oracle@fowaydbs]$ ls initdw.ora init.ora [oracle@fowaydbs]$ls /opt/oracle/oradata 已没有任何资料 [oracle@fowaydbs]$ls /opt/oracle/admin 已没有任何资料 [oracle@fowaydbs] ls /opt/oracle/flash_recovery_area/ ORCL [oracle@fowaydbs]ls /opt/oracle/flash_recovery_area/ORCL/backupset/

2008_07_18 [oracle@fowaydbs]ls /opt/oracle/flash_recovery_area/ORCL/backupset/2008_07_ 18/ o1_mf_ncsnf_TAG20080718T203240_482fls2h_.bkp o1_mf_nnndf_TAG20080718T203240_482fkb0k_.bkp 在我这台电脑上, ,系统中所有的ORCL相关的数据文件,参数文件,日志文件,控制文件全部不在了, 没有其他可用的备份文件了,只有rman备份的文件在,这可怎么办呢? 没办法只能恢复了,可怎么恢复呢? 要恢复数据文件用rman备份? 能吗? 当然不能了,因为restore 必须在mount or open状态下. 参数文件,控制文件都没有怎么mount? 要mount必须有参数文件,控制文件,为此我们必须解决这2个难题了. 在解决难题前先准备ORCL的必须的目录: [oracle@fowaydbs]mkdir /opt/oracle/oradata/orcl

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=%1 set oracle_password=%2 set local_tnsname=%3 set url=%oracle_username%/%oracle_password% if not %local_tnsname% == "" set url=%url%@%local_tnsname% if exist %oracle_username%_old.dmp del %oracle_username%_old.dmp if exist %oracle_username%_old.log del %oracle_username%_old.log if exist %oracle_username%.dmp ren %oracle_username%.dmp %oracle_username%_old.dmp if exist %oracle_username%.log ren %oracle_username%.log %oracle_username%_old.log exp %url% file=%oracle_username%.DMP log=%oracle_username%.LOG 该脚本是一个通用的最简单的exp脚本; 意思就是:备份之间,把以前的备份文件修改名字,后面加上_old ,如果本来就有old文件,就删除之;之后,就开始备份;备份的文件目录和该脚本一致(这样做最简单); 所以总是会出现一新一旧两个文件;当然只要最新的就行了,所以理论上只要一份文件; 但是考虑有可能备份的时候突然报错,这样old文件还在,将就着使用,否者新的是坏的,旧的也没了;

ORACLE数据备份与数据恢复方案

O R A C L E数据备份与数据恢 复方案 Prepared on 24 November 2020

摘要 结合金华电信IT系统目前正在实施的备份与恢复策略,重点介绍电信业务计算机管理系统(简称97系统)和营销支撑系统的ORALCE数据库备份和恢复方案。 Oracle数据库有三种标准的备份方法,它们分别是导出/导入 (EXP/IMP)、热备份和冷备份。要实现简单导出数据(Export)和导入数据(Import),增量导出/导入的按设定日期自动备份,可考虑,将该部分功能开发成可执行程序,然后结合操作系统整合的任务计划,实现特定时间符合备份规划的备份应用程序的运行,实现数据库的本级备份,结合ftp简单开发,实现多服务器的数据更新同步,实现数据备份的异地自动备份。 关键字:数据库远程异地集中备份 目录

一、前言 目前,数据已成为信息系统的基础核心和重要资源,同时也是各单位的宝贵财富,数据的丢失将导致直接经济损失和用户数据的丢失,严重影响对社会提供正常的服务。另一方面,随着信息技术的迅猛发展和广泛应用,业务数据还将会随业务的开展而快速增加。但由于系统故障,数据库有时可能遭到破坏,这时如何尽快恢复数据就成为当务之急。如做了备份,恢复数据就显得很容易。由此可见,做好数据库的备份至关重要。因此,建立一个满足当前和将来的数据备份需求的备份系统是必不可少的。传统的数据备份方式主要采用主机内置或外置的磁带机对数据进行冷备份,这种方式在数据量不大、操作系统种类单一、服务器数量有限的情况下,不失为一种既经济又简明的备份手段。但随着计算机规模的扩大,数据量几何级的增长以及分布式网络环境的兴起,将越来越多的业务分布在不同的机器、不同的操作平台上,这种单机的人工冷备份方式越来越不适应当今分布式网络环境。 因此迫切需要建立一个集中的、自动在线的企业级备份系统。备份的内容应当包括基于业务的业务数据,又包括IT系统中重要的日志文件、参数文件、配置文件、控制文件等。本文以ORACLE数据库为例,结合金华电信的几个相关业务系统目前正在实施的备份方案,介绍ORACLE数据库的备份与恢复。 二、金华电信ORACLE数据库的备份与恢复方案 由于金华电信IT系统以前只采用逻辑备份方式进行数据库备份,速度较慢并且数据存储管理都很分散,甚至出现备份数据不完整的现象。为了提高备份数据的效率,提供可靠的数据备份,完善备份系统,保证备份数据的完整性,降低数据备份对网络和服务器的影响,对每个IT系统的备份数据进行集中管理,我们对备份工作进行了改进,将逻辑备份与物理备份相结合,在远程建立了一个异地集中、自动在线的备份系统即网络存储管理系统。(这里用到的物理备份指热备份)其具备的主要功能如下:(1)集中式管理 :网络存储备份管理系统对整个网络的数据进行管理。利用集中式管理工具的帮助,系统管理员可对全网的备份策略进行统一管理,备份服务器可以监控所有机器的备份作业,也可以修改备份策略,并可即时浏览所有目录。所有数据可以备份到同备份服

Linux下Oracle数据库自动备份脚本

Linux下Oracle数据库自动备份脚本 1.用PL/SQL登录数据库 2.设置空表可导出 select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0; --然后执行查询出来的语句 3.查看数据库的字符集 查看database中的NLS_CHARACTERSET的值 a、select * from nls_database_parameters t where t.parameter='NLS_CHARACTERSET'; b、select * from v$nls_parameters where parameter='NLS_CHARACTERSET'; PARAMETER VALUE ----------------- ---------- NLS_CHARACTERSET ZHS16GBK 4.登录linuxOracle服务器 5.创建investDBbak目录(目录随意创建,在脚本中修改即可) mkdirinvestDBbak 6.在investDBbak下创建DBBak目录、Shell目录 mkdirDBBak mkdirshell 7.在shell目录下创建invest_test_dbbak.sh文件 vi invest_test_dbbak.sh 8.复制内容 #!/bin/sh export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_SID=orcl export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export DATA_DIR=/home/oracle/investDatabak/dbbak/data export LOGS_DIR=/home/oracle/investDatabak/dbbak/log export DELTIME=`date -d "15 days ago" +%Y%m%d` export BAKUPTIME=`date +%Y%m%d%H%M%S` export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK mkdir -p $DATA_DIR mkdir -p $LOGS_DIR echo "Starting bakup..." echo "Bakup file path $DATA_DIR/$BAKUPTIME.dmp"

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.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

完整版Oracle数据库备份和恢复操作手册

1 ORACLE数据库数据备份和恢复操作手册1.1. ORACLE参数设置 进入CMD操作界面,使用sqlplus连接数据库, 图例1数据库连接操作 连接语法:sqlplus system/Oracle2013@orcl

图例2成功连接数据库环境变量设置(在Sqlplus中执行) create or replace directory

图例3环境变量设置

12数据备份 备份脚本:expdp system/Oracle2013@orcl directory=file_path dumpfile=ARADMIN.dat logfile=ARADMIN.Iog schemas=ARADMIN 参数说明 操作:

图例4数据库备份操作

1 Tk L ■耳耳p?『匸骷日L ■ oxportnd _ B expov'tri&d ■. Rwpnrtiftrl L ■ exported L v exporiced ?■ exported ■v Qxportzod L . eKpo^tred ■. RKportert ■. exported ■■ exported L … exported L … exported L - exported L ■ exportiert L . exported Hdtittsr Ldble a KB e rimwrimTW ■审jm?rnirTWr? "ARA>HlM Bi B B,T48^ 牺wiMn?r』T52" 料RRDniN o.*T53'* JT8° ,>ftlft>NlN,L*l T9u ◎ KA DH IIN*\ *-IftSK_OlEUJ

oracle备份与恢复机制

谈ORACLE备份与恢复 经常听到有人说,某数据库备份方法好,某备份方法不好,或者说现在都流行用rman 来备份了,逻辑备份已经过时了,冷备份就更不值一提了,其实数据库的备份从来没有什么好坏之分、没有过时之说,合适才是最重要的,自己好才是真的好.各种方法各有长短,谁也代替不了谁,只有根据实际情况搭配使用,才能发挥最大的作用,否则只能是东施效颦. 1 . o r ac 1 e的备份,包括no a r chi v e I og模式的备份(冷备份)、arch i velog模式的备份(热备份、rman备份)、逻辑备份(不分模式). 1.1.冷备份: ~ 1)关闭数据库 s hu t d o wn; -一2)备份数据文件、控制文件、重做日志文件 一-A、查找备份文件的位置 SELEC T * FROM VSDATAFIL E ; —査数据文件 s el e ct * f r om v$cont r o 1 f il e ; —查控制文件 s e le c t * f r om vSlogf i 1 e; —査日志文件 ~ B、备份数据文件、控制文件、重做日志文件 $ copy D:\oracle\o r a data\or a 9 \ *. dbf d: \ b a k \ *. *; $ cop y D:\ora cle \ oradat a \ora9 \ *? c t 1 d : \ b a k\*? *: $ copy D:\oracle \o r adata\o r a9\*? I og d:\bak\*? *; 1.2.热备份: ~ 1)查询备份的数据文件与哪一个表空间有关 SELECT V$TAF3LESPACE ? NAME, VS DATAFILE. NAME FROM V$TA B LES P ACE J OIN V$DATAF I LE USING(TS#); ~ 2)备份数据文件 a 1 t er tablespace 表空间BEGIN BACKUP; $ COPY数据文件存放路径

oracle数据每天备份并清理老备份文件

oracle数据每天备份(导出dmp)并清理老备份文件的脚本 1、创建目录和文件 a)E:\scripts\ (作用:放置脚本和临时工作目录) b)E:\bak (作用:存放备份数据) 2、这台windows机器安装完整的oracle客户端,并可以连接到 oracle。 3、在另外一台windows系统机器上做定时任务,每天将oracle 数据导出并压缩。 a)新建文件bak.cmd 内容: :: 设置日期变量 FOR /F "tokens=1,2,3 delims=- " %%i IN ('DATE /T') DO SET D=%%i%%j%%k :: 执行oracle导出命令 exp 用户/密码@数据库file=E:\scripts\data%D%.dmp statistics=none grants=n rows=y log=E:\scripts\data%D%.log cd E:\scripts :: 压缩dmp文件 "C:\Program Files\WinRAR\WinRAR.exe" a -afzip -k -df -inul -ibck -ep -agYYYYMMDDHHMMSS -o+ -ilogE:\scripts\bakzip.log BAK_data%D%*.* :: 移动到备份文件夹 move E:\scripts\BAK_*.* E:\bak\ :: 执行清理老文件的脚本,只保留10天内文件。 :: 执行格式datedel2_2k3 保留天数清理的文件夹 datedel2_2k3 10 E:\bak\ b)设置windows计划任务每天执行一次bak.cmd。 4、清理老的备份文件的脚本 a)在E:\scripts\下创建文件datedel2_2k3.bat b)内容:(此脚本适用于windows2003系统) datedel2_2k3.bat :: DateDel2.bat - 删除指定路径下指定日数以前修改的文件 :: Will Sort - 2005-9-2 - CMD@WinXP :: 注意事项:参数%1指定日数,昨天为1,前天为2,依次类推

oracle数据库备份与恢复实施方案

oracle数据库备份与恢复方案

————————————————————————————————作者:————————————————————————————————日期:

oracle数据库 备份与恢复方案 文件控制?受控?不受控 文档编号日期项目名称版本号 分册名称第册/共册总页数正文附录 编制审批生效日期

目录 一、编写目的 (1) 二、备份工具及备份方式 (1) 三、软件备份 (1) 四、软件恢复 (1) 五、数据备份 (2) 六、备份的存储 (2) 七、备份数据的保存规定 (2) 八、备份介质的格式 (3) 九、数据恢复 (4)

一、编写目的 本文档主要说明公司项目在实施现场的软件及数据的备份和恢复方案。 二、备份工具及备份方式 1.备份工具 Oracle RMAN(Recovery Manager):是一种用于备份(backup)、还原(restore)和恢复(recover)数据库的Oracle 工具。RMAN只能用于ORACLE8或更高的版本中。它能够备份整个数据库或数据库部件,如表空间、数据文件、控制文件、归档文件以及Spfile参数文件。RMAN也允许您进行增量数据块级别的备份,增量RMAN备份是时间和空间有效的,因为他们只备份自上次备份以来有变化的那些数据块。 2.备份方式 (1)自动备份:由Windows 计划任务调度完成; (2)手工备份:完成特殊情况下的备份,分热备份和冷备份,热备份是指在不关闭数据库情况下进行备份,冷备份则需要停止Oracle实例服务。 三、软件备份 1.以七天为一个周期每天23:00将所有软件拷贝到其他存储介质上 2.超出七天的备份依次删除 3.每月一号将上月最后7天的备份文件刻录到光盘上 四、软件恢复 1.找出最近的备份程序覆盖到正式运行环境的相应目录中

Oracle数据库备份策略——周备份方案

Oracle数据库备份策略——周备份方案 参加人员与时间 1 参加工程师:陈笑 2 指导工程师:文平 3 工作起始时间: 08/01/08 4 工作结束时间: 08/01/08 6 版本 1.0.0 达成的目标/方案 1 对于数据量较大的数据库我们可以选择对其执行RMAN周备份方案对其进行 备份。周备份方案中采用的增量备份方法,缩短了日常的备份操作所占用的时间,减少了资源占用。本实践将介绍如何利用Windows的计划任务程序来实现自动调 用和执行RMAN周备份操作。 软硬件系统配置 1 硬件环境:内存1G C盘:20G D盘:40G H盘:4.5G N盘:3G 2 软件环境:平台:Windows XP Prof 、机器名:WINSERV 3 、IP:192.168.6.30 3 初始环境:数据库实例sdzy Oracle软件及数据库文件保存在D盘 闪回恢复区为h:\flash_area 详细操作过程描述 1 1)本实践的规划:

闪回恢复区位置 h:\flash_area\ 备份集的保留策略无 是否自动备份控制文件和spfile是 备份集的位置及命名方式 h:\flash_area\bkupset\bkup_%U 备份集的内容整个数据库的所有数据文件(跳过EXAMPLE表 空间)、归档日志文件、spfile和控制文件。然后 删除做过备份的归档日志文件。 再次备份备份集的位置 n:\oraclebk\%U 再次备份的内容七天前生成的备份集。然后删除做过再次备份的 备份集。 备份策略每周六的0:00对数据库进行0级增量备份;每 周的其他六天的0:00对数据库进行1级增量备 份。即: 周六执行数据库0级增量备份 周一~周五,周日执行数据库1级增量备份2)查看当前RMAN预定义参数设置: C:\>rman target / RMAN> show all; 使用目标数据库控制文件替代恢复目录 RMAN 配置参数为: CONFIGURE RETENTION POLICY TO NONE; CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'h:\flash_area\bkupset\bkup_%U'; CONFIGURE MAXSETSIZE TO UNLIMITED; # default CONFIGURE ENCRYPTION FOR DATABASE OFF; # default CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default CONFIGURE EXCLUDE FOR TABLESPACE 'EXAMPLE'; CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\SNCFSDZY.ORA'; # default

rman备份策略及备份脚本

Rman归档模式下的热备份策略及实施方案 一、归档模式设置: 1.查看归档状态为非归档 SQL> select log_mode from v$database; LOG_MODE ------------ NOARCHIVELOG archive状态Disabled SQL> archive log list Database log mode No Archive Mode Automatic archival Disabled Archive destination /archivelog Oldest online log sequence 2 Current log sequence 4 2.设置数据库为归档模式 SQL> shutdown immediate; SQL> startup mount; SQL> alter database archivelog; SQL> alter system set log_archive_start=true scope=spfile; SQL> shutdown immediate; SQL> startup; SQL> archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination /archivelog Oldest online log sequence 2 Next log sequence to archive 4 Current log sequence 4 二、rman配置准备: 在Rman中,已设置了参数每次备份自动备份控制文件和参数文件,其配置命令为: $ rman target / RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON; --设置控制文件和参数文件自动备份 RMAN> set controlfileautobackup format for device type disk to '/backupora/%F'; --设置自动备份控制文件存放位置

ORACLE表空间的备份与恢复

1、切换服务器归档模式,如果已经是归档模式可跳过此步: %sqlplus /nolog (启动sqlplus) SQL> conn / as sysdba (以DBA身份连接数据库) SQL> shutdown immediate;(立即关闭数据库) SQL> startup mount (启动实例并加载数据库,但不打开) SQL> alter database archivelog;(更改数据库为归档模式) SQL> alter database open;(打开数据库) SQL> alter system archive log start;(启用自动归档) SQL> exit (退出) 2、连接rman rman or /data/app/oracle/product/11.2.0/dbhome_1/bin/rman RMAN> connect target sys/system@orcl --连接到目标数据库 3、备份表空间tpm RMAN>backup tablespace tpm plus archivelog delete input; 4、恢复表空间 SQL>alter tablespace tpm offline for recover; //使tpm offline RMAN>restore tablespace tpm RMAN>recover tablespace tpm RMAN>alter tablespace tpm online; //tpm online 5、表空间的增量备份 第一天的增量基本备份: RMAN> backup incremental level=0 tablespace tpm plus archivelog delete input; 第二天的增量差异备份: RMAN> backup incremental level=2 tablespace tpm plus archivelog delete input; 第三天的增量差异备份:

ORACLE数据库备份与恢复详解

ORACLE数据库备份与恢复详解 Oracle的备份与恢复有三种标准的模式,大致分为两大类,备份恢复(物理上的)以及导入导出(逻辑上的),而备份恢复又可以根据数据库的工作模式分为非归档模式(Nonarchivelog-style)和归档模式(Archivelog-style),通常,我们把非归档模式称为冷备份,而相应的把归档模式称为热备份,他们的关系如下所示 三种方式各有优点,我们做个比较(这个是用Fireworks画的,有点糙):

$A: 现在先来介绍一下逻辑备份方式的方法,利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。理论基础:Oracle 提供的Export和Import具有三种不同的操作方式(就是备份的数据输出(入)类型): 1,表方式(T) 可以将指定的表导出备份; 2,全库方式(Full) 将数据库中的所有对象导出; 3,用户方式(U) 可以将指定的用户相应的所有数据对象导出; *在导入导出备份方式中,提供了很强大的一种方法,就是增量导出/导入,但是它必须作为System来完成增量的导入导出,而且只能是对整个数据库进行实施。增量导出又可以分为三种类别: 1,完全增量导出(完全备份)(Complete Export) 这种方式将把整个数据库文件导出备份;exp system/manager inctype=complete file=20041125.dmp(为了方便检索和事后的查询,通常我们将备份文件以日期或者其他有明确含义的字符命名) 2,增量型增量导出(增量备份)(Incremental Export) 这种方式将只会备份上一次备份后改变的结果;exp system/manager inctype=incremental file=20041125.dmp 3,累积型增量导出(差异备份)(Cumulate Export) 这种方式的话,是导出自上次完全增量导出后数据库变化的信息。exp system/manager inctype=cumulative file=20041125.dmp 通常情况下,DBA们所要做的,就是按照企业指定或者是自己习惯的标准(如果是自己指定的标准,建议写好计划说明),一般,我们采用普遍认可的下面的方式进行每天的增量备份: Mon:完全备份(A) Tue:增量导出(B) Wed:增量导出(C) Thu:增量导出(D)

一个优秀的oracle 自动备份脚本(exp for windws)

一个优秀的oracle自动备份脚本(exp for windws) xx 时间:2011-5-12 一、脚本内容 set mydate=%DATE: ~0,10% exp system/system@hzic full=y file=d: \ora_bak\data\hzic_%date%.dmplog=d: \ora_bak\log\hzic-log_%mydate%.log forfiles /p "D: \ora_bak\data" /s /m *.* /d -7 /c "cmd /c del @path"forfiles /p "D: \ora_bak\log" /s /m *.* /d -7 /c "cmd /c del @path"注: 使用时只需要把上述内容,复制到记事本中,保存为.bat的文件即可,注意换行,上面其实是4行内容。自动备份的计划设置,可以用windows的任务计划轻松搞定。 二、解释说明 1、set mydate=%DATE: ~0,10%: 设置日期变量,为了在备份导出文件时自动使用当前日期进行命名。0代表开始位置,10代表从开始位置取10个字符 2、expsystem/system@hzicfull=y file=d: \ora_bak\data\hzic_%date%.dmplog=d:

\ora_bak\log\hzic-log_%mydate%.log: 使用sytem账号进行全库导出,备导出的数据文件存放在d: \ora_bak\log目录下,导出的日志文件存放在d: \ora_bak\log目录下 3、forfiles /p "D: \ora_bak\log" /s /m *.* /d -7 /c "cmd /c del @path": 自动删除7天前的备份,详细说明见后面附件 附件 FORFILES [/P pathname] [/M searchmask] [/S] 描述: 选择一个文件(或一组文件)并在那个文件上 执行一个命令。这有助于批处理作业。参数列表: /P pathname表示开始搜索的路径。默认文件夹是当前工作的目录(.)。/M searchmask根据搜索掩码搜索文件。默认搜索掩码是'*'。 /S指导forfiles递归到子目录。像"DIR /S"。 默认命令是"cmd /c echo @file"。下列变量可以用在命令字符串中: @file -返回文件名。 @fname -返回不带扩展名的文件名。 @ext -只返回文件的扩展。 @path -返回文件的完整路径。

相关主题
文本预览
相关文档 最新文档