视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
oracle数据库增量备份
2025-09-25 03:11:57 责编:小OO
文档
oracle数据库增量备份

写几个脚本,linux放到crontab里,window就放到计划任务里,定时的执行脚本就可以了

1.星期天晚上 -level 0 backup performed(全备份)

2.星期一晚上 -level 2 backup performed

3.星期二晚上 -level 2 backup performed

4.星期三晚上 -level 1 backup performed

5.星期四晚上 -level 2 backup performed

6.星期五晚上 -level 2 backup performed

7.星期六晚上 -level 2 backup performed

 

如果星期二需要恢复的话,只需要1+2,

如果星期四需要恢复的话,只需要1+4,

如果星期五需要恢复的话,只需要1+4+5,

如果星期六需要恢复的话,只需要1+4+5+6.

crontab  

45 23 * * 0 /u01/dbs/scripts/backup1.sh

45 23 * * 1 /u01/dbs/scripts/backup2.sh

45 23 * * 2 /u01/dbs/scripts/backup2.sh

45 23 * * 3 /u01/dbs/scripts/backup1.sh

45 23 * * 4 /u01/dbs/scripts/backup2.sh

45 23 * * 5 /u01/dbs/scripts/backup2.sh

45 23 * * 6 /u01/dbs/scripts/backup1.sh

oracle imp/exp 

Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。 

  一、 导出/导入(Export/Import) 

  利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。 

  1、 简单导出数据(Export)和导入数据(Import) 

  Oracle支持三种方式类型的输出: 

  (1)、表方式(T方式),将指定表的数据导出。 

  (2)、用户方式(U方式),将指定用户的所有对象及数据导出。 

  (3)、全库方式(Full方式),瘵数据库中的所有对象导出。 

  数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。 

  2、 增量导出/导入 

  增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。 

  增量导出包括三种类型: 

  (1)、“完全”增量导出(Complete) 

  即备份三个数据库,比如: 

  exp system/manager inctype=complete file=040731.dmp 

  (2)、“增量型”增量导出 

  备份上一次备份后改变的数据,比如: 

  exp system/manager inctype=incremental file=040731.dmp 

  (3)、“累积型”增量导出 

  累计型导出方式是导出自上次“完全”导出之后数据库中变化了的信息。比如: 

  exp system/manager inctype=cumulative file=040731.dmp 

  数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效的完成。 

  比如数据库的被封任务可以做如下安排: 

  星期一:完全备份(A) 

  星期二:增量导出(B) 

  星期三:增量导出(C) 

  星期四:增量导出(D) 

  星期五:累计导出(E) 

  星期六:增量导出(F) 

  星期日:增量导出(G) 

Oracle 2009-08-16 23:59:11 阅读177 评论0   字号:大中小 订阅 

SQL code7. 将数据库设置成归档模式的数据库 

  (1)查看当前数据库的模式 

    SQL>archive log list;

  (2)关闭数据库实例 

    SQL>shutdown immediate;

  (3)将数据库启动为mount状态 

    SQL>STARTUP MOUNT;

  (4)将数据库设置为archivelog模式 

    SQL>alter database archivelog;

  (5)打开数据库 

    SQL>ALTER DATABASE OPEN;

  (6)检查数据库模式 

    SQL>archive log list;

OS :RHEL AS 4 oracle 10g 

    0备份脚本

    #!/bin/bash

    # incremental level 0 backup script

    source /home/oracle/.bash_profile

    current_day=`date +%Y%m%d`

    mkdir /home/oracle/RMANBACKUP/$current_day

    rman target  / <    run

    {

    CONFIGURE CONTROLFILE AUTOBACKUP ON;

    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/home/oracle/RMANBACKUP/$current_day/PID-%F';

    allocate channel dev1 type disk;

    allocate channel dev2 type disk;

    allocate channel dev3 type disk;

    backup incremental level 0 tag='db0'

    format '/home/oracle/RMANBACKUP/$current_day/%n_%T_%U' database;

    sql 'alter system archive log current';

    backup archivelog all format '/home/oracle/RMANBACKUP/$current_day/arc_%n_%T_%U' delete all input;

    release channel dev1;

    release channel dev2;

    release channel dev3;

    }

    EOF

 

    1级累积增量脚本

    #!/bin/bash

    # incremental level 1 backup script

    source /home/oracle/.bash_profile

    current_day=`date +%Y%m%d`

    incr_day=incr$current_day

    mkdir /home/oracle/RMANBACKUP/$incr_day

    rman target  / <    run

    {

    CONFIGURE CONTROLFILE AUTOBACKUP ON;

    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/home/oracle/RMANBACKUP/$incr_day/PID-%F';

    allocate channel dev1 type disk;

    allocate channel dev2 type disk;

    allocate channel dev3 type disk;

    backup incremental level 1 cumulative tag='db1'

    format '/home/oracle/RMANBACKUP/$incr_day/%n_%T_%U' database;

    sql 'alter system archive log current';

    backup archivelog all format '/home/oracle/RMANBACKUP/$incr_day/arc_%n_%T_%U' delete all input;

    release channel dev1;

    release channel dev2;

    release channel dev3;

    }

    EOF

    每天RMAN出来的backup set集合到一个文件夹下面

 

冷备份,就是关闭db,物理copy数据文件、日志文件、控制文件、归档文件。

rem ***** COLDBACKUP ORACLE DATABASE ON WINDOWS NT *****

set ShutDownFile=C:ShutDown.SQL

echo connect internal/oracle > %ShutDownFile%

echo shutdown immediate >> %ShutDownFile%

echo startup >> %ShutDownFile%

echo shutdown normal >> %ShutDownFile%

echo exit >> %ShutDownFile%

rem ***** SHUTDOWN THE DATABASE *******

set oracle_sid=dbprim

svrmgrl @%ShutDownFile%

net stop OracleStart%oracle_sid%

net stop OracleService%oracle_sid%

rem ***** SET BACKUP FILES DIRECTORY *****

e:

md oradb

cd oradb

md backups

cd backups

rem *****cold backup for "dbprim" database on 2009-3-17 10:56:40 ... *****

rem ***** COPY FILES *****

rem Redo logs

copy C:ORACLE-DATAREDO03.LOG

copy C:ORACLE-DATAREDO02.LOG

copy C:ORACLE-DATAREDO01.LOG

rem Datafile

copy C:ORACLE-DATADBPRIMSYSTEM01.DBF

copy C:ORACLE-DATADBPRIMUNDOTBS01.DBF

copy C:ORACLE-DATADBPRIMSYSAUX01.DBF

copy C:ORACLE-DATADBPRIMUSERS01.DBF

copy C:ORACLE-DATADBPRIMEXAMPLE01.DBF

copy C:ORACLE-DATADBPRIMORATBS.DBF

6 rows selected

rem Control files

copy C:ORACLE-DATADBPRIMCONTROL01.CTL

copy C:ORACLE-DATADBPRIMCONTROL02.CTL

copy C:ORACLE-DATADBPRIMCONTROL03.CTL

rem *********START UP DATABASE AND SERVICES********

net start OracleService%oracle_sid%

net start OracleStart%oracle_sid%

set StartFile=C:start.SQL

echo connect internal/oracle > %StartFile%

echo startup >> %StartFile%

echo exit >> %StartFile%

set oracle_sid=dbprim

svrmgrl @%StartFile%

del /Q %ShutDownFile%

del /Q %StartFile%

exit下载本文

显示全文
专题