1

我是一名 SQL Server DBA,但我们有一个 Oracle 10g 数据库,我需要开始执行每日备份。我们没有企业管理器。有没有办法像在 SQL Server 中一样在 Oracle 中安排每日备份?

如果这个问题对于甲骨文的人来说是非常初级的,我深表歉意,但我在尝试研究这个问题并想出“使用 EM”以外的答案时遇到了非常困难的时间。

4

2 回答 2

3

在您的情况下,最简单的方法是制作一个简单的 Windows 批处理脚本来设置 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 数据库文档并从 2 天 dba 开始。之后检查在此处找到的备份文档管理

于 2012-10-07T12:20:18.500 回答
0

我会(但是,我的背景更多是在 Unix 上,在 Windows 上较少)从数据库外部进行调度,使用 OS Scheduler 运行备份脚本。假设没有真正的备份系统可用。

在备份开始时,您将运行 SQL 脚本将表空间置于备份模式(ALTER TABLESPACE x BEGIN BACKUP),然后备份表空间数据文件,然后恢复正常模式(ALTER TABLESPACE x END BACKUP)。PL/SQL 可以在这里用于循环所有表空间。

之后,您将备份控制文件(ALTER SYSTEM BACKUP CONTROLFILE ...),最后您将循环重做日志足够的时间,以使所有相关日志数据都已归档,并备份归档日志。

至于做增量备份 f.ex。在整个工作周内,只需执行日志轮换和存档日志复制部分。

于 2012-10-05T20:09:34.783 回答