Applicable Products
- 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.
Details
This guide demonstrates how to back up and restore Oracle Database servers using QNAP’s HDP PC Agent and HDP for PC/VM. These tools ensure comprehensive data protection and efficient recovery for your Oracle Database.
Back Up Oracle Database
Hyper Data Protector uses Volume Shadow Copy Service (VSS) to create data snapshots, ensuring consistency and accuracy during backups. To enable VSS backup, switch the database to ARCHIVELOG mode.
Step 1: Switch the database mode to ARCHIVELOG to perform VSS backups.
Use SQL*Plus to connect to the Oracle Database server. At the command prompt, execute the following commands with an account in the Administrator group, replacing {db_instance} with your database System Identifier (SID):
set ORACLE_SID={db_instance}
set TWO_TASK=
SQLPLUS /NOLOG
Enter the following commands in SQL*Plus to shut down the database:
CONNECT / AS SYSDBA
SHUTDOWN IMMEDIATE
Enter the following commands in SQL*Plus to mount the database and enable ARCHIVELOG mode:
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
Step 2: Back up Oracle Database
Create and configure a backup task for your server. Refer to these guides for assistance:
Restore Oracle Database
QNAP offers various methods for restoring Oracle Database backups. Select the method that best suits your requirements.
Restore an Entire Server
You can use Hyper Data Protector to restore the entire server to a Hypervisor or use HDP PC Agent to restore it to a physical server.
For details, refer to the Using Hyper Data Protector to Back Up Hypervisors to a QNAP NAS or HDP PC Agent Quick Start Guide.
Restore an Oracle Database
When testing or developing Oracle Database applications, or analyzing an existing Oracle Database with third-party tools, you may need to restore the database to a different server.
Follow these steps to restore the entire Oracle Database to any restore point using SPFILE, CONTROLFILE, DATAFILE, and LOGFILE.
Step 1: Download Database Files
- Open the Backup Explorer in Hyper Data Protector.
- Select the database version you want to restore.
- Locate and download the required database files

Step 2: Prepare the Restoration Environment
- Install Oracle Database on the target server.
- Use the Oracle Database Configuration Assistant to create a new database {db_identifier}.
- Open a command prompt as an administrator and execute the following commands:
set ORACLE_SID={db_identifier}
SQLPLUS /NOLOG
- Connect to the database using the sys account:
CONNECT SYS/{sys password} AS SYSDBA
- Shut down the database:
SHUTDOWN IMMEDIATE;
Step 3: Locate CONTROLFILE Information
- Open the SPFILE{db_name}.ora file from the backup using a text editor.
- Locate the CONTROL_FILES parameter to find the control file paths.
*.control_files='C:\app\Administrator\product\23ai\oradata\FREE\control01.ctl','C:\app\Administrator\product\23ai\oradata\FREE\control02.ctl'
Example:

Step 4: Use the Restored Files
- Mount the database in NOMOUNT mode:
STARTUP NOMOUNT;
- Specify the control files in the database configuration:
ALTER SYSTEM SET CONTROL_FILES='{first_path}', -
'{second_path}', -
…
'{nth_path}', -
…
'{last_path}' SCOPE=SPFILE;
Example:
ALTER SYSTEM SET CONTROL_FILES='C:\Netbak\CTRL\CONTROL01.CTL', 'C:\Netbak\CTRL\CONTROL02.CTL' SCOPE=SPFILE;
- Stop and start the database:
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
- Verify that the control file has been set to the specified control file.
SELECT name FROM v$controlfile;
Example output:
SQL> SELECT name FROM v$controlfile;
NAME
--------------------------------------------------------------------------------
C:\NETBAK\CTRL\CONTROL01.CTL
C:\NETBAK\CTRL\CONTROL02.CTL
- Verify the paths of data and log files:
SELECT Name FROM v$datafile;
SELECT Member FROM v$logfile;
Example output:
SQL> SELECT Name FROM v$datafile;
NAME
--------------------------------------------------------------------------------
C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\SYSTEM01.DBF
C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\PDBSEED\SYSTEM01.DBF
C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\SYSAUX01.DBF
C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\PDBSEED\SYSAUX01.DBF
C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\USERS01.DBF
C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\PDBSEED\UNDOTBS01.DBF
C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\UNDOTBS01.DBF
C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\FREEPDB1\SYSTEM01.DBF
C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\FREEPDB1\SYSAUX01.DBF
C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\FREEPDB1\UNDOTBS01.DBF
C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\FREEPDB1\USERS01.DBF
SQL> SELECT Member FROM v$logfile;
MEMBER
--------------------------------------------------------------------------------
C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\REDO03.LOG
C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\REDO02.LOG
C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\REDO01.LOG
5. Rename the data and log file paths to their new locations:
ALTER DATABASE RENAME FILE '<old location/old file name>' TO '<new location/new file name>';
Example output:
ALTER DATABASE RENAME FILE 'C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\SYSTEM01.DBF' TO 'C:\Netbak\oradata\FREE\SYSTEM01.DBF';
ALTER DATABASE RENAME FILE 'C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\PDBSEED\SYSTEM01.DBF' TO 'C:\Netbak\oradata\FREE\PDBSEED\SYSTEM01.DBF';
ALTER DATABASE RENAME FILE 'C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\SYSAUX01.DBF' TO 'C:\Netbak\oradata\FREE\SYSAUX01.DBF';
ALTER DATABASE RENAME FILE 'C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\PDBSEED\SYSAUX01.DBF' TO 'C:\Netbak\oradata\FREE\PDBSEED\SYSAUX01.DBF';
ALTER DATABASE RENAME FILE 'C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\USERS01.DBF' TO 'C:\Netbak\oradata\FREE\USERS01.DBF';
ALTER DATABASE RENAME FILE 'C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\PDBSEED\UNDOTBS01.DBF' TO 'C:\Netbak\oradata\FREE\PDBSEED\UNDOTBS01.DBF';
ALTER DATABASE RENAME FILE 'C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\UNDOTBS01.DBF' TO 'C:\Netbak\oradata\FREE\UNDOTBS01.DBF';
ALTER DATABASE RENAME FILE 'C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\FREEPDB1\SYSTEM01.DBF' TO 'C:\Netbak\oradata\FREE\FREEPDB1\SYSTEM01.DBF';
ALTER DATABASE RENAME FILE 'C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\FREEPDB1\SYSAUX01.DBF' TO 'C:\Netbak\oradata\FREE\FREEPDB1\SYSAUX01.DBF';
ALTER DATABASE RENAME FILE 'C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\FREEPDB1\UNDOTBS01.DBF' TO 'C:\Netbak\oradata\FREE\FREEPDB1\UNDOTBS01.DBF';
ALTER DATABASE RENAME FILE 'C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\FREEPDB1\USERS01.DBF' TO 'C:\Netbak\oradata\FREE\FREEPDB1\USERS01.DBF';
ALTER DATABASE RENAME FILE 'C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\REDO03.LOG' TO 'C:\Netbak\oradata\FREE\REDO03.LOG';
ALTER DATABASE RENAME FILE 'C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\REDO02.LOG' TO 'C:\Netbak\oradata\FREE\REDO02.LOG';
ALTER DATABASE RENAME FILE 'C:\APP\ADMINISTRATOR\PRODUCT\23AI\ORADATA\FREE\REDO01.LOG' TO 'C:\Netbak\oradata\FREE\REDO01.LOG';
6. Recover the database:
RECOVER DATABASE;
7. Open the database:
ALTER DATABASE OPEN;
By following these steps, you can successfully restore your Oracle Database to a new server or restore point using Hyper Data Protector.
适用产品
- 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 NAS或HDP PC Agent 快速入门指南。
恢复 Oracle 数据库
在测试或开发 Oracle 数据库应用程序,或使用第三方工具分析现有 Oracle 数据库时,您可能需要将数据库恢复到不同的服务器。
按照以下步骤将整个 Oracle 数据库恢复到任何恢复点,使用 SPFILE,CONTROLFILE,DATAFILE,和 LOGFILE。
步骤 1:下载数据库文件
- 打开 备份资源管理器 在 Hyper Data Protector。
- 选择您要恢复的数据库版本。
- 定位并下载所需的数据库文件

步骤 2:准备恢复环境
- 安装 Oracle 数据库 在目标服务器上。
- 使用Oracle 数据库配置助手创建一个新的数据库{db_identifier}。
- 以管理员身份打开命令提示符并执行以下命令:
set ORACLE_SID={db_identifier}
SQLPLUS /NOLOG
- 使用以下账户连接到数据库sys账户:
CONNECT SYS/{sys password} AS SYSDBA
- 关闭数据库:
SHUTDOWN IMMEDIATE;
步骤 3:定位 CONTROLFILE 信息
- 使用文本编辑器从备份中打开SPFILE{db_name}.ora文件。
- 找到CONTROL_FILES参数以查找控制文件路径。
*.control_files='C:\app\ 管理员 \product\23ai\oradata\FREE\control01.ctl','C:\app\ 管理员 \product\23ai\oradata\FREE\control02.ctl'
示例:

步骤 4:使用恢复的文件
- 将数据库挂载在NOMOUNT模式下:
STARTUP NOMOUNT;
- 在数据库配置中指定控制文件:
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;
- 停止并重新启动数据库:
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
- 验证控制文件是否已设置为指定的控制文件。
SELECT name FROM v$controlfile;
示例输出:
SQL> SELECT name FROM v$controlfile;
NAME
--------------------------------------------------------------------------------
C:\NETBAK\CTRL\CONTROL01.CTL
C:\NETBAK\CTRL\CONTROL02.CTL
- 验证数据和日志文件的路径:
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 数据库恢复到新服务器或恢复点。