日期:2014-05-16  浏览次数:20411 次

rman系列之进入rman

    通过rman的方式无论是备份还是恢复,小生建议,大伙还是先预备两个东东:

    1)到mount阶段,因为,缺省下rman的元数据被存在目标数据库控制文件中

    2)数据库必须置于归档模式。如何开启归档,请见:点击打开链接http://blog.csdn.net/linwaterbin/article/details/7735277

    连接数据库,可分本地和远程:

    本地:rman target /

    远程:rman target sys/oracle@orcl.oracle.com

    另外,在rman里面,启动和关闭数据库的命令跟SQL*PLUS环境下相比,完全一模一样

    可以通过,host+exit的黄金组合来执行os命令;通过sql '....'来执行sql语句,这种方式不能得到select的查询输出。但小生建议host+sqlplus /nolog+exit+exit,这种模式可以最大化sql的功能。

    我们也可以把rman的所有输出,全部指定到一个地方:

[oracle@localhost ~]$ rman  target / log /home/oracle/rman_log.txt
RMAN> backup tablespace users;
RMAN> 


 

    rman备份类型有二:

    1)镜像复制:这种类型out了

    2)备份集:备份集在逻辑上由一个或多个备份片组成,备份片物理上由一个或多个数据文件、控制文件、归档日志等组成。通过rman备份的优势在于,只读取数据库中已经使用的(注意:不是修改)的数据块。

    rman命令执行方式有三:单个执行、run块和脚本

    rman中所有的备份操作,都是通过backup命令(指创建备份集的备份)进行的。

    下面看几个例子:

    1)全库备份

    backup database;

    备份片在缺省下会被存储到flash_recovery_area中,但是我们可以通过format '/u01/app/.....'来指定备份片的名字。如:

    backup database format 'u01/app/oracle/think/bak_%U';

    如果想查看创建的全库备份:

    list backup of database;

    2)表空间的备份

    backup tablespace users

    查看表空间的备份:

    list backup of tablespace users;

    删除表空间的备份:

    delete backupset n;

    3)数据文件的备份

    先看一下数据文件的情况:

sys@ORCL> col file_name for a72 wrapped
sys@ORCL> select file_id,file_name from dba_data_files;

   FILE_ID FILE_NAME
---------- ------------------------------------
         4 /u01/app/oracle/oradata/ORCL/datafile/o1_mf_users_8050fkdh_.dbf
         3 /u01/app/oracle/oradata/ORCL/datafile/o1_mf_sysaux_8050fk3w_.dbf
         2 /u01/app/oracle/oradata/ORCL/datafile/o1_mf_undotbs1_8050fkc6_.dbf
         1 /u01/app/oracle/oradata/ORCL/datafile/o1_mf_system_8050fk2z_.dbf
         5 /u01/app/oracle/oradata/ORCL/datafile/o1_mf_example_8050jhm7_.dbf
         6 /u01/app/oracle/oradata/ORCL/datafile/undotbsthi.dbf

6 rows selected.


    backup datafile 2,3,4;

    查看数据文件的备份:

    list backup of datafile 2,3,4;

    4)控制文件的备份