网站首页 > 技术文章 正文
本章节采用比较常见的逻辑备份exp/imp。
本系列文章是把作者刚接触和学习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/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export 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要导入的用户名
IT小胖豆:初学者踩坑之路及过程分享,希望能够帮到一些初学者,欢迎各位IT打工人,入坑讨论-_-
猜你喜欢
- 2024-10-14 oralce用户的介绍 ora-01917:user or role
- 2024-10-14 查询所有用户的表,ORACLE下有三个视图
- 2024-10-14 Oracle 设置RMAN备用用户 oracle rman全库备份
- 2024-10-14 oracle死锁介绍 oracle 死锁原因
- 2024-10-14 MySQL和Oracle相关 mysql和oracle的sql语句一样吗
- 2024-10-14 oracle账户被锁定怎么解锁 oracle账户已被锁定什么意思
- 2024-10-14 Python操作数据库(Oracle) python操作数据库的步骤
- 2024-10-14 Oracle数据库使用攻略 oracle数据库使用教程
- 2024-10-14 Oracle学习笔记三:PL/SQL developer工具安装
- 2024-10-14 Oracle数数据库用户管理之用户与安全性(二)
你 发表评论:
欢迎- 06-24发现一款开源宝藏级工作流低代码快速开发平台
- 06-24程序员危险了,这是一个 无代码平台+AI+code做项目的案例
- 06-24一款全新的工作流,低代码快速开发平台
- 06-24如何用好AI,改造自己的设计工作流?
- 06-24濮阳网站开发(濮阳网站建设)
- 06-24AI 如何重塑前端开发,我们该如何适应
- 06-24应届生靠这个Java简历模板拿下了5个offer
- 06-24服务端性能测试实战3-性能测试脚本开发
- 566℃Oracle分析函数之Lag和Lead()使用
- 565℃几个Oracle空值处理函数 oracle处理null值的函数
- 550℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 545℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 543℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 536℃【数据统计分析】详解Oracle分组函数之CUBE
- 526℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 519℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)