exp user/password rows=y indexes=n compress=n buffer=65536 file='d:/databackup/dmp/%date:~0,10%.dmp' full=y log='d:/databackup/log/%date:~0,10%.log'
现在来简单说说里面参数的一些具体意义:
exp 为oracle的导出数据库的操作命令;
user 为用户名;password 为密码;
rows=y表明导出数据行(默认为y);
indexes=n表明不导出索引(默认为y);
full=y表明是要完整备份数据库(默认为n);
compress=n表明不把所有的数据压缩再一个数据块上面(说明:默认EXP导出时,compress = Y, 也就是把所有的数据压缩在一个数据块上,导入时,如果不存在连续一个大数据块, 则会导入失败。导出80M以上的表时,设置compress= N, 则不会引起这种错误。);
buffer=65536 表明将数据缓冲设置为 65536大小,我这边o9i的默认缓冲大小为4096,当备份的数据库较大时建议将buffer值设置大一些。如我备份的数据库有接近140M,我以前没有设置buffer选项,采取默认的4096,备份一次我特地的计算了时间,大概是2分钟到3分钟。后来我把buffer设置为65536后大概只要不到半分钟的时间。
file='d:/databackup/dmp/%date:~0,10%.dmp' 表明备份后的数据备份文件存放在d:/databackup/dmp/下面,文件名为当前备份的服务器上的日期,如今天为2008-01-11则备份的文件名称为2008-01-11.dmp。
log='d:/databackup/log/%date:~0,10%.log'表明我们备份操作时的日志文件存放在d:/databackup/log/下面,文件名称为日期加后缀的形式。如今天为2008-01-11则备份的日志文件名称为2008-01-11.log。
批处理文件建立以后就把它放入windows中附件的任务选项中,设置管理员的用户名和密码,并设置自动运行的时间,则任务会定时自动运行。