1、切换服务器归档模式,如果已经是归档模式可跳过此步:
%sqlplus /nolog (启动sqlplus)
SQL> conn / 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、连接rman
rman ?or? /data/app/oracle/product/11.2.0/dbhome_1/bin/rman
RMAN> connect ?target sys/system@orcl –连接到目标数据库
3、备份表空间 tpm
RMAN>backup tablespace tpm plus archivelog delete input;
4、恢复表空间
SQL>alter tablespace tpm ?offline for recover;? //使tpm offline
RMAN>restore tablespace ?tpm
RMAN>recover tablespace? tpm
RMAN>alter tablespace tpm online; ? //tpm online
5、表空间的增量备份
第一天的增量基本备份:
RMAN> backup incremental level=0 tablespace tpm plus archivelog delete input;
第二天的增量差异备份:
RMAN> backup incremental level=2 tablespace tpm plus archivelog delete input;
第三天的增量差异备份:
RMAN> backup incremental level=2 tablespace tpm plus archivelog delete input;
第四天的增量差异备份:
RMAN> backup incremental level=1 tablespace tpm plus archivelog delete input;
第五天的增量差异备份:
RMAN> backup incremental level=2 tablespace tpm plus archivelog delete input;
第六天的增量差异备份:
RMAN> backup incremental level=2 tablespace tpm plus archivelog delete input;
第七天的增量差异备份:
RMAN> backup incremental level=0 tablespace tpm plus archivelog delete input;
注:需要用linux crontab 来每天自动运行上面的代码
附:创建rman 目录表空间和用户
1、 ? create tablespace rman_ts datafile ‘/data/app/oracle/oradata/rman/rman_ts.dbf’ size20M;
2、 ? create user rman identified by rman default tablespace rman_ts temporary tablespace temp quota unlimited on rman_ts;
3、 ? grant recovery_catalog_owner to rman;
4、 ? grant connect, resource to rman