Oracle 每日数据库备份 - 无企业管理器



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

如果这个问题对 Oracle 人来说非常基本,我深表歉意,但我很难尝试研究这个问题并提出"使用 EM"以外的答案。

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

我会(但是,我的背景更多地是Unix,而不是Windows)从数据库外部进行调度,使用操作系统调度程序运行备份脚本。假设没有真正的备份系统可用。

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

之后,您将备份控制文件

(更改系统备份控制文件...),最后您将轮换重做日志足够多次,以使所有相关日志数据都已存档,并备份存档日志。

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

最新更新