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

目录
  • 1.看看数据库情况
    • 1.1先看了下表空间情况,生产环境表空间大概90G,用了才一半不到
  • 2.数据库备份
    • 2.1登陆数据库
    • 2.2创建逻辑目录
    • 2.3给数据库用户文件操作权限#dbuser为数据库用户名,更具实际情况更改
    • 2.3创建物理目录
    • 1.3备份数据库
  • 3.shell脚本实现自动备份
  • 4.添加定时任务
  • 4.参考文章

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

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;

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."

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备份数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 使用Oracle命令进行数据库备份与还原

    数据导出: 1.将数据库orcl完全导出,用户名system 密码manager 导出到D:\daochu.dmp中 exp system/manager@orcl file=d:\daochu.dmp full=y 2.将数据库中system用户与sys用户的表导出 exp system/manager@orcl file=d:\daochu.dmp owner=(system,sys) 3.将数据库中的表table1 .table2导出 exp system/manager@orcl fil

  • Oracle数据库自动备份脚本分享(超实用)

    前言 众所周知数据是应用的核心部分,程序坏了换台机器重新发布就可以,但数据一旦丢失,造成的损失将不可挽回,程序发布到生产后,数据的备份便显得尤为重要,由于不一定所有的服务均有资金完成高级的备份如RAC和DG,在我们只有一台数据库服务器的,暂时采取最简单的备份策略,export出dmp进行保存. 一.备份脚本 1.初始化变量,记录开始日志 #变量 sysname=填写自己的系统名称 syspath=/home/oracle/databak/$sysname v_date=$(date '+%Y%m

  • Oracle数据库的备份与恢复案例详解

    目录 1 逻辑备份/恢复(导出/导入) 1.必备参数 2.owner参数 3.tables参数 4.关于inctype参数 2 物理备份/恢复 1.冷备份/恢复 2.热备份/恢复 3 利用PL/SQL Developer备份数据库 在Oracle数据库的使用过程中,备份与恢复是经常遇到的操作.Oracle中的备份分为两大类:逻辑备份和物理备份.其中物理备份又分为两类:冷备份和热备份.本节将简要讲述如何利用各种备份手段进行Oracle数据库的备份与恢复. 1 逻辑备份/恢复(导出/导入) 逻辑备份

  • 数据库Oracle数据的异地的自动备份

    正在看的ORACLE教程是:数据库Oracle数据的异地的自动备份.在大型商业应用中,数据的异地容灾备份十分重要,也必不可少.笔者根据自己的实践经验,设计了一套简洁地实现异地数据自动备份的方法,可供数据库管理人员参考.文中所有的程序都经过测试,运行良好.这里模拟的异地运行环境为一主一备两套Sun Solaris系统,所采用的备份方法为Oracle数据库提供的标准备份:export. 相关命令 文中主要用到三个命令,这里先单独介绍一下: export: 将数据库中数据备份成一个二进制系统文件,它有

  • oracle数据库冷备份的方法

    冷备份是数据库文件的物理备份,通常在数据库通过一个shutdown normal或shutdown immediate 命令正常关闭后进行.当数据库关闭时,其使用的各个文件都可以进行备份.这些文件构成一个数据库关闭时的一个完整映像.冷备份通常要备份以下文件:所有数据文件所有控制文件所有联机重做日志初始化参数文件initsid.ora(可选)先执行以下SQL语句查看所有需要备份的文件: 复制代码 代码如下: SVRMGR> select * from v$datafile;SVRMGR> sel

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

    目录 1.看看数据库情况 1.1先看了下表空间情况,生产环境表空间大概90G,用了才一半不到 2.数据库备份 2.1登陆数据库 2.2创建逻辑目录 2.3给数据库用户文件操作权限#dbuser为数据库用户名,更具实际情况更改 2.3创建物理目录 1.3备份数据库 3.shell脚本实现自动备份 4.添加定时任务 4.参考文章 学校需要将之前的生产数据库备份到华为云,之后实现每周自动备份 1.看看数据库情况 1.1先看了下表空间情况,生产环境表空间大概90G,用了才一半不到 查看所有表空间及使用情

  • Oracle 11g数据库详细安装图文教程

    本教程为大家分享了Oracle 11g数据库详细安装步骤,供大家参考,具体内容如下 1.先到Oracle官网上下载11g oracle Database 11g第 2 版 (11.2.0.1.0) 标准版.标准版 1 以及企业版 适用于 Microsoft Windows (x64) 的 Oracle Database 11g第 2 版 (11.2.0.1.0) 第一步:将两个文件一起解压到同一目录下的同一文件夹内, 路径名称中不要出现中文,也不要出现空格等不规则字符. 解压完成后,到相应路径下

  • Oracle 11g数据库安装与卸载的方法图解

    一.Oracle 11g安装 安装之前要先确定自己的电脑配置,以windows为例,如果是win7以下系统如xp等,可以选择Oracle 10g.因为10g的程序文件只有200多兆,而11g及达到了2G,具体文件官方下载路径已经找不到了,只能去一些软件下载平台下载.如果是win7最好采用11g,否则很可能10g出现不兼容安装不成功的情况,本文以win7为例. Oracle 11g官方下载地址如下: http://www.oracle.com/technetwork/database/enterp

  • Windows系统安装Oracle 11g 数据库图文教程

    一.下载 http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html以下两网址来源此官方下载页网. win 32位操作系统 下载地址: http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_database_1of2.zip http://download.oracle.com/otn/nt/oracle11g/1120

  • Oracle 11g 数据库的部署的图文教程

    新手入门之Oracle 11g部署 Oracle Database,又名Oracle RDBMS,或简称Oracle.是甲骨文公司的一款关系数据库管理系统.它是在数据库领域一直处于领先地位的产品.可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好.使用方便.功能强,适用于各类大.中.小.微机环境.它是一种高效率.可靠性好的.适应高吞吐量的数据库方案. 目前Oracle数据库最新版本为Oracle Database 19c,但是在日常的运维工作中大家也注意到了一点:那

  • 详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度

    分析并操作 responseXML属性 如果你使用 XMLHttpRequest 来获得一个远程的 XML 文档的内容,responseXML 属性将会是一个由 XML 文档解析而来的 DOM 对象,这很难被操作和分析.这里有五种主要的分析 XML 文档的方式:  1.使用 XPath 定位到文档的制定部分.  2.使用 JXON 将其转换成 JavaScript 对象树.  3.手工的 解析和序列化 XML 为字符串或对象.  4.使用 XMLSerializer 把 DOM 树序列化成字符串

  • 深入剖析哪些服务是Oracle 11g必须开启的

    成功安装Oracle 11g数据库后,你会发现自己电脑运行速度会变慢,配置较低的电脑甚至出现非常卡的状况,通过禁止非必须开启的Oracle服务可以提升电脑的运行速度.那么,具体该怎么做呢? 按照win7 64位环境下Oracle 11g R2安装详解中的方法成功安装Oracle 11g后,共有7个服务,分别为Oracle ORCL VSS Writer Service,OracleDBConsoleorcl,OracleJobSchedulerORCL, OracleMTSRecoverySer

  • Linux虚拟机下安装Oracle 11G教程图文解说

    1.安装环境 操作系统:Red hat 6.5 内存:内存最低要求256M (使用:grep MemTotal /proc/meminfo 命令查看) 交换空间:SWAP交换空间大小根据内存大小决定(使用:grep SwapTotal /proc/meminfo 命令查看) 硬盘空间:不低于20G,/tmp文件空闲不低于400M,软件安装目录空间最好不低于5G (使用:df -h命令查看) 2.安装过程 1).添加用户组和用户,并给用户设置密码 [root@redhat ~]# groupadd

  • PHP使用PHPExcel实现批量上传到数据库的方法

    此例子只使用execel2003的.xls文档,若使用的是其他版本,可以保存格式为"Execel 97-2003 工作簿(*.xls)"即.xls文件类型即可! 功能说明:只能上传Excel2003类型的xls文件,大小不超过5M.可下载例子模板添加数据后即可上传! 前台test.php页面 <!DOCTYPE html> <html> <head> <title></title> </head> <meta

  • php上传excel表格并获取数据

    这个是最近需要做的一个功能,在网上也查看了很多相关的文章,基本上大同小异,在这里整理一下. 一:首先是html部分 <html> <body> <form action="upload_file.php" method="post" enctype="multipart/form-data"> <input type="file" name="file" id=&q

随机推荐