我是SQL Server DBA,但我们需要开始执行每日备份的Oracle 10g数据库。我们没有企业管理器。有没有办法像在SQL Server中那样在Oracle中安排每日备份?
如果这个问题对Oracle人员来说非常严重,我很抱歉,但是我在尝试研究这个问题并提出“使用EM”以外的答案时非常困难。
答案 0 :(得分:3)
最简单的方法是制作一个简单的Windows Batch脚本,设置ORACLE_HOME和PATH并使用rman进行备份。在Windows任务计划程序中安排脚本。假设您的数据库是生产的,并且因为它在归档日志模式下运行,您的脚本可能是这样的: (我不是Windows专家,因此可能很容易为您找到微妙的错误)
rman_backup.bat:
ORACLE_SID=your_oracle_sid
ORACLE_HOME=d:/where/your/installation/is
PATH=%ORACLE_HOME%/bin;%PATH%
rman cmdfile=your_rman_actions_script.rman log=your_log_file.log
your_rman_action_script.rman看起来像
connect target=/
backup DATABASE PLUS ARCHIVELOG;
有关文档,请查看Oracle 10g database documentation并从2天dba开始。之后,查看Administration
中的备份文档答案 1 :(得分:0)
我愿意(但是,我的背景更多是在Unix上,而不是在Windows上)从数据库外部进行调度,使用OS Scheduler运行备份脚本。假设没有真正的备份系统可用。
在备份开始时,您将运行SQL脚本以将表空间置于备份模式(ALTER TABLESPACE x BEGIN BACKUP),然后备份表空间数据文件,然后恢复正常模式(ALTER TABLESPACE x END BACKUP) )。这里可以使用PL / SQL来循环遍历所有表空间。
之后,您将备份控制文件(ALTER SYSTEM BACKUP CONTROLFILE ...),最后您将旋转重做日志足以存档所有相关日志数据,并备份存档日志。
进行增量备份时f.ex。整个工作周,只需做日志轮换&存档日志复制部分。