Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器


Posted in Oracle onJune 28, 2022

学校需要将之前的生产数据库备份到华为云,之后实现每周自动备份

1.看看数据库情况

1.1先看了下表空间情况,生产环境表空间大概90G,用了才一半不到

查看所有表空间及使用情况

SELECT
  B.FILE_NAME 物理文件名,
  B.TABLESPACE_NAME 表空间名称,
  B.BYTES/1024/1024 大小M,
  (B.BYTES-SUM(NVL(A.BYTES,0)))/1024/1024 已使用M,
  SUBSTR((B.BYTES-SUM(NVL(A.BYTES,0)))/(B.BYTES)*100,1,5) 使用率
FROM DBA_FREE_SPACE A,DBA_DATA_FILES B
WHERE A.FILE_ID=B.FILE_ID
GROUP BY B.TABLESPACE_NAME,B.FILE_NAME,B.BYTES
ORDER BY B.TABLESPACE_NAME;

Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器

2.数据库备份

2.1登陆数据库

[root@]$ sqlplus / as sysdba

2.2创建逻辑目录

执行这个操作并不会在Linux中创建/opt/data_backup这个文件,最后需要手动去创建该文件才能进行备份。

SQL> create directory back_dir as '/opt/backup'
SQL> select * from dba_directories; #查看所有逻辑目录,看是否创建成功

2.3给数据库用户文件操作权限#dbuser为数据库用户名,更具实际情况更改

Grant read,write on directory back_dir to dbuser;

2.3创建物理目录

[root@]$ mkdir -p /opt/backup #-p 确保目录名称存在,不存在的就建一个,可使用参数创建多级目录

1.3备份数据库

[root@]$ expdp dbuser/passwd@192.168.110.9:1521/orcl dumpfile=dbback.dmp log=log.log directory=back_dir schemas=cbyxy

exedp有很多参数,这里是用到的一些解释
dbuser/passwd@192.168.110.9:1521/orcl #导出用户名/密码@数据库IP/数据库SID
dumpfile=导出的文件名.dmp
log=导出过程的日志名.log
directory=备份放的路径名,用的之前的逻辑目录名
schemas=要备份的数据库用户名字
FULL=y #加上意思为导出整个数据库就不需要schemas参数了
也可以按表空间导出TABLESPACES=
表名导出TABLES=
等等还有很多参数自行了解

3.shell脚本实现自动备份

#!/bin/bash
#导入环境变量,根据具自己实际情况填写
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
export LOCAL_IP=192.168.110.183:1521
export BACKUP_USER_IP_DIR=root@192.168.110.187:/opt/   #备份服务器的用户,ip,保存地址
export ORACLE_USER_NAME=system #数据库的用户密码根据实际情况填写,备份整个库最好使用system或sys管理员用户
export ORACLE_USER_PASSWD=Abc123556..
export ORACLE_SID=orcl #不知道可以使用Oracle用户执行echo $ORACLE_SID,或者SQL> SELECT instance_name FROM v$instance
export DATA_DIR=/opt/backup   #与数据库中的逻辑地址相同,用来储存备份文件
export DELTIME=`date -d "7 days ago" +%Y%m%d` # -d "7 days ago" 为获取七天前的日期,以日期命名方便任务自动删>除
export BAKUPTIME=`date +%Y%m%d` #备份日期年月日
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #定义语言地域和字符集属性的环境变量,根据自己数据库情况修改
mkdir -p $DATA_DIR
echo "Starting bakup..."
echo "Backup file path $DATA_DIR/$BAKUPTIME.dmp"
expdp $ORACLE_USER_NAME/$ORACLE_USER_PASSWD@$LOCAL_IP/$ORACLE_SID dumpfile=$BAKUPTIME.dmp log=$BAKUPTIME.log directory=expdp full=y
echo "backup file success..."
tar -zcvPf $DATA_DIR/$BAKUPTIME.tar.gz $DATA_DIR/$BAKUPTIME.dmp --remove-files ##-P:指定绝对路径 --remove-files :打包后删除原文件
echo "tar the file backup successfully"
echo "scp to":$BACKUP_IP
scp $DATA_DIR/$BAKUPTIME.tar.gz $BACKUP_USER_IP_DIR #远程服务器防火墙有限制scp端口需要加:-P 端口号
rm -f $DATA_DIR/$DELTIME.log #删除之前的备份
echo "Bakup completed."

Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器

4.添加定时任务

[root@ ]$ crontab -e

添加行:* 1 * * 6 /opt/back.sh #每个星期的星期六早上执行备份任务

*    *    *    *    *
-    -    -    -    -
|    |    |    |    |
|    |    |    |    +----- 星期中星期几 (0 - 6) (星期天 为0)
|    |    |    +---------- 月份 (1 - 12) 
|    |    +--------------- 一个月中的第几天 (1 - 31)
|    +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)

4.参考文章

https://www.cnblogs.com/xwdreamer/p/3511047.html
https://www.cnblogs.com/farmer-y/p/5888432.html
https://blog.csdn.net/weixin_41607523/article/details/110817646
https://blog.csdn.net/XUEYUTIANQI/article/details/113976558

到此这篇关于Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器的文章就介绍到这了,更多相关Oracle 11g使用expdp备份数据内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Oracle 相关文章推荐
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
Apr 06 Oracle
mybatis使用oracle进行添加数据的方法
Apr 27 Oracle
Oracle 区块链表创建过程详解
May 15 Oracle
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
Jun 21 Oracle
使用Oracle跟踪文件的问题详解
Jun 28 Oracle
Oracle安装TNS_ADMIN环境变量设置参考
Nov 01 Oracle
分析SQL窗口函数之聚合窗口函数
Apr 21 Oracle
分析SQL窗口函数之取值窗口函数
Apr 21 Oracle
instantclient客户端 连接oracle数据库
Apr 26 Oracle
Oracle中DBLink的详细介绍
Apr 29 Oracle
ORACLE中dbms_output.put_line输出问题的解决过程
Jun 28 Oracle
Oracle数据库事务的开启与结束详解
Jun 25 #Oracle
在Oracle表中进行关键词搜索的过程
Jun 10 #Oracle
Oracle锁表解决方法的详细记录
Jun 05 #Oracle
oracle数据库去除重复数据
May 20 #Oracle
解决Oracle数据库用户密码过期
May 11 #Oracle
Oracle中DBLink的详细介绍
instantclient客户端 连接oracle数据库
You might like
PHP目录函数实现创建、读取目录教程实例
2011/01/13 PHP
PHP大文件分割上传 PHP分片上传
2017/08/28 PHP
javascript 防止刷新,后退,关闭
2010/08/07 Javascript
javascript针对DOM的应用分析(四)
2012/04/15 Javascript
js自动闭合html标签(自动补全html标记)
2012/10/04 Javascript
跟我学习javascript的Date对象
2015/11/19 Javascript
JS根据浏览器窗口大小实时动态改变网页文字大小的方法
2016/02/25 Javascript
jQuery qrcode生成二维码的方法
2016/04/03 Javascript
详解如何较好的使用js
2016/12/16 Javascript
超全面的javascript中变量命名规则
2017/02/09 Javascript
Vue表单demo v-model双向绑定问题
2018/06/29 Javascript
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
2018/08/24 Javascript
微信小程序版本自动更新的方法
2019/06/14 Javascript
Vue结合路由配置递归实现菜单栏功能
2020/06/16 Javascript
python list 合并连接字符串的方法
2013/03/09 Python
python用字典统计单词或汉字词个数示例
2014/04/22 Python
Python中的__new__与__init__魔术方法理解笔记
2014/11/08 Python
Django静态资源URL STATIC_ROOT的配置方法
2014/11/08 Python
Python守护进程(daemon)代码实例
2015/03/06 Python
Python中使用语句导入模块或包的机制研究
2015/03/30 Python
Python实现计算两个时间之间相差天数的方法
2017/05/10 Python
解决PyCharm中光标变粗的问题
2017/08/05 Python
Python爬虫之UserAgent的使用实例
2019/02/21 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
2019/10/28 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
2020/03/27 Python
Django实现后台上传并显示图片功能
2020/05/29 Python
pytorch随机采样操作SubsetRandomSampler()
2020/07/07 Python
年度考核自我鉴定
2013/11/09 职场文书
自荐书封面下载
2013/11/29 职场文书
授权委托书范本(单位)
2014/09/28 职场文书
六一儿童节开幕词
2015/01/29 职场文书
2015年八一建军节活动总结
2015/03/20 职场文书
2015年教学工作总结
2015/04/02 职场文书
2015年度企业工作总结
2015/05/21 职场文书
某某幼儿园的教育教学管理调研分析报告
2019/11/29 职场文书
PostgreSQL解析URL的方法
2021/08/02 PostgreSQL