2006-4-26 11:35
Alilin
exp 备份脚本的问题(备份文件名更新)【已经解决,谢谢!】
用exp做oracle备份的脚本:
名为:ora_expbak.sh
路径:/oracle/app/oracle/product/8.1.7/bin/
用vi编写的时全部内容是否正确?
-------------------------------------------------------------------------------------------------------------------------------------------
/oracle/app/oracle/product/8.1.7/bin/ exp system/passwd full=y file=/orabak/exp_yyyymmdd.dmp log=/orabak/exp_yyyymmdd.log
-------------------------------------------------------------------------------------------------------------------------------------------
问题1:
我看到有些脚本的.dmp的全称可以是一个具体的名字而不是exp_yyyymmdd.log之类的东东。文件名称唯一的话,自动执行备份会不会覆盖?那种命名好?
问题2:在/oracle/app/oracle/product/8.1.7/bin/进行./ora_expbak.sh是报错.
KSH:/ora_expbak.sh:
0403-006 execute permission denied
这拒绝操作的原因是什么?脚本错了?如何解决?
问题3:如果用exp交互式来执行的话,要不要在/oracle/app/oracle/product/8.1.7/bin/下进行?
如果用exp当 export file :expdata.dmp>备份文件名称
回车后报错: exp-00028:failed to open 文件名称 forurite
不管取名为.dmp还是一个我要备份的路径:/orabak/expbak.dmp都一样报错。
问题4:用exp交互式的话,备份的文件如果不能填写路径,那么它是存放在哪里?是/oracle/app/oracle/product/8.1.7/bin/之下吗????:L
:P谢谢大家了!!!
[[i] 本帖最后由 Alilin 于 2006-5-9 14:24 编辑 [/i]]
2006-4-26 12:42
SunnyXu
chmod +x ora_expbak.sh
2006-4-26 15:07
Alilin
chmod +x ora_expbak.sh ?
是执行命令吗?
2006-4-26 15:38
charly
论坛中应该由自动备份脚本例子把?你找找看先。
教本内容:
-------------------------------------------------------------------------------------------------------------------------------------------
[color=Red]DATE=date[/color]
/oracle/app/oracle/product/8.1.7/bin/ exp system/passwd full=y file=/orabak/exp_[color=Red]$DATE[/color].dmp log=/orabak/exp_[color=Red]$DATE[/color].log
-------------------------------------------------------------------------------------------------------------------------------------------
问题1:
我看到有些脚本的.dmp的全称可以是一个具体的名字而不是exp_yyyymmdd.log之类的东东。文件名称唯一的话,自动执行备份会不会覆盖?那种命名好
[color=Red]当然覆盖,如果名称不同,那么需要定时清理备份文件,否则会撑死你的文件系统。
所以最好是名字自动、定期自动删除[/color]
问题2:在/oracle/app/oracle/product/8.1.7/bin/进行./ora_expbak.sh是报错.
KSH:/ora_expbak.sh:
0403-006 execute permission denied
这拒绝操作的原因是什么?脚本错了?如何解决?
[color=Red]这个问题SunnyXu已经回答了。[/color]
问题3:如果用exp交互式来执行的话,要不要在/oracle/app/oracle/product/8.1.7/bin/下进行?
如果用exp当 export file :expdata.dmp>备份文件名称
回车后报错: exp-00028:failed to open 文件名称 forurite
不管取名为.dmp还是一个我要备份的路径:/orabak/expbak.dmp都一样报错。
[color=Red]你不好试试看的啊?
不一定要在bin目录下,这个只要你的路径里有/oracle/app/oracle/product/8.1.7/bin/就可以了,[/color]
问题4:用exp交互式的话,备份的文件如果不能填写路径,那么它是存放在哪里?是/oracle/app/oracle/product/8.1.7/bin/之下吗????
[color=Red]如果不填写路径,那么就是你执行命令的当前路径。[/color]
2006-4-26 16:02
Alilin
哦!chmod +x ora_expbak.sh 就是改为可以执行吧. 现在的属主是root,好像还要把它改为oracle组,是吗?
2006-4-26 16:03
Alilin
charly 的回帖超强!!!
太感谢了!!!
现在就去试试去。
谢谢!!!
2006-4-26 16:24
Alilin
charly (无学无为)
再请教你一下,我是要用编写crontab来实现自动备份的话,用不用调用DATA函数呢??
同时要把属主改为oracle?
P.S.
crontab中调用的ora_expbak.sh 的路径应该是/oracle/app/oracle/product/8.1.7/bin/ora_expbak.sh 吗?
[[i] 本帖最后由 Alilin 于 2006-4-26 17:20 编辑 [/i]]
2006-4-26 17:27
Alilin
我运行了一遍脚本
我原来的哪个生成的名字就是exp_yyyymmdd.dmp 和exp_yyyymmdd.log 了,估计不对。
charly (无学无为) 改写的脚本生成的是exp_date.dmp和exp_date.log。为什么不能按当前日期生成呢?
是不是要把上面先定义的DATE=date 改为:DATE=date'yyyy-mm-dd' ?
2006-4-26 23:05
charly
DATE=`date '+%Y%m%d'`
很久不用,有点忘记。翻出来了。
顺便可以用这个把5天前的文件删除,注意“.” 那是当前目录。
这命令一定要小心,建议不要盲目使用,咱吃过一次苦头。
而且-timeza这个参数每个unix有点不太一样,自己看一下MAN find
find [color=Red]. [/color] -ctime +5 -exec rm {} \;;;
[[i] 本帖最后由 charly 于 2006-4-26 23:09 编辑 [/i]]
2006-4-26 23:11
闲云
今天用imp, 还很不熟练,明天看完相关文档,再来试验exp/imp
2006-5-9 14:23
Alilin
恩 脚本修改后可以完成备份(手工执行),
--------------------------------------------------------------------------------
DATE=`date +"%y%m%d"`
/oracle/app/oracle/product/8.1.7/bin/exp username/passwd full=y file=/orabak
/eipdb_$DATE.dmp log=/orabak/eipdb_$DATE.log
---------------------------------------------------------------------------------
页:
[1]
Powered by Discuz! Archiver 5.5.0
© 2001-2006 Comsenz Inc.