MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 数据库 / 正文

Linux系统中的Oracle数据备份(一)——orcl系统数据备份

2024-11-26 19:47 huorong 数据库 5 ℃ 0 评论

简介:本文主要介绍Linux系统中的Oracle数据库进行expdb备份过程,然后测试成功后。再通过Linux系统的计划任务Crontab执行数据库脚本按计划进行备份,设计的内容包括数据备份脚本的编写,计划任务的制作等内容。详细内容包括:

SH脚本程序以下面的行开始:#! /bin/sh

符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。当编写脚本完成时,如果要执行该脚本,还必须使其可执行。

要使编写脚本可执行:# chmod +x filename 这样才能用./filename 来运行。

Crontab执行备份计划:# crontab –e

用crontab -e进入当前用户的工作表编辑,是常见的vim界面。每行是一条命令。crontab的命令构成为 时间+动作,其时间有分、时、日、月、周五种,操作符有:

* 取值范围内的所有数字

/ 每过多少个数字

- 从X到Z

,散列数字

一、登录linux系统

二、查看数据库版本

三、编写数据库备份脚本

#!/bin/bash

#source ~/.bash_profile

days=$(date '+%Y%m%d')

#echo $days

echo off

expdp username/password directory=dumpdir dumpfile=orcl_$days.dmp logfile=orcl_$days.log schemas=*** compression=ALL

cd /data/dumpdir

# tar命令打包并删除原文件

tar -zcvf ***_$days.tar.gz ***_$days.dmp ***_$days.log --remove-files

# 保留一个星期的备份文件

find /usr/local/backup -name "*.tar.gz" -mtime +7 -exec rm {} \;

echo 任务完成!

四、制订备份计划

1、计划任务管理CRON

Linux系统经常使用的是crontab命令是cron table的简写,它是cron的配置文件,也可以叫它作业列表,可以在以下文件夹内找到相关配置文件,一般以root用户登陆并执行# crontab –e所生成的计划任务存放在/var/spool/cron/ 目录下。

/var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名;

/etc/crontab 这个文件负责调度各种管理和维护任务;

/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本;

还可以把脚本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次。

2、执行计划任务指令# crontab –e编写备份任务

执行指令# crontab -u username -e

编写计划任务脚本如下:

30 22 * * * /usr/local/backup.sh

备注:上述计划任务意为每天晚上10:30执行/usr/local/backup/backup.sh备份脚本。

格式说明:第1列为分钟,0~59;第2列为小时,0~23;第3列为日期,1~31;第4列为月份,1~12;第5列为星期,0~7(0和7表示星期天);第6列为要运行的命令(如果有多个命令用 && 隔开)。

3、其他crontab命令

crontab命令格式如下:

crontab [-u user] file

crontab [-u user] [ -e | -l | -r ]

备注:命令参数

-u user:用来设定某个用户的crontab服务,例如,“-u xyz”表示设定xyz用户的crontab服务,此参数一般有root用户来运行。

file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入上键入的命令,并将它们载入crontab。

-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。

-l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。

-r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。

-i:在删除用户的crontab文件时给确认提示。

4、执行备份脚本进行测试

执行指令# sh backup.sh进行备份测试。如下图

Tags:导出数据 oracle

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言