目录

oracle-数据库备份

目录

oracle 数据库备份

1.创建对应的directory目录

切换oracle

su - oracle

在/home/oracle/下创建目录

mkdir -p /home/oracle/backup

2.以sysdba的身份登录上数据库

sqlplus / as sysdba

3.创建directory目录并对数据库用户ts赋权

SQL> create or replace directory dumpdir as ‘/home/oracle/backup’;

SQL> grant read,write on directory dumpdir to ts;

dumpdir:自定义名称

4.测试导出用户ts的数据

退出数据库到linux命令行,oracle用户下

expdp ts/password@orcl directory=dumpdir  schemas=ts dumpfile=ts.dmp logfile=ts.log

5.配置脚本导出,简单脚本:

创建脚本文件 创建在/home/oracle/backup下

cd /fhome/oracle/backup

touch oracle.sh

编辑脚本

vi oracle.sh

#!/bin/bash

Author: lyz

dat=date +%Y-%m-%d_%H_%M

expdp ts/password@orcl directory=dumpdir  schemas=ts dumpfile=ts_${dat}.dmp logfile=ts_${dat}.log

cd /home/oracle/backup

tar zcvf ts_${dat}.tar.gz *.dmp *.log

rm -rf *.dmp

rm -rf *.log

find /home/oracle/backup -maxdepth 1 -ctime +30 -type f -name ’ts*.tar.gz’ | xargs rm -rf

保存退出,给用户赋予执行权限:

chmod u+x oracle.sh

返回root用户界面下配置定时​​​脚本

crontab -e

添加以下配置(每天凌晨定时备份一次)

0 0 * * * su - oracle -c “/home/oracle/backup/oracle.sh”