Oracle数据库的热备份与恢复
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle数据库的热备份与恢复
一、联机热备份具体步骤:
1)首先以SYSDBA身份连接数据库,然后执行ARCHIVE LOG LIST命令查看当前数据库是否处于归档模式。
conn system/db888@orcl as SYSDBA
ARCHIVE LOG LIST;
2)如果没有处于归档模式,则设置归档日志的路径,并将数据库切换为归档模式。
(1)设置归档日志路径,如归档当前联机日志文件至c:\backup\archive_log文件夹和
C:\oradata\archive_log文件夹下:
alter system set log_archive_dest_1=location=C:\backup\archive_log;
alter system set log_archive_dest_2=location=C:\oradata\archive_log;
查询数据库所有归档路径信息:
SET LINESIZE 300 select destination,binding from v$archive_dest;
(2)将数据库切换为归档模式:
①关闭数据库:SHUTDOWN IMMEDIATE
②启动数据库到MOUNT状态:STARTUP MOUNT
③将数据库设置为归档模式:ALTER DATABASE ARCHIVELOG;
④打开数据库:ALTER DATABASE OPEN;
3)进行数据库的热备份
(1)热备份:以表空间为单位备份数据文件
①查看当前数据库有哪些表空间,以及每个表空间中有哪些数据文件。
SET LINESIZE 200
SELECT tablespace_name,file_name FROM dba_data_files
ORDER BY tablespace_name;
②将需要备份的表空间(如EXAMPLE)设为备份状态:
ALTER TABLESPACE EXAMPLE BEGIN BACKUP;
HOST COPY C:\oracle\product\10.2.0\oradata\orcl\EXAMPLE01.dbf
C:\backup\EXAMPLE01.dbf
ALTER TABLESPACE EXAMPLE END BACKUP;
(2)热备份:备份控制文件
将控制文件备份到c:\backup下:
ALTER DATABASE BACKUP CONTROLFILE TO c:\backup\control.bkp;
(3)热备份:备份其他物理文件
①归档当前的联机重做日志文件
ALTER SYSTEM ARCHIVE LOG CURRENT; 或:ALTER SYSTEM SWITCH LOGFILE;
②备份归档重做日志文件
在操作系统中将所有的归档重做日志文件复制到备份文件夹中。
③备份初始化参数文件
在操作系统中将初始化参数文件(在c:\oracle\product\10.2.0\admin\orcl\pfile下)复制到备份文件夹中。
二、表空间级别的完全恢复步骤:
1)模拟数据文件丢失的情况:
首先关闭数据库:SHUTDOWN IMMEDIATE;
然后将EXAMPLE表空间的数据文件example01.dbf删除,以模拟example01.dbf损坏进行表空级的完全恢复。
最后启动数据库:STARTUP,可以看到数据库装载完毕后的出错信息。
2)数据库处于打开状态下的恢复
(1)如果数据库已经关闭,则将数据库启动到MOUNT状态:STARTUP MOUNT
(2)将损坏的数据文件设置为脱机状态(须在归档模式下)
ALTER DATABASE DATAFILE C:\oracle\product\10.2.0\oradata\orcl\example01.dbf OFFLINE;
(3)将数据库修改为打开状态:ALTER DATABASE OPEN;
(4)将损坏的数据文件所在的表空间脱机
ALTER TABLESPACE EXAMPLE OFFL
INE FOR RECOVER;
(5)将备份的表空间对应的所有数据文件复制到
原来的目录,覆盖受损的数据文件。
这里为复制example01.dbf到原来的目录。
(6)执行表空间恢复命令:RECOVER TABLESPACE EXAMPLE;
(7)将表空间联机:ALTER TABLESPACE EXAMPLE ONLINE;
三、数据文件级别的完全恢复步骤:
1)模拟数据文件丢失的情况:
首先关闭数据库:SHUTDOWN IMMEDIATE;
然后将EXAMPLE表空间的数据文件C:\oracle\product\10.2.0\oradata\orcl\example01.dbf 删除,以数据文件example01.dbf损坏为例模拟数据文件级的完全恢复。
最后启动数据库:STARTUP,可以看到数据库装载完毕后的出错信息。
2)数据库处于打开状态下的恢复(1)如果数据库已经关闭,则将数据库启动到MOUNT状态:STARTUP MOUNT
(2)将损坏的数据文件设置为脱机状态
ALTER DATABASE DATAFILE C:\oracle\product\10.2.0\oradata\orcl\example01.dbf OFFLINE;
(3)将数据库修改为打开状态:ALTER DATABASE OPEN;
(4)利用备份的数据文件example01.dbf还原损坏的数据文件example01.dbf。
(5)使用RECOVER命令恢复数据文件:RECOVER DATAFILE
C:\oracle\product\10.2.0\oradata\orcl\example01.dbf;
(6)将数据文件设为联机状态:ALTER DATABASE DATAFILE
C:\oracle\product\10.2.0\oradata\orcl\example01.dbf ONLINE;。