rman备份(教程与案例)
通过RMAN备份Oracle数据库恢复到其他服务器(案例)
通过RMAN备份Oracle数据库恢复到其他服务器(案例)通过RMAN备份Oracle数据库恢复到其他服务器(案例)本节演示如何通过RMAN创建的备份集,将数据库恢复到其他服务器。
本小节执行的操作较多,一定要有一个清醒的大脑,因此赶紧把脑袋里那堆乱七八糟的东西清除清除,要不你一定会看晕的。
设定环境如下:源库192.168.100.100,SID:orcdb。
目录库192.168.100.101,已安装与源库相同版本的数据库软件(一定要相同版本哟)。
准备工作如下:记录下源数据库的DBID,DBID的获取方式上节已讲过。
创建完整备份集(含控制文件、数据文件、归档文件),源库为非归档模式也可以,只要确保创建的备份是一致备份,然后将备份集复制到目标服务器的相同路径下。
为简单起见,源端与目标端目录结构保持一致。
如果你在测试或正式操作时由于实际原因无法保持源端与目标端结构一致,在恢复过程中注意修改相关路径。
操作步骤如下:注意,下列操作如非特别注明,均是在目标端服务器上进行的。
1.在源库端创建数据库的完整备份Backup database;备份集创建成功之后,将其复制到目录端的相同路径下,强调一点,必须是相同路径。
复制方式灵活多样,Windows环境可以直接通过共享复制,Linux/UNIX下可以通过FTP。
2.在目标服务器上创建OracleService如果是Linux/UNIX环境,不需要执行本步骤,只要在连接数据库时指定ORACLE_SID环境变量即可。
如果是Windows服务器,需要通过ORADIM命令创建一个OracleService,创建的SID要与源库相同,操作如下:1. C:\Documents and Settings\Administrator>ORADIM -NEW -SID orcdb2. Instance created.上述命令创建了一个名为orcdb的OracleService。
Rman备份步骤
1.恢复管理器(Recovery Manager,RMAN)是一个与操作系统无关的数据库备份工具,可以跨越不同的操作系统进行数据库备份。
RMAN必须运行在一个数据库上。
与常用的数据库备份、逻辑数据库备份不同,RMAN使用数据库对数据库进行备份的原理。
在RMAN中,可以使用COPY命令将数据库文件复制到磁盘或磁带上,也可以用BACKUP命令对整个数据库、一个指定的表空间、控制文件、日志文件进行备份。
上面写的哪些东西估计也没有什么用下面说说怎么用那些东西首先要创建恢复目录(recobery catalog)只有建立了目录,rman才能重目录数据库文件中工作呀1.先要创建恢复目录数据库可以通过企业管理器建立包括系统表空间,rbs表空间,临时表空间,日志文件设置,catalog表空间,2 创建rman用户SQL>Create user rman identifiey by rman default tablespace cattbs temporary tablespace temp;SQL>Grant connect,resource to rman;SQL>Grant recovery_catalog_owner to rman;3 创建恢复目录$rman catalogRMAN>create catalog; 创建个目录很简单哈哈然后开始配置rman通道先说什么是通道RMAN在执行数据库备份与恢复操作时,都要使用操作系统进程,启动操作系统进程是通过分配通道来实现的,每分配一个通道RMAN启动一个服务器进程。
手动分配通道Run {Allocate channel ora_sbt_1 device type sbt rate 200k; #rate限定通道的传输速率/秒Allocate channel ora_sbt_2 device type sbt rate 500k; # ora_sbt_2通道名可任意取Backup(tablespace system,users channel ora_sbt_1)(tablespace example channel ora_sbt_2); }自动通道配置在RUN外部使用backup,restore,delete命令,或在RUN中使用这些命令但未定义通道时RMAN自动使用自动通道配置。
简单易懂的linux下oracle数据库备份方法
简单易懂的linux下oracle数据库备份方法在Linux环境下,对Oracle数据库进行备份是一项至关重要的工作,以确保数据的安全性和完整性。
下面将为您介绍一种简单易懂的Oracle数据库备份方法。
一、准备工作1.确保已安装Oracle数据库,并正确配置环境变量。
2.确保有足够的权限(如:dba权限)进行数据库备份操作。
3.了解数据库的名称、表空间等信息,以便进行正确的备份。
二、备份方法1.使用RMAN工具进行备份RMAN(Recovery Manager)是Oracle提供的一个强大的备份和恢复工具。
以下是一个简单的RMAN备份示例:a.连接到目标数据库:```rman target /```b.使用RMAN进行备份:```backup database;```这将备份整个数据库,包括控制文件和归档日志。
c.退出RMAN:```exit;```2.使用Oracle SQL命令进行备份a.使用SQL*Plus连接到目标数据库:```sqlplus / as sysdba```b.使用SQL命令备份整个数据库:```alter database backup controlfile to trace;```这将生成控制文件的备份脚本。
c.使用SQL命令备份表空间:```backup tablespace <表空间名称> to disk;```这将备份指定的表空间。
d.退出SQL*Plus:```exit;```三、备份文件的存储1.将备份文件存储在安全的磁带上或磁盘上。
2.建议将备份文件存储在不同的物理位置,以防止数据丢失。
四、定期检查备份1.定期检查备份文件是否完整、可用。
2.定期进行恢复测试,以确保备份的有效性。
通过以上步骤,您已经了解了一种简单易懂的Linux下Oracle数据库备份方法。
项目组Rman备份参考
由于目前项目组没有完整备份方案,目前提供一个初步备份方案给项目组作为参考。
Rman备份方案备份目标:保证备份数据可以恢复到最近一个月的任意时间点上。
备份策略:每个星期做一次完全备;每天做一次当天归档日志的备份,即只备份当天数据库发生变化的数据;当需要时(如不到二十四个小时归档文件系统就要满了)备份归档文件。
备份存储空间:计划足够的存储空间,计算公式:全备份大小*9+每天归档日志备份*31。
Rman备份步骤与脚本参考(不能直接使用,需要先测试!)1.定时设置。
在Linux/UNIX下,通过crontab来制定定时任务,以下示例来自Linux生产环境(unix类似):[oracle@localhost ~]$ crontab -l# start rman backup on 1:00 every day0 1 * * 0-6 /oracle/rman/start_rman.sh2.备份调度脚本。
本例通过start_rman.sh脚本进行调用执行,此脚本执行前先调用执行Oracle用户的环境变量,以获得执行环境:[oracle@localhost rman]$ cat start_rman.sh. /opt/oracle/.bash_profileSH_HOME=/oracle/rmanexport SH_HOMEDATE='date +"%Y%m%d"'week='date +"%w"'# confirm whether the oracle is runningps -ef|grep dbw0_$ORACLE_SID |grep -v grep >>/dev/null# begin to backupif [ $? -eq 0 ]; thenif [ $week = "0" ]||[ $week = "3"]; thenrman target / @$SH_HOME/fullback.sql log=$SH_HOME/logs/rmanfullback'date +"%Y%m%d"'.logelserman target / @$SH_HOME/archback.sql log=$SH_HOME/logs/rmanarchback'date +"%Y%m%d"'.logfifi备份在每周三和日执行全备份,其余每天执行归档日志的备份。
RMAN备份实施方法
RMAN备份实施方法RMAN备份实施操作1.硬件环境与软件环境1、硬件环境:p5952、软件环境:AIX6.1 x86_64+Oracle 10g(10.1.0.1) RAC注意:RAC环境下只需在一个节点上执行备份操作即可。
2.修改非归档模式为归档模式使用Rman备份最好数据库运行在归档模式下,如果系统运行在非归档模式下,需要修改非归档模式为归档模式。
修改方法如下:(一)关闭数据库。
关闭之前备份已有的数据,改变数据库的运行方式是对数据库的重要改动,所以要对数据库做备份,对可能出现的问题作出保护。
(二)修改初试化参数,使能自动存档,修改(添加)初始化文件init[SID].ora参数:log_archive_start=true #启动自动归档log_archive_format=ARC%T%S.arc #归档文件格式log_archive_dest=/arch12/arch #归档路径(三)启动Instance到Mount状态,即加载数据库但不打开数据库:$>sqlplus /nologSVRMGRL >conn / as sysdbaSQL > startup mount(四)发出修改命令SQL >alter database archivelog;SQL >alter database open;3.Rman备份模式增量备份的级别是一个0到4之间的整数。
增量备份有两种类型:差异型和累积型。
差异备份拷贝最近进行的同级或低级增量备份以来所有改变的数据块。
当备份命令中使用了incremental关键字时,则默认使用差异备份作为增量备份的方式。
累积备份拷贝最近低级别增量备份以来的所有改变的数据块。
4.备份策略和备份脚本备份策略:周日进行一次全局备份,每天进行一次增量备份。
备份文件保留n天,系统自动删除n天前备份内容。
如果是迁移操作,可不必关系该内容。
如果执行rman备份,备份到本地服务器,可以在本地服务器建立备份空间(备份空间要足够大,需要估算备份后的空间大小,避免备份因为空间不足,造成备份无法完成),空间路径为:/database_backup/ (后面执行脚本里红色部分内容,可以根据情况自己设定)。
RMAN备份全攻略
RMAN备份流程V3.02016年02月02日目录一、备份集信息 (5)1.1列出备份集信息 (5)1.2删除备份集信息 (5)二、备份操作 (6)2.1RMAN登陆 (6)2.2备份参数 (6)2.3备份命令 (8)2.4全备份操作 (9)2.5单备份操作 (13)2.6磁带库 (14)三、恢复操作 (15)3.1预恢复操作 (15)3.2全库恢复 (15)3.3恢复参数文件 (17)3.4恢复数据文件 (18)3.5基于条件的恢复 (18)3.6基于控制文件的恢复 (20)3.7恢复日志文件 (23)3.8异机恢复案例 (23)四、镜像拷贝 (26)4.1生成镜像 (26)4.2合并增量备份与映像副本 (26)五、备份策略 (27)5.1差异备份 (27)5.2累计备份 (27)5.3增量备份方案 (28)5.4备份级别 (28)六、CATALOG (30)6.1使用恢复目录 (30)6.2catalog 的创建和使用 (30)6.3基于恢复目录的备份 (30)七、OS COPY恢复 (33)7.1主库 (33)7.2备库 (34)7.3修改pfile文件 (34)7.4启动备库 (35)八、RMAN RESTORE恢复 (36)8.1主库 (36)8.2备库 (37)8.3修改pfile文件 (39)8.4启动备库 (39)九、RMAN COPY恢复 (41)9.1主库 (41)9.2备库 (42)9.3修改pfile文件 (42)9.4启动备库 (43)十、Duplicate副本数据库 (45)10.1简介 (45)10.2RMAN同机克隆 (47)10.3RMAN克隆日志解析 (50)一、备份集信息1.1列出备份集信息1.2删除备份集信息二、备份操作2.1R MAN登陆rman的链接方式:连接到目标数据库:rman\>connect target user/pwd@db_name注意:1、connect不能简写为conn2、连接USER必须具备SYSDBA权限3、连接的db_name必须在tnsnames.ora中有配置,且有效(即通过SQLPLUS可以连接)4、target database 必须为archivelog 模式5、如果是本地可以采用OS认证,如果是远程需要使用密码文件认证。
Windows下如何利用RMAN将数据库备份其他计算机的硬盘上
Windows下如何利用RMAN将数据库备份其他计算机的硬盘上Windows下如何利用RMAN将数据库备份其他计算机的硬盘上因生产数据库比较大,硬盘空间所剩不多,如果用RMAN备份,无法将数据存放在本机计算机,故需将数据备份到网络上另一台计算机的硬盘上(目录数据库的硬盘),做法如下.环境: 生产数据库SID : ORA目录数据库SID : Backup存放备份数据的路径: \\backup\backup1.将两台计算机administrator的密码都改成admin2.将目标数据库的数据库Service及listener的service启动用户由local systemaccount改为administrator3.Shutdown目标数据库4.重新启动目标数据库的Service及listener的service5.Startup 目标数据库以下是简单的测试过程C:\>rman target sys/oracle@oraRecovery Manager: Release 10.2.0.1.0 - Production on Wed Feb 14 14:21:11 2007 Copyright (c) 1982, 2005, Oracle. All rights reserved.connected to target database: ora (DBID=1200029802)RMAN> connect catalog rman/rman@backup;connected to recovery catalog databaseRMAN> run{2> allocate channel c1 type disk;3> backup datafile 5 format='\\backup\backup\test\%n_%f_%s.dbf';4> }allocated channel: c1channel c1: sid=1645 devtype=DISKStarting backup at 14-FEB-07channel c1: starting full datafile backupsetchannel c1: specifying datafile(s) in backupsetinput datafile fno=00005 name=E:\TOOLS\TOOLS01.DBFchannel c1: starting piece 1 at 14-FEB-07channel c1: finished piece 1 at 14-FEB-07piece handle=\\backup\BACKUP\TEST\LCZHISXX_5_2.DBF tag=TAG20070214T142155 comment=NONEchannel c1: backup set complete, elapsed time: 00:00:03Finished backup at 14-FEB-07released channel: c1测试完毕!。
RMAN完全备份
RMAN完全备份RMAN完全备份1 概念1)recover恢复: ①归档模式:完全恢复和不完全恢复 ②⾮归档模式:只能还原到最后⼀次备份状态(restore)2)执⾏rman备份脚本先对数据库做⼀个备份(如果是archived模式可以做热备)3)实现完全恢复,需要⾃备份以来的归档⽇志和当前⽇志⽂件完整,保证⽇志的连续性1.1 提前清理表空间,做好全库备份热备脚本vi /u01/backup/rman/hot.sql写⼊:run{allocate channel c1 device type disk;allocate channel c2 device type disk;backup database format '/u01/backup/rman/db_%d_%T_%U.bak' plus archivelog format '/u01/backup/rman/ar_%d_%T_%U.bak'; backup current controlfile format '/u01/backup/rman/ctl_%d_%T_%U.bak';release channel c1;release channel c2;}2 【实战案例1】 system表空间损坏,使⽤EM的DRA恢复此实验在上⼀节处已有3 【实战案例2】恢复表空间到新路径(数据库open状态)因⾮关键数据⽂件介质损坏,需要将其表空间恢复到⼀个新的物理位置3.1 环境准备:创建表、插⼊数据create table scott.t1 (id number);insert into scott.t1 values(10);insert into scott.t1 values(20);insert into scott.t1 values(30);commit;conn /as sysdbaalter system checkpoint;select*from scott.t1;查看t1表所存在表空间select table_name,tablespace_name from dba_tables where table_name='T1';3.2 模拟users表空间损坏,删除数据⽂件rm /u01/app/oracle/oradata/ORCL/users01.dbf3.3 清除缓存,查证访问数据⽂件失败清除后session要重新登录,实验中为防备rman登录不正常,可以尝试先做个检查点切换alter system flush buffer_cache;select*from scott.t1;3.4 创建新⽬录假设介质损坏了,更换需要时间,先把数据⽂件恢复到⼀个新的⽬录下(不同的物理位置)mkdir -p /u01/tempfile/ORCL3.5 使⽤RMAN恢复表空间run{sql 'alter database datafile 7 offline';set newname for datafile 7to'/u01/tempfile/ORCL/users01.dbf';restore tablespace users;switch datafile 7;recover tablespace users;sql 'alter database datafile 7 online';}说明: ① set newname for告诉RMAN还原数据⽂件的新位置在哪⾥。
Rman备份完整版
备份:1.对数据库进行全备份(使用backup database命令执行备份)1.1.登录RAMN:1.2.执行backup database命令:1.3.查看备份文件:2.备份表空间2.1.查询数据库版本信息2.2.查看数据库归档模式2.3.备份users表空间2.4.查看备份的表空间3.备份数据文件3.1.通过数据字典查看表空间对应的数据文件和编号3.2.通过backup datafile备份指定序号的数据文件3.3.查看指定数据文件的备份4.备份控制文件4.1.备份方式一:自动备份4.1.1.通过configure命令将controlfile autobackup设置为on,然后以后用rman做任何备份操作时,都会对控制文件做备份4.2.备份方式二:手动备份4.2.1.执行备份命令查看backup current controlfile备份的文件或者:查看backup database include current controlfile备份的文件:5.备份归档日志文件5.1.方式一:使用backup archivelog all命令查看备份结果:5.2.方式二:在BACKUP过程中利用PLUS ARCHIVELOG参数备份这个在备份数据库的同时自动对所有归档文件进行备份。
这种方式与上种有什么区别呢,区别太明显了,BACKUP.....PLUS ARCHIVELOG 命令在备份过程中会依次执行下列步骤: 1>. 运行ALTER SYSTEM ARCHIVE LOG CURRENT 语句对当前redolog 进行归档。
2>. 执行BACKUP ARCHIVELOG ALL 命令备份所有已归档日志。
3>. 执行BACKUP 命令对指定项进行备份。
4>. 再次运行ALTER SYSTEM ARCHIVE LOG CURRENT 对当前redolog 归档。
5>. 对新生成的尚未备份的归档文件进行备份。
RMAN的备份与恢复步骤详解
RMAN的备份与恢复步骤详解RMAN(Recovery Manager)是Oracle数据库备份和恢复技术的核心工具,提供了一种集中管理和自动化备份和恢复操作的方式。
下面将详细介绍RMAN的备份与恢复步骤。
备份步骤:1.配置RMAN环境:确定RMAN备份目标、备份库、目标库的连接信息,并设置环境变量。
2.创建RMAN备份目标:使用CREATECATALOG命令创建RMAN备份目标,以存储备份信息和恢复目标的元数据。
3.创建备份策略:确定备份类型(完全备份、增量备份、增量备份级别等),备份周期(每日、每周)、备份级别(全局备份、局部备份)以及备份介质(磁盘、磁带)等。
4.执行备份命令:使用BACKUP命令执行备份操作。
根据备份策略选择相应的备份类型,并指定备份集的存储位置。
可以使用全量备份、增量备份或归档日志备份等方式进行备份。
5.备份验证和测试:使用RESTORE命令验证备份集是否可恢复。
可以恢复到测试库中,检查数据的完整性以及备份恢复的过程和时间。
恢复步骤:1.准备恢复环境:确定系统状态,关闭数据库、归档日志模式,备份控制文件,以备份增量恢复,恢复目标数据库的连接信息,并设置环境变量。
2.恢复控制文件:将备份的控制文件还原到指定位置,以获取数据库的结构信息。
3.恢复数据库文件:使用RESTORE命令恢复需要的数据文件。
可以选择完全恢复(使用全量备份和归档日志进行恢复)、增量恢复(使用增量备份和归档日志进行恢复)或点恢复(使用时间点或SCN号进行恢复)的方式。
4.打开数据库:使用OPENRESETLOGS命令打开数据库,恢复数据库文件到最新的状态。
5.检查恢复结果:验证恢复后数据库的完整性和一致性。
使用相应的SQL语句检查数据的正确性、索引的可用性和对象的有效性。
常见问题处理:1.恢复失败的处理:RMAN提供了很多失败后的处理命令,比如RECOVER命令来恢复损坏的数据文件,CROSSCHECK命令来检查备份文件的完整性等。
oracle使用RMAN备份数据库
一.使用RMAN备份数据库1.RMAN的初次配置RMAN需要一个Oracle数据库作为管理库,可和目标服务器库安装在同一服务器上。
在Rman用的专用库不能是其要备份的目标数据库,因为如果目标数据库损坏,Rman的备份信息也就没有了。
Rman专用库运行模式可以是归档模式,也可以是非归档模式。
假设Rman的数据库为RMANDB,1)启动RMANDB,在任何安装了Oracle10g的客户端用sqlplus工具,sys用户(AS SYSDBA)登陆,然后运行以下命令(注释不要):/* 建立专用表空间*/create tablespace rman_ts datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\PK119\rman_ts.dbf' size 50M;/* 建立用户rman */create user rman identified by rman default tablespace rman_ts temporary tablespace temp quota unlimited on rman_ts;/* 给用户赋予权限*/grant recovery_catalog_owner to rman ;grant connect, resource to rman ;GRANT "RECOVERY_CA TALOG_OWNER" TO "RMAN" WITH ADMIN OPTION;ALTER USER "RMAN" DEFAULT ROLE ALL2)在客户端的命令行窗口运行:D:\>rman catalog rman/rman@RMANDB此时会提示:连接到恢复目录数据库未安装恢复目录也可以用以下命令直接连接上目录数据库和目标数据库:D:\>rman target rman/rman@PK119 catalog rman/rman@RMANDB继续:# 第一次需要创建恢复目录,创建后不必要再创建RMAN> create catalog恢复目录已创建。
RMAN详细教程(四):备份脚本实战操作
RMAN详细教程(四):备份脚本实战操作1、为了安全起见,先将数据库完全导出:exp ⽤户名/密码@ORACLE file=/backup/ecology_$(date '+%Y%m%d').dmp full=y;2、因为是数据库操作,所以应切换成Oracle⽤户:su - oracle3、检查数据库是否打开归档模式,如否,则打开SQLPLUS执⾏以下命令:archive log list;alter system set log_archive_dest_n='location=/u01/backupws ';shutdown immediate;startup mount;alter database archivelog;alter database open;4、将rman脚本⽂件放置到backup_sh⽬录下:(1)全库备份(⼀周三次)rman_ecology_all.shrun {allocate channel a1 device type disk format '/backup/ecology_all_%T_%u';allocate channel a2 device type disk format '/backup/ecology_all_%T_%u';backup database skip offline plus archivelog delete all input;backup current controlfile;release channel a1;release channel a2;}allocate channel for maintenance device type disk;delete obsolete;crosscheck backupset;(2)归档⽇志备份(⼀周四次)rman_ecology_arc.shrun {allocate channel b1 device type disk format '/backup/ecology_arc_%T_%u';allocate channel b2 device type disk format '/backup/ecology_arc_%T_%u';backup archivelog all;backup current controlfile;release channel b1;release channel b2;}allocate channel for maintenance device type disk;crosscheck backupset;5、编写RMAN脚本的运⾏脚本:mkdir -p /backup/ # 创建⽬录(-p表⽰不存在则新建,若存在则忽略)touch run_rman_ecology_all.sh # 创建all运⾏脚本touch run_rman_ecology_arc.sh # 创建arc运⾏脚本vi run_rman_ecology_all.shexport ORACLE_HOME=/u01/app/oracle/product/10.2/db_1export ORACLE_SID=ecology/u01/app/oracle/product/10.2/db_1/bin/rman target / log=/backup/all_ecology_$(date +%F).log cmdfile=/backup_sh/rman_ecology_all.shvi run_rman_ecology_arc.shexport ORACLE_HOME=/u01/app/oracle/product/10.2/db_1export ORACLE_SID=ecology/u01/app/oracle/product/10.2/db_1/bin/rman target / log=/backup/arc_ecology_$(date +%F).log cmdfile=/backup_sh/rman_ecology_arc.sh 6、添加执⾏权限:chmod +x /backup_sh/run_rman_ecology_all.shchmod +x /backup_sh/run_rman_ecology_arc.shPS:需使⽤root⽤户。
rman备份实例说明
启动backup 于27-12月-2006 19:29:49使用通道ORA_DISK_1通道ORA_DISK_1: 启动增量级别1 数据文件备份集通道ORA_DISK_1: 正在指定备份集中的数据文件输入数据文件fno=00001name=D:\ORACLE\PRODUCT\10.1.0\ORADATA\RAILTEST\SYSTEM01.DBF输入数据文件fno=00003name=D:\ORACLE\PRODUCT\10.1.0\ORADATA\RAILTEST\SYSAUX01.DBF输入数据文件fno=00002name=D:\ORACLE\PRODUCT\10.1.0\ORADATA\RAILTEST\UNDOTBS01.DBF输入数据文件fno=00005 name=C:\WINNT\SYSTEM32\TEST02.DBF输入数据文件fno=00004name=D:\ORACLE\PRODUCT\10.1.0\ORADATA\RAILTEST\USERS01.DBF通道ORA_DISK_1: 正在启动段1 于27-12月-2006 19:29:50通道ORA_DISK_1: 已完成段1 于27-12月-2006 19:30:05段handle=F:\BACKUP\RAILTEST_LEVEL1_20061227_1VI6195D_1_1 comment=NONE通道ORA_DISK_1: 备份集已完成, 经过时间:00:00:16通道ORA_DISK_1: 启动增量级别1 数据文件备份集通道ORA_DISK_1: 正在指定备份集中的数据文件备份集中包括当前控制文件在备份集中包含当前的SPFILE通道ORA_DISK_1: 正在启动段1 于27-12月-2006 19:30:06通道ORA_DISK_1: 已完成段1 于27-12月-2006 19:30:09段handle=F:\BACKUP\RAILTEST_LEVEL1_20061227_20I6195T_1_1 comment=NONE通道ORA_DISK_1: 备份集已完成, 经过时间:00:00:04瓿?backup 于27-12月-2006 19:30:09 4/v/b/26791397-1320045357.html/api/sinawebApi/outplayrefer.php/vid=26791397_13 20045357/s.swf在手工备份恢复的操作中,介绍了如何使用操作系统命令拷贝整个文件,拷贝的文件包括数据文件、控制文件和归档日志文件,然年后使用这些文件还原并恢复PRACTICE数据库。
oracle中rman备份语句及详细分析
Rman备份语句实例及详细分析采用下面语句备份可以基本保证一个小型数据库的备份需求。
1rman备份语句实例和详解RUN {CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;CONFIGURE CONTROLFILE AUTOBACKUP ON;CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'f:/oracle数据库备份/%F';ALLOCATE CHANNEL CH1 DEVICE TYPE DISK FORMAT 'f:/oracle数据库备份/%U';BACKUP DATABASE SKIP INACCESSIBLE FILESPERSET 10PLUS ARCHIVELOG FILESPERSET 20DELETE ALL INPUT;RELEASE CHANNEL CH1;}ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK;CROSSCHECK BACKUPSET;DELETE NOPROMPT OBSOLETE;--将备份保留7天,过期则自动删除。
--控制文件自动备份--设置控制文件在磁盘上控制路径和格式。
%F:一个基于DBID 唯一的名称,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII 为该数据库的DBID,YYYYMMDD 为日期,QQ 是一个1-256 的序列;--设置通道的路径及格式。
%U:是%u_%p_%c的简写形式,利用它可以为每一个备份片段(即磁盘文件)生成一个唯一名称,这是最常用的命名方式;%u:是一个由备份集编号和建立时间压缩后组成的8字符名称。
利用%u可以为每个备份集生成一个唯一的名称;%p:表示备份集中备份片段的编号,从1 开始编号;%c:备份片的拷贝数(从1开始编号);--分配通道,自动备份归档日志。
rman常用命令
rman常用命令摘要:一、RMAN 简介二、RMAN 常用命令分类1.备份命令2.还原命令3.恢复命令4.镜像命令5.管理命令三、RMAN 命令使用案例1.备份案例2.还原案例3.恢复案例4.镜像案例5.管理案例正文:RMAN(Recovery Manager)是Oracle 数据库中一款强大的数据备份和恢复工具。
它能够提供全面的数据保护,确保数据的安全性和完整性。
在实际应用中,掌握RMAN 的常用命令是进行数据库管理工作的基本要求。
本文将详细介绍RMAN 的常用命令,并通过实际案例演示如何应用这些命令。
一、RMAN 简介RMAN 是Oracle 数据库自带的一款备份和恢复工具,相较于传统的备份工具,如cp、tar 等,RMAN 具有更强大的功能,能够实现数据库的在线备份、自动备份、数据恢复等多种操作。
二、RMAN 常用命令分类下面我们将详细介绍RMAN 的常用命令,并根据功能将其分类。
1.备份命令RMAN 提供了一系列备份命令,用于对数据库、表空间、数据文件等进行备份。
常用的备份命令有:- backup database plus archivelog- backup database plus archivelog all- backup database plus archivelog incremental- backup database plus archivelog differential2.还原命令RMAN 的还原命令用于将备份的数据恢复到数据库中。
常用的还原命令有:- recover database- recover database until point- recover database plus archivelog- recover database plus archivelog until point3.恢复命令恢复命令用于将数据库恢复到某一特定时刻的状态。
常用的恢复命令有:- reset database- reset database plus archivelog- mount database- open database4.镜像命令RMAN 的镜像命令用于创建数据库的镜像副本。
RMAN地备份与恢复步骤详解
RMAN地备份与恢复步骤详解RMAN(Recovery Manager)是Oracle数据库中用于备份和恢复数据的工具。
RMAN提供了一种灵活、高效的备份和恢复机制,可以帮助数据库管理员有效地管理数据库的备份和恢复工作。
在本文中,我们将详细介绍RMAN备份与恢复的步骤和操作方法。
备份步骤:1.配置RMAN环境:在开始进行RMAN备份之前,首先需要配置RMAN环境。
这包括设置RMAN的环境变量、创建RMAN的配置文件以及配置RMAN的连接信息等操作。
您可以使用RMAN命令行或者RMAN配置助手来完成这些操作。
2.创建备份任务:在配置好RMAN环境之后,可以通过RMAN命令行或者RMAN配置助手来创建备份任务。
您可以选择全量备份、增量备份或者归档日志备份等不同类型的备份任务。
3. 执行备份任务:一旦创建了备份任务,就可以使用RMAN命令来执行备份任务。
您可以使用“backup database”命令来执行全量备份任务,使用“backup incremental”命令来执行增量备份任务,使用“backup archivelog”命令来执行归档日志备份任务等。
4. 监控备份过程:在执行备份任务的过程中,可以使用RMAN命令来监控备份的进度和状态。
您可以使用“show”命令来查看备份任务的进度、使用“list”命令来列出备份文件的信息等。
5. 完成备份任务:一旦备份任务执行完毕,可以使用RMAN命令来验证备份文件的完整性和一致性。
您可以使用“crosscheck”命令来验证备份文件的状态,使用“delete”命令来删除过期的备份文件等。
恢复步骤:1.配置RMAN环境:在开始进行RMAN恢复之前,需要先配置好RMAN的环境。
确保RMAN的环境变量、配置文件和连接信息都已经设置好。
2. 恢复数据库:如果数据库遇到了故障或者数据丢失的情况,可以使用RMAN命令来恢复数据库。
您可以使用“restore database”命令来还原数据库的备份文件,使用“recover database”命令来恢复数据库的数据文件。
oracle—rman备份使用方法
RMAN(Recovery Manager)是Oracle数据库的备份和恢复工具,提供了强大的备份、恢复和数据库复制功能。
以下是使用RMAN进行备份的基本步骤:
1. 连接到 RMAN:
通过命令行或脚本连接到 RMAN。
在命令行中输入:
这会使用操作系统认证连接到默认的本地数据库实例。
2. 设置备份配置参数:
在 RMAN 中,您可以设置各种备份配置参数,例如备份类型、备份目标、备份文件位置等。
以下是一个设置备份参数的示例:
这将启用自动备份控制文件和配置备份文件的保存路径。
3. 执行备份:
执行备份命令以创建数据库备份。
以下是创建全库备份的示例:
您还可以根据需要选择性地备份表空间、数据文件等。
4. 查看备份:
您可以使用以下命令查看备份信息:
这将显示当前配置的备份。
5. 恢复数据库:
如果需要进行恢复,您可以使用 RMAN 执行还原和恢复操作。
以下是一个简单的例子:
这将还原数据库文件并应用必要的日志以完成数据库的恢复。
6. 退出 RMAN:
完成备份和恢复操作后,使用以下命令退出 RMAN:
这是一个基本的 RMAN 备份和恢复过程。
请注意,在实际环境中,您可能需要根据数据库的具体要求和策略进行更复杂的备份和恢复配置。
请参考 Oracle 官方文档以获取更详细的信息和高级用法。
RMAN备份步骤及更改备份模式
1 1237603294
1 row selected.
3. 运行过程dbms_rcvcat.unregisterdatabase注销数据库,如
SQL> EXECUTE dbms_rcvcat.unregisterdatabase(1 , 1237603294)
RMAN> change archivelog all crosscheck;
RMAN>release channel;
当手工删除了数据库的RMAN备份后,要执行以下脚本来同步
RMAN>allocate channel for maintenance type disk;
RMAN>crosscheck backup;
如果目标数据库物理对象发生了变化,如添加了一个数据文件,需要用如下命令同步:
RMAN>resync catalog;
如果目标数据库reset了数据库,需要用如下命令同步
RMAN>reset database;
当手工删除了数据库的归档文件后,要执行以下脚本同步
RMAN>allocate channel for maintenance type disk;
1.SQL> shutdown immediate;
2.SQL> startup mount;
3.SQL> alter database archivelog;
4.SQL> alter database open;
现在已经改成归档模式了
恢复
1.使用命令“svrmgrl”调用行方式服务器管理;
完整的oracle rman备份恢复的例子
完整的oracle rman备份恢复的例子作者:zhumy1、建rman库作为repository$more createrman_db1.shset echo onspool makedb1.logcreate database rmandatafile '/export/home/oracle/oradata/rman_data/system.dbf' size 50m autoextendon next 640Klogfile '/export/home/oracle/oradata/rman_data/redo0101.log' SIZE 10M,'/export/home/oracle/oradata/rman_data/redo0201.log' SIZE 10Mmaxdatafiles 30maxinstances 8maxlogfiles 64character set US7ASCIInational character set US7ASCII;disconnectspool offexit@/export/home/oracle/8.1.6/rdbms/admin/catalog.sql;REM ********** ALTER SYSTEM TABLESPACE *********ALTER TABLESPACE SYSTEMDEFAULT STORAGE ( INITIAL 64K NEXT 64K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 50);ALTER TABLESPACE SYSTEMMINIMUM EXTENT 64K;REM ********** TABLESPACE FOR ROLLBACK **********CREATE TABLESPACE RBS DATAFILE '/export/home/oracle/oradata/rman_data/rbs.dbf' size 50mAUTOEXTEND ON NEXT 512KMINIMUM EXTENT 512KDEFAULT STORAGE ( INITIAL 512K NEXT 512K MINEXTENTS 10 MAXEXTENTS UNLIMITED PC TINCREASE 0 );REM ********** TABLESPACE FOR TEMPORARY **********CREATE TABLESPACE TEMP DATAFILE '/export/home/oracle/oradata/rman_data/temp.dbf'size 50mAUTOEXTEND ON NEXT 64KMINIMUM EXTENT 64KDEFAULT STORAGE ( INITIAL 64K NEXT 64K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0) TEMPORARY;REM **** Creating four rollback segments ****************CREATE PUBLIC ROLLBACK SEGMENT RBS_0 TABLESPACE RBSSTORAGE ( OPTIMAL 64000K );ALTER ROLLBACK SEGMENT "RBS_0" ONLINE;REM **** SYS and SYSTEM users ****************alter user sys temporary tablespace TEMP;alter user system temporary tablespace TEMP;disconnectspool offexit$more createrman_db3.shspool crdb3.log@/export/home/oracle/8.1.6/rdbms/admin/catproc.sql@/export/home/oracle/8.1.6/rdbms/admin/caths.sql@/export/home/oracle/8.1.6/rdbms/admin/otrcsvr.sql connect system/manager@/export/home/oracle/8.1.6/sqlplus/admin/pupbld.sqldisconnectspool offexit2、建repository存放的表空间和rman用户$more createrman_db4.shconnect internalcreate tablespace rman_tsdatafile '/export/home/oracle/oradata/rman_data/rman_ts.dbf' size 20M default storage (initial 100K next 100K pctincrease 0); create user rman_hainan identified by rman_hainan temporary tablespace TEMPdefault tablespace rman_ts quota unlimited onrman_ts;grant recovery_catalog_owner to rman_hainan;grant connect ,resource to rman_hainan;3、建catalog,注册目标数据库$more createrman_db5.shrman catalog rman_hainan/rman_hainan@rman msglog=rman.logcreate catalog ;exit;rman target sys/oracle@db1connect catalog rman_hainan/rman_hainan@rmanregister database;exit;4、可以开始做备份了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ORACLE备份策略(ORACLE BACKUP STRATEGY)第一章. 概要1、了解什么是备份2、了解备份的重要性3、理解数据库的两种运行方式4、理解不同的备份方式及其区别5、了解正确的备份策略及其好处第二章. 了解备份的重要性可以说,从计算机系统出世的那天起,就有了备份这个概念,计算机以其强大的速度处理能力,取代了很多人为的工作,但是,往往很多时候,它又是那么弱不禁风,主板上的芯片、主板电路、内存、电源等任何一项不能正常工作,都会导致计算机系统不能正常工作。
当然,这些损坏可以修复,不会导致应用和数据的损坏。
但是,如果计算机的硬盘损坏,将会导致数据丢失,此时必须用备份恢复数据。
其实,在我们的现实世界中,已经就存在很多备份策略,如RAID技术,双机热备,集群技术发展的不就是计算机系统的备份和高可用性吗?有很多时候,系统的备份的确就能解决数据库备份的问题,如磁盘介质的损坏,往往从镜相上面做简单的恢复,或简单的切换机器就可以了。
但是,上面所说的系统备份策略是从硬件的角度来考虑备份与恢复的问题,这是需要代价的。
我们所能选择备份策略的依据是:丢是数据的代价与确保数据不丢失的代价之比。
还有的时候,硬件的备份有时根本满足不了现实需要,假如你误删了一个表,但是你又想恢复的时候,数据库的备份就变的重要了。
ORACLE本身就提供了强大的备份与恢复策略,这里我们只讨论ORACLE备份策略,以下的备份都是指ORACLE数据库备份,恢复将放到下一讲中。
所谓备份,就是把数据库复制到转储设备的过程。
其中,转储设备是指用于放置数据库拷贝的磁带或磁盘。
能够进行什么样的恢复依赖于有什么样的备份。
作为DBA,有责任从以下三个方面维护数据库的可恢复性:·使数据库的失效次数减到最少,从而使数据库保持最大的可用性;·当数据库不可避免地失效后,要使恢复时间减到最少,从而使恢复的效率达到最高;·当数据库失效后,要确保尽量少的数据丢失或根本不丢失,从而使数据具有最大的可恢复性。
灾难恢复的最重要的工作是设计充足频率的硬盘备份过程。
备份过程应该满足系统要求的可恢复性。
例如,如果数据库可有较长的关机时间,则可以每周进行一次冷备份,并归档重做日志,对于24*7的系统,或许我们考虑的只能是热备份。
如果每天都能备份当然会很理想,但要考虑其现实性。
企业都在想办法降低维护成本,现实的方案才可能被采用。
只要仔细计划,并想办法达到数据库可用性的底线,花少量的钱进行成功的备份与恢复也是可能的。
第三章. 了解ORACLE的运行方式ORACLE数据库有两种运行方式:一是归档方式(ARCHIVELOG),归档方式的目的是当数据库发生故障时最大限度恢复数据库,可以保证不丢失任何已提交的数据;二是不归档方式(NOARCHIVELOG),只能恢复数据库到最近的回收点(冷备份或是逻辑备份)。
我们根据数据库的高可用性和用户可承受丢失的工作量的多少,对于生产数据库,强烈要求采用为归档方式;那些正在开发和调试的数据库可以采用不归档方式。
如何改变数据库的运行方式,在创建数据库时,作为创建数据库的一部分,就决定了数据库初始的存档方式。
一般情况下为NOARCHIVELOG方式。
当数据库创建好以后,根据我们的需要把需要运行在归档方式的数据库改成ARCHIVELOG方式。
3.1改变不归档方式为为归档方式1.关闭数据库,备份已有的数据,改变数据库的运行方式是对数据库的重要改动,所以要对数据库做备份,对可能出现的问题作出保护。
2. 修改初试化参数,使能自动存档修改(添加)初始化文件init[SID].ora参数:log_archive_start=true #启动自动归档log_archive_format=ARC%T%S.arc #归档文件格式log_archive_dest=/arch12/arch #归档路径在8i中,可以最多有五个归档路径,并可以归档到其它服务器,如备用数据库(standby database)服务器3.启动Instance到Mount状态,即加载数据库但不打开数据库:$>SVRMGRLSVRMGRL >connect internalSVRMGRL >startup mount4.发出修改命令SVRMGRL >alter database archivelog;SVRMGRL>alter database open;3.2 改变归档状态为不归档状态与以上步骤相同,但有些操作不一样,主要是在以上的b操作中,现在为删除或注释该参数,在d操作中,命令为SVRMGRL >alter database noarchivelog;注意,从归档方式转换到非归档方式后一定要做一次数据库的全冷备份,防止意外事件的发生。
第四章. ORACLE备份的分类简单的按照备份进行的方式,可以分为逻辑备份、冷备份(脱机备份)、热备份(联机备份),其实冷备份与热备份又可以合称为物理备份按照备份的工具,可以分为EXP/IMP备份、OS拷贝、RMAN、第三方工具,如VERITAS 以下我们将从多个角度来说明以上的各种备份方式4.1 EXP/IMP逻辑备份导入/导出是ORACLE幸存的最古老的两个命令行工具了,其实我从来不认为Exp/Imp 是一种好的备份方式,正确的说法是Exp/Imp只能是一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理冲突等中有不小的功劳。
当然,我们也可以把它作为小型数据库的物理备份后的一个逻辑辅助备份,也是不错的建议。
对于越来越大的数据库,特别是TB级数据库和越来越多数据仓库的出现,EXP/IMP 越来越力不从心了,这个时候,数据库的备份都转向了RMAN和第三方工具。
下面我们还是简要介绍一下EXP/IMP的使用。
4.1.1 使用方法Exp parameter_name=valueOr Exp parameter_name=(value1,value2……)只要输入参数help=y就可以看到所有帮助如:C:\>set nls_lang=simplified chinese_china.zhs16gbkC:\>exp -helpExport: Release 8.1.6.0.0 - Production on 星期四4月10 19:09:21 2003(c) Copyright 1999 Oracle Corporation. All rights reserved.通过输入EXP 命令和用户名/口令,您可以在用户/ 口令之后的命令:实例: EXP SCOTT/TIGER或者,您也可以通过输入跟有各种参数的EXP 命令来控制“导出”的运行方式。
要指定参数,您可以使用关键字:格式: 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 输出文件(EXPDA T.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 将传输的表空间列表在没有警告的情况下成功终止导出。
C:\>帮助已经很详细的说明了参数的意义和使用方法,并列举了几个简单的例子,注意的是,从8i开始,已经开始支持数据子集的方法,就是可以指定自己的Where条件,可以从表中导出一行或多行数据。
注意上面的set nls_lang=simplified chinese_china.zhs16gbk,通过设置环境变量,可以让exp的帮助以中文显示,如果set nls_lang=American_america.字符集,那么你的帮助就是英文的了。
增量和累计导出必须在全库方式下才有效,而且,大多数情况下,增量和累计导出并没有想象中的那么有效。
ORACLE从9i开始,不再支持增量导出和累计导出。
4.1.2 表空间传输表空间传输是8i新增加的一种快速在数据库间移动数据的一种办法,是把一个数据库上的格式数据文件附加到另外一个数据库中,而不是把数据导出成Dmp文件,这在有些时候是非常管用的,因为传输表空间移动数据就象复制文件一样快。
关于传输表空间有一些规则,即:·源数据库和目标数据库必须运行在相同的硬件平台上。
·源数据库与目标数据库必须使用相同的字符集。
·源数据库与目标数据库一定要有相同大小的数据块·目标数据库不能有与迁移表空间同名的表空间·SYS的对象不能迁移·必须传输自包含的对象集·有一些对象,如物化视图,基于函数的索引等不能被传输可以用以下的方法来检测一个表空间或一套表空间是否符合传输标准:exec sys.dbms_tts.transport_set_check(…tablespace_name‟,true);select * from sys.transport_set_violation;如果没有行选择,表示该表空间只包含表数据,并且是自包含的。
对于有些非自包含的表空间,如数据表空间和索引表空间,可以一起传输。
以下为简要使用步骤,如果想参考详细使用方法,也可以参考ORACLE联机帮助。
1.设置表空间为只读(假定表空间名字为APP_Data 和APP_Index)alter tablespace app_data read only;alter tablespace app_index read only;2.发出EXP命令SQL>host exp userid=”””sys/password as sysdba”””transport_tablespace=y tablespace=(app_data, app_index)以上需要注意的是·为了在SQL中执行EXP,USERID必须用三个引号,在UNIX中也必须注意避免“/”的使用·在816和以后,必须使用sysdba才能操作·这个命令在SQL中必须放置在一行(这里是因为显示问题放在了两行)3.拷贝数据文件到另一个地点,即目标数据库可以是cp(unix)或copy(windows)或通过ftp传输文件(一定要在bin方式)4.把本地的表空间设置为读写5.在目标数据库附加该数据文件imp file=expdat.dmp userid=”””sys/password as sysdba”””transport_tablespace=y“datafile=(c:\temp\app_data,c:\temp\app_index)”6.设置目标数据库表空间为读写alter tablespace app_data read write;alter tablespace app_index read write;4.1.3 导出/导入与字符集明白ORACLE的多国语言设置,ORACLE多国语言设置是为了支持世界范围的语言与字符集,一般对语言提示,货币形式,排序方式和CHAR,V ARCHAR2,CLOB,LONG字段的数据的显示等有效。