专业只做数据库实训和认证的品牌机构

微信公众号新浪微博
免费咨询电话:400-0909-964
当前位置: 网站首页 > DBA实战 > DBA课程 > DBA基础课程:Oracle备份恢复-手动备份

DBA基础课程:Oracle备份恢复-手动备份

文章来源: 更新时间:2016/6/24 13:22:12

在线老师点击咨询:

最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!

我要咨询

DBA基础课程:Oracle备份恢复-手动备份 

平台:redhat linux as5,Oracle10g

Oracle提供了许多方法来备份数据库。包括用户管理,恢复管理器(RMAN),Oracle数据泵等。用户管理允许用户通过操作系统命令手动备份数据库。本文主要介绍如何手动备份整个数据库,以及如何手动单独备份表空间,控制文件,spfile文件等.

备份数据库

1.备份内容

备份数据库是指备份数据库的所有数据文件,控制文件,参数文件和口今文件。下面先找到这些内容

数据文件

SQL> select name from v$datafile;

NAME

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

/u01/oradata/denver/system01.dbf

/u01/oradata/denver/undotbs01.dbf

/u01/oradata/denver/cwmlite01.dbf

/u01/oradata/denver/drsys01.dbf

/u01/oradata/denver/example01.dbf

/u01/oradata/denver/indx01.dbf

/u01/oradata/denver/odm01.dbf

/u01/oradata/denver/tools01.dbf

/u01/oradata/denver/users01.dbf

/u01/oradata/denver/xdb01.dbf

控制文件

SQL> select name from v$controlfile;

NAME

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

/u01/oradata/denver/control01.ctl

/u01/oradata/denver/control02.ctl

/u01/oradata/denver/control03.ctl

可见数据文件和控制文件都在/u01/oradata/denver/下,但这个目录下还有redo*.log,在归档模式下一般重做日志不需要备份

SQL> ! ls /u01/oradata/denver

archive control03.ctl example01.dbf redo01.log system01.dbf undotbs01.dbf

control01.ctl cwmlite01.dbf indx01.dbf redo02.log temp01.dbf users01.dbf

control02.ctl drsys01.dbf odm01.dbf redo03.log tools01.dbf xdb01.dbf

参数文件和口今文件

SQL> show parameter spfile;

NAME TYPE VALUE

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

spfile string ?/dbs/spfile@.ora

SQL> ! ls $ORACLE_HOME/dbs

initdenver.ora init.ora lkDENVER spfiledenver.ora

initdw.ora lkAAA orapwdenver spfiledenver.ora.bak

现在我们找到了要备份的所有内容,即

/u01/oradata/denver/*dbf(数据文件)

/u01/oradata/denver/*.ctl(控制文件)

$ORACLE_HOME/dbs/spfiledenver.ora(参数文件)

$ORACLE_HOME/dbs/orapwdenver(密码文件)

2.备份方法

备份数据库分为冷备和热备,冷备也叫数据一致性备份,是指关闭了数据库之后,把需要备份的内容CP出来,比较简单,只要能找到这些文件就能备份出来,热备也叫数据库非一致性备份,是指在数据库open状态下备份数据文件和控制文件的方法,冷备要关闭数据库会中断业务,也比较简单,在此不做讨论,下面使用热备来备份数据库,注意热备份一定要在归档模式下备份

SQL> archive log list

Database log mode Archive Mode

Automatic archival Enabled

Archive destination /u01/oradata/denver/archive

由于在第一步已找到了要备份的文件,现在开始备份

开始备份

SQL> alter database begin backup;

Database altered.

SQL>! cp /u01/oradata/denver/*.dbf /u01/backup/

SQL>alter database backup controlfile to '/u01/backup/backup.ctl'

SQL>! cp $ORACLE_HOME/dbs/spfiledenver.ora /u01/backup/

SQL>! cp $ORACLE_HOME/dbs/orapwdenver /u01/backup/

SQL>! alter database end backup;

SQL>alter system archive log current;

这样整个数据库就备份完了,备份完后应做测试是不是有效备份,只要是有效备份,那么就可以高枕无忧了。下面介绍如何单独备份表空间,控制文件,spfile等

2.备份表空间

表空间在Oracle中只是个逻辑概念,备份表空间其实是备份表空间下的数据文件,我们要找到表空间下对应的数据文件,把数据文件备出来

注意表空间备份只适用于archivelog模式,备份表空间分为在表空间online备份和表空间offline备份,

表空间脱机备份

SQL> select file_name from DBA_data_files where tablespace_name='TEST1';

FILE_NAME

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

/u01/test1.dbf

SQL> alter tablespace test1 offline;

Tablespace altered.

SQL> ! cp /u01/test1.dbf /u01/backup

SQL> alter tablespace test1 online;

Tablespace altered.

这样表空间test1就备份完了,因为表空间offline后就不能访问数据文件了,而且system表空间和正在使用的undo表空间不能脱机,所以这种方法很少用。

表空间联机备份

SQL> alter tablespace test1 begin backup;

Tablespace altered.

SQL> ! cp /u01/test1.dbf /u01/backup/

SQL> alter tablespace test1 end backup;

Tablespace altered.

备份完备。别外如果要备份只读表空间直接把数据文件拷贝出来就可以了,不用区分脱机和联机

3.备份控制文件

控制文件用于记录和维护数据库,当恢复数据库时,服务器进程和后台进程需要从控制文件中读取各种与备份相关的信息,如果控制文件损坏,则会导致备份信的丢失,当数据库配置发生改变时,一定要再单独备份控制文件

备份方法:

1.使用多元控制文件

2.备份到跟踪文件

3.建立控制文件副本

其中前两各方法,在以前的文章”控制文件及归档日志管理”已阐述

第3种方法其实我们在上面备份数据库时用过

SQL> alter database begin backup;

Database altered.

SQL>alter database backup controlfile to '/u01/backup/backup.ctl'

#如果第二次使用这个命令,在最后加参数reuse(覆盖前一个)

SQL>alter database backup controlfile to '/u01/backup/backup.ctl' reuse;

SQL>! alter database end backup;

4.备份参数文件,口今文件

#参数文件

SQL>create pfile from spfile

SQL>! cp $ORACLE_HOME/dbs/spfiledenver.ora /u01/backup/

#口今文件

SQL>! cp $ORACLE_HOME/dbs/orapwdenver /u01/backup/

5.备份归档日志

在归档模式下,对数据库的所有操作都存到了归档日志里,因些物理恢复要用到归档日志,为了确保恢复可以顺利进行,还应该备份归档日志.备份归档日志很简单,找到文件CP出来就可以了.

#备份过去一天的归档日志

SQL> select name from v$archived_log where dest_id=1 and first_time>=sysdate-1;

NAME

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

/u01/oradata/denver/archive/1_12.dbf

/u01/oradata/denver/archive/1_13.dbf

/u01/oradata/denver/archive/1_14.dbf

SQL>! cp /u01/oradata/denver/archive/1_12.dbf /u01/backup/

SQL>! cp /u01/oradata/denver/archive/1_13.dbf /u01/backup/

SQL>! cp /u01/oradata/denver/archive/1_14.dbf /u01/backup/

本文地址:http://www.cuug.com.cn/dba/kecheng/12299533318.html 转载请注明!


在线预约 抢先报名 获取课程排期

Oracle培训机构

金牌讲师<>

冉乃纲-老师CUUG金牌讲师
冉老师 CUUG金牌讲师 Oracle及RedHat高级讲师、Unix/Linux 资深专家...[详细了解老师]

免费咨询上课流程 客服在线中

陈卫星-老师CUUG金牌讲师
陈老师 CUUG金牌讲师 精通Oracle管理、备份恢复、性能优化 11年Ora...[详细了解老师]

免费咨询上课流程 客服在线中

选学校如何选择适合自己的学校

CUUG -CHINA UNIX USER GROUP,是国际UNIX组织UNIFORUM的中国代表,是国内悠久的专业UNIX培训机构,被誉为中国UNIX 的摇篮。多年来,以提高教学质量为本,强调素质教育,积极引进、消化国外的新技术,有效的结合中国....[详情]

一站式服务(从入学到就业一帮到底)

入学

学习

就业

实操

食宿
地址:北京市海淀区田村山南路35号院17号楼
课程咨询:010-59426307 010-59426319 400-0909-964
企业服务:137 1818 8639(陈经理)
部分信息来源于网络,如有错误请联系指正!
版权所有@北京神脑资讯技术有限公司 (CUUG,中国UNIX用户协会) Copyright 2016 ALL Rights Reserved 京ICP备11008061号-1