ORACLE表空间的备份与恢复策略

转自原文如何进行ORACLE表空间的备份与恢复?

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

原文地址:https://www.cnblogs.com/arxive/p/6427283.html