欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle:RMAN 备份与恢复实例

程序员文章站 2022-06-10 10:31:55
...

命令: connect target / (connect target system/oracle@ora10g,如果数据库没有起来,也可要直接在rman命令下用startup进行启动

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.对整个数据库进行全备份(full backup)。

只要输入命令: backup database;

2.list backupset 查看备份的具体信息

List of Backup Sets
===================

BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
1 Full 6.80M DISK 00:00:02 06-DEC-08
BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20081206T201041
Piece Name: /home/oracle/flash_recovery_area/ORA10G/backupset/2008_12_06/o1_mf_ncsnf_TAG20081206T201041_4mntz78s_.bkp
Control File Included: Ckp SCN: 782019 Ckp time: 06-DEC-08
SPFILE Included: Modification time: 06-DEC-08

BS(backupset), piece是一个文件,一个BS包含多个piece.

3.rman中缺省的参数,可以通过 show all ;
来进行查看(RMAN configuration parameters),我们在使用backup database命令中,可以把这些default value 用固定的值来进行替代.

4.我们可以把备份的文件才备份的目录中拷贝到磁带上,,然后删除备份目录下面的备份文件,如果下次需要恢复的话,只要把文件重新拷回到用来的备份目录就可以了
5.查看control file 文件中的备份信息(因为我们做的备份是在nocatalog模式下),control file 在/u01/oracle/oradata/ora10g目录下,由于control file 是个二进制文件,要查看control file 文件中的内容,用strings control03.ctl,发现control03.ctl中有rman备份的信息了


====================0级增量备份===============

概念:全备份和0级增量备份。全备份和0级增量备份几乎是一样的。唯一的区别,0级增量备份能作为增量备份的基础,而全备份不能作为增量备份的基础。其它方面完全一致

1.backup incremental level=0(leve 0) database;(增量为0的备份)
2.backup incremental level 1(level=1) database;(增量为1的备份)

在上面的备份中,我们备份了datafile,controlfile和parameter file.没有备份的文件有归档日志,重做日志和口令文件没有备份.口令文件不需要备份,我们用orapw来创建一个

新的口令文件.rman 在nocatalog模式下,不能够对redo log file 进行备份


===================备份archivelog 在nocatalog模式下=================

命令:backup database plus archivelog delete input(delete input的意思在备份完成后,删除 archivelog文件,这个选项可要可不要,这个命令也可以用 backup incremental level=0(1,2...)来进行备份)


=======================备份表空间====================

backup tablespace tablespacename

如果我们不知道tablespace的名字,在rman中,可要通过report schema命令,来查看表空间的名字

MAN> report schema;
Report of database schema

List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 480 SYSTEM *** /home/oracle/oradata/ora10g/system01.dbf
2 25 UNDOTBS1 *** /home/oracle/oradata/ora10g/undotbs01.dbf
3 250 SYSAUX *** /home/oracle/oradata/ora10g/sysaux01.dbf
4 5 USERS *** /home/oracle/oradata/ora10g/users01.dbf
5 200 PERFSTAT *** /home/oracle/oradata/ora10g/perfstat.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1 20 TEMP 32767 /home/oracle/oradata/ora10g/temp01.dbf