数据库备份、恢复与管理全攻略
1. 数据备份设置
若有数据保护,会看到以下三个选项:
- None
- Delete archived redo logfiles:
- After they have been applied to all standby databases
- After they have been shipped to all standby databases
- Delete archived redo logfiles after they have been backed up the specified number of times
完成所有备份设置后,点击“OK”保存。
2. 恢复设置
设置数据库恢复设置的步骤如下:
1. 导航至“Availability | Backup & Recovery”,然后在OEM12c容器数据库主菜单中点击“Recovery Settings”。
2. 输入期望的平均恢复时间(MTTR)值,用于设置数据库的
FAST_START_MTTR_TARGET
初始化参数。若指定非零值,将控制数据库进行崩溃恢复所需的时间,通过维持数据库检查点的速度来实现。输入的值可以指定为分钟或秒。
3. 指定媒体恢复设置。可以轻松指定数据库是否以
ARCHIVELOG
模式运行,记录归档日志文件的名称格式和生成位置。还可以为LogMiner启用最小补充日志记录。
4. 设置闪回恢复区(FRA),启用闪回恢复数据库,并设置闪回保留策略(时间)。
5. 完成后,若想查看将执行的所有SQL语句以应用在“Recovery Settings”页面所做的所有更改,可点击“Show SQL”;若想取消所有更改并将页面信息恢复到更改前的状态,可点击“Revert”;若想将所做的所有更改应用到目标数据库,可点击“Apply”。
graph LR
A[导航至Availability | Backup & Recovery] --> B[点击Recovery Settings]
B --> C[输入MTTR值]
C --> D[指定媒体恢复设置]
D --> E[设置FRA等]
E --> F{选择操作}
F -->|Show SQL| G[查看SQL语句]
F -->|Revert| H[恢复页面信息]
F -->|Apply| I[应用更改到目标数据库]
3. 目录设置
在OEM12c目录设置页面可进行以下操作:
- 设置控制文件中备份信息的保留期。
- 将数据库注册到现有的恢复目录,或在目标数据库中创建新目录。
配置目录设置的步骤如下:
1. 导航至“Availability | Backup & Recovery”,然后在OEM12c容器数据库主菜单中点击“Recovery Catalog Settings”。
2. “Recovery Catalog Settings”页面只有两个可用选项作为RMAN元数据存储库:
- Use Control File:这是默认选项,选择此选项可指定控制文件保留RMAN记录的天数。
- Use Recovery Catalog:选择此选项,可将目标数据库注册到现有的RMAN恢复目录(从值列表中选择恢复目录),甚至可以在该目标数据库或其他可用数据库中创建新的恢复目录。建议在单独的数据库中创建目录存储库。
3. 若选择“Add Recovery Catalog”选项,可以选择由OEM12c管理的任何数据库目标,甚至指定非OEM12c目标的数据库来创建RMAN恢复目录。选择后点击“Next”。
4. 为选择创建恢复目录的数据库目标添加主机和数据库凭据,然后点击“Next”。
5. 输入恢复目录用户凭据,该用户应已存在于目标数据库中。准备好后点击“Next”。
6. 审核输入的所有信息,点击“Finish”创建配置好的恢复目录。
7. 在“Recovery Catalog Settings”页面点击“OK”保存输入的所有信息。
| 选项 | 说明 |
|---|---|
| Use Control File | 默认,可指定控制文件保留RMAN记录天数 |
| Use Recovery Catalog | 可注册到现有恢复目录或创建新目录 |
graph LR
A[导航至Availability | Backup & Recovery] --> B[点击Recovery Catalog Settings]
B --> C{选择存储库}
C -->|Use Control File| D[指定保留期]
C -->|Use Recovery Catalog| E[选择数据库目标]
E --> F[添加主机和数据库凭据]
F --> G[输入恢复目录用户凭据]
G --> H[审核信息]
H --> I[点击Finish创建目录]
I --> J[点击OK保存信息]
4. 安排RMAN备份
OEM12c是一个集中管理工具,通过部署OEM12c代理来监控和管理目标主机。从这个集中控制台,可以轻松运行或安排任何RMAN甚至数据泵操作,无需手动连接到每个目标服务器,节省大量精力和时间。它还会监控作业,若作业失败会生成警报。使用OEM12c安排备份操作时,有两个选项:
- Oracle建议的备份
- 自定义备份
4.1 使用Oracle建议的备份策略选项
使用OEM12c按以下步骤安排可插拔数据库PDBORCL的每日备份:
1. 在容器数据库控制台页面,导航至“Availability | Backup & Recovery | Schedule Backup”。
2. 在“Schedule Backup”页面,输入主机凭据,准备好后点击“Schedule Oracle-Suggested Backup”。若数据库以
NOARCHIVELOG
模式运行,作业运行时数据库将关闭并置于挂载模式。
3. 在“Destination”页面,选择备份生成的目标媒体。有三个选项:磁盘、磁带或磁盘和磁带。这里点击“Disk”,然后点击“Next”。
4. 在设置页面,首先查看Oracle建议的全量备份策略,随后是增量备份。还可以使用加密。审核页面信息后点击“Next”。
5. 在调度页面,输入开始日期、时区和每日备份时间信息以创建每日作业,然后点击“Next”。
6. 审核输入的所有信息和将在目标可插拔数据库中执行的RMAN脚本,点击“Submit Job”。
7. 弹出窗口会显示作业已成功提交。可以点击“OK”完成此过程,或点击“View Job”查看提交作业的状态。
4.2 使用自定义备份选项
安排可插拔数据库PDBORCL的每日备份步骤如下:
1. 在“Customized Backup”部分,输入主机凭据,点击“Schedule Customized Backup”。可在以下级别安排备份:整个数据库、容器数据库根、可插拔数据库、表空间、数据文件、归档日志和磁盘上的所有恢复文件。这里仅执行整个数据库备份。选项页面允许进行以下操作:
- 选择备份类型,可在全量备份和增量备份之间选择。
- 选择备份模式,可选择在线备份或离线备份。
- 选择备份磁盘上的所有归档日志,并在成功备份后从磁盘删除所有归档日志。
- 删除过时的备份。
- 使用媒体管理软件支持的代理副本进行备份。
- 指定每个备份集的最大文件数。
- 指定备份的段大小(接受KB/MB/GB)。
- 使用Oracle加密钱包、用户提供的密码或两者结合来保护备份中的任何敏感数据。
- 根据要求选择并输入选项,然后点击“Next”。
2. 在设置页面,选择备份的目标媒体,可以是磁盘或磁带,准备好后点击“Next”。在此页面还可以查看默认备份设置,如有必要,仅为此备份作业覆盖它们。这意味着在此处设置所做的所有更改不会保存,仅用于此特定作业。
3. 在调度页面,输入作业名称和描述(或保留默认建议),选择作业类型(一次性(立即)、一次性(稍后)或重复),然后点击“Next”。这里选择“One Time (Immediately)”选项。
4. 审核所有选项,包括生成的RMAN脚本,若一切正常,点击“Submit Job”。
5. 恢复点
恢复点是用户定义的时间点名称,允许将数据回退到特定时间点,以解决由用户错误或数据损坏引起的任何问题。Oracle有两种类型的恢复点:
- 正常恢复点:允许创建到特定SCN、当前时间或任何已过去的时间点的恢复点。这种类型的恢复点在超出可恢复点后会使控制文件过期。
- 保证恢复点:这种恢复点确保可以使用闪回将数据库回退到恢复点的时间。要求数据库具有FRA,以
ARCHIVELOG
模式运行,并且兼容模式应为10.2或更高版本。
可以通过在数据库控制台菜单中导航至“Availability | Backup & Recovery | Restore Points”,轻松查看数据库中创建的所有恢复点,并在必要时创建新的恢复点。
1. 首先看到的是“Manage Restore Points”页面,显示数据库中所有可用的恢复点,也允许创建新的恢复点。点击“Create”创建恢复点。
2. 在“Create Restore Point”页面,首先输入恢复点名称,然后选择要创建的恢复点类型:
- 正常恢复点
- 保证恢复点
例如,在“Restore Point name”字段中输入“Test2”,点击“Normal Restore Point”类型和“Current Time”,然后点击“OK”。
3. 在确认页面,输入主机凭据,点击“Yes”创建恢复点。
graph LR
A[导航至Availability | Backup & Recovery | Restore Points] --> B[点击Create]
B --> C[输入恢复点名称]
C --> D{选择恢复点类型}
D -->|正常恢复点| E[点击OK]
D -->|保证恢复点| E
E --> F[输入主机凭据]
F --> G[点击Yes创建恢复点]
6. 使用OEM12c进行导出/导入
OEM12c也是数据泵的GUI工具,可以轻松执行以下数据泵操作:
- 传输表空间
- 导出到导出文件(转储文件)
- 从导出文件(转储文件)导入
- 从数据库导入(使用数据库链接)
- 从用户文件(外部表)加载数据
- 查看导出和导入作业
6.1 执行导出操作
使用OEM12c执行导出操作的步骤如下:
1. 在数据库控制台(这里使用可插拔数据库PDBORCL)主菜单中导航至“Schema | Database Export/Import | Export to export files”。
2. 在导出页面,首先选择导出操作的类型,即要包含在导出中的内容:
- 数据库:导出整个数据库。
- 模式:允许选择一个或多个模式包含在导出操作中。
- 表:允许从选定的模式中选择一个或多个表进行导出。
- 表空间:允许选择一个或多个表空间。在此选项中,仅导出表空间中的表。
这里输入主机凭据,点击“Database”选项,然后点击“Continue”。
3. 在选项页面,可以输入以下内容(可选):
- 导出作业的最大线程数为1。请记住,并行选项仅在Oracle数据库企业版(EE)中可用,需要额外授权。若未授权或未使用EE,应将此值保留为1。
- 估计磁盘空间的块数(也可以点击“Estimate Disk Space Now”在不执行导出操作的情况下计算导出操作将使用的估计空间)。
- 选择“Generate Log File”选项,并使用目录对象
DATA_PUMP_DIR
生成转储文件和日志文件
EXPDAT.LOG
。这里不使用高级选项,点击“Next”继续。
若选择高级选项,将允许:
- 选择要从源数据库导出的内容(全部/仅数据/仅元数据),包括所有对象、仅指定的对象或仅不排除的对象。
- 使用闪回导出数据到特定SCN或时间点的读一致视图。
- 指定要应用于正在导出的表的
SELECT
语句谓词子句。
4. 在“Files”页面,选择
DATA_PUMP_DIR
作为目录对象来创建转储文件
EXPDP%U%D.DMP
,点击“Next”。在转储文件名中使用通配符
%D
包含作业日期(YY/MM/DD),以便稍后更容易识别。如有必要,还可以为转储文件添加最大文件大小(MB)。
5. 在“Job Schedule”页面,将作业名称设置为“DATAPUMPTEST”,安排立即执行(仅一次性),点击“Next”。在此页面,也可以选择稍后在特定日期和时间执行作业,并允许定期执行。
6. 在审核页面,审核输入的信息,点击“Submit Job”。也可以点击“Show PL/SQL”查看数据库将执行的PL/SQL。
执行数据泵与OEM12c时,始终确保
STREAMS_POOL_SIZE
初始化参数不为0。若设置为0,可能会在OEM12c中出现错误,提示无法为流池分配内存。
6.2 监控作业
可以通过在PDBORCL数据库控制台中导航至“Schema | Database Export/Import | View Export & Import Jobs”,轻松监控刚刚启动的“DATAPUMPTEST”作业的执行情况。
1. 它将自动显示数据库中所有数据泵作业及其状态。例如,“DATAPUMPTEST”作业状态为“EXECUTING”。
2. 若需要作业的更多详细信息,只需点击想要详细信息的作业名称即可。此页面仅显示正在执行和已停止的作业。当数据泵作业完成时,将从该页面消失。
graph LR
A[导航至Schema | Database Export/Import | Export to export files] --> B{选择导出类型}
B -->|数据库| C[输入主机凭据点击Continue]
B -->|模式| C
B -->|表| C
B -->|表空间| C
C --> D[输入可选信息]
D --> E{是否选择高级选项}
E -->|是| F[选择导出内容等]
E -->|否| G[点击Next]
F --> G
G --> H[选择目录对象创建转储文件]
H --> I[设置作业名称和执行时间]
I --> J[审核信息点击Submit Job]
J --> K[监控作业执行情况]
7. SQL Developer 3.2
SQL Developer DBA Navigator的GUI界面为RMAN和数据泵提供了非常灵活的选项,可用于执行备份和恢复操作,但很多DBA并不知道它的存在。
7.1 RMAN操作
DBA Navigator提供以下RMAN选项:
- 备份作业:可以查看以前执行的备份作业,也允许从这里创建和运行新的备份作业。例如,使用右键点击可以执行以下操作:
- 备份操作,如表空间备份、数据文件备份、归档日志备份和恢复文件备份。
- 恢复/恢复操作,如恢复整个数据库、恢复表空间、恢复数据文件、块恢复、恢复归档日志和闪回数据库。
- 创建磁盘备份、磁带备份和磁盘/磁带备份。
- 备份集:显示以前备份作业创建的、可用于恢复操作的备份集。使用右键点击可以执行以下操作:
- 编目恢复区
- 交叉检查所有
- 删除所有过时的
- 删除所有过期的
- 映像副本:显示以前备份作业创建的、可用于恢复操作的映像副本。使用右键点击可以执行与备份集相同的操作。
- RMAN设置:显示存储在数据库服务器中的当前RMAN备份和恢复设置。使用右键点击可以编辑:
- 磁盘设备设置
- 磁带设备设置
- 压缩算法设置
- 磁带备份集设置
- 备份策略
- 日志删除策略
- 使用RMAN切换归档日志模式和闪回数据库
- 预定的RMAN操作:显示用于执行RMAN脚本的所有
DBMS_SCHEDULER
作业,并允许查看日志文件。此选项仅适用于11.1及更高版本的数据库。
例如,要执行可插拔数据库PDBORCL的全量备份,可以通过在“Backup Jobs”选项中导航至“Backup Jobs | Action | Custom Backups | Create Custom Whole Database Backup”来完成。
graph LR
A[SQL Developer DBA Navigator] --> B[备份作业]
A --> C[备份集]
A --> D[映像副本]
A --> E[RMAN设置]
A --> F[预定的RMAN操作]
B --> G[查看和创建备份作业]
C --> H[执行编目等操作]
D --> H
E --> I[编辑设置]
F --> J[查看日志文件]
通过以上各种工具和方法,可以全面地对数据库进行备份、恢复和管理操作,确保数据的安全性和可用性。
8. 操作对比与总结
8.1 备份方式对比
| 备份方式 | 特点 | 适用场景 |
|---|---|---|
| Oracle建议的备份 | 提供基于备份目的地的现成策略,设置恢复窗口,安排定期和即时备份,自动化备份管理 | 适用于对备份策略不太熟悉,希望采用通用且高效备份方案的用户 |
| 自定义备份 | 可指定备份对象、选择备份目的地、覆盖默认设置、灵活安排备份时间 | 适用于有特定备份需求,如只备份部分对象、对备份方式有特殊要求的用户 |
8.2 恢复点类型对比
| 恢复点类型 | 特点 | 使用条件 |
|---|---|---|
| 正常恢复点 | 可创建到特定SCN、当前时间或过去时间点,但超出可恢复点后控制文件会过期 | 对恢复点保留时间要求不高,普通数据恢复场景 |
| 保证恢复点 |
确保可闪回到恢复点时间,但要求数据库有FRA、以
ARCHIVELOG
模式运行且兼容模式为10.2或更高
| 对数据恢复时间点要求严格,需要确保能准确恢复到指定时间的场景 |
8.3 不同工具操作总结
| 工具 | 功能 | 优势 |
|---|---|---|
| OEM12c | 集中管理RMAN和数据泵操作,可监控作业并在失败时报警 | 节省精力和时间,方便管理多个目标服务器的备份和恢复操作 |
| SQL Developer 3.2 | 提供RMAN和数据泵的GUI操作界面,有丰富的RMAN选项 | 操作灵活,适合熟悉图形界面操作的DBA |
9. 常见问题及解决方法
9.1 RMAN备份问题
- 问题描述 :RMAN备份作业失败,提示无法连接到目标数据库。
- 解决方法 :检查OEM12c代理是否正常运行,确保目标数据库的主机和数据库凭据正确。同时,检查网络连接是否正常,确保OEM12c可以访问目标数据库。
- 问题描述 :备份集显示过期或损坏。
- 解决方法 :在SQL Developer 3.2的备份集选项中,使用右键点击执行“Crosscheck All”操作,检查备份集的状态。若有过期或损坏的备份集,可执行“Delete all Expired”操作删除。
9.2 数据泵导出问题
- 问题描述 :执行数据泵导出作业时,提示无法分配内存给流池。
-
解决方法
:确保
STREAMS_POOL_SIZE初始化参数不为0。可以通过SQL语句修改该参数的值,例如:ALTER SYSTEM SET STREAMS_POOL_SIZE = 100M SCOPE = BOTH; - 问题描述 :导出作业速度过慢。
- 解决方法 :检查导出作业的线程数,若使用的是Oracle数据库企业版且有授权,可以适当增加最大线程数,提高并行度。同时,检查磁盘I/O性能,确保磁盘有足够的读写速度。
9.3 恢复点问题
- 问题描述 :无法创建保证恢复点。
-
解决方法
:检查数据库是否具有闪回恢复区(FRA),是否以
ARCHIVELOG模式运行,以及数据库的兼容模式是否为10.2或更高。若不满足条件,需要先进行相应的设置和调整。
graph LR
A[RMAN备份问题] --> B[检查代理和凭据]
A --> C[检查网络连接]
D[备份集问题] --> E[Crosscheck All]
E --> F[Delete all Expired]
G[数据泵导出问题] --> H[检查STREAMS_POOL_SIZE]
G --> I[调整线程数和磁盘性能]
J[恢复点问题] --> K[检查FRA和模式]
10. 最佳实践建议
10.1 备份策略
- 定期进行全量备份,结合增量备份,减少备份时间和存储空间的占用。例如,每周进行一次全量备份,每天进行一次增量备份。
- 对于重要数据,采用多种备份方式,如同时使用磁盘和磁带备份,提高数据的安全性和可用性。
- 根据业务需求和数据变化频率,合理设置备份的时间间隔和保留周期。
10.2 恢复点管理
- 定期创建恢复点,特别是在进行重要操作(如数据更新、系统升级)之前,以便在出现问题时可以快速恢复到操作前的状态。
- 对于长期保留的恢复点,使用保证恢复点,确保数据可以准确恢复到指定时间。
10.3 工具使用
- 熟悉OEM12c和SQL Developer 3.2的功能和操作,根据不同的任务选择合适的工具。例如,对于大规模的备份和恢复操作,使用OEM12c进行集中管理;对于一些小规模的测试和调试操作,使用SQL Developer 3.2的图形界面进行快速操作。
- 定期监控作业的执行情况,及时处理出现的问题,确保备份和恢复操作的正常进行。
11. 未来趋势展望
随着数据库技术的不断发展,备份和恢复技术也在不断演进。未来可能会出现以下趋势:
-
智能化备份
:利用人工智能和机器学习技术,根据数据的使用频率、变化趋势等因素,自动优化备份策略,实现更高效、更智能的备份。
-
云备份
:越来越多的企业将数据库备份到云端,利用云服务的高可靠性和可扩展性,降低备份成本,提高数据的安全性和可用性。
-
实时恢复
:实现更快速的恢复时间目标(RTO)和恢复点目标(RPO),在数据出现问题时可以实时恢复,减少业务中断的时间。
通过不断学习和掌握新的技术和方法,数据库管理员可以更好地应对未来的挑战,确保数据库系统的稳定运行和数据的安全可靠。
综上所述,数据库的备份、恢复和管理是一项复杂而重要的工作。通过合理选择工具和方法,遵循最佳实践建议,及时处理常见问题,并关注未来趋势,我们可以有效地保障数据库数据的安全性和可用性,为企业的业务发展提供有力支持。
超级会员免费看
1579

被折叠的 条评论
为什么被折叠?



