免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4511 | 回复: 16
打印 上一主题 下一主题

关于oracle 10g备份shell脚本求助 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-04 10:20 |只看该作者 |倒序浏览
5可用积分
各位大大!最近有个项目需要给用户提交一个oracle 10g for aix的数据库备份shell脚本,
具体需求如下:
1、需要能够支持全量及增量备份及恢复
2、shell脚本是可以进行输入选择的,比如说运行shell后,可以在屏幕上显示选择项:
        1------数据库全量备份
        2------数据库增量备份
        3------数据库恢复
        4------备份结果查看
        5------恢复结果查看
                 .
                         .
                         .
                         .
            0-----退出
请论坛内的各位大大给予大力支持!

最佳答案

查看完整内容

#!/bin/bash# Author: stevenluo(stevenzhen gmail.com)fulllog=/u01/fulllogecho "1---Full backup database"echo "2---Incremental backup database"echo "3---Recover database"echo "4---Backup list"echo "5---Recover list"echo -e "Input number 1-5: \c"read number case "$number" in1) rman target / >$fulllog$fulllog

论坛徽章:
0
2 [报告]
发表于 2009-03-04 10:20 |只看该作者
#!/bin/bash
# Author: stevenluo(stevenzhen <at> gmail.com)
fulllog=/u01/fulllog
echo "1---Full backup database"
echo "2---Incremental backup database"
echo "3---Recover database"
echo "4---Backup list"
echo "5---Recover list"
echo -e "Input number 1-5: \c"
read number
case "$number" in
1)
rman target / >$fulllog<<EOF
backup database;
exit
EOF
;;
2)
./rman.sh
;;
3)
rman target / >>$fulllog<<EOF
shutdown immediate;
startup mount;
restore database;
recover database;
alter database open;
exit
EOF
;;
4)
rman target / <<EOF
list backup;
exit
EOF
;;
5)

esac
echo "Backup is Ok"
基本上可以了,具体怎么恢复以及备份在rman里设置
rman.sh
#/bin/bash
d=$(date | awk '{print $1}')
#week=(Mon,Tue,Sat)
log=/u01/rman.log
echo "Beginning rman backup ...." > $log
case "$d" in
Sun)
rman target / >$log <<EOF
backup incremental level 0 database;
exit
EOF
;;
Med)
rman target / >$log <<EOF
backup incremental level 1 database;
exit
EOF
;;
*)
rman target / >$log <<EOF
backup incremental level 2 database;
exit
EOF
;;
esac
echo "Backup is OK"

[ 本帖最后由 stevenzhen 于 2009-3-9 11:32 编辑 ]

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
3 [报告]
发表于 2009-03-04 10:26 |只看该作者

回复 #1 monkey188 的帖子

.....这个脚本比较大.....
也不是一会两会就写得完的吧..

论坛徽章:
0
4 [报告]
发表于 2009-03-04 10:42 |只看该作者
相当写一个程序。

论坛徽章:
0
5 [报告]
发表于 2009-03-04 10:44 |只看该作者
我可以负责UI部分代码 备份不会,连接到sqlplus不会。等待学习。

help
{
echo "
            0------退出
        1------数据库全量备份
        2------数据库增量备份
        3------数据库恢复
        4------备份结果查看
        5------恢复结果查看
      "
}

help
while read line
do
case $line in
0)
exit 0
;;
1)
function1
;;
2)
function2
;;
3)
function3
;;
4)
function4
;;
5)
function5
;;
*)
echo "容错提示"
help
esac
done

function1
{
sqlplus /nolog<<!
conn / as sysdba
exp system/manager inctype=complete file=$$_mydump.dmp 完全
#exp system/manager inctype=cumulative file=040731.dmp 累计
#exp system/manager inctype=incremental file=040731.dmp 增量
exit
!
#大概就知道这么多了,还是查出来东拼西凑的。
}

[ 本帖最后由 mixednuts 于 2009-3-4 12:24 编辑 ]

论坛徽章:
2
2015年迎新春徽章
日期:2015-03-03 17:33:52数据库技术版块每日发帖之星
日期:2015-09-21 06:20:00
6 [报告]
发表于 2009-03-04 10:56 |只看该作者
为啥不找个备份软件做?编rman脚本也简单的多。

论坛徽章:
0
7 [报告]
发表于 2009-03-04 11:18 |只看该作者
客户只是让用shell脚本,另外也没有专门的备份软件,所以无奈之下请求各位大大帮忙,本人对于shell编程了解的也不多,期待一个完整的脚本!

论坛徽章:
0
8 [报告]
发表于 2009-03-04 11:49 |只看该作者

回复 #6 monkey188 的帖子

可能要期待很久,不妨到oracle版去问问

论坛徽章:
0
9 [报告]
发表于 2009-03-09 11:35 |只看该作者

回复 #8 stevenzhen 的帖子

保存一下。写得很好,应该可以符合楼主的要求。

论坛徽章:
0
10 [报告]
发表于 2009-03-09 11:56 |只看该作者
没有AIX环境测试,只在linux bash环境通过,希望能帮到楼主
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP