ORACLE的RMAN备份资料
- 格式:doc
- 大小:35.50 KB
- 文档页数:3
SQL> alter system set db_recovery_file_dest=''; //置空后可以指定控制文件备份路径RMAN> backup database format 'd:\backup\bk_db_%U' plus archivelog;shutdown immediate;startup mount;RMAN> run{2> allocate channel ch1 device type disk;3> allocate channel ch2 device type disk;4> backup database format 'd:\backup\bk_db_%U'5> plus archivelog format 'd:\backup\bk_lg_%U';6> release channel ch1;7> release channel ch2;8> }总结(RMAN备份路径)1.在未通过configure命令设定RMAN备份文件路径以及未修改db_recovery_file_dest,且指定了format参数,则备份的数据文件,参数文件,控制文件,采用了双重保护方式,一份位于指定路径,一份位于缺省的闪回区。
同时归档日志保存在闪回区。
2.一旦修改了db_recovery_file_dest至特定路径,则同上述功能一样,所不同的是存放到非缺省的闪回区。
3.当db_recovery_file_dest为空值时,同样使用双重保护,但这些文件被放置到了$ORACLE_HOME/dbs路径下。
4.当使用了configure channel device type disk format = '/u01/bk/db_%U'配置RMAN,则对于badkup database plus archivelog 同样会出现上述的情况。
oracle数据库全库备份语句Oracle数据库是一种关系型数据库管理系统,提供了全库备份的功能,可以用来备份整个数据库。
下面列举了10个不同的Oracle数据库全库备份语句。
1. 使用RMAN备份全库:使用RMAN工具备份整个Oracle数据库,可以使用以下命令:```RMAN> backup database;```2. 使用expdp备份全库:使用expdp工具备份整个Oracle数据库,可以使用以下命令:```expdp system/password@database_name full=Y directory=backup_dir dumpfile=full_backup.dmp logfile=full_backup.log;```3. 使用exp备份全库:使用exp工具备份整个Oracle数据库,可以使用以下命令:```exp system/password@database_name full=y file=full_backup.dmp log=full_backup.log;4. 使用Data Pump备份全库:使用Data Pump工具备份整个Oracle数据库,可以使用以下命令:```expdp system/password@database_name full=Y directory=backup_dir dumpfile=full_backup.dmp logfile=full_backup.log;```5. 使用RMAN增量备份全库:使用RMAN工具进行增量备份,可以使用以下命令:```RMAN> backup incremental level 1 cumulative database;```6. 使用expdp表空间备份:使用expdp工具备份指定表空间的数据,可以使用以下命令:```expdp system/password@database_name tablespaces=tablespace_name directory=backup_dir dumpfile=tablespace_backup.dmplogfile=tablespace_backup.log;7. 使用exp表空间备份:使用exp工具备份指定表空间的数据,可以使用以下命令:```exp system/password@database_name tablespaces=tablespace_name file=tablespace_backup.dmp log=tablespace_backup.log;```8. 使用RMAN备份控制文件和参数文件:使用RMAN工具备份控制文件和参数文件,可以使用以下命令:```RMAN> backup current controlfile;```9. 使用expdp备份指定用户的数据:使用expdp工具备份指定用户的数据,可以使用以下命令:```expdp system/password@database_name schemas=user_name directory=backup_dir dumpfile=user_backup.dmp logfile=user_backup.log;```10. 使用exp备份指定用户的数据:使用exp工具备份指定用户的数据,可以使用以下命令:```exp system/password@database_name owner=user_name file=user_backup.dmp log=user_backup.log;```以上是10个不同的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数据库备份方法。
Oracle 使用RMAN 备份数据库文件和归档日志当数据库打开时,可以使用RMAN BACKUP 命令备份如下对象:● 数据库● 表空间● 数据文件● 归档重做日志● 控制文件● 备份集在使用BACKUP 命令备份数据文件时,可以为其设置参数,定义备份段的文件名,文件数和每个输入文件的通道。
1.备份数据库如果备份操作是在数据库被安全关闭之后进行的,那么对整个数据库的备份是一致的;与之相对应,如果数据库是在打开状态下对整个数据库进行的备份,则该备份是非一致的。
非一致性备份整个数据库的操作步骤如下:(1)启动RMAN 并连接到目标数据库,输入BACKUP DATABASE 命令备份数据库。
在BACKUP 命令中可以指定FORMA T 参数,为RMAN 生成的每个备份片段指定一个惟一的名称,以及存储的位置。
C:\>rman target system/admin nocatalogRMAN> backup database format 'f:\oracle_backup\ora11g_%Y_%M_%D_%U.bak' maxsetsize=2G; 还可以为BACKUP 命令指定TAG 参数,为备份片段定义备份标签。
例如: RMAN>backup database tag='weekly_backup';(2)如果建立的是非一致性备份,那么必须在完成备份后对当前的联机重做日志进行归档,因为在使用备份恢复数据库需要使用当前重做日志中的重做记录。
RMAN>sql'alter system archive log current';(3)在RMAN 中执行LIST BACKUP OF DA TABASE 命令,查看建立的备份集与备份片段的信息。
RMAN> list backup of database;如果需要对整个数据库进行一致性备份,则首先需要关闭数据库,并启动数据库到MOUNT 状态。
oracle数据库全库备份语句Oracle数据库是一种关系型数据库管理系统,它可以用于存储和管理大量的结构化数据。
在进行数据库管理时,备份是非常重要的一项工作,它可以保护数据库免受数据丢失和系统故障的影响。
下面列举了十个Oracle数据库全库备份的语句,以供参考。
1. 使用RMAN进行全库备份:RMAN是Oracle提供的备份和恢复工具,可以通过以下命令进行全库备份:```RMAN> BACKUP DATABASE;```2. 使用EXPDP进行全库逻辑备份:EXPDP是Oracle提供的逻辑备份工具,可以通过以下命令进行全库备份:```expdp system/password@database_name directory=backup_directory dumpfile=full_backup.dmp full=y; ```3. 使用IMPDP进行全库逻辑恢复:IMPDP是Oracle提供的逻辑恢复工具,可以通过以下命令进行全库恢复:```impdp system/password@database_name directory=backup_directory dumpfile=full_backup.dmp full=y; ```4. 使用ALTER DATABASE进行全库备份:ALTER DATABASE命令可以备份整个数据库,可以通过以下命令进行全库备份:```SQL> ALTER DATABASE BACKUP CONTROLFILE TO '/path/to/backup/controlfile.bkp';```5. 使用Data Pump进行全库备份:Data Pump是Oracle提供的数据导入导出工具,可以通过以下命令进行全库备份:```SQL> EXPDP system/password@database_nameDIRECTORY=data_pump_dir DUMPFILE=full_backup.dmp FULL=YES;```6. 使用RMAN进行全库增量备份:RMAN可以进行增量备份,只备份发生变化的数据,可以通过以下命令进行全库增量备份:```RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;```7. 使用EXP进行全库逻辑备份:EXP是Oracle提供的逻辑备份工具,可以通过以下命令进行全库备份:```exp system/password@database_name file=full_backup.dmp full=y;```8. 使用ALTER TABLESPACE进行表空间备份:可以通过ALTER TABLESPACE命令备份指定的表空间,可以通过以下命令进行表空间备份:```SQL> ALTER TABLESPACE tablespace_name BEGIN BACKUP;```9. 使用RMAN进行全库镜像备份:RMAN可以进行镜像备份,备份数据库的所有镜像拷贝,可以通过以下命令进行全库镜像备份:```RMAN> BACKUP AS COPY DATABASE;```10. 使用EXPDP进行全库逻辑备份,并压缩备份文件:可以通过以下命令进行全库逻辑备份,并对备份文件进行压缩:```expdp system/password@database_name directory=backup_directory dumpfile=full_backup.dmp full=y compression=all;```以上是十个Oracle数据库全库备份的语句,可以根据实际需求选择其中一种或多种备份方式进行数据库的备份工作。
orcle数据库备份语句Oracle数据库备份是一项非常重要的任务,可以保障数据的安全性和完整性。
在进行数据库备份时,我们可以使用不同的语句和方法来完成备份操作。
以下是一些常用的Oracle数据库备份语句:1. 使用RMAN备份整个数据库:RMAN是Oracle推荐的备份工具,可以使用以下语句备份整个数据库:```RMAN> BACKUP DATABASE;```2. 使用RMAN备份指定表空间:如果只需要备份数据库中的特定表空间,可以使用以下语句:```RMAN> BACKUP TABLESPACE tablespace_name;```3. 使用RMAN备份指定数据文件:如果只需要备份数据库中的特定数据文件,可以使用以下语句:```RMAN> BACKUP DATAFILE 'datafile_path';4. 使用RMAN备份指定控制文件:控制文件是数据库的关键组成部分,可以使用以下语句备份控制文件:```RMAN> BACKUP CURRENT CONTROLFILE;```5. 使用RMAN备份归档日志:归档日志包含了数据库的所有更改记录,可以使用以下语句备份归档日志:```RMAN> BACKUP ARCHIVELOG ALL;```6. 使用EXPDP备份数据库:EXPDP是Oracle提供的数据泵工具,可以使用以下语句备份整个数据库:```expdp username/password directory=directory_name dumpfile=dumpfile_name.dmp full=yes;7. 使用EXPDP备份指定表:如果只需要备份数据库中的特定表,可以使用以下语句:```expdp username/password directory=directory_name dumpfile=dumpfile_name.dmp tables=table_name;```8. 使用EXPDP备份指定表空间:如果只需要备份数据库中的特定表空间,可以使用以下语句:```expdp username/password directory=directory_name dumpfile=dumpfile_name.dmp tablespaces=tablespace_name;```9. 使用EXPDP备份指定用户:如果只需要备份数据库中的特定用户,可以使用以下语句:```expdp username/password directory=directory_name dumpfile=dumpfile_name.dmp schemas=user_name;```10. 使用EXPDP备份指定数据文件:如果只需要备份数据库中的特定数据文件,可以使用以下语句:```expdp username/password directory=directory_name dumpfile=dumpfile_name.dmp filesperset=1 include=datafile:'datafile_path';```总结:以上是一些常用的Oracle数据库备份语句,通过使用不同的备份语句可以实现对整个数据库、指定表空间、指定数据文件、归档日志等的备份。
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命令来检查备份文件的完整性等。
31.Oracle深度学习笔记——RMAN备份常用命令连接到目标数据库(不使用恢复目录数据库)$rman target / nocatalog显示rman配置RMAN> show all;报告目标数据库的物理结构REPORTRMAN> report schema;报告陈旧备份RMAN> report obsolete;报告不可恢复的数据文件RMAN> report unrecoverable;RMAN> report need backup;RMAN> report need backup days=1;RMAN> report need backup incremental=3;说明:需要多少个增量备份文件才能恢复的数据文件。
RMAN> report need backup redundancy=2;说明:报告冗余文件小于2次的数据文件RMAN> report need backup recovery window of 2 days;报告出恢复需要2天的归档日志的数据文件。
备份脚本run{allocate channel c1 type disk format '/home/oracle/rmanbk/%d_%I_%s_%p_%T.bkp'; allocate channel c2 type disk format '/home/oracle/rmanbk/%d_%I_%s_%p_%T.bkp'; backup(datafile 5 channel c1)(datafile 6 channel c2);release channel c1;release channel c2;}列出备份信息RMAN> list backup;RMAN> list backup of database;RMAN> list backup of tablespace table_name;RMAN> list backup of controlfile;RMAN> list backup of spfile;RMAN> list backupset id;列出copy文件list copy of database;list copy of controlfile;list copy of tablespace users;list copy of datafile n,n,n;list copy of archivelog all;list copy of archivelog from scn 10000;list copy of archivelog until sequence 12;校验备份RMAN> crosscheck backup;RMAN> crosscheck backup of database;RMAN> crosscheck backup of tablespace system;RMAN> crosscheck backup of controlfile;RMAN> crosscheck backup of spfile;RMAN> crosscheck backup of archivelog all;校验没有备份过的归档日志RMAN>crosscheck archivelog all;RMAN>delete noprompt expired archivelog all;delete命令删除相关的备份集或镜像副本的物理文件,同时将删除标记DELETE更新到控制文件,如果使用恢复目录,则是清除恢复目录内的备份集。
orcal数据备份语句Oracle数据库备份语句是数据库管理员经常使用的重要工具,它可以保护数据库的数据安全,防止数据丢失或损坏。
以下是一些常用的Oracle数据库备份语句:1. 全备份语句:RMAN> BACKUP DATABASE;这个语句将对整个数据库进行备份,包括数据文件、控制文件和日志文件。
2. 表空间备份语句:RMAN> BACKUP TABLESPACE example;这个语句将备份指定的表空间,可以用于恢复该表空间的数据。
3. 数据文件备份语句:RMAN> BACKUP DATAFILE 1 FORMAT '/backup/datafile1.bak';这个语句将备份指定的数据文件,可以用于恢复该数据文件的数据。
4. 控制文件备份语句:RMAN> BACKUP CURRENT CONTROLFILE FORMAT '/backup/controlfile.bak';这个语句将备份当前的控制文件,以便在需要时进行恢复。
5. 归档日志备份语句:RMAN> BACKUP ARCHIVELOG ALL FORMAT '/backup/archivelog.bak';这个语句将备份所有归档日志文件,用于保留数据库变更的历史记录。
6. 增量备份语句:RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;这个语句将备份已更改的数据块,可以用于快速备份大型数据库。
7. 压缩备份语句:RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE;这个语句将备份数据库并使用压缩备份集来减小备份文件的大小。
8. 备份到远程服务器语句:RMAN> BACKUP DATABASE FORMAT '/backup/%d_%T_%U' TAG 'PROD_BACKUP'2> REMOTE 'ssh user@remotehost "/backup"' SECTION SIZE 10M;这个语句将备份数据库并将备份文件传输到远程服务器上的指定路径。
Oracle如何进行rman备份?sql>create tablespace dyk_rma n datafileE:\ORACLE\ORABACK\oradb1\dyk_rma nl.dbf size 2048M;(2) 建立恢复目录所有者sql>create user rmans identified by rman_2010 default tablespace dyk_rma n(3) 授予恢复目录所有者角色。
恢复目录所有者必须具有recovery_catalog_ow ner 角色。
另外,当建立恢复目录时,需要连接到数据库,并且在恢复目录表空间上创建表,因此还应该为恢复目录所有者授予connect禾口resource角色sql>gra nt conn ect,resource,recovery_catalog_ow ner to rma n(4) 建立恢复目录。
c:\>rma n catalog rma n/rma n@ catadb.rma n> create catalog;(5) 注册目标数据库。
在建立了恢复目录之后,为了将目标数据库的rman 元数据存放到恢复目录中,必须连接到目标数据库,并使用registerdatabase命令注册目标数据库,可以使用report schema 命令检查是否注册成功。
c:\>rma n catalog rma n/rma n@ oradblrma n>conn ect target sys/oracle@oradb1rma n> register databaserma n> report schema;一、RMAN备份概念通道: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”命令来恢复数据库的数据文件。
RMAN(Recovery Manager)是Oracle数据库的备份和恢复工具,提供了强大的备份、恢复和数据库复制功能。
以下是使用RMAN进行备份的基本步骤:
1. 连接到 RMAN:
通过命令行或脚本连接到 RMAN。
在命令行中输入:
这会使用操作系统认证连接到默认的本地数据库实例。
2. 设置备份配置参数:
在 RMAN 中,您可以设置各种备份配置参数,例如备份类型、备份目标、备份文件位置等。
以下是一个设置备份参数的示例:
这将启用自动备份控制文件和配置备份文件的保存路径。
3. 执行备份:
执行备份命令以创建数据库备份。
以下是创建全库备份的示例:
您还可以根据需要选择性地备份表空间、数据文件等。
4. 查看备份:
您可以使用以下命令查看备份信息:
这将显示当前配置的备份。
5. 恢复数据库:
如果需要进行恢复,您可以使用 RMAN 执行还原和恢复操作。
以下是一个简单的例子:
这将还原数据库文件并应用必要的日志以完成数据库的恢复。
6. 退出 RMAN:
完成备份和恢复操作后,使用以下命令退出 RMAN:
这是一个基本的 RMAN 备份和恢复过程。
请注意,在实际环境中,您可能需要根据数据库的具体要求和策略进行更复杂的备份和恢复配置。
请参考 Oracle 官方文档以获取更详细的信息和高级用法。
一、Oracle备份数据的重要性备份数据是数据库管理中的一项重要工作,它能够保证数据的安全和可靠性。
在Oracle数据库中,备份数据的操作一直备受重视,可以保证数据不会因意外丢失而导致业务中断或数据无法恢复。
掌握Oracle查找备份数据的语句是数据库管理人员必备的技能之一。
二、Oracle数据库备份方法Oracle数据库备份数据的方法有很多种,例如逻辑备份和物理备份。
逻辑备份是指使用expdp命令将数据库中的数据导出成为一个库文件,而物理备份则是直接备份数据库的数据文件和日志文件。
在备份数据后,如果需要查找备份数据,就可以根据具体情况选择合适的查找备份数据的语句来进行操作。
三、Oracle查找备份数据的语句1. 使用RMAN进行备份数据RMAN是Oracle提供的备份恢复管理工具,通过RMAN可以方便地进行数据库备份和恢复操作。
要查找备份数据,可以使用以下语句:```sqlLIST BACKUP;```这条语句可以列出当前数据库中的所有备份数据,包括完整备份、增量备份和归档备份等。
2. 使用SQL语句进行备份数据除了RMAN之外,还可以使用SQL语句来查找备份数据。
在Oracle 数据库中,备份数据的元数据信息存储在数据库的数据字典中,可以通过以下语句来查找备份数据:```sqlSELECT * FROM V$BACKUP_SET;```这条语句可以查询当前数据库中的备份集信息,包括备份的类型、备份的时间、备份的文件名等详细信息。
3. 查询归档日志备份信息在Oracle数据库中,归档日志是非常重要的备份对象,对数据的完整性和安全性有着重要的作用。
可以使用以下语句来查找归档日志备份信息:```sqlSELECT * FROM V$ARCHIVED_LOG;```这条语句可以列出当前数据库中已备份的归档日志信息,包括备份的时间、备份的文件名、备份的大小等信息。
四、总结通过上述介绍,我们可以看到,在Oracle数据库中查找备份数据的语句非常简单,只需要使用一些简单的SQL语句或者RMAN命令即可完成。
ORACLE RMAN备份及还原RMAN可以进行增量备份:数据库,表空间,数据文件只有使用过的block可以被备份成backup set表空间与数据文件对应关系:dba_data_files / v$datafile_header在noarchivelog模式下,可以使用RMAN备份read-only和offline的表空间ORACLE RMAN停机备份:备份RMAN连接上ORACLE,WINDOWS下在命令模式下RMAN TARGET /连接本地数据库用的是本地认证模式。
RMAN连接数据库必须在dedicate模式下。
因此在share模式下的数据库应配置一个dedicate 的连接用于RMAN连接。
如果要把控制文件、参数文件也一起备份configure controfile autobackup on;//打开autobackupconfigure controfile autobackup off;//关闭autobackup关闭数据库RMAN>shutdown immediatemount 数据库RMAN的备份必须在MOUNT模式下,这也就是控制文件备份的重要。
RMAN>startup mount最简单的备份RMAN>backup database这样的备份,备份集在数据库默认位置。
%oracle_home%/ora92/database当然你也可以用run来灵活的定义你的备份。
RMAN>run{>allocate chennel d1 type disk; //分配通道>backup full database //全备份数据库>include current controlfile //包括当前的controlfile>format 'e:\oracle\orders\db_%d_%s_%p_%t_%T'; //备份文件位置和文件名格式>release channel d1;//释放通道恢复1、数据文件损坏,而控制文件是好,或者已经恢复RMAN连上数据库startup mountrestore databaserecover database noredo;alter database open resetlogs;recover database noredo该命令指示RMAN执行最后的恢复操作以准备打开这个数据库。
数据备份与恢复通过本章的学习,要求学员掌握以下内容:1、大致了解ORACLE的备份方式。
2、了解如何配置RMAN。
3、了解如何部署备份策略4、如何实现一般的还原和恢复1备份概述1.1概述所谓备份,就是把数据库复制到转储设备的过程。
其中,转储设备是指用于放置数据库拷贝的磁带或磁盘。
通常也将存放于转储设备中的数据库的拷贝称为原数据库的备份或转储。
ORACLE数据库的备份分为物理备份和逻辑备份两种。
物理备份是将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,通常是从磁盘到磁带。
可以使用Oracle 的恢复管理器(Recovery Manager,RMAN)或操作系统命令进行数据库的物理备份。
逻辑备份是利用SQL语言从数据库中抽取数据并存于二进制文件的过程。
Oracle提供的逻辑备份工具是EXP。
数据库逻辑备份是物理备份的补充,对于逻辑备份来说,时间点恢复是不可能的,逻辑备份通常不会用作产品数据库备份与恢复计划的部分。
1.2 数据库运行方式在说明ORACLE备份方式之前,应大致了解一下ORACLE数据库的运行方式。
ORACLE 数据库有两种运行方式:一是归档方式(ARCHIVELOG),归档方式的目的是当数据库发生故障时最大限度恢复数据库,可以保证不丢失任何已提交的数据;二是不归档方式(NOARCHIVELOG),只能恢复数据库到最近的回收点(冷备份或是逻辑备份)。
根据数据库的高可用性和用户可承受丢失的工作量的多少,对于生产数据库,强烈要求采用为归档方式;那些正在开发和调试的数据库可以采用不归档方式。
在创建数据库时,就可以设置数据库初始的存档方式。
一般情况下默认为NOARCHIVELOG方式。
当数据库创建好以后,根据我们的需要把需要运行在归档方式的数据库改成ARCHIVELOG方式。
方法如下:1.改变不归档方式为为归档方式(1)关闭数据库,备份已有的数据,改变数据库的运行方式是对数据库的重要改动,所以要对数据库做备份,对可能出现的问题作出保护。
Oracle如何进行rman备份?sql>create tablespace dyk_rma n datafileE:\ORACLE\ORABACK\oradb1\dyk_rma nl.dbf size 2048M;(2) 建立恢复目录所有者sql>create user rmans identified by rman_2010 default tablespace dyk_rma n(3) 授予恢复目录所有者角色。
恢复目录所有者必须具有recovery_catalog_ow ner 角色。
另外,当建立恢复目录时,需要连接到数据库,并且在恢复目录表空间上创建表,因此还应该为恢复目录所有者授予connect禾口resource角色sql>gra nt conn ect,resource,recovery_catalog_ow ner to rma n(4) 建立恢复目录。
c:\>rma n catalog rma n/rma n@ catadb.rma n> create catalog;(5) 注册目标数据库。
在建立了恢复目录之后,为了将目标数据库的rman 元数据存放到恢复目录中,必须连接到目标数据库,并使用registerdatabase命令注册目标数据库,可以使用report schema 命令检查是否注册成功。
c:\>rma n catalog rma n/rma n@ oradblrma n>conn ect target sys/oracle@oradb1rma n> register databaserma n> report schema;一、RMAN备份概念通道:RMAN允许用户对目标数据库和辅助数据库进行备份和恢复操作,且备份目标的存放支持磁盘和磁带。
通过引入通道的概念,RMAN可以方便的支持上面的功能,而且可以方便的实现并行、带宽控制、命名转化等更多的功能。
Oracle数据库备份与恢复之四:RMAN(备份与恢复管理器)RMAN是ORACLE提供的一个备份与恢复的工具,可以用来备份和还原数据库文件、归档日志和控制文件。
它也可以用来执行完全或不完全的数据库恢复。
RMAN可以由命令行接口或者OEM的Backup Manager GUI 来控制。
4.1 基本知识4.1.1 RMAN的组件、概念1. RMAN 主要包括以下组件:Target Database:(目标数据库)就是需要RMAN对其进行备份与恢复的数据库,RMAN 可以备份数据文件,控制文件,归档日志,spfile.(注意:RMAN不能用于备份联机日志、初始化参数文件和口令文件)Server Session:(服务器会话)RMAN启动数据库上的Oracle服务器进程,将建立一个与目标数据库的会话。
由目标数据库上的服务器进程进行备份、还原、恢复的实际操作。
服务器进程RMAN的服务进程是一个后台进程,用于与RMAN工具与数据库之间的通信,也用于RMAN工具与磁盘/磁带等I/O设置之间的通信,服务进程负责备份与恢复的所有工作,在如下情况将产生一个服务进程:当连接到目标数据库分配一个新的通道Channel:(通道)一个通道是RMAN和目标数据库之间的一个连接,"allocate channel"命令在目标数据库启动一个服务器进程,同时必须定义服务器进程执行备份或者恢复操作使用的I/O类型。
通道控制命令可以用来:控制RMAN使用的O/S资源,影响并行度指定I/O带宽的限制值(设置limit read rate 参数)定义备份片大小的限制(设置limit kbytes)指定当前打开文件的限制值(设置limit maxopenfiles)recovery catalog:(恢复目录)用来保存备份与恢复信息的一个数据库,不建议创建在目标数据库上。
RMAN 利用恢复目录记载的信息去判断如何执行需要的备份恢复操作。
ORACLE查看RMAN的备份信息总结关于Oracle数据库的RMAN备份,除了邮件外,是否能通过其它⽅式检查RMAN备份的成功与失败呢?其实我们可以通过下⾯SQL脚本来检查某个时间段备份失败的记录:SELECT * FROM V$RMAN_STATUSWHERE START_TIME >= TO_DATE(&START_TIME,'YYYY-MM-DD HH24:MI:SS')AND END_TIME <= TO_DATE(&END_TIME ,'YYYY-MM-DD HH24:MI:SS')AND OPERATION ='BACKUP'AND STATUS !='COMPLETED'AND STATUS NOT LIKE'RUNNING%'查看备份成功的历史记录:SELECT * FROM V$RMAN_STATUSWHERE START_TIME >= TO_DATE(&START_TIME,'YYYY-MM-DD HH24:MI:SS')AND END_TIME <= TO_DATE(&END_TIME ,'YYYY-MM-DD HH24:MI:SS')AND OPERATION ='BACKUP'AND STATUS ='COMPLETED'其中STATUS主要有RUNNING、RUNNING WITH WARNINGS、RUNNING WITH ERRORS、COMPLETED、COMPLETED WITH WARNINGS、COMPLETED WITH ERRORS、FAILED等⼏种状态。
另外,如果你在命令窗⼝输⼊[oracle@MyDB ~]$ dateTue Jul 19 10:52:02 CST 2016[oracle@MyDB ~]$ rman target /Recovery Manager: Release 10.2.0.5.0 - Production on Tue Jul 19 10:52:13 2016Copyright (c) 1982, 2007, Oracle. All rights reserved.connected to target database: SCM2 (DBID=3990839260)RMAN>在V$RMAN_STATUS⾥⾯,你会看到插⼊了⼀条记录STATUS为RUNNING状态SQL> COL ROW_TYPE FOR A10;SQL> COL OPERATION FOR A10;SQL> COL COMMAND_ID FOR A20;SQL> COL STATUS FOR A30;SQL> COL OBJECT_TYPE FOR A16;SQL> SELECT ROW_TYPE, COMMAND_ID, OPERATION, STATUS,OBJECT_TYPE2 FROM V$RMAN_STATUS3 WHERE START_TIME >= TO_DATE('2016-07-19 10:52:00', 'YYYY-MM-DD HH24:MI:SS');ROW_TYPE COMMAND_ID OPERATION STATUS OBJECT_TYPE---------- -------------------- ---------- ----------------- ----------------SESSION 2016-07-19T10:52:13 RMAN RUNNING此时如果在RMAN中随意执⾏⼀个错误命令,如下所⽰[oracle@MyDB ~]$ rman target /Recovery Manager: Release 10.2.0.5.0 - Production on Tue Jul 19 10:52:13 2016Copyright (c) 1982, 2007, Oracle. All rights reserved.connected to target database: SCM2 (DBID=3990839260)RMAN> /RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-00558: error encountered while parsing input commandsRMAN-01006: error signalled during parseRMAN-02001: unrecognized punctuation symbol "/"SQL> COL ROW_TYPE FOR A10;SQL> COL OPERATION FOR A10;SQL> COL COMMAND_ID FOR A20;SQL> COL STATUS FOR A30;SQL> COL OBJECT_TYPE FOR A16;SQL> SELECT ROW_TYPE, COMMAND_ID, OPERATION, STATUS,OBJECT_TYPE2 FROM V$RMAN_STATUS3 WHERE START_TIME >= TO_DATE('2016-07-19 10:52:00', 'YYYY-MM-DD HH24:MI:SS');ROW_TYPE COMMAND_ID OPERATION STATUS OBJECT_TYPE---------- -------------------- ---------- --------------------- ----------------SESSION 2016-07-19T10:52:13 RMAN RUNNING WITH ERRORS在RMAN中退出,此时你会看到STAUS记录从"RUNNING WITH ERRORS"变成了"COMPLETED WITH ERRORS"也就是说,你可以在这个视图⾥⾯查看在RMAN⾥⾯执⾏的⼀些操作,例如删除归档⽇志等,另外,如果要查看RMAN的输出,可以查看V$RMAN_OUTPUT,V$RMAN_OUTPUT 视图记录了RMAN⽣成的信息,这是在内存中额视图,不会记录到控制⽂件上。
oracle rman备份方案在现代的企业环境中,数据备份是非常重要的一个环节。
而对于使用Oracle数据库的企业来说,Oracle RMAN(Recovery Manager)备份方案是一个非常有效和可靠的选择。
本文将介绍Oracle RMAN备份方案的原理、基本操作以及常见的最佳实践。
一、Oracle RMAN备份方案的原理Oracle RMAN备份方案的原理是基于Oracle数据库的体系结构和RMAN工具的特点来实现的。
Oracle数据库有一个系统表空间(system tablespace),它存储了数据库的元数据和数据库对象的定义。
在RMAN备份过程中,RMAN首先备份此系统表空间,然后备份所有数据文件和控制文件。
这样一来,当恢复数据库时,首先还原系统表空间,然后再还原数据文件和控制文件,即可实现数据库的完全恢复。
二、Oracle RMAN备份方案的基本操作1. 配置RMAN备份环境在开始备份之前,需要先配置RMAN备份环境。
首先,需要在Oracle数据库中创建一个专门的用户,用于执行RMAN备份操作。
然后,需要给该用户授予必要的权限,使其能够访问和备份数据库。
最后,需要在数据库服务器上安装RMAN工具,并正确配置RMAN的参数文件。
2. 创建RMAN备份脚本RMAN备份脚本是一个文本文件,其中包含了一系列备份命令。
在创建脚本时,需要指定备份类型(完全备份、增量备份等)、备份集的位置(磁盘备份、磁带备份等)以及备份的频率等。
可以根据需求编写不同的备份脚本。
3. 执行RMAN备份当RMAN备份环境配置完毕并且备份脚本准备好之后,就可以执行RMAN备份了。
在执行备份时,RMAN会首先检查数据库的一致性,然后根据备份脚本的配置进行备份操作。
备份期间,可以监控备份的进度和状态。
4. 恢复数据库如果数据库遇到故障,需要进行恢复操作。
在使用RMAN进行恢复时,首先需要关闭数据库。
然后,通过RMAN工具来恢复数据库。
Rman备份及恢复
1.切换服务器归档模式,如果已经是归档模式可跳过此步:
SQL> sqlplus sys/Aa123456 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.启动RAMN
rman target /
3.查看当前参数配置:show all
4.设置controlfile自动备份;
configure controlfile autobackup on;
5.设置controlfile备份目录:
configure controlfile autobackup format for device type disk to '/oracle/backup1/ctl_%F';
6.指定数据备份目录并带归档备份:
全备份:
backup format '/oracle/backup1/full_%T_%u.bak' database plus archivelog;
0级备份:
backup incremental level 0 database plus archivelog;
1级增量备份(也就是增量备份):
backup incremental level 1 database plus archivelog;
1级差异备份(也就是差异备份):
backup cumulative incremental level 1 database plus archivelog;
7.备份完成后,查看备份集:
list backupset;(或list backup;)
8.数据库恢复
1)首先进入rman;
2)关闭数据库:
shutdown immediate;
3)把数据库以nomount方式启动:
startup nomount;
4)恢复控制文件:
restore controlfile from '/oracle/backup1/ctl_c-3998653957-20130227-06';(这里的控制文件选择最新的一个)
5)切换数据库到mount状态:
alter database mount;
6)还原数据文件:
restore database;(这一步会恢复0级备份)
recover database;(这一步会恢复增量、差异备份)
7)打开数据库:
alter database open resetlogs;
8)大功告成!
我的0级备份脚本:bakl0.sh
rman target / <<EOF
RMAN> run{
allocate channel 1 type disk;
backup incremental level 0 database plus archivelog;
release channel 1;
}
EOF
我的1级增量备份脚本:bakl1.sh
rman target / <<EOF
RMAN> run{
allocate channel 1 type disk;
backup incremental level 1 database plus archivelog;
release channel 1;
}
EOF
我的1级差异备份脚本:bakl2.sh
rman target / <<EOF
RMAN> run{
allocate channel 1 type disk;
backup cumulative incremental level 1 database plus archivelog;
release channel 1;
}
EOF
这三个脚本都放在/oracle/orascript/这个目录下,然后用crontab –e(计划任务)调用之。
注意:计划任务在root下进行!
备份策略:
1.每月做一次0级备份
2.每周做一次1级差异备份
3.每日做一次1级增量备份
30 23 01 * * su – oracle /oracle/orascript/bakl0.sh 40 23 * * 0 su – oracle /oracle/orascript/bakl2.sh 50 23 * * * su – oracle /oracle/orascript/bakl1.sh。