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备份及恢复
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。