博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle数据库的热备份与完整恢复测试
阅读量:6705 次
发布时间:2019-06-25

本文共 3391 字,大约阅读时间需要 11 分钟。

数据库热备份与完整恢复测试: 

1.首先,必需保证数据库在归档模式下。 

2.热备份数据文件,通过alter tablespace xxx begin backup把表空间设为备份状态,可以手工或在sql下运行host copy把数据文件复制到指定地方,最后把表空间改为正常状态(alter tablepace xxx end backup)。 

3.数据库恢复:使用语句rcover datafile,alter database open即可以实现数据库的完整恢复。 

具体的步骤如下: 

SQL> conn / as sysdba 

已连接。 

//确定数据库在归档模式下。 

SQL> select log_mode from v$database; 

LOG_MODE 

------------ 

ARCHIVELOG 

//查询表空间对应的数据文件,一般表空间名跟对应数据文件名是相同的,可以跳过这一步。 

SQL> select v$tablespace.name,v$datafile.name from v$tablespace, v$datafile 

2 where v$tablespace.ts#=v$datafile.ts#; 

NAME 

------------------------------ 

NAME 

-------------------------------------------------------------------------------- 

SYSTEM 

F:\ORACLE\ORADATA\EBOOK\SYSTEM01.DBF 

UNDOTBS1 

F:\ORACLE\ORADATA\EBOOK\UNDOTBS01.DBF 

CWMLITE 

F:\ORACLE\ORADATA\EBOOK\CWMLITE01.DBF 

DRSYS 

F:\ORACLE\ORADATA\EBOOK\DRSYS01.DBF 

EXAMPLE 

F:\ORACLE\ORADATA\EBOOK\EXAMPLE01.DBF 

INDX 

F:\ORACLE\ORADATA\EBOOK\INDX01.DBF 

ODM 

F:\ORACLE\ORADATA\EBOOK\ODM01.DBF 

TOOLS 

F:\ORACLE\ORADATA\EBOOK\TOOLS01.DBF 

USERS 

F:\ORACLE\ORADATA\EBOOK\USERS01.DBF 

XDB 

F:\ORACLE\ORADATA\EBOOK\XDB01.DBF 

 

已选择10行。 

 

//将表空间设为备份状态. 

SQL> alter tablespace system begin backup; 

表空间已更改。 

//将数据文件备份到目录f:\oracle\backuparea下. 

SQL> host copy f:\oracle\oradata\ebook\system01.dbf f:\oracle\backuparea\ 

已复制 1 个文件。 

SQL> alter tablespace system end backup; 

表空间已更改。 

//建表test的目的为测试此恢复是否是完整恢复。 

SQL> create table scott.test(t int); 

表已创建。 

SQL> insert into scott.test values(1); 

已创建 1 行。 

SQL> insert into scott.test values(2); 

已创建 1 行。 

SQL> commit; 

提交完成。 

 

SQL> shutdown immediate 

数据库已经关闭。 
  已经卸载数据库。 
ORACLE 例程已经关闭。 
 
//删除system01.dbf或移动到其他目录造成数据库崩溃。 
SQL> startup 
ORACLE 例程已经启动。 
Total System Global Area 135338868 bytes 
Fixed Size 453492 bytes 
Variable Size 109051904 bytes 
Database Buffers 25165824 bytes 
Redo Buffers 667648 bytes 
数据库装载完毕。 
ORA-01157: 无法标识/锁定数据文件 1 - 请大家参阅 DBWR 跟踪文件 
ORA-01110: 数据文件 1: ’F:\ORACLE\ORADATA\EBOOK\SYSTEM01.DBF’ 
//将备份的数据文件复制回目录f:\oracle\oradata\ebook\下. 
SQL> $ copy f:\oracle\backuparea\system01.dbf f:\oracle\oradata\ebook\ 
已复制 1 个文件。 
//恢复数据文件system01.dbf。 
SQL> recover datafile ’f:\oracle\oradata\ebook\system01.dbf’; 
完成介质恢复。 
SQL> alter database open; 
数据库已更改。 
//此说明数据库是完整恢复了。 
SQL> select * from scott.test; 
---------- 
总结: 
1.热备份必须在数据库归档模式下进行 
2.在备份的同时,数据库的用户可以进行操作。因此,数据库对应的物理文件的内容是不断变化的,对这些物理文件内容的更新是保留到有关操作已经写到重做日至文件中 
后再进行。(这句引自别人叙述,我对后半句正确与否存在疑问,希望大家讨论)。 
3.归档日志必须是备份后的所有日至才可以实现数据库的完全恢复。 
4.可以备份除临时文件以外的所有数据文件,如果在恢复过程中,发现损坏的是多个数据文件,即可以采用一个一个数据文件的恢复方法 
5。 特别当损坏的不是系统表空间,可以先将损坏的表空间文件脱机,这时可以在恢复损坏文件前打开 
数据库,再完成恢复。例如: 
SQL> alter tablespace tools begin backup; 
表空间已更改。 
SQL> $ copy f:\oracle\oradata\ebook\tools01.dbf f:\oracle\backuparea 
已复制 1 个文件。 
SQL> alter tablespace tools end backup; 
表空间已更改。 
SQL> shutdown immediate 
数据库已经关闭。 
已经卸载数据库。 
ORACLE 例程已经关闭。 
//删除tools01.dbf造成数据库无法正常启动. 
SQL> startup 
ORACLE 例程已经启动。 
Total System Global Area 135338868 bytes 
Fixed Size 453492 bytes 
Variable Size 109051904 bytes 
Database Buffers 25165824 bytes 
Redo Buffers 667648 bytes 
数据库装载完毕。 
ORA-01157: 无法标识/锁定数据文件 8 - 请参阅 DBWR 跟踪文件 
ORA-01110: 数据文件 8: ’F:\ORACLE\ORADATA\EBOOK\TOOLS01.DBF’ 
 
SQL> alter database datafile ’f:\oracle\oradata\ebook\tools01.dbf’ offline; 
数据库已更改。 
SQL> alter database open; 
数据库已更改。 
SQL> $ copy f:\oracle\backuparea\tools01.dbf f:\oracle\oradata\ebook\ 
已复制 1 个文件。 
SQL>recover datafile ’f:\oracle\oradata\ebook\tools01.dbf’; 
介质恢复完成。
本文转自tiasys博客园博客,原文链接:http://www.cnblogs.com/tiasys/archive/2008/04/15/1154472.html,如需转载请自行联系原作者
你可能感兴趣的文章
weex项目构建
查看>>
Android OpenCV Camera preview 横屏以及不全屏的问题
查看>>
Ubuntu 16.04安装Intel显卡驱动(解决Intel HD Graphics 630显卡驱动问题)
查看>>
「镁客·请讲」第六镜叶雨桐:进一步细化产品应用,做大规模场景的动态识别...
查看>>
windbg调试堆破坏
查看>>
How to Install CMS Made Simple v2.2 on LAMP in CentOS 7.2
查看>>
新IT铺路 智慧出行时代来了!
查看>>
虚拟机上keepalived实验笔记
查看>>
ElasticSearch(java) 创建索引
查看>>
手把手教你在多种无监督聚类算法实现Python(附代码)
查看>>
第4章 Keras入门
查看>>
手工修复ie浏览器
查看>>
BATJ互掐,哪家AI公司首先达到万亿美元市值? | 新智元AI技术峰会论坛
查看>>
hdu 1232 畅通工程 (并查集)
查看>>
MySql的用户权限
查看>>
java中finally和return的执行顺序
查看>>
Hibernate5-一对多双向关联-左外连接-HQL
查看>>
VR游戏的“寒冬”,到底该如何破冰?
查看>>
利用html5实现的飞雪效果代码实例
查看>>
原力觉醒!《星球大战》黑武士要出VR电影
查看>>