精华内容
下载资源
问答
  • oracle 数据库备份脚本

    千次阅读 2019-04-11 11:43:51
    用管理员,备份不同用户的表数据 @echo off :: 以“YYYYMMDDHHmmss”格式取出当前时间。 rem set filename=%date:~3,4%%date:~8,2%%date:~11,2%%time:~1,2%%time:~3,2%%time:~6,2% set filename=%date:~3,4%%...

    用管理员,备份不同用户的表数据

    @echo off 
    :: 以“YYYYMMDDHHmmss”格式取出当前时间。 
    rem set filename=%date:~3,4%%date:~8,2%%date:~11,2%%time:~1,2%%time:~3,2%%time:~6,2%
    set filename=%date:~3,4%%date:~8,2%%date:~11,2%
    rem echo filename=%filename%
    rem 数据库连接名
    set USER=xxxxxx
    rem 密码
    set PASSWORD=xxxxxx
    rem 数据库实例
    set DATABASE=orcl
    if not exist "E:\backup\data"  mkdir E:\backup\data
    if not exist "E:\backup\log"   mkdir E:\backup\log
    set DATADIR=E:\backup\data
    set LOGDIR=E:\backup\log
    rem 在Windows 配置定时任务时需要,否则报错文件找不到
    set addr=cd /d %~dp0
    rem echo %addr:~6%
    set /P tableExp=<%addr:~6%table.txt
    echo ================================================   
    echo start backup  %tableExp%
    echo ================================================
    if "%tableExp%"=="" (
    goto end
    ) else (
    goto demo2
    )
    echo (%tableExp%)
    
    :demo2
    exp "'%USER%/%PASSWORD%@%DATABASE% as sysdba'" tables=(%tableExp%) file=%DATADIR%\data_%filename%.dmp log=%LOGDIR%\log_%filename%.log
    goto end 
    :end
    rem echo end  .........
    
    pause

    将上述代码复制保存为xxx.bat文件

    这里  table.txt 用来配置需要备份的表,格式为 用户名+.(英文点)+表名,表与表之间用逗号(英文)隔开。例如:bsitsqp.demo02_hs,bsitsqp.demo01_hs,viid.demo01_hs。这里备份了用户bsitsqp 的demo02_hs、demo01_hs表和用户 viid 的 demo01_hs 表。

    注意:table.txt 必须与xxx.bat文件在同一目录下

    如果要备份整个数据库,将上述代码中 tables=(%tableExp%) 去掉即可。

    如果要备份特定用户的数据 ,修改用户名 密码即可。

    如果需要定时备份,在Windows 中添加定时任务即可

    展开全文
  • oracle数据库备份脚本

    千次阅读 2018-02-27 14:27:33
    物理备份脚本#!/bin/shexport TMPDIR=$TMP;export ORACLE_SID=orcl;export ORACLE_BASE=/u01/app/oracle;export ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1;export PATH=/u01/app/oracle/product/12.2.0.1/...

    物理备份脚本

    #!/bin/sh


    export TMPDIR=$TMP;

    export ORACLE_SID=orcl;

    export ORACLE_BASE=/u01/app/oracle;

    export ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1;

    export PATH=/u01/app/oracle/product/12.2.0.1/db_1/bin:$PATH;

    export LD_LIBRARY_PATH=/u01/app/oracle/product/12.2.0.1/db_1/lib:/lib:/usr/lib;

    export CLASSPATH=/u01/app/oracle/product/12.2.0.1/db_1/JRE:/u01/app/oracle/product/12.2.0.1/db_1/jlib:/u01/app/oracle/product/12.2.0.1/db_1/rdbms/jlib;

    export LANG=zh_CN


    rman target/ << EOF

    run{

    allocate channel c1 type disk;

    allocate channel c2 type disk;

    allocate channel c3 type disk;

    delete noprompt expired archivelog all;

    backup incremental level 0 tag 'db0' format

    '/home/oracle/rmanbackup/db0_%d_%T_%s' database include current controlfile;

    sql 'alter system archive log current';

    backup filesperset 5 format '/home/oracle/rmanbackup/cf0_%d_%T_%s' archivelog all delete input;

    delete noprompt expired backup;

    delete noprompt obsolete;

    release channel c1;

    release channel c2;

    release channel c3;

    }


    EOF


    逻辑备份脚本:

    #!/bin/sh

    DAY=`date +%Y%m%d`

    FILE_TARGET=orcl`date +%Y%m%d`.dmp

    FILE_LOG=orcl`date +%Y%m%d`.log

    export FILE_TARGET FILE_LOG;

    export ORACLE_BASE=/u01/app/oracle;

    export ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1;

    export ORACLE_SID=orcl;

    export PATH=$ORACLE_HOME/bin:$PATH;

    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;

    export CLASSPATH=/u01/app/oracle/product/12.2.0.1/db_1/JRE:/u01/app/oracle/product/12.2.0.1/db_1/jlib:/u01/app/oracle/product/12.2.0.1/db_1/rdbms/jlib;

    expdp system/******  directory=expdir dumpfile=$FILE_TARGET full=y  logfile=$FILE_LOG

    展开全文
  • Oracle数据库备份脚本

    2015-05-26 10:13:15
    Oracle数据库备份脚本 用于备份数据库里的所有数据
  • oracle备份脚本,执行脚本能够生成dmp文件
  • 实现oracle 数据库自动备份+保留最新的7天数据+另一机器拷贝备份脚本
  • racle数据库自动备份脚本
  • oracle和MySQL数据库备份脚本oracle和MySQL数据库备份脚本
  • ORACLE数据库备份用bat脚本

    热门讨论 2010-03-25 14:07:58
    ORACLE数据库备份用bat脚本 基于imp和exp自已写的bat脚本,轻松实现备份数据 还可以自已写一个JAVA代码来调用实现定时批量备份
  • # 备份服务器地址 backIP=$BackIP # 数据库SID sid=$SID # 数据库连接端口 port=$Port # 数据库连接用户 user=$User # 备份服务器系统用户 backUser=$BackUser # 分解备份服务器用户名和密码 backUserName=$(echo $...

    脚本文件

    #!/bin/bash
    
    # 解析配置文件
    # 通过`source`加载配置文件
    source config
    # 备份服务器地址
    backIP=$BackIP
    # 数据库SID
    sid=$SID
    # 数据库连接端口
    port=$Port
    # 数据库连接用户
    user=$User
    # 备份服务器系统用户
    backUser=$BackUser
    # 分解备份服务器用户名和密码
    backUserName=$(echo $backUser | awk -F '/' '{print $1}')
    backUserPasswd=$(echo $backUser | awk -F '/' '{print $2}')
    # 远程服务器地址
    remoteIP=$RemoteIP
    # 远程服务器系统用户
    remoteUser=$RemoteUser
    # 分解远程服务器用户名和密码
    remoteUserName=$(echo $remoteUser | awk -F '/' '{print $1}')
    remoteUserPasswd=$(echo $remoteUser | awk -F '/' '{print $2}')
    # 备份的用户目录
    owner=xiaoer
    
    # 判断当前系统登录用户是否是备份服务器用户,如果不是则切换用户
    currentUser=$(whoami)
    if [ $currentUser != $backUserName ];then
        expect -c "
        spawn su - $backUserName
        expect \"Password:\"
        send \"$backUserPasswd\r\"
        interact
        "
    fi
    
    # 远程机器相关操作
    # B机器(远程机器)备份文件路径
    remotePath=/home/yankee/$owner
    # 如果支持免密登录时
    ssh $remoteUserName@remoteIP -tt << EOF
        if [ ! -d $remotePath ];then
            mkdir $remotePath
        fi
        exit 0
    EOF
    
    # 备份机器相关操作
    # 数据文件备份路径
    # A机器备份文件路径
    backdirk=/home/yankee/$owner
    # 判断目录是否存在,如果不存在,则创建
    if [ ! -d $backdir ];then
        mkdir $backdir
    else
        echo $backdir exist!
    fi
    # 当前系统时间
    dateTime=`date +%Y%m%d`
    # oracle数据库连接信息
    oracleSid="$backIP/$sid"
    # 如果用户为多个用户时
    userArray=(${user//,/ })
    echo $userArray
    for ele in ${userArray[@]}
    do
        oracleOwn=$ele
        own=$(echo $oracleOwn | awk -F '/' '{print $1}')
        # 备份时生成的数据文件的信息
        exportDataBack=$dateTime.$own.dmp
        # 完整的备份文件路径
        filePath=$backdir/$exportDataBack
        # 备份oracle数据库的脚本语言
        exp $oracleOwn@$oracleSid file=$filePath rows=y grants=y compress=y
        # 此时会将数据库备份文件打包到执行脚本的目录下
        cd $backdir
        # 压缩数据库备份文件
        tar -zcvf $dateTime.$own.tar.gz $exportDataBack
        # 获取当前服务器中的数据文件的大小
        # 直接截取ls命令中所显示的文件大小
        size=$(ls -al ./ | grep $dateTime.$own.tar.gz | awk -F ' ' '{print $5}')
        # 将压缩文件大小保存到标志文件sizeFlag中
        echo $size > sizeFlag.$own
        # 获取标识文件中所存储的压缩文件大小
        keyValue=$(cat sizeFlag.$own)
        # 使用scp命令发送到远程服务器中的指定目录
        scp $dateTime.$own.tar.gz $remoteUserName@$remoteIP:$remotePath
        # 比较远程服务器的文件大小和标志文件中的文件大小是否一致
        # 获取远程服务器中的压缩文件大小
        ssh $remoteUserName@$remoteIP -tt << EOF
        echo $(ls -al $remotePath | grep $dateTime.$own.tar.gz | awk -F ' ' '{print $5}')
        scp $remotePath/remoteSize.$own $backUserName@$backIP:$backdir
        rm $remotePath/remoteSize.$own
        exit
    EOF
        remoteSize=$(cat remoteSize.$own)
        if [ $keyValue == $remoteSize.$own ];then
            echo "finished"
            rm -rf $backdir
        else
            echo "failed"
        fi
    done
    

    配置文件

    BackIP=192.168.21.100
    SID=orcl
    Port=1521
    User=xiaoer/xiaoer
    BackUser=yankee/yankee
    RemoteIP=192.168.21.101
    RemoteUser=yankee/yankee
    
    展开全文
  • 先来介绍一些不使用脚本我们直接使用命令备份与还原oracle数据库Oracle数据备份:步骤 1 备份用户数据。1.使用linux系统下的数据库管理员账号连接linux终端。2. 执行以下语句,创建“bak_dir”文件夹。 代码如下: ...
  • 包含备份自动压缩,仅保留30天内的备份文件,30天以上自动删除等,下载直接可用,有注释。加入window任务计划轻松实现自动备份
  • 学习python,将shell备份脚本改成了python脚本练手.python oracle备份脚本一例如下。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 ...

    学习python,将shell备份脚本改成了python脚本练手.python oracle备份脚本一例如下。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    #!/usr/bin/env python  
    # -*- coding: utf-8 -*- 
    import  time
    import  os
    #配置oracle环境变量参数
    os.environ[ "NLS_LANG" =  "Simplified Chinese_china.ZHS16GBK"
    os.environ[ 'ORACLE_HOME' =  '/u01/app/oracle/product/10.2.0/db_1'
    os.environ[ 'PATH' =  "/u01/app/oracle/product/10.2.0/db_1/bin"  +  ":"  +  os.environ[ 'PATH' ]
    os.environ[ 'ORACLE_SID' =  "orcl"
    os.environ[ 'LANG' =  "en_US"
    #打印提示信息。
    exp_node1  =  "\n成功备份文件到目录...."
    exp_node2  =  "备份失败"
    cls_node1  =  "数据库备份数据清除成功,删除语句如下...."
    cls_node2  =  "数据库备份清除失败"
    #配置导出的数据库信息
    data_path  =  '/tmp/'
    db_username  =  'abc'
    db_password  =  'abc'
    db_name  =  'abc'
    """
    print os.getenv('NLS_LANG')
    print os.getenv('ORACLE_HOME')
    print os.getenv('ORACLE_SID')
    """
    def  oracle_exp():
          exp_command  =  "exp %s/%s file=%s%s_%s-%s-%s_%s%s%s.dmp log=%s%s_%s-%s-%s_%s%s%s.log"   %  (db_username,db_password,data_path,db_name,time.strftime( '%Y' ),time.strftime( '%m' ),time.strftime( '%d' ),time.strftime( '%H' ),time.strftime( '%M' ),time.strftime( '%S' ),data_path,db_name,time.strftime( '%Y' ),time.strftime( '%m' ),time.strftime( '%d' ),time.strftime( '%H' ),time.strftime( '%M' ),time.strftime( '%S' ))
          exp_note  =  "数据库备份执行语句...."
          print  "\033[1;31;40m%s\033[0m"  %   exp_note
          print  "\033[1;31;40m%s\033[0m"  %   exp_command
          if  os.system(exp_command)  = =  0 :
             print  "\033[1;32;40m%s\033[0m"  %  exp_node1
          else :
             print  "\033[1;31;40m%s\033[0m"  %  exp_node2
     
    def  backup_clear():
          cls_command1  =  '/usr/bin/find %s -mtime +1 -name "*.dmp" -exec rm -rf {} \;'  %  data_path
          cls_command2  =  '/usr/bin/find %s -mtime +1 -name "*.log" -exec rm -rf {} \;'  %  data_path
          if  os.system(cls_command1)  = =  0  and  os.system(cls_command2)  = =  0 :
             print  "\n\033[1;32;40m%s\033[0m"  %  cls_node1
          else :
             print  "\n\033[1;31;40m%s\033[0m"  %  cls_node2
          print  "%s"  %  cls_command1
          print  "%s\n"  %  cls_command2
     
    def  main(): 
          oracle_exp() 
          backup_clear()
    if  __name__  = =  "__main__"
          main()

    执行结果:

    image

    image




    本文转自 koumm 51CTO博客,原文链接:http://blog.51cto.com/koumm/1438673,如需转载请自行联系原作者

    展开全文
  • shell脚本可配置备份oracle数据库,完全可配置,使用方便。
  • 主要给大家分享介绍了关于Oracle数据库自动备份脚本的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 1、新建Oracle数据库备份目录mkdir -p /backup/oracledata 2、新建Oracle数据库备份脚本vi /backup/oracledata/ordatabak.sh 3、脚本内容:#!/bin/shexport ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE...
  • 主要介绍了Linux oracle数据库备份完成后可以自动压缩脚本代码,大家参考使用
  • linux下oracle数据泵备份完美解决了数据备份的完整性,这里提供大家数据泵自动备份脚本,为各类生产环境中的数据的备份提供的较完善的解决方案
  • linux下oracle数据库备份脚本 文章分类:JavaEye Java代码 #!/bin/sh #导入环境变量 ORACLE_HOME=/xx/oracle/10g;exportORACLE_HOME ORACLE_BASE=/xx/oracle;exportORACLE_BASE ORACLE_SID=db;export...
  • 1、提供了oracle数据库备份脚本,导出dmp文件 2、定时任务由操作系统提供的支持,在操作系统中设置定时任务,由操作系统定期执行脚本 3、补充。压缩包脚本有点问题,不能删除旧的备份文件。需要自动删除历史备份文件...
  • # 按照日期为备份文件名取值 export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 a=$(date +%Y%m%d) #b=$(date -d '7 days ago' +%Y%m%d) echo $a #echo $b location='/home/oracle/backup' find $location -mtime +30 -t....
  • Oracle备份脚本

    2018-08-02 11:56:33
    Oracle数据库备份脚本, 可以备份dbf, ora, ctl文件. bat批处理文件, 适用于windows系统, oracle11g测试有效.
  • 在为客户维护系统过程中,数据库的备份是必须要做的,这个备份脚本比较简单,可在任何一台装有Oracle客户端的机器上使用。要设为自动备份,可使用administrotor帐户创建计划任务(在控制面板中)。需要注意...
  • ORACLE自动备份数据库脚本,并删除指定天数以前,所备份的数据文件。
  • ORACLE数据库备份脚本

    2017-10-16 10:07:48
    source /home/oracle/.bash_profile export LANG=zh_CN.UTF-8 export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK export ORACLE_SID=hbyttest; date1=$date date=$(date +\%Y\%m\%d) days=3 bakdir=
  • java实现oracle数据库备份

    热门讨论 2011-01-23 21:33:17
    java_web java实现oracle 数据库备份
  • Linux下Oracle数据库自动备份Shell脚本

    千次阅读 2018-10-17 14:41:25
    1.在服务器创建备份目录,...mkdir -p /backup/P_DB_BACK #新建Oracle数据库备份目录 chown -R oracle:oinstall /backup/P_DATA #设置目录权限为oinstall用户组的oracle用户(用户oracle与用户组oinstall是在安装...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 43,022
精华内容 17,208
关键字:

oracle数据库备份脚本