oracle服务器自动备份
1、
1
2
3
4
5
6
|
$sqlplus
/nolog
$conn sys
/as
sysdba
SQL> create directory expdata as
'/home/oracle/oraclebak'
;
Directory created.
SQL> grant
read
,write on directory expdata to public;
SQL>
exit
|
2、
$mkdir /home/oracle/oraclebak
3、创建备份角本,给执行权限
----------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#!/bin/sh
export
ORACLE_BASE=
/home/oracle/app/oracle
export
ORACLE_HOME=$ORACLE_BASE
/db11g
export
ORACLE_SID=X
export
PATH=$PATH:$HOME
/bin
:$ORACLE_HOME
/bin
export
DATA_DIR=
/home/oracle/oraclebak
export
DEL_TIME=`
date
-d
"5 days ago"
+%Y%m%d`
export
BAKUP_TIME=`
date
+%Y%m%d%H%M%S`
echo
"Starting bakup..."
echo
"Bakup file path $DATA_DIR/$BAKUPTIME.dmp"
expdp system/
'密码'
directory=expdata dumpfile=$BAKUP_TIME.dmp full=y logfile=$BAKUP_TIME.log
echo
"Delete the file bakup before 5 days..."
rm
-rf $DATA_DIR/$DEL_TIME*.dmp $DATA_DIR/$DELTIME*.log
echo
"Delete the file bakup successfully. "
|
4、
1
|
$
crontab
-e
|
1
2
|
#!/bin/sh
00 3 * * *
/home/oracle/orale
.bak.sh
|
本文转自 lcpljc 51CTO博客,原文链接:http://blog.51cto.com/lcpljc/1901188,如需转载请自行联系原作者