最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

oracle数据库增量备份

来源:动视网 责编:小OO 时间:2025-09-25 03:11:57
文档

oracle数据库增量备份

oracle数据库增量备份写几个脚本,linux放到crontab里,window就放到计划任务里,定时的执行脚本就可以了1.星期天晚上-level0backupperformed(全备份)2.星期一晚上-level2backupperformed3.星期二晚上-level2backupperformed4.星期三晚上-level1backupperformed5.星期四晚上-level2backupperformed6.星期五晚上-level2backupperformed7.星期六晚上-l
推荐度:
导读oracle数据库增量备份写几个脚本,linux放到crontab里,window就放到计划任务里,定时的执行脚本就可以了1.星期天晚上-level0backupperformed(全备份)2.星期一晚上-level2backupperformed3.星期二晚上-level2backupperformed4.星期三晚上-level1backupperformed5.星期四晚上-level2backupperformed6.星期五晚上-level2backupperformed7.星期六晚上-l
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

文档

oracle数据库增量备份

oracle数据库增量备份写几个脚本,linux放到crontab里,window就放到计划任务里,定时的执行脚本就可以了1.星期天晚上-level0backupperformed(全备份)2.星期一晚上-level2backupperformed3.星期二晚上-level2backupperformed4.星期三晚上-level1backupperformed5.星期四晚上-level2backupperformed6.星期五晚上-level2backupperformed7.星期六晚上-l
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top