我是一名 SQL Server DBA,但我们有一个 Oracle 10g 数据库,我需要开始执行每日备份。我们没有企业管理器。有没有办法像在 SQL Server 中一样在 Oracle 中安排每日备份?
如果这个问题对于甲骨文的人来说是非常初级的,我深表歉意,但我在尝试研究这个问题并想出“使用 EM”以外的答案时遇到了非常困难的时间。
我是一名 SQL Server DBA,但我们有一个 Oracle 10g 数据库,我需要开始执行每日备份。我们没有企业管理器。有没有办法像在 SQL Server 中一样在 Oracle 中安排每日备份?
如果这个问题对于甲骨文的人来说是非常初级的,我深表歉意,但我在尝试研究这个问题并想出“使用 EM”以外的答案时遇到了非常困难的时间。
在您的情况下,最简单的方法是制作一个简单的 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 开始。之后检查在此处找到的备份文档管理
我会(但是,我的背景更多是在 Unix 上,在 Windows 上较少)从数据库外部进行调度,使用 OS Scheduler 运行备份脚本。假设没有真正的备份系统可用。
在备份开始时,您将运行 SQL 脚本将表空间置于备份模式(ALTER TABLESPACE x BEGIN BACKUP),然后备份表空间数据文件,然后恢复正常模式(ALTER TABLESPACE x END BACKUP)。PL/SQL 可以在这里用于循环所有表空间。
之后,您将备份控制文件(ALTER SYSTEM BACKUP CONTROLFILE ...),最后您将循环重做日志足够的时间,以使所有相关日志数据都已归档,并备份归档日志。
至于做增量备份 f.ex。在整个工作周内,只需执行日志轮换和存档日志复制部分。