Linux平台下Oracle数据泵备份(expdp)SHELL脚本
  c59xsmSt5ePN 2023年11月02日 57 0


数据泵是Oracle 10g的新特性,10g以后的版本才有。 关于数据泵的理论知识参考我的Blog:
Oracle 10g EXPDP和IMPDP使用说明
http://www.cndba.cn/Dave/article/1115   Logicalbackup.sh

#!/bin/ksh
 # ##################################################################
 #
 #              created by tianlesoftware
 #                   2010-7-7 
 # ##################################################################
 # Oracle Environment settings
 PATH=/usr/bin:/usr/ucb:/etc:.:/usr/X/bin:/bin
 export PATH
 ORACLE_SID=SID; pw=oracle ; export pw ; export ORACLE_SID
 ORACLE_BASE=/dba/oracle; export ORACLE_BASE
 ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;  export ORACLE_HOME
 ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data ; export ORA_NLS33
 TNS_ADMIN=$ORACLE_HOME/network/admin ; export TNS_ADMIN
 LD_LIBRARY_PATH=$ORACLE_HOME/lib ; export LD_LIBRARY_PATH
 PATH=$ORACLE_HOME/bin:/usr/local/bin:/usr/ccs/bin:$PATH:/usr/sbin
 export PATH
 CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/product/jlib ; export CLASSPATH
 backup_dir=/u03/oradata/dump_backup_dir
 #数据泵需要directory,这里指定自己的目录就可以了
 #SQL>CREATE DIRECTORY backup as ‘/u03/oradata/dump_backup_dir’;
 #SQL>grant read,write on directory backup to SYSTEM; 
 DMP_FILE=SID_`date +%d%m%Y_%H%M%S`.dmp
 LOG_FILE=SID_`date +%d%m%Y_%H%M%S`.log
 #
 #  Let's start with an export of the database
 #
 expdp user/pwd DIRECTORY=dump_backup_dir DUMPFILE=$DMP_FILE TABLESPACES=TS_NAMEE logfile=$LOG_FILE  parallel=3;
 # 这里的2个说明,用户名和密码换成自己的,我这里是备份表空间。 
 # parallel 这个参数是控制并行度的,默认是1,但对于数据库比较大的时候,可以设置parallel,这样可以较少备份的
 #时间,但是设置并行会耗CPU 资源,如果CPU 资源比较紧张的话,就不要设了。
 #
 # Just to be safe (with space), we'll compress the export file
 # 压缩dmp 文件,较少对空间的占用
 #
 cd $backup_dir
 compress *.dmp
 #
 # Let's delete the backups and logs that are more than 1 days old
 # 删除超过一天的dmp文件
 #
 find $backup_dir -name "NewccsTablespace*" -mtime +1 -exec rm {} /;
 # That's all
       部署的时候,只要把这个sh 脚本添加到crontab 中就可以了。

添加方法: crontab -e 进入编辑状态,然后把脚本的路径和相关执行时间写上。保存后用crontab -l 就可以查看内容:
$ crontab -l
45 1 * * * /u03/scripts/logicbackup.sh
前面5个参数的意义:
0~59 表示分 
1~23 表示小时 
1~31 表示日 
1~12 表示月份 
0~6 表示星期(其中0表示星期日) 
有于更多crontab 的使用,参考blog:
Unix crontab 命令详解

  ------------------------------------------------------------------------------ 
https://pan.baidu.com/s/17D1kXU6dLdU0YwHM2cvNMw 《深度学习入门:基于Python的理论与实现》_高清中文版.pdf
https://pan.baidu.com/s/1IeVs35f3gX5r6eAdiRQw4A
《深入浅出数据分析》_高清中文版.pdf
https://pan.baidu.com/s/1GV-QNbtmjZqumDkk8s7z5w
《Python编程:从入门到实践》_高清中文版.pdf
https://pan.baidu.com/s/1GUNSg4mdpeOf1LC_MjXunQ
《Python科学计算》_高清中文版.pdf
https://pan.baidu.com/s/1-hDKhK-7rDDFll_UFpKmpw

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  2Fnpj8K6xSCR   2024年05月17日   100   0   0 Python
  xKQN3Agd2ZMK   2024年05月17日   70   0   0 Python
  fwjWaDlWXE4h   2024年05月17日   38   0   0 Python
  Ugrw6b9GgRUv   2024年05月17日   39   0   0 Python
  YpHJ7ITmccOD   2024年05月17日   39   0   0 Python
c59xsmSt5ePN