日期:2014-05-16 浏览次数:20453 次
通过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)控制文件的备份