当前位置:文档之家› Linux下Oracle数据库自动备份脚本

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

Linux下Oracle数据库自动备份脚本
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"

exp invest_test2/gkjr123@investtest file=$DATA_DIR/investtest$BAKUPTIME.dmp log=$LOGS_DIR/investtest$BAKUPTIME.log

echo "Delete the file bakup before 15 days..."

rm -rf $DATA_DIR/investtest$DELTIME*.dmp

rm -rf $LOGS_DIR/investtest$DELTIME*.log

echo "Delete the file bakup successfully. "

echo "Bakup completed."

注:红色文字根据具体情况修改修改

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK设置字符集,ZHS16GBK为刚才select 到的字符集

Esc : wq退出

9.修改sh文件执行权限

chmod 777 invest_test_dbbak.sh

10.测试是否可执行

./invest_test_dbbak.sh

Export terminated successfully without warnings.表示导出没有问题,如果有问题,解决

11.添加定时任务

cronttab–e

插入:5923 * * * /home/oracle/investDatabak/shell/invest_test_dbbak.sh

注:时间自行设置,设置规则网上自行搜索

Oracle数据库备份方式

Oracle数据库备份方式 Oracle的内核提供数据库的备份和恢复机制,SQL*DBA按表空间进行数据的备份和恢复。Oracle提供两种方式:备份恢复和向前滚动,保证意外故障恢复数据库的一致性和完整性。 ____1. 备份恢复方式 ____对数据库的某个一致状态建立副本,并储存在介质上脱机保存,以此作为数据库恢复的基础。现以Oracle实用程序Export/Import来介绍备份恢复方式。 ____Export/Import是Oracle提供的两个互补性程序,即卸载和装载。它们既完成数据库与操作系统文件的互为转载,同时可以有效地回收数据库的碎片,提供不同版本间Oracle 数据传送的手段,进行不同用户间的数据传送。 ____Export数据卸载,将数据从Oracle写到指定的操作系统文件进行备份。卸载的对象、内容与数量有三种模式:TABLE MODE(表模式)、USER MODE(用户模式)、FULL DATABASEM ODE(所有数据库模式)。使用方式既可用交互方式,也可采用命令行方式,以"关键字=值" 将所需信息在命令行中逐一描述来进行卸载。Export要求用户具有CONNECT或DBA特权。 ____Import与Export互逆,将操作系统文件重新装载至Oracle数据库中,使用方式如Expo rt。使用者要求具有CONNECT和RESOURCE特权,且可选择部分或全部装入。 ____Export/Import非常方便,系统开销小,它的限制是输出的操作系统文件采用专门的压缩方式存放,仅提供给Import使用。 ____也可采用SQL*PLUS和SQL*LOADER实用工具进行备份。使用SQL*PLUS的SPOOL 命令通过脱机定向输出,使用PLUS格式化结果,形成指定格式的ASCII文件,需要时可用SQL*LOADER 进行加载。它的方便之处是ASCII文件可以编辑,可方便地加载至其他数据库(如FoxPro、Sybase中)。 ____2. 向前滚动方式 ____Oracle提供向前滚动方式,使建立备份后成功的事务不会丢失。恢复的基础是数据库的某个一致性状态(即方式1完成的备份恢复),恢复的依据是存档的重作记录文件。启动重作记录文件方法如下: ____(1) 启动Oracle; ____(2) 连接Oracle:CONNECT SYSTEM/PASSWORD; ____(3) 启动ARCHIVE LOG。 ____出现介质故障时,可用SQL*DBA的RECOVER命令,利用存档的重作记录文件恢复一个或多个表空间。RECOVER命令对DATABASE或TABLASPACE进行恢复。前者要求SQL*DBA START UP已被排斥方式装载且未被打开;后者对无活跃回退段的表空间执行脱机,要求数据库已装载且被打

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)集中式管理 :网络存储备份管理系统对整个网络的数据进行管理。利用集中式管理工具的帮助,系统管理员可对全网的备份策略进行统一管理,备份服务器可以监控所有机器的备份作业,也可以修改备份策略,并可即时浏览所有目录。所有数据可以备份到同备份服

oracle数据库全备份和增量备份

1. 检查数据库模式: sqlplus /nolog conn /as sysdba archive log list (查看数据库是否处于归档模式中) 若为非归档,则修改数据库归档模式。 startup mount alter database archivelog alter database open 2.连接到target数据库 命令:connect target / (connect target system/oracle@ora10g,如果数据库没有起来,也可要直接在rman命令下用startup进行启动数据库) 可以连接到target database.(rman 一边连接到target数据库,另外一边连接到control file(nocatalog mode),control file 中存储rman 的备份信息) 3.用list backupset 命令查看有没有备份 4. 常用备份命令: 备份全库: RMAN> backup database plus archivelog delete input; (备份全库及控制文件、服务器参数文件与所有归档的重做日志,并删除旧的归档日志) 备份表空间: RMAN> backup tablespace system plus archivelog delete input; (备份指定表空间及归档的重做日志,并删除旧的归档日志)_ 备份归档日志: RMAN> backup archivelog all delete input; 1.全库备份(备份数据文件中有数据的,有数据文件,控制文件,归档日志文件,spfile 文件,不备份联机重做日志文件或临时文件) RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON; --控制文件自动备份 RMAN>CONFIGURE DEVICE TYPE DISK PARALLELISM 2 backup type to compressed backupset; --压缩 RMAN> CONFIGURE channel DEVICE TYPE DISK format 'D:\APP\rman\full_%s.bk'; --备份的路径 RMAN>BACKUP DATABASE; --全备份 RMAN>list backup of database; --检查备份信息 RMAN>backup archivelog all delete input; --备份归档日志并删除归档日志 RMAN> list backup of archivelog all; --检查归档日志 2.差异增量备份 RMAN> backup incremental level 0 database; --0级全备份 RMAN> backup incremental level 2 database;--2级备份

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数据库备份详细讲解

Oracle数据库备份详解 ORACLE数据库有两类备份方法。第一类为物理备份,该方法实现数据库的完整恢复,但数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且需要极大的外部存储设备,例如磁带库;第二类备份方式为逻辑备份,业务数据库采用此种方式,此方法不需要数据库运行在归挡模式下,不但备份简单,而且可以不需要外部存储设备。 一、数据库逻辑备份方法 1 导出工具:exp Exp它是操作系统下一个可执行的文件存放目录/ORACLE_HOME/bin exp导出工具将数据库中数据备份压缩成一个二进制系统文件.可以在不同OS间迁移ORACLE数据库的逻辑备份分为三种模式: a. 表模式:导出用户所有表或者指定的表; b. 用户模式:导出用户所有对象以及对象中的数据; c. 整个数据库:导出数据库中所有对象。 1.1 表模式 备份某个用户模式下指定的对象(表)。业务数据库通常采用这种备份方式。 若备份到本地文件,使用如下命令: 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=https://www.doczj.com/doc/3d18819774.html,moninformation,icdmain.serviceinfo,icdmain.dealinfo 若直接备份到磁带设备,使用如下命令: exp icdmain/icd rows=y indexes=n compress=n buffer=65536 feedback=100000 volsize=0 file=/dev/rmt0 log=exp_icdmain_csd_yyyymmdd.log tables=https://www.doczj.com/doc/3d18819774.html,moninformation,icdmain.serviceinfo,icdmain.dealinfo 注:在磁盘空间允许的情况下,应先备份到本地服务器,然后再拷贝到磁带。出于速度方面的考虑,尽量不要直接备份到磁带设备。 1.2 用户模式 备份某个用户模式下的所有对象。业务数据库通常采用这种备份方式。

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数据库备份与恢复实施方案

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数据库备份和恢复操作手册

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数据库的备份方法 1、引言 Oracle数据库的备份方法很多,无论使用那种备份方法,备份的目的都是为了在出现故障后能够以尽可能小的时间和代价恢复系统。比如使用export实用程序导出数据库对象、使用Oracle备份数据库、使用Oracle对称复制、使用Oracle 并行服务器、使用Oracle冷备份、使用Oracle热备份等各种备份方法都有其优缺点、适用的场合和相应的软硬件要求。本文主要就用export实用程序导出数据库对象、Oracle冷备份、Oracle热备份这三种最基本的备份方法进行详细的探讨,分析各自的优缺点和适用的场合,并给出自动执行这些备份方案的脚本文件。 2、三种备份方案的比较 2.1冷备份 冷备份是Oracle最简单的一种备份;执行冷备份前必须关闭数据库;然后使用操作系统实用工具或者第三方工具备份所有相关的数据库文件。 优点:能简单快速地备份。能简单快速地恢复。执行简单。 缺点:必须关闭数据库,不能进行点恢复。 2.2热备份 热备份是当数据库正在运行时进行数据备份的过程。执行热备份的前提是:数据库运行在可归档日志模式。适用于24X7不间断运行的关键应用系统。 优点:备份时数据库可以是打开的。热备份可以用来进行点恢复。初始化参数文件、归档日志在数据库正常运行时是关闭的,可用操作系统命令拷贝。 缺点:执行过程复杂。由于数据库不间断运行,测试比较困难。不能用操作系统实用工具拷贝打开的文件。必须使用Oracle提供的ocopy工具来拷贝打开的文件。热备份可能造成CPU、I/O过载,应在数据库不太忙时进行。 2.3Export导出数据库对象 冷备份和热备份都备份物理数据库文件,因而被称为物理备份。而export备份的是数据库对象,因此被称为逻辑备份。 优点:能执行对象或者行恢复。备份和恢复速度更快。能够跨操作系统平台迁移数据库。数据库可一直运行。 缺点:export并不是冷备份和热备份的替代工具。冷、热备份可保护介质失效。export备份可保护用户或应用错误。 3、冷备份方案的实施 3.1冷备份数据库的步骤 (1)关闭数据库; (2)备份所有相关的数据库文件:初始化参数文件、控制文件(可用select

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的备份与恢复有三种标准的模式,大致分为两大类,备份恢复(物理上的)以及导入导出(逻辑上的),而备份恢复又可以根据数据库的工作模式分为非归档模式(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数据库备份策略——周备份方案

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

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