定期备份oracle数据库

记录一下window服务器备份数据库流程:

1、首先创建一个txt,复制下面代码,修改后缀为bat

@echo off   
echo ================================================   
echo  Windows环境下Oracle数据库的自动备份脚本  
echo  1. 使用当前日期命名备份文件。  
echo  2. 自动删除3天前的备份。  
echo ================================================  
echo  以“YYYYMMDD”格式取出当前时间。  
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
echo  设置用户名、密码和要备份的数据库
set USER=username
set PASSWORD=password
set DATABASE=ip:1521/orcl
echo  创建备份目录
if not exist "F:\backup\data"       mkdir F:\backup\data  
if not exist "F:\backup\log"        mkdir F:\backup\log  
set DATADIR=F:\backup\data
set LOGDIR=F:\backup\log
exp %USER%/%PASSWORD%@%DATABASE% file=%DATADIR%\data_%BACKUPDATE%.dmp log=%LOGDIR%\log_%BACKUPDATE%.log
echo  删除3天前的备份。
forfiles /p "%DATADIR%" /s /m *.* /d -3 /c "cmd /c del @path"
forfiles /p "%LOGDIR%" /s /m *.* /d -3 /c "cmd /c del @path"
exit

2、执行就可以进行数据库备份。

3、linux备份

#!/bin/bash
BK=`date +%Y%m%d_%H%M`
EBK=/home/oracle/db_backup

cd $EBK

export ORACLE_SID=orcl   #对应自己数据库sid
export ORACLE_BASE=/u01/app/oracle  #数据库文件夹路径
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin


expdp test/password  schemas=test dumpfile=test_$BK.dmp  logfile=test_$BK.log  directory=DB_BACKUP  PARALLEL=1 CLUSTER=NO

find  /home/oracle/db_backup  -name "test**" -mtime +7 -exec rm -rf {} \;




4、修改oracle默认监听端口
(1)、关闭监听   lsnrctl stop
(2)、修改监听配置文件,/oracle_home/dbhome_1/network/admin 下面的 listener.ora,将里面的tcp对应端口1521改成自己端口6324;
(3)、管理员登录进数据库 sqlplus / as sysdba  
    执行  alter system set local_listener="(ADDRESS = (PROTOCOL = TCP)(HOST = oracleHost)(PORT = 6324))";
    对应listener.ora里面的刚才修改的那部分
(5)、启动监听  lsnrctl start

(6)、查看端口是否被监听  netstat -ano|grep 6324

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值