首页 > 数据库 >Linux平台下Oracle数据泵备份(expdp)SHELL脚本

Linux平台下Oracle数据泵备份(expdp)SHELL脚本

时间:2023-10-23 17:05:03浏览次数:40  
标签:bin SHELL expdp PATH export Linux ORACLE HOME backup


数据泵是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

标签:bin,SHELL,expdp,PATH,export,Linux,ORACLE,HOME,backup
From: https://blog.51cto.com/u_13978034/7988729

相关文章

  • Linux平台下RMAN全备和增量备份shell脚本
       一.一些准备知识 Oracle分归档和非归档模式。这两者的区别就是对redolog的处理。归档模式下,当一个redolog写满之后,就会把这个redolog里的内容写入归档文件,等写完之后,这个redolog就可以继续使用,如果是非归档模式下,redolog就直接覆盖了。恢复一般都需要归档......
  • linux 中实现根据指定列的重复项输出数据
     001、[root@pc1test02]#lsa.txt[root@pc1test02]#cata.txt##测试数据a76b78a100c222b7777b3333d1111##输出所有的重复##对重复去重##将重复叠加至表头##输出文本中有表......
  • Linux挂载硬盘
    0x01查看硬盘lsblk0x02查看挂载信息df-h0x03挂载sudomount/dev/sdb1/data0x04卸载sudoumount/dev/sdb10x05targetisbusy.可能是在挂载的路径,这样可以cd/退出占用,然后卸载设备umount注意:非永久挂载,重启好像会失效......
  • linux cat查看文件使用grep实现多条件多场景过滤
    在实际应用过程中,我们查看日志文件时,经常会根据一定自定义的词语过滤,查看所有相关的数据行。最近遇到用cat查看文件,需要根据多关键词进行不同的场景过滤,在这里进行一个简单的总结:1.过滤多个关键词同时存在catfile.log|grep-e'关键词1'|grep-e'关键词2'#或者grep-......
  • Xshell连接wsl2下的Ubuntu
    卸载ssh,再安装sshsudoapt-getremove--purgeopenssh-server##先删sshsudoapt-getinstallopenssh-server##在安装sshsudorm/etc/ssh/ssh_configsudoservicessh--full-restart修改配置文件sudovim/etc/ssh/sshd_config更......
  • Linux查看硬件信息超强命令sar,以及可视化工具ksar
    一、概述sar(SystemActivityReporter,系统活动情况报告)是Linux下系统运行状态统计工具,可从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。算是一个万能的小能手。二、安装Linux下:#yumin......
  • Linux系统中关闭IPv6的方法
     方法1:修改配置文件在终端中输入以下命令:sudovi/etc/sysctl.conf在文件末尾添加以下语句:net.ipv6.conf.all.disable_ipv6=1net.ipv6.conf.default.disable_ipv6=1保存并关闭文件,然后在终端中输入以下命令重新加载配置文件:sudosysctl-p方法2:使用网络管理工具......
  • linux 显示环境变量的值
    在Linux中,可以使用echo命令来显示环境变量的值。要显示所有环境变量的值,可以执行以下命令:bash printenv或者,你可以使用env命令来显示当前会话中的所有环境变量:bash env如果你只想显示某个特定的环境变量,可以使用echo命令加上$符号来获取其值。例如,要显......
  • 第8周linux课堂总结
        这一周的linux课程我们学习了ACL权限,ACL权限和UGO权限的区别在于ACL权限更加精确。使用命令getfacl可以查看ACL权限,setfacl命令可以设置ACL权限,对每一个文件或目录进行更精确的权限设置,添加-m参数可以修改当前文件的ACL权限,修改某一普通用户下的某一文件的读写权限,当......
  • Linux/Centos文件授权用户文件夹权限介绍
    一、Linux文件权限介绍在Linux中,一切皆为文件(目录也是文件),每个文件对用户具有可读(read)、可写(write)、可执行(excute)权限。目录的执行操作表示是否有权限进入该目录并操作执行该目录,文件都会从属于一个用户和一个用户组,每个文件针对文件的拥有者、所属组以及其他用户组具有特定权限......