Chinaunix首页 | 论坛 | 博客
  • 博客访问: 885661
  • 博文数量: 101
  • 博客积分: 2256
  • 博客等级: 大尉
  • 技术积分: 1481
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-19 17:52
文章存档

2017年(1)

2013年(2)

2012年(25)

2011年(73)

分类: Oracle

2011-04-19 18:40:20

一.联机备份的定义

首先数据库必须要运行在归档模式,其实在做联机备份时只是需要数据文件的备份。
其它的控制文件,重做日志文件,还有归档日志文件都是靠冗余来保护的而不需要
备份来保护。

二.联机备份的优点

*在备份期间公司的数据库上的业务可以正常运行;
*既可以备份表空间也可以备份数据文件,备份的数据量比较少;
*在备份期间用户仍然可以正常使用数据库;

三.联机备份的步骤

*使用数据字典dba_data_files找到需要备份的数据文件已经与之对应的表空间;
*使用数据字典v$backup确认数据文件的备份状态;
*用alter tablespace “表空间名” begin backup;命令将要备份的表空间设置为备份状态;
*使用操作系统复制命令将该表空间所对应的所有数据文件复制到备份磁盘介质上。
*用alter tablespace “表空间名”end backup;命令将备份成功的表空间重新设置结束备份状态;
*将当前的重做日志文件的信息写入到归档日志文件中去;
*再次用数据字典v$backup确认数据文件的备份状态;
*确认查看备份的操作系统文件是否产生;

四.联机备份示例

以下操作在本人笔记本上操作:

SQL> col file_name for a55
SQL> col tablespace_name for a20
SQL> set line 150
SQL> --用数据字典查看需要备份的数据文件和对应的表空间;
SQL> select file_id,file_name,tablespace_name
2 from dba_data_files;

FILE_ID FILE_NAME TABLESPACE_NA
ME
---------- ------------------------------------------------------- -------------
-------
4 E:/ORACLE/USERS01.DBF USERS
3 E:/ORACLE/PRODUCT/10.2.0/ORADATA/JACKY/SYSAUX01.DBF SYSAUX
2 E:/ORACLE/PRODUCT/10.2.0/ORADATA/JACKY/UNDOTBS01.DBF UNDOTBS1
1 E:/ORACLE/PRODUCT/10.2.0/ORADATA/JACKY/SYSTEM01.DBF SYSTEM
5 C:/JINLIAN01.DBF JINLIAN
6 C:/JINLIAN_UNDO01.DBF JINLIAN_UNDO
7 C:/JINLIAN_INDEX01.DBF JINLIAN_INDEX

8 C:/JINLIAN_UNDO001.DBF JINLIAN1_UNDO
已选择8行。

SQL> --查看数据文件的备份状态;
SQL> select * from v$backup;

FILE# STATUS CHANGE# TIME
---------- ------------------ ---------- --------------
1 NOT ACTIVE 0
2 NOT ACTIVE 0
3 NOT ACTIVE 0
4 NOT ACTIVE 0
5 NOT ACTIVE 0
6 NOT ACTIVE 0
7 NOT ACTIVE 0
8 NOT ACTIVE 0

已选择8行。

SQL> --决定将系统表空间system备份;
SQL> alter tablespace "SYSTEM" begin backup;

表空间已更改。

SQL> host copy E:/ORACLE/PRODUCT/10.2.0/ORADATA/JACKY/SYSTEM01.DBF F:/lianjibf/
Microsoft Windows XP
欢迎来到Jacky的工作室!!!
今天是2011-03-30 星期三
现在已经是23:27:18.37
已复制 1 个文件。

SQL> alter tablespace "SYSTEM" end backup;

表空间已更改。

SQL> --将重做日志写入归档;
SQL> alter system archive log current;

系统已更改。

SQL> --查看备份状态;
SQL> select * from v$backup;

FILE# STATUS CHANGE# TIME
---------- ------------------ ---------- --------------
1 NOT ACTIVE 1022091 30-3月 -11
2 NOT ACTIVE 0
3 NOT ACTIVE 0
4 NOT ACTIVE 0
5 NOT ACTIVE 0
6 NOT ACTIVE 0
7 NOT ACTIVE 0
8 NOT ACTIVE 0

已选择8行。

SQL> --完成;


阅读(1416) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~