Oracle database Linux自建环境备份至远端服务器自定义保留天数
环境准备
linux下安装oracle 请看
oracle12c单节点部署
系统版本:
CentOS 7
软件版本:
Oracle12c
备份策略与实现方法
此次备份依赖Oracle自带命令exp与linux下crontab命令(定时任务)
exp
Oracle中exp命令是一个用于导出数据库数据和对象的非常有用的工具。可以将整个数据库导出为一个文件,也可以只导出一部分数据或对象。使用exp命令可以帮助我们备份整个数据库,并将其转移到另一个服务器或重新加载到同一台服务器上的不同实例中。相较于rman 来说对于单用户的备份更加方便且具有较好的移植性。
exp命令参数:
userid:指定访问数据库的用户名和密码。
file:指定导出的文件名(可以包含完整的路径)。
tables:指定要导出的表的列表。可以以逗号分隔,如表1,表2,表3。如果你不指定表名,则导出整个数据库。
owner:指定要导出的所有属主的名称。
rows:指定是否导出表中的行。默认情况下,也就是rows=y,它将导出表中的所有行。
compress:指定是否使用压缩来减小导出文件的大小。默认情况下,也就是compress=n,它不进行压缩。
constrnts:指定是否导出表中的限制。默认情况下,也就是constrnts=y,它将导出表的所有限制。如果你不希望导出表的限制,则设置constrnts=n。
indexes:指定是否导出表中的索引。默认情况下,也就是indexes=y,它将导出表的所有索引。如果你不希望导出表的索引,则设置indexes=n。
triggers:指定是否导出表中的触发器。默认情况下,也就是triggers=y,它将导出表的所有触发器。如果你不希望导出表的触发器,则设置triggers=n。
feedback:指定导出进度的显示方式。默认情况下,也就是feedback=100,每处理100个行就显示一次进度。
buffer:指定通过网络传输的缓冲区的大小。默认情况下,也就是buffer=4096。
corntab
crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
参数:
-e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
-r : 删除目前的时程表
-l : 列出目前的时程表

备份策略:
每天凌晨2点备份一次(具体备份时间视情况而定–选择业务低峰期)
备份文件保留自定义天数(如果磁盘空间充足建议保留2周左右)
创建本地存放备份文件的目录
mkdir /dbbakz/data
创建存放备份脚本的目录
mkdir /dbbakz/scripts
创建远端服务器备份文件存放目录
mkdir /dbbakz/data/对应ip
#例如本地服务器地址为 192.168.10.21 远端服务器地址为172.16.2.101
#则登录172.16.2.101 创建文件夹 /dbbakz/data/192.168.10.21
需对远端服务器提前配置好ssh免密登录 可参照
SSH免密登录
备份
备份脚本:
vi /dbbakz/scripts/oraclebackup.sh
#!/bin/bash
#Create by:zhangyongze
#为什么不问问神奇的海螺呢丶
#oracle备份至远端服务器(本地不保留、远端保留60天)export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1
export ORACLE_SID=orcl
hostip=`ip addr | grep inet | grep -v 127 | grep -v inet6 |awk '{print $2}'| grep -Eo "[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}"|head -n 1`
oracleport=1521 #oracle端口
backNode=172.16.2.101 #远端备份服务器地址需提前配置好免密
lbackPath=/dbbakz/data/ #本地备份文件存放路径
sbackPath=/dbbakz/data/$hostip/ #服务端备份文件存放路径
date=$(date +%Y%m%d%M%H%S) # 获取系统当前日期时间
days=60 #保留时常
orowner=byyy #备份此用户下面的数据
bakuser=byyy #用此用户来执行备份,必须要有备份操作的权限
bakpass=123456 #执行备注的用户密码
bakdata=$ORACLE_SID_$orowner_$date.dmp #备份文件名称
baklog=$ORACLE_SID_$orowner_$date.log #日志文件名称
baktar=$ORACLE_SID_$orowner_$date.tar.gz #压缩后备份文件echo "------------使用exp开始备份Oracle数据库---------------"
$ORACLE_HOME/bin/exp $bakuser/$bakpass@$hostip:$oracleport/$ORACLE_SID grants=y owner=$orowner file=$lbackPath/$bakdata log=$lbackPath/$baklog #执行备份echo "------------备份数据库完成---------------"cd $lbackPathtar -zcvf $baktar $bakdata $baklog #压缩备份文件和日志文件echo "------------备份文件已打包---------------"#传入备份服务器
scp $lbackPath/$baktar $backNode:$sbackPathecho "------------备份文件已传入备份服务器---------------"find $lbackPath -type f -name \*.dmp -exec rm {} \; #删除备份文件
find $lbackPath -type f -name \*.log -exec rm {} \; #删除日志文件
find $lbackPath -type f -name \*.tar.gz -daystart -mtime +$days -exec rm -rf {} \; #删除60天前的备份(注意:{} \中间有空格)echo "------------本地备份文件已删除()---------------"#删除60天之前的数据库备份文件
ssh $backNode "find $sbackPath -type f -name '*.tar.gz' -daystart -mtime +$days -exec rm -rf {} \;"echo "------------远端备份文件保留60天备份完成---------------"
定时任务脚本:
#将备份操作加入到定时任务(每天凌晨2点定时执行)
crontab -e00 2 * * * /dbbakz/scripts/oraclebackup.sh
脚本中调用命令$ORACLE_HOME/bin/exp 是因为使用root用户操作、 同时兼顾备份-打包-传输-删除
可使用
whereis exp
寻找当前服务器命令绝对路径
相关文章:
Oracle database Linux自建环境备份至远端服务器自定义保留天数
环境准备 linux下安装oracle 请看 oracle12c单节点部署 系统版本: CentOS 7 软件版本: Oracle12c 备份策略与实现方法 此次备份依赖Oracle自带命令exp与linux下crontab命令(定时任务) exp Oracle中exp命令是一个用于导出数据库数据和对象的…...
SpringBoot异步任务(2)|(线程池使用)
SpringBoot异步任务(2)|(线程池使用) 文章目录 SpringBoot异步任务(2)|(线程池使用)[TOC] 前言一、使用场景二、springboot添加异步任务1.配置线程池2.线程池的使用 总结 章节 第一章…...
解决Windows:Call to undefined function exif_imagetype()
很明显,是php安装时没有打开某些扩展,以致不能执行exif_imagetype()这个方法,因此需要打开。 网上很多人说需要打开下面这两个扩展: extension=php_exif.dll extension=php_mbstring.dll 但只说对了一半,我一开始也按照网上文章说的打开这两个扩展,但是还是同样错误。…...
【Spring】Spring AOP 初识及实现原理解析
博主简介:想进大厂的打工人博主主页:xyk:所属专栏: JavaEE进阶 目录 文章目录 一、初识AOP 1.1 什么是AOP? 1.2 AOP的组成 1.2.1 切面(Aspect) 1.2.2 切点(Pointcut) 1.2.3 连接点&…...
【Express.js】集成Redis
集成Redis 本节我们介绍在 express.js 中集成 redis. Redis是一个高性能的key-value内存数据库,支持事务、队列、持久化等特性,常用于高并发性能场景。 准备工作 创建一个 express.js 项目(本文基于evp-express-cli)在开发环境…...
StringBuilder创建的对象如何清空
要清空一个StringBuilder对象,可以使用其实例方法setLength(int newLength)来实现。将newLength参数设置为0,就可以将StringBuilder的内容清空。以下是一个示例代码: StringBuilder sb new StringBuilder(); // 添加一些内容到StringBuilde…...
mybatis-plus实现mysql自定义IKeyGenerator
1. IKeyGenerator主键生成 内置实现类,缺少mysql,因为mysql不支持序列,只能通过表模拟序列 H2KeyGenerator PostgreKeyGenerator KingbaseKeyGenerator 人大金仓的KES数据库 DB2KeyGenerator OracleKeyGenerator2. 新建表模拟序列 CREATE T…...
山西电力市场日前价格预测【2023-08-11】
日前价格预测 预测明日(2023-08-11)山西电力市场全天平均日前电价为367.15元/MWh。其中,最高日前电价为408.91元/MWh,预计出现在20: 00。最低日前电价为343.90元/MWh,预计出现在02: 30。 价差方向预测 1: 实…...
浏览器无法连接网络问题
问题描述 电脑其他程序都能正常联网,但是所有的浏览器都无法联网,同时外部网站都能ping通 问题诊断 查看电脑Internet连接的问题报告显示:该设备或资源(Web 代理)未设置为接受端口"7890"上的连接。 解决方案 经过检查发现不是IP地址…...
ZyjDataLink 全量MySQL同步程序 - 开发过程 01
开发过程由本人从 架构设计 到 代码实现 独立完成,通过该博客记录分享开发经验 ZyjDataLink 当前的目标是做到 MySQL大数据量的快速同步,后期希望扩展的功能 高度可操作性,融入增量数据库同步,跨数据库同步 ZyjDataLink 需求分析…...
为什么说Python股票接口是连接投资与编程的桥梁?
在现代金融领域,投资与技术的结合日益紧密,而Python作为一种强大的编程语言,为投资者提供了开发股票交易策略和分析市场数据的高效工具。 一、Python股票接口的重要性: Python作为一种易学易用的编程语言,逐渐成为金融…...
kubectl,helm安装到window
1、Windows创建目录和文件 创建文件到指定目录记得切换目录 安装到家目录 wangdachuD-M70K45QX-1544 MINGW64 ~ $ mkdir -p .kubewangdachuD-M70K45QX-1544 MINGW64 ~ $ vi configwangdachuD-M70K45QX-1544 MINGW64 ~ $ pwd /c/Users/wangdachu 2、Windows安装kubectl到当前…...
【BASH】回顾与知识点梳理(目录)
【BASH】回顾与知识点梳理(目录) 一. 认识与学习 BASH二. Shell 的变量功能三. 命令别名与历史命令四. Bash Shell 的操作环境五. 数据流重导向六. 管线命令 (pipe)七. 前六章知识点总结及练习八. 正则表达式(正规表示法)九. 扩展…...
TFRecords详解
内容目录 TFRecords 是什么序列化(Serialization)tf.data 图像序列化(Serializing Images)tf.Example函数封装 小结 TFRecords 是什么 TPU拥有八个核心,充当八个独立的工作单元。我们可以通过将数据集分成多个文件或分片(shards)…...
【多维定向滤波器组和表面波】表面变换:用于高效表示多维 s 的多分辨率变换(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
45.113.201.X服务器远程不上是什么原因,有什么办法解决?
45.113.201.1远程登录不上可能有多种原因导致,以下是一些常见的问题和解决方法: 网络连接问题:确保本地网络连接正常,尝试通过其他设备或网络连接服务器,确认是否是网络问题导致无法远程登录。 IP地址或端口错误&…...
微信小程序 地图map(电子围栏圆形和多边形)
正常情况下是没有手机上画电子围栏的,公共平台上我也没找到,所以走了一个歪点子,就是给地图添加点击事件,记录点的位置,在画到电子围栏上就是添加电子围栏了,如果只是显示电子围栏就简单了 一、多边形电子…...
Dockerfile 文件
dockerfile是一个文本文件,包含一条条指令,每条指令都会构建一层镜,一般分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令,#为 Dockerfile 中的注释。 docker build 基于dockerfile制作镜像 OPTIONS参数 …...
ssm学院党员管理系统源码和论文PPT
ssm学院党员管理系统源码和论文PPT002 开发工具:idea 数据库mysql5.7(mysql5.7最佳) 数据库链接工具:navcat,小海豚等 开发技术:java ssm tomcat8.5 选题意义、价值和目标: 随着鄂尔多斯应用技术学院招生规模的不断扩大&…...
文件数字水印,附一种纯文本隐写术数字水印方法
数字水印(Digital Watermark)是一种在数字媒体文件中嵌入隐藏信息的技术。这些数字媒体可以是图片、音频、视频或文本等。数字水印不会对原始文件造成明显的视觉或听觉变化,但可以在一定程度上保护知识产权,追踪数据来源ÿ…...
把 SAP Enterprise Search 的安全边界真正收紧,别只盯着搜索框
很多团队做 Enterprise Search,上线前会把精力放在连接器、索引、搜索模型、Fiori 搜索入口这些看得见的地方,等到真正进生产,问题却常常出在另一个层面,谁能搜、能搜到多少、跨系统怎么传、日志里留下了什么、底层 HANA 的数据有没有被妥善保护。SAP 官方文档对这件事的态…...
Kro实战:如何创建第一个ResourceGraphDefinition实例
Kro实战:如何创建第一个ResourceGraphDefinition实例 【免费下载链接】kro kro | Kube Resource Orchestrator 项目地址: https://gitcode.com/gh_mirrors/kr/kro Kro(Kube Resource Orchestrator)是一款强大的Kubernetes资源编排工具…...
JSP的了解和使用
文章目录1.概述2.本质3.核心组成4.优点5.缺点6.作用域1.概述 JSP 的全称是 Jakarta Server Pages(曾用名:JavaServer Pages),是一种用于开发动态网页的 Java Web 技术。它的核心思想是:在 HTML 页面中嵌入 Java 代码&a…...
告别复杂命令!Streamlit可视化界面,轻松搞定卡通转真人高清图
告别复杂命令!Streamlit可视化界面,轻松搞定卡通转真人高清图 1. 为什么你需要这个工具 如果你曾经尝试过将卡通或二次元图片转换成真人风格,很可能经历过这样的痛苦:安装复杂的依赖库、记忆冗长的命令行参数、处理显存不足导致…...
ExBody2表现性控制进阶:动态稳定性与运动风格化
目录 第一部分 原理详解 第一章 表现性控制的理论基础与范式转换 1.1 从传统稳定控制到动态表现性的范式迁移 1.1.1 人形机器人控制的双重目标重构 1.1.1.1 传统MPC/WBC的稳定性约束局限性分析 1.1.1.2 动态表现性(Dynamic Expressiveness)的数学定义与物理内涵 …...
SeqGPT-560M零样本NLP实战:从Prompt设计到结果解析的完整链路
SeqGPT-560M零样本NLP实战:从Prompt设计到结果解析的完整链路 你是不是也遇到过这样的场景?拿到一堆文本数据,想快速把它们分个类,或者从里面提取出关键信息,比如人名、公司名、事件。传统方法要么需要写一堆复杂的规…...
终极Walkway.js进阶教程:掌握复杂交互动画与响应式设计的完整指南
终极Walkway.js进阶教程:掌握复杂交互动画与响应式设计的完整指南 【免费下载链接】walkway An easy way to animate SVG elements. 项目地址: https://gitcode.com/gh_mirrors/wa/walkway Walkway.js是一款轻量级的SVG动画库,让开发者能够轻松为…...
Lightpicture图床系统
LightPicture 是一款用于图片上传与托管展示的系统程序。用户可通过该系统搭建独立的图片存储与分发服务。核心用途将图片文件上传至服务器,并生成可供外部访问的链接地址。主要构成系统包含上传处理模块与前端展示界面,支持常见的图片格式文件。存储支持…...
告别海量标注!用SG-One的Masked Average Pooling,一个样本就能搞定图像分割
小样本图像分割实战:SG-One的Masked Average Pooling核心解析与PyTorch实现 当标注数据稀缺成为计算机视觉项目的常态时,传统分割方法往往陷入"巧妇难为无米之炊"的困境。SG-One提出的Masked Average Pooling技术,正在改变这一局面…...
【2026年最新600套毕设项目分享】微信小程序的电子商城购物平台(30032)
有需要的同学,源代码和配套文档领取,加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码(前后端源代码SQL脚本)配套文档(LWPPT开题报告/任务书)远程调试控屏包运行一键启动项目&…...
