oracle定时备份压缩的实现步骤

以下是实现步骤的完整攻略:

1.准备工作

  • 确认所需要备份的数据库的SID和Oracle实例名称
  • 创建备份目录,以存放备份文件
  • 检查服务器是否已经安装了需要的压缩工具(如gzip、tar等)

2.添加定时备份脚本

  • 创建一个shell脚本,并命名为backup.sh。
  • 在脚本中启动Oracle实例,使用expdp命令将数据库导出并压缩到备份目录下。
  • 关闭Oracle实例。

以下是一个备份脚本的示例代码:

#!/bin/bash
export ORACLE_SID=<database_sid>
export ORACLE_HOME=<path_to_oracle_home>
export PATH=$ORACLE_HOME/bin:$PATH

# 日期和时间
now="$(date +'%Y_%m_%d_%H_%M_%S')"
# 备份存放目录
backup_dir="<path_to_backup_directory>"
# Oracle用户和密码
user="<user>"
pass="<password>"
# 备份文件名
file_name="<database_sid>_backup_${now}.dmp"
# 导出并压缩数据
expdp $user/$pass directory=DATA_PUMP_DIR dumpfile=$file_name compress=y
# 关闭Oracle实例
sqlplus "/ as sysdba" << EOF
shutdown immediate;
exit;
EOF

3.设置定时任务

  • 执行以下命令打开系统的定时任务配置文件:
sudo crontab -e
  • 在文件末尾添加以下行来设置定时任务:
0 2 * * * sh /path/to/backup.sh > /dev/null 2>&1

其中,0 2 * * * 表示每天2点执行备份任务。"/path/to/backup.sh" 是指备份脚本所在的路径。"> /dev/null 2>&1" 表示备份日志不输出到屏幕上。

示例1

以下示例演示如何备份一个名为"mydb"的Oracle数据库:

  1. 确认数据库的SID为"mydb",Oracle实例的名称为"orcl"
  2. 创建备份目录,例如:/backup/mydb
  3. 检查服务器是否安装了必要的压缩工具,例如tar和gzip。
  4. 创建备份脚本backup.sh,将以下代码粘贴进去:

```#!/bin/bash
export ORACLE_SID=mydb
export ORACLE_HOME=/opt/oracle/product/11.2.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH

日期和时间

now="$(date +'%Y_%m_%d_%H_%M_%S')"

备份存放目录

backup_dir="/backup/mydb"

Oracle用户和密码

user=""
pass=""

备份文件名

file_name="mydb_backup_${now}.dmp"

导出并压缩数据

expdp $user/$pass directory=DATA_PUMP_DIR dumpfile=$file_name compress=y

关闭Oracle实例

sqlplus "/ as sysdba" << EOF
shutdown immediate;
exit;
EOF


5. 保存备份脚本,并授予可执行权限:

chmod +x backup.sh


6. 执行以下命令打开系统的定时任务配置文件:

sudo crontab -e


7. 在文件末尾添加以下行来设置定时任务:

0 2 * * * sh /path/to/backup.sh > /dev/null 2>&1


8. 保存文件并关闭编辑器。

## 示例2

以下示例演示如何备份具有多个表空间的Oracle数据库:

1. 确认数据库的SID为"mydb",Oracle实例的名称为"orcl"
2. 创建备份目录,例如:/backup/mydb
3. 检查服务器是否安装了必要的压缩工具,例如tar和gzip。
4. 创建备份脚本backup.sh,将以下代码粘贴进去:

```#!/bin/bash
export ORACLE_SID=mydb
export ORACLE_HOME=/opt/oracle/product/11.2.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH

# 日期和时间
now="$(date +'%Y_%m_%d_%H_%M_%S')"
# 备份存放目录
backup_dir="/backup/mydb"
# Oracle用户和密码
user="<user>"
pass="<password>"
# 备份文件名
file_name="mydb_backup_${now}.dmp"
# 导出并压缩数据
expdp $user/$pass directory=DATA_PUMP_DIR dumpfile=$file_name compress=y \
schemas=<schema_name> include=TABLESPACE:tablespace_name, \
LOGFILE=expdp_backup.log
# 关闭Oracle实例
sqlplus "/ as sysdba" << EOF
shutdown immediate;
exit;
EOF
  1. 保存备份脚本,并授予可执行权限:
chmod +x backup.sh
  1. 使用逗号分隔符,指定您要备份的表空间。 可以备份一个或多个表空间。

  2. 执行以下命令打开系统的定时任务配置文件:

sudo crontab -e
  1. 在文件末尾添加以下行来设置定时任务:
0 2 * * * sh /path/to/backup.sh > /dev/null 2>&1
  1. 保存文件并关闭编辑器。

希望这些信息对您有帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:oracle定时备份压缩的实现步骤 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • 如何有效防止sql注入的方法

    为了有效防止 SQL 注入攻击,我们需要采取一系列措施。下面是几种有效的防范措施: 使用参数化查询 使用参数化查询是最有效的防范 SQL 注入攻击的方法之一。参数化查询能够将用户输入的数据以一种安全的方式嵌入到 SQL 语句中。使用参数化查询,应用程序将用户输入的数据作为输入参数,而不是将其作为 SQL 查询语句的一部分直接拼接到查询语句中。例如,以下代码演…

    database 2023年5月21日
    00
  • Spring事务注解@Transactional失效的八种场景分析

    下面就是详细讲解“Spring事务注解@Transactional失效的八种场景分析”的完整攻略。 背景 在Spring框架中,使用@Transactional注解可以方便地定义一个事务。但是,在某些情况下,事务可能会失效,这将导致数据一致性问题。本文将对八种可能导致@Transactional失效的场景进行分析并给出解决方案。 问题场景一:事务调用自身方法…

    database 2023年5月21日
    00
  • redis 学习笔记之(二)主备高可用(热备)

    一、背景       项目中大量的服务会依赖redis,为保证系统正常,redis 对外提供的服务必须正常。因此 redis 需要高可用。目前 redis 提供的高可用方案如下: (1) redis 哨兵模式 实现 redis 主备 (2) keepalived + redis 实现主备      对于性能,使用分片模式,即 redis 搭建集群解决 性能问…

    Redis 2023年4月11日
    00
  • MySQL5.7主从复制教程

    ​ 简述:主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库,主数据库一般是准实时的 业务数据库、事务处理库,从库做查询库。 ​ 复制过程简单的说就是 master 将数据库的改变写入二进制日志,slave同步这些二进制日志,并根据这些二进制日志行数据操作 1、什么是主从复制 ​ 主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为…

    MySQL 2023年4月11日
    00
  • pagehelper分页工具类的封装

    PageHelper是一个开源的Mybatis分页插件,可以自动进行分页查询操作,使用简便,功能强大。在实际项目中,经常需要对数据库中的数据进行分页展示和查询,PageHelper可以帮助我们轻松实现这一操作。 以下是PageHelper分页工具类的封装的完整攻略: 1. 引入PageHelper依赖 在Maven的pom.xml文件中添加以下依赖,引入Pa…

    database 2023年5月21日
    00
  • ActivePivot和Amazon SimpleDB的区别

    ActivePivot和Amazon SimpleDB是两种不同的数据存储和处理技术,它们之间有很多区别。下面将详细讲解它们之间的区别。 ActivePivot和Amazon SimpleDB简介 ActivePivot是一款内存计算引擎,是根据多维立方体原理构建的、专门处理大规模数据的解决方案。它是一种面向OLAP应用的技术,能够快速地处理多维数据,并支持…

    database 2023年3月27日
    00
  • 初识 ASP.NET Membership 用户管理

    ASP.NET Membership 是 .NET Framework 提供的一组 API,用于实现安全的用户管理功能。它可以帮助开发者轻松地实现用户登录、注册、密码重置等操作,并且可以管理用户角色和权限。 下面是初识 ASP.NET Membership 用户管理的完整攻略: 安装Membership 在使用Membership之前,我们需要先安装Memb…

    database 2023年5月22日
    00
  • 2019-05-20 查看后台redis的进程

    命令:ps aux/grep redis 可以看到redis 已经启动成功! 启动下客户端  

    Redis 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部