当前位置: 首页 > 编程日记 > 正文

linux下的oracle10g rman备份

RMAN是Oracle提供的一个数据库备份和恢复工具,利用rman可以比较方便的对数据库进行备份。Oracle 数据库可运行在归档和非归档模式下,这两者的区别就在于对redo log的处理。归档模式下,当一个redo log  写满之后,就会把这个redo log里的内容写入归档文件,等写完之后,这个redo log  就可以继续使用,如果是非归档模式下,redo log 就被直接覆盖了。 数据库的恢复一般都需要归档文件,这里面记录了对数据库的操作,所以生产数据库一般都运行在归档模式下,以防数据的丢失。

一、设置ORACLE的RMAN备份准备工作:
1、查看数据库现有运行模式
sql>select name,log_mode from v$database;
NAME    LOG_MODE
--------  ------------
BIGSUN   NOARCHIVELOG   #非归档模式
也可以通过下面的语句进行查看
sql> archive log list ;(conn / as sysdba)
Database log mode       No Archive Mode
Automatic archival      Disabled    #非归档模式
Archive destination      /export/data/oracle/product/10.0.0.2/dbs/arch
Oldest online log sequence         28613
Current log sequence     28615
非归档模式的数据库需要改为归档模式,才能进行RMAN备份。步骤如下:
1. SQL> alter system set log_archive_dest_1='location=/oracle/oracle10g/log/archive_log';
该语句含义是确定归档日志的路径,实际上Oracle 10g可以生成多份一样的日志,保存多个位置,以防不测

例如再添加一个日志位置可使用以下语句
SQL>alter system set log_archive_dest_2='location=/oracle/oracle10g/log2/archive_log';

2.关闭数据库
SQL> shutdown immediate

3.启动数据mount状态:
SQL> startup mount;

4、修改数据库为归档模式:
SQL> alter database archivelog;

5、打开数据库,查询:
SQL> alter database open;

修改日志文件命名格式:
SQL> alter system set log_archive_max_processes = 5;
SQL> alter system set log_archive_format = "archive_%t_%s_%r.log" scope=spfile;

修改完成后可以查看日志模式是否修改成功!

sql>select name,log_mode from v$database;
NAME    LOG_MODE
--------  ------------
BIGSUN   ARCHIVELOG   #归档模式

二、用脚本实现RMAN自动备份。

注: level 0 全备份; level 1  差量备份; level 2 增量备份

首先在linux oracle服务器的/data/rmanbak/script/目录下新建3个脚本文件,并赋予每个脚本执行权限。

bakl0.sh 脚本

RUN_STR="
BAK_LEVEL=0
export BAK_LEVEL
ORACLE_HOME=/opt/app/oracle/10.2.0
export ORACLE_HOME
ORACLE_SID=orcl
export ORACLE_SID
RMAN_LOG_FILE=${0}.out
echo Script $0 >> $RMAN_LOG_FILE 
echo ==== started on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE           
chmod 666 $RMAN_LOG_FILE
$RMAN nocatalog target sys/admin  msglog $RMAN_LOG_FILE append << EOF

run{

allocate channel c1 type disk;

backup incremental level 0 format "/data/rmanbak/inc0_%u_%T" tag monday_inc0 database;

release channel c1;

}

bakl1.sh 脚本

RUN_STR="
BAK_LEVEL=1
export BAK_LEVEL
ORACLE_HOME=/opt/app/oracle/10.2.0
export ORACLE_HOME
ORACLE_SID=orcl
export ORACLE_SID
RMAN_LOG_FILE=${0}.out
echo Script $0 >> $RMAN_LOG_FILE 
echo ==== started on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE           
chmod 666 $RMAN_LOG_FILE
$RMAN nocatalog target sys/admin  msglog $RMAN_LOG_FILE append << EOF

run{

allocate channel c1 type disk;

backup incremental level 1 format "/data/rmanbak/inc1_%u_%T" tag monday_inc0 database;

release channel c1;

}

bakl2.sh 脚本
 
RUN_STR="
BAK_LEVEL=2
export BAK_LEVEL
ORACLE_HOME=/opt/app/oracle/10.2.0
export ORACLE_HOME
ORACLE_SID=orcl
export ORACLE_SID
RMAN_LOG_FILE=${0}.out
echo Script $0 >> $RMAN_LOG_FILE 
echo ==== started on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE           
chmod 666 $RMAN_LOG_FILE
$RMAN nocatalog target sys/admin  msglog $RMAN_LOG_FILE append << EOF

run{

allocate channel c1 type disk;

backup incremental level 2 format "/data/rmanbak/inc2_%u_%T" tag monday_inc0 database;

release channel c1;

}

其二、编辑oracle用户的自动执行任务计划

crontab -e -u oracle

30 23 * * 0 rman target / msglog=/data/rmanbak/rman_bk_'date '+%Y%m%d%H%M%S''.log

cmdfile=/data/rmanbak/script/bakl0.sh

30 23 * * 1 rman target / msglog=/data/rmanbak/bakl0.log cmdfile=/data/rmanbak/script/bakl2.sh

30 23 * * 2 rman target / msglog=/data/rmanbak/bakl0.log cmdfile=/data/rmanbak/script/bakl2.sh

30 23 * * 3 rman target / msglog=/data/rmanbak/bakl0.log cmdfile=/data/rmanbak/script/bakl1.sh

30 23 * * 4 rman target / msglog=/data/rmanbak/bakl0.log cmdfile=/data/rmanbak/script/bakl2.sh

30 23 * * 5 rman target / msglog=/data/rmanbak/bakl0.log cmdfile=/data/rmanbak/script/bakl2.sh

30 23 * * 6 rman target / msglog=/data/rmanbak/bakl0.log cmdfile=/data/rmanbak/script/bakl2.sh

最后重启crontab  命令 : #service crond restart
 
三、定期删除备份的归档文件

比如归档文件需要保存15天。我们可以写一个shell 脚本(del_archive_backup.sh
)如下,然后添加到crontab 里定时执行就可以删除过期的归档文件了。
                                     
                  #!/bin/ksh
                 
                  PATH=/usr/bin:/usr/ucb:/etc:.:/usr/X/bin:/bin
                  export PATH
                  find /data/arch/incremental_hotbackup -mtime +15 -name "arch_*"
                  -exec rm {} \;

注:find后面写你自己的路径就可以了。

相关文章:

最全Python算法实现资源汇总!

整理 | Rachel责编 | Jane出品 | Python大本营&#xff08;ID&#xff1a;pythonnews&#xff09;【导语】数据结构与算法是所有人都要学习的基础课程&#xff0c;自己写算法的过程可以帮助我们更好地理解算法思路&#xff0c;不要轻视每一个算法&#xff0c;一些虽然看似容易&…

【摄像头】低照度和光圈

1、低照度 低照度摄像机是指在较低光照度的条件下仍然可以摄取清晰图像的摄像头。 照度,即光照强度,是一种物理术语,指单位面积上所接受可见光的能量。单位:勒克斯Lux,简作Lx。 照度和光圈大小的关系:镜头的光圈越大(F值越小),所需的照度越低。这个好理解,光圈大了进…

CART树 python小样例

决策树不断将数据切分成小数据集&#xff0c;直到所有目标变量完全相同&#xff0c;或者数据不能再切分为止&#xff0c;决策时是一种贪心算法&#xff0c;它要在给定的时间内做出最佳选择&#xff0c;但并不关心能否达到最优 树回归 优点&#xff1a;可以对复杂和非线性的数据…

Directx教程(24) 简单的光照模型(3)

在工程myTutorialD3D11_17中&#xff0c;我们重新定义我们的cube顶点法向&#xff0c;每个三角形面的顶点法向都是和这个三角形的面法向是一致的。如下图所示&#xff1a; 在该工程中&#xff0c;我们还修改了CubeModelClass文件&#xff0c;从一个cube.txt文件中读cube顶点位置…

SSM框架之批量增加示例(同步请求jsp视图解析)

准备环境:SSM框架JDK8/JDK7MySQL5.7MAVEN3以上Tomcat8/7应用服务器 示例说明: 分发给用户优惠券&#xff0c;通过checkbox选中批量分发&#xff0c;对应也就是批量增加。 对于公司使用freemarket或者jsp或者volocity&#xff0c;有一定的启示意思。 不论视图用的是jsp或者非jsp…

四大指标超现有模型!少样本的无监督图像翻译效果逆天| 技术头条

作者 | Ming-yu Liu, Xun Huang, Arun Mallya, Tero Karras, Timo Aila, Jaakko Lehtinen译者 | linstancy编辑 | Rachel出品 | AI 科技大本营&#xff08;ID:rgznai100&#xff09;【导读】在已有的图像翻译研究中&#xff0c;模型需要使用大量的多类别图像数据&#xff0c;在…

【摄像头】镜头焦距

【摄像头】低照度和光圈 1、简介 在镜头上有两个非常重要的参数,一个是光圈、一个是焦距。 如果在镜头上只标注有一个数字的就是定焦头,比如:50mm,就表示这是一只焦距为50mm的定焦头。 如果在镜头上标注有两个数字的就是变焦头,比如:18-55mm,就表示这只镜头焦距覆盖…

(转)C语言字节对齐

图片可以在下面的博客中看到. 转自:http://blog.csdn.net/bigloomy/article/details/6633008 可能有不少读者会问&#xff0c;字节对齐有必要拿出来单独写一篇博客嘛&#xff1f;我觉得是很有必要&#xff0c;但是它却是被很多人所忽视的一个重点。那么我们使用字节对齐的作用…

赌5毛钱,你解不出这道Google面试题

作者 | Kevin Ghadyani 译者 | 清儿爸 编辑 | Rachel 出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09; 为了更了解其他人对软件工程的看法&#xff0c;我开始疯狂在 YouTube 上追 TechLead 的视频。在接下来的几天里&#xff0c;我为他在 Google 工作时…

【摄像头】摄像头IRCUT滤光片

1、IRCUT组成原理 IRCUT由两层滤光片组成&#xff0c;一片红外截止或吸收滤光片和一片全透光谱滤光片。 白天是红外截止滤光片工作&#xff0c;晚上是全透滤光片工作&#xff1a; 白天摄像头可以接收到人眼无法识别的红外线&#xff0c;会导致图像与肉眼所见有偏差&#xff0c…

修改Java-source版本

2019独角兽企业重金招聘Python工程师标准>>> pom.xml添加以下&#xff1a;<plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><plugin>&l…

HDU 2519 新生晚会【求组合数】

Problem Description开学了&#xff0c;杭电又迎来了好多新生。ACMer想为新生准备一个节目。来报名要表演节目的人很多&#xff0c;多达N个&#xff0c;但是只需要从这N个人中选M个就够了&#xff0c;一共有多少种选择方法&#xff1f;Input数据的第一行包括一个正整数T&#x…

【摄像头】宽动态范围

1、什么是动态范围 简单的来说,就是摄像机拍摄的同一个画面内,能正常显示细节的最亮和最暗物体的亮度值所包含的那个区间。动态范围越大,过亮或过暗的物体在同一个画面中都能正常显示的程度也就越大。 根据百度百科,当在强光源(日光、灯具或反光等)照射下的高亮度区域及…

mysql format函数对数字类型转化的坑

原值param 1234.5678 format(param, 2) &#xff08;不建议&#xff09; 结果&#xff0c;字符串类型&#xff0c;123,4.57 会导致你图表char 生成失败&#xff0c;直接变0 convert(param, decimal(12,2))&#xff08;建议&#xff09; 结果, 数值类型 1234.57 cast(p…

打造AI产教融合共赢生态,微软亚洲研究院扩大开放了这些资源

2019年5月10日&#xff0c;由教育部国际合作与交流司、科学技术司指导&#xff0c;教育部中外人文交流中心主办&#xff0c; 微软亚洲研究院承办&#xff0c;信息技术新工科产学研联盟特别协办的“中国高校人工智能人才国际培养计划”2019国际人工智能专家论坛暨2019微软新一代…

Microsoft.NET框架程序设计--20 CLR寄宿、应用程序域、反射

应用程序域是CLR提供的一种旨在减少内存使用、提高系统系能的新型机制。而反射使得我们可以很容易使用自己活着第三方的类型来增强应用程序的功能&#xff0c;从而帮助我们设计出可动态扩展的应用程序。 1.元数据&#xff1a;.NET框架的基石 元数据描述了一个类型的字段和方法。…

上手!深度学习最常见的26个模型练习项目汇总

作者&#xff1a;沧笙踏歌转载自AI部落联盟&#xff08;id&#xff1a;AI_Tribe&#xff09;今天更新关于常见深度学习模型适合练手的项目。这些项目大部分是我之前整理的&#xff0c;基本上都看过&#xff0c;大概俩特点&#xff1a;代码不长&#xff0c;一般50-200行代码&…

【EMC】电磁兼容性相关名词解释、基础知识

一、名词解释 1、EMC EMC&#xff08;Electro Magnetic Compatibility&#xff09;直译是“电磁兼容性”。意指设备所产生的电磁能量既不对其它设备产生干扰&#xff0c;也不受其他设备的电磁能量干扰的能力。 2、EMI——攻击力 EMI(Electro Magnetic Interference)直译为&…

定时任务 Cron表达式

Cron表达式是一个表示时间周期的字符串。 分为6或7个域&#xff0c;每一个域代表一个含义。 验证工具&#xff1a; http://cron.qqe2.com/Cron有如下两种语法格式&#xff1a; 格式1&#xff1a;秒分时天&#xff08;月&#xff09;月天&#xff08;星期&#xff09;年格式2&a…

C语言字符计算器

这又是以前的一篇文章&#xff0c;觉得有纪念价值。就发过来了。 去年暑假自己下了C语言实战105例&#xff0c;看了几个基础的&#xff0c;其中有一个是关于字符计算器的 我看起来蛮简单的&#xff0c;不过自己做起来我觉得还是做得少了&#xff0c;懵懵懂懂的。 现在想起那个觉…

一文看尽目标检测:从YOLO v1到v3的进化之路

本文转载自&#xff1a;http://www.mamicode.com/info-detail-2314392.html导语&#xff1a;如今基于深度学习的目标检测已经逐渐成为自动驾驶、视频监控、机械加工、智能机器人等领域的核心技术&#xff0c;而现存的大多数精度高的目标检测算法&#xff0c;速度较慢&#xff0…

【EMC】EMC屏蔽设计

1、屏蔽设计的基本原则&#xff1a; 蔽体结构简洁&#xff0c;尽可能减少不必要的孔洞&#xff0c;尽可能不要增加额外的缝隙&#xff1b;避免开细长孔&#xff0c;通风孔尽量采用圆孔并阵列排放。屏蔽和散热有矛盾时尽可能开小孔&#xff0c;多开孔&#xff0c;避免开大孔&am…

js控制表格隔行变色

只是加载时候隔行变一个颜色&#xff0c;鼠标滑动上去时候没有变化 <table width"800" border"0" cellpadding"0" cellspacing"0"> <tr><td>不变色</td></tr><tbody id"goaler"><tr…

jQuery实例——仿京东仿淘宝列表导航菜单

以前看着京东&#xff0c;淘宝的导航做的真好&#xff0c;真想哪一天自己也能做出来这么漂亮功能全的导航菜单。今天弄了一下午终于自制成功&#xff0c;主要使用jQuery和CSS&#xff0c;实现功能基本和京东一样。 功能介绍&#xff1a; 1、鼠标停留导航&#xff1b; 2、根据子…

【Ubuntu】使用过的ubuntu工具记录

1、UnixBench UnixBench性能测试&#xff0c;和windows的鲁大师差不多。 2、smartctl 测试磁盘性能 sudo apt install smartmontools 3、cpufrequtils cpu频率查看、设置工具集&#xff1a;cpufreq-inf、cpufreq-set sudo apt install cpufrequtils 4、stress cpu满负荷…

解救被困传销女演员 助人减肥找老婆 蚂蚁森林又现神功能

近日&#xff0c;一篇《女演员被传销组织拘禁30多天 竟因蚂蚁森林幸运逃离》的报道引发了全网热议。网友纷纷表示&#xff1a;蚂蚁森林功能强大&#xff0c;不仅能帮人减肥、找老婆&#xff0c;还能在关键时刻保命&#xff01; 珍惜偷你能量的好友 因为关键时刻能保命 据北京晨…

“智能+”时代,看见别人看不见的才是赢家

当科技、商业和社会均发生天翻地覆的变革&#xff0c;我们可以确定的是&#xff0c;“智能”时代的浪潮已掀起波澜。这将是智慧无处不在的时代&#xff0c;曾经无法解决的问题&#xff0c;都将在科技的发展下找到答案&#xff1b;这也是技术普惠万物的时代&#xff0c;创新型应…

CSS a控制超链接文字样式

超链接的代码<a href"http://www.divcss5.com/" target"_blank" title"关于div css的网站">DIVCSS</a>解析如下&#xff1a;href 后跟被链接地址目标网站地址这里是http://www.divcss5.com/target _blank -- 在新窗口中打开链接 _pa…

3分钟快速实现:9种经典排序算法的可视化

作者 | 爱笑的眼睛 来源 | 恋习Python&#xff08;ID:sldata2017&#xff09;最近在某网站上看到一个视频&#xff0c;是关于排序算法的可视化的&#xff0c;看着挺有意思的&#xff0c;也特别喜感。▼6分钟演示15种排序算法不知道作者是怎么做的&#xff0c;但是突然很想自己…

【Qt】Qt再学习(一):Application Example

1、QCommandLineParser 命令行解析类 常用接口 QApplication app(argc, argv);QCommandLineParser parser;parser.setApplicationDescription(QCoreApplication::applicationName());parser.addHelpOption(