[重要安全性通知] 发现假冒 Qfinder Pro 网站。了解详情 >

本内容经过机器翻译。请参见机器翻译免责声明
切换为英语

How do I back up and restore Oracle Databases running on Windows servers using HDP for PC/VM?
如何使用 HDP for PC/VM 备份和恢复运行在 Windows 服务器上的 Oracle 数据库?


最后修订日期: 2026-01-13

适用产品

  • HDP for PC/VM
  • HDP PC Agent

    Starting from version 2.3.1, the product previously known as HDP has been renamed to HDP for PC/VM.

    Starting from version 1.3.0, the product previously known as NetBak PC Agent has been renamed to HDP PC Agent.

详情

本指南演示如何使用 QNAP 的 HDP PC Agent 和 HDP for PC/VM 备份和恢复 Oracle 数据库服务器。这些工具确保全面的数据保护和高效的恢复能力。

备份 Oracle 数据库

Hyper Data Protector 使用卷影复制服务 (VSS) 创建数据快照,确保备份过程中的一致性和更贴合性。要启用 VSS 备份,请将数据库切换到 ARCHIVELOG 模式。

步骤 1:将数据库模式切换到 ARCHIVELOG 以执行 VSS 备份。

使用 SQL*Plus 连接到 Oracle 数据库服务器。在命令提示符下,使用管理员组中的账户执行以下命令,将{db_instance}替换为您的数据库系统标识符 (SID):

set ORACLE_SID={db_instance}
        set TWO_TASK=
        SQLPLUS /NOLOG

在 SQL*Plus 中输入以下命令以关闭数据库:

CONNECT / AS SYSDBA
        SHUTDOWN IMMEDIATE

在 SQL*Plus 中输入以下命令以挂载数据库并启用 ARCHIVELOG 模式:

STARTUP MOUNT;
        ALTER DATABASE ARCHIVELOG;
        ALTER DATABASE OPEN;

步骤 2:备份 Oracle 数据库

为您的服务器创建并配置备份任务。请参考以下指南以获取帮助:

恢复 Oracle 数据库

QNAP 提供多种方法来恢复 Oracle 数据库备份。选择较适合您需求的方法。

恢复整个服务器

您可以使用 Hyper Data Protector 将整个服务器恢复到虚拟机,或使用 HDP PC Agent 将其恢复到物理服务器。

有关详细信息,请参阅使用 Hyper Data Protector 将虚拟机备份到 QNAP NASHDP PC Agent 快速入门指南

恢复 Oracle 数据库

在测试或开发 Oracle 数据库应用程序,或使用第三方工具分析现有 Oracle 数据库时,您可能需要将数据库恢复到不同的服务器。

按照以下步骤将整个 Oracle 数据库恢复到任何恢复点,使用 SPFILE,CONTROLFILE,DATAFILE,和 LOGFILE。

步骤 1:下载数据库文件

  1. 打开 备份资源管理器Hyper Data Protector。
  2. 选择您要恢复的数据库版本。
  3. 定位并下载所需的数据库文件

步骤 2:准备恢复环境

  1. 安装 Oracle 数据库 在目标服务器上。
  2. 使用Oracle 数据库配置助手创建一个新的数据库{db_identifier}
  3. 以管理员身份打开命令提示符并执行以下命令:
set ORACLE_SID={db_identifier}
        SQLPLUS /NOLOG
  1. 使用以下账户连接到数据库sys账户:
CONNECT SYS/{sys password} AS SYSDBA
  1. 关闭数据库:
SHUTDOWN IMMEDIATE;

步骤 3:定位 CONTROLFILE 信息

  1. 使用文本编辑器从备份中打开SPFILE{db_name}.ora文件。
  2. 找到CONTROL_FILES参数以查找控制文件路径。
*.control_files='C:\app\ 管理员 \product\23ai\oradata\FREE\control01.ctl','C:\app\ 管理员 \product\23ai\oradata\FREE\control02.ctl'

示例:

步骤 4:使用恢复的文件

  1. 将数据库挂载在NOMOUNT模式下:
STARTUP NOMOUNT;
  1. 在数据库配置中指定控制文件:
ALTER SYSTEM SET CONTROL_FILES='{first_path}', -
        '{second_path}', -
        …
        '{nth_path}', -
        …
        '{last_path}' SCOPE=SPFILE;

示例:

ALTER SYSTEM SET CONTROL_FILES='C:\Netbak\CTRL\CONTROL01.CTL', 'C:\Netbak\CTRL\CONTROL02.CTL' SCOPE=SPFILE;
  1. 停止并重新启动数据库:
SHUTDOWN IMMEDIATE;
        STARTUP MOUNT;
  1. 验证控制文件是否已设置为指定的控制文件。
SELECT name FROM v$controlfile;

示例输出:

SQL> SELECT name FROM v$controlfile;

        NAME
        --------------------------------------------------------------------------------
        C:\NETBAK\CTRL\CONTROL01.CTL
        C:\NETBAK\CTRL\CONTROL02.CTL
  1. 验证数据和日志文件的路径:
SELECT Name FROM v$datafile;
        SELECT Member FROM v$logfile;

示例输出:

SQL> SELECT Name FROM v$datafile;

        NAME
        --------------------------------------------------------------------------------
        C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\SYSTEM01.DBF
        C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\PDBSEED\SYSTEM01.DBF
        C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\SYSAUX01.DBF
        C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\PDBSEED\SYSAUX01.DBF
        C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\USERS01.DBF
        C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\PDBSEED\UNDOTBS01.DBF
        C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\UNDOTBS01.DBF
        C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\FREEPDB1\SYSTEM01.DBF
        C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\FREEPDB1\SYSAUX01.DBF
        C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\FREEPDB1\UNDOTBS01.DBF
        C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\FREEPDB1\USERS01.DBF

        SQL> SELECT Member FROM v$logfile;

        MEMBER
        --------------------------------------------------------------------------------
        C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\REDO03.LOG
        C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\REDO02.LOG
        C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\REDO01.LOG

5. 重命名数据和日志文件路径到新位置:

ALTER DATABASE RENAME FILE '<old locationold file name>'TO'<new locationnew file name>';

示例输出:

ALTER DATABASE RENAME FILE 'C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\SYSTEM01.DBF' TO 'C:\Netbak\oradata\FREE\SYSTEM01.DBF';
        ALTER DATABASE RENAME FILE 'C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\PDBSEED\SYSTEM01.DBF' TO 'C:\Netbak\oradata\FREE\PDBSEED\SYSTEM01.DBF';
        ALTER DATABASE RENAME FILE 'C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\SYSAUX01.DBF' TO 'C:\Netbak\oradata\FREE\SYSAUX01.DBF';
        ALTER DATABASE RENAME FILE 'C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\PDBSEED\SYSAUX01.DBF' TO 'C:\Netbak\oradata\FREE\PDBSEED\SYSAUX01.DBF';
        ALTER DATABASE RENAME FILE 'C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\USERS01.DBF' TO 'C:\Netbak\oradata\FREE\USERS01.DBF';
        ALTER DATABASE RENAME FILE 'C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\PDBSEED\UNDOTBS01.DBF' TO 'C:\Netbak\oradata\FREE\PDBSEED\UNDOTBS01.DBF';
        ALTER DATABASE RENAME FILE 'C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\UNDOTBS01.DBF' TO 'C:\Netbak\oradata\FREE\UNDOTBS01.DBF';
        ALTER DATABASE RENAME FILE 'C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\FREEPDB1\SYSTEM01.DBF' TO 'C:\Netbak\oradata\FREE\FREEPDB1\SYSTEM01.DBF';
        ALTER DATABASE RENAME FILE 'C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\FREEPDB1\SYSAUX01.DBF' TO 'C:\Netbak\oradata\FREE\FREEPDB1\SYSAUX01.DBF';
        ALTER DATABASE RENAME FILE 'C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\FREEPDB1\UNDOTBS01.DBF' TO 'C:\Netbak\oradata\FREE\FREEPDB1\UNDOTBS01.DBF';
        ALTER DATABASE RENAME FILE 'C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\FREEPDB1\USERS01.DBF' TO 'C:\Netbak\oradata\FREE\FREEPDB1\USERS01.DBF';

        ALTER DATABASE RENAME FILE 'C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\REDO03.LOG' TO 'C:\Netbak\oradata\FREE\REDO03.LOG';
        ALTER DATABASE RENAME FILE 'C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\REDO02.LOG' TO 'C:\Netbak\oradata\FREE\REDO02.LOG';
        ALTER DATABASE RENAME FILE 'C:\APP\ 管理员 \PRODUCT\23AI\ORADATA\FREE\REDO01.LOG' TO 'C:\Netbak\oradata\FREE\REDO01.LOG';

6. 恢复数据库:

RECOVER DATABASE;

7. 打开数据库:

ALTER DATABASE OPEN;

通过遵循这些步骤,您可以使用 Hyper Data Protector 成功将您的 Oracle 数据库恢复到新服务器或恢复点。

这篇文章有帮助吗?

谢谢您,我们已经收到您的意见。

请告诉我们如何改进这篇文章:

如果您想提供其他意见,请于下方输入。

选择规格

      显示更多 隐藏更多
      open menu
      back to top