欢迎来到小居数码网-一家分享数码知识,生活小常识的网站,希望可以帮助到您。

当前位置:生活小常识 > 数码知识 >
优质

linux备份oracle数据库命令(linuxoracle定时备份)

数码知识

林毅扬优秀作者

原创内容 来源:小居数码网 时间:2024-08-12 14:00:01 阅读() 收藏:41 分享:45

导读:您正在阅读的是关于【数码知识】的问题,本文由科普作家协会,生活小能手,著名生活达人等整理监督编写。本文有1022个文字,大小约为4KB,预计阅读时间3分钟。

本章节采用比较常见的逻辑备份exp/imp。

linuxoracle定时备份

本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识、Web程序、mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路。

注意:

Linux下区分大小写;Linux多用户多线程;Linux下每个文件和目录都有访问权限;

linux下Oracle定时备份

本章节采用比较常见的逻辑备份exp/imp。

一、Oracle数据导入导出语法

1.数据导出

#导出全库(只有dba权限的用户才能导出全库)$ exp dba用户/dba密码@实例名 file=导出文件.dmp log=导出日志文件.log full=y#导出指定用户的表$ exp dba用户/dba密码@实例名 file=导出文件.dmp log=导出日志文件名.log owner=用户#也可以使用普通用户导出自己的表$ exp 用户/密码@实例名 file=导出文件.dmp log=导出日志文件.log#导出多个用户的表$ exp dba用户/dba密码@实例 file=导出文件名.dmp log=导出日志文件.log owner=用户1,用户2#导出指定表$ exp dba用户/dba密码@实例 file=导出文件.dmp log=导出日志文件.log tables=表1,表2#只导出表结构# 在导出语句后追加rows=n参数即可,rows=n表示不导出数据行。

2.数据导入

#导入全库$ exp dba用户/dba密码@实例 file=导出文件.dmp log=导出日志文件.log full=y#单个用户的表$ exp dba用户/dba密码@实例 file=导出文件.dmp log=导出日志文件.log formuser=导出时的用户 touser=要导入的用户#导入指定的表$ exp dba用户/dba密码@实例 file=导出文件.dmp log=导出日志文件.log tables=表1,表2

二、定时备份

1.备份策略

逻辑备份exp;备份路径为/home/db_bak;定时备份为每晚23.00执行;保留7天的备份;

2.编辑备份脚本ora_bak.sh

# vim /home/db_bak/ora_bak.sh

内容如下:

#这里需要重新设置环境变量,因为crontab定时器是系统程序,没有oracle的环境变量#设置oracle环境变量export ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1export ORACLE_SID=orclexport PATH=$PATH:/usr/sbin:$ORACLE_HOME/bin#或者直接执行source使oracle的环境变量生效,因为之前.bash_profile里已经配置过了# source /home/oracle/.bash_profile#备份目录bak_dir=/home/db_bak#备份用户名d_name=test#备份时间time=$(date +%Y%m%d%H)#开始备份exp test/test@orcl file=$bak_dir/$d_name_$time.dmp log=$bak_dir/$d_name_$time.log#或者异地备份#exp test/test@172.16.2.100/orcl file=$bak_dir/$d_name_$time.dmp log=$bak_dir/$d_name_$time.log#删除7天以前的备份,注意find语句结尾的分号find $bak_dir -name "*.dmp" -mtime +7 -exec rm -f {} ;find $bak_dir -name "*.log" -mtime +7 -exec rm -f {} ;

3.添加定时任务

方法一:crontab -e,为用户设置定时器

# crontab -e -u oracle #使用默认编辑器设置给oracle用户定时器或者切换到orale用户后执行$ crontab -e#增加以下内容:0 23 * * * sh /home/db_bak/ora_bak.sh > /home/db_bak/backup.log 2>&1#生效后文件存入/var/spool/cron/oracle,另外crontab -e对格式有校验

方法二:编辑定时器文件,为系统设置定时器,可以指定执行用户

# vim /etc/crontab#增加以下内容:0 23 * * * oracle sh /home/db_bak/ora_bak.sh > /home/db_bak/backup.log 2>&1

三、备份恢复/导入

切换到oracle用户# su - oracle$ imp test2/test2@orcl file=/home/db_bak/test_20210830.dmp log=imp.log formuser=test touser=test2#参数说明:formuser导出时的用户名,touser要导入的用户名

上面就是小居数码小编今天给大家介绍的关于(linuxoracle定时备份)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。

94%的朋友还想知道的:

(353)个朋友认为回复得到帮助。

部分文章信息来源于以及网友投稿,转载请说明出处。

本文标题:linux备份oracle数据库命令(linuxoracle定时备份):http://sjzlt.cn/shuma/154915.html

猜你喜欢