十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
增量备份是属于RMAN备份的范畴。
成都网站建设哪家好,找成都创新互联!专注于网页设计、成都网站建设、微信开发、小程序设计、集团成都企业网站定制等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:卫生间隔断等众多领域,积累了大量丰富的经验,同时也获得了客户的一致赞扬!
命令为 BACKUP INCREMENTAL LEVEL=0(0..n) DATABASE;
0级相当于DB全备份。
当进行level=1的备份时,系统会寻找是否存在等级为0的备份,如果存在则此次备份只备份上次0级备份到现在变化的部分,可以大大减小备份集的大小。如果不存在则此次1级备份就为全备份。
RMAN 提供了两种增量备份类型: DIFFERENTIAL (差异)和 CUMULATIVE (累积) 其算法有一定得差异。
C:\imp help=y
Import: Release 10.2.0.5.0 - Production on 星期五 7月 17 22:56:25 2015
Copyright (c) 1982, 2007, Oracle. All rights reserved.
通过输入 IMP 命令和您的用户名/口令, 导入
操作将提示您输入参数:
例如: IMP SCOTT/TIGER
或者, 可以通过输入 IMP 命令和各种参数来控制导入
的运行方式。要指定参数, 您可以使用关键字:
格式: IMP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
例如: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N
或 TABLES=(T1:P1,T1:P2), 如果 T1 是分区表
USERID 必须是命令行中的第一个参数。
关键字 说明 (默认值) 关键字 说明 (默认值)
--------------------------------------------------------------------------
USERID 用户名/口令 FULL 导入整个文件 (N)
BUFFER 数据缓冲区大小 FROMUSER 所有者用户名列表
FILE 输入文件 (EXPDAT.DMP) TOUSER 用户名列表
SHOW 只列出文件内容 (N) TABLES 表名列表
IGNORE 忽略创建错误 (N) RECORDLENGTH IO 记录的长度
GRANTS 导入权限 (Y) INCTYPE 增量导入类型
INDEXES 导入索引 (Y) COMMIT 提交数组插入 (N)
ROWS 导入数据行 (Y) PARFILE 参数文件名
LOG 屏幕输出的日志文件 CONSTRAINTS 导入限制 (Y)
DESTROY 覆盖表空间数据文件 (N)
INDEXFILE 将表/索引信息写入指定的文件
SKIP_UNUSABLE_INDEXES 跳过不可用索引的维护 (N)
FEEDBACK 每 x 行显示进度 (0)
TOID_NOVALIDATE 跳过指定类型 ID 的验证
FILESIZE 每个转储文件的最大大小
STATISTICS 始终导入预计算的统计信息
RESUMABLE 在遇到有关空间的错误时挂起 (N)
RESUMABLE_NAME 用来标识可恢复语句的文本字符串
RESUMABLE_TIMEOUT RESUMABLE 的等待时间
COMPILE 编译过程, 程序包和函数 (Y)
STREAMS_CONFIGURATION 导入流的一般元数据 (Y)
STREAMS_INSTANTIATION 导入流实例化元数据 (N)
下列关键字仅用于可传输的表空间
TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)
TABLESPACES 将要传输到数据库的表空间
DATAFILES 将要传输到数据库的数据文件
TTS_OWNERS 拥有可传输表空间集中数据的用户
成功终止导入, 没有出现警告。
imp 时,加入TABLESPACES=backuptest参数
imp userid=system/123 TABLESPACES=backuptest file=e:\111\exp_cuml.dmp ignore=y full=y
source /etc/profile
DAY_TAG= date +"%Y-%m-%d"
week= date +%W
backdir1=/home/oracle/backup/" backdir1
rman target / nocatalog msglog /home/oracle/backup/log/fullback_$DAY_TAG.logEOF
run{
crosscheck backup;
delete noprompt expired backup;
allocate channel d1 type disk;
backup incremental level 0 as compressed backupset database format ' backdir1/arch_%d_%T_%t_%s_%p' archivelog all;
backup current controlfile format '$backdir1/ctl_%d_%T_%t_%s_%p';
release channel d1;
}
EOF
source /etc/profile
DAY_TAG= date +"%Y-%m-%d"
week= date +%W
backdir1=/home/oracle/backup/" backdir1
rman target / nocatalog msglog /home/oracle/backup/log/incremental_$DAY_TAG.logEOF
run{
crosscheck backup;
delete noprompt expired backup;
allocate channel d1 type disk;
backup incremental level 1 as compressed backupset database format ' backdir1/arch_%d_%T_%t_%s_%p' archivelog all;
backup current controlfile format '$backdir1/ctl_%d_%T_%t_%s_%p';
release channel d1;
}
EOF
0 4 * * 0 bash rmanfull.sh
0 4 * * 1-6 bash rmanincreme.sh
SQL语句:创建备份目录
CREATE OR REPLACE DIRECTORY backup AS 'd:\tank';
GRANT READ, WRITE ON DIRECTORY backup TO tank;
以下为windows 批处理脚本,放到计划任务下。
forfiles /p "d:\tank" /d -30 /c "cmd /c echo deleting @file … del /f @path"
cd d:\tank
set backupfile=tank_%date:~0,4%-%date:~5,2%-%date:~8,2%.dmp
set logfile=tank_%date:~0,4%-%date:~5,2%-%date:~8,2%.log
"expdp.exe" tank/tank directory=backup dumpfile=%backupfile% logfile=%logfile% schemas=tank parallel=4
增量备份分为累积和差异两种
backup incremental level 0 database; --这是一个0级备份
backup incremental level 1 database; --差异1级
backup incremental level 2 database; --差异2级
backup incremental level 1 cumulative database; --累积1级
backup incremental level 2 cumulative database; --累积2级
一般来说周日凌晨跑一个0级,一二跑各跑1个差异1级,周三跑1一个差异2级,周四周五各跑1个差异1级,周六跑一个差异2级
oracle实现自动定时备份其实比较好的方法是:
oracle中的job
+
存储过程
job定时执行,而存储过程则完成增量备份!!