linux部署oracle定时自动逻辑备份参考:
要求:保留最近2天备份,每天4点开始运行。
[oracle@TEST ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.9 (Maipo)
[oracle@TEST ~]$ cat /etc/system-release
Oracle Linux Server release 7.9
[oracle@TEST ~]$
[oracle@TEST ~]$ more /home/oracle/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export TMP=/tmp
export TMPDIR=/tmp
export ORACLE_UNQNAME=testdb
#export ORACLE_BASE=/data/app/oracle
export ORACLE_BASE=/data1/oradata
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1
export ORACLE_SID=testdb
export PATH=${PATH}:$HOME/bin:$ORACLE_HOME/bin:/usr/sbin:/usr/bin:/usr/local/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export NLS_LANG="SIMPLIFIED CHINESE_CHINA".AL32UTF8
准备备份路径:(确保空间足够)
[root@TEST ~]# su - oracle
[root@TEST ~]# chown -R oracle:oinstall /orabak/dmp
[oracle@TEST ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on 星期五 6月 23 20:09:34 2023
Copyright (c) 1982, 2016, Oracle. All rights reserved.
连接到:
Oracle Database 12c Standard Edition Release 12.2.0.1.0 - 64bit Production
SQL> create or replace directory bak as '/orabak/dmp';
SQL> grant read,write on directory bak to public;
编辑备份脚本:
[oracle@TEST ~]$ cat /orabak/bak.sh
#!/bin/sh
source /home/oracle/.bash_profile
cd /orabak/dmp
find /orabak/dmp -mtime +1 -name "*.dmp" -exec rm -f {} \;
expdp \'/ as sysdba\' DIRECTORY=bak schemas=T1,T1_MONTH,T2 PARALLEL=1 CLUSTER=N DUMPFILE=flex-`date "+%Y%m%d_%H%M%S"`_%U.dmp logfile=flex-`date "+%Y%m%d_%H%M%S"`.log
部署任务凌晨4点运行:
[oracle@TEST ~]$ crontab -l
0 4 * * * /orabak/bak.sh
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




