Oracle 冷备份

-======================

-- Oracle 冷备份

--======================

一、冷备份

数据库在关闭状态下完成所有物理系统文件拷贝的过程,也称脱机备份

适合于非归档模式下,数据库处于一致性状态

二、步骤

首先在运行的库中得到数据库运行的所有的物理文件位置,然后在计划内关闭数据库(shutdown)

再执行拷贝物理文家到备份路径或备份设备

备份完成后立即启动数据库让其提供正常的服务

三、冷备脚本的写法

首先应该在相关视图里查出数据库的数据文件,日志文件,控制文件,临时文件所在的位置

注意:不要直接把oradata下的cp就行了,因为生产库里各个文件通常分布在不同的磁盘,不同的地方,所以在去视图里获得真实路径

--查看实例和数据库的相关信息

SQL> select instance_name,version,status,archiver,database_status from v$instance;

INSTANCE_NAME    VERSION           STATUS       ARCHIVE DATABASE_STATUS

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

orcl             10.2.0.1.0        OPEN         STOPPED ACTIVE

SQL> select dbid,name,log_mode from v$database;

DBID NAME      LOG_MODE

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

1242732291 ORCL      NOARCHIVELOG

--查看数据文件及状态信息

SQL> select file_name,tablespace_name,status,online_status from dba_data_files;

FILE_NAME                                               TABLESPACE STATUS    ONLINE_

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

/u01/app/oracle/oradata/orcl/undotbs01.dbf              UNDOTBS1   AVAILABLE ONLINE

/u01/app/oracle/oradata/orcl/system01.dbf               SYSTEM     AVAILABLE SYSTEM

/u01/app/oracle/oradata/orcl/sysaux01.dbf               SYSAUX     AVAILABLE ONLINE

/u01/app/oracle/oradata/orcl/users01.dbf                USERS      AVAILABLE ONLINE

/u01/app/oracle/oradata/orcl/example01.dbf              EXAMPLE    AVAILABLE ONLINE

/u01/app/oracle/oradata/orcl/tbs1_1.dbf                 TBS1       AVAILABLE ONLINE

/u01/app/oracle/oradata/orcl/tbs1_2.dbf                 TBS1       AVAILABLE ONLINE

--查看数据文件

SQL> select name from v$datafile;

NAME

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

/u01/app/oracle/oradata/orcl/system01.dbf

/u01/app/oracle/oradata/orcl/undotbs01.dbf

/u01/app/oracle/oradata/orcl/sysaux01.dbf

/u01/app/oracle/oradata/orcl/users01.dbf

/u01/app/oracle/oradata/orcl/example01.dbf

/u01/app/oracle/oradata/orcl/tbs1_1.dbf

/u01/app/oracle/oradata/orcl/tbs1_2.dbf

--查看临时文件

SQL> select name from v$tempfile;

NAME

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

/u01/app/oracle/oradata/orcl/temp01.dbf

--查看日志文件

SQL> select member from v$logfile;

MEMBER

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

/u01/app/oracle/oradata/orcl/redo2a.rdo

/u01/app/oracle/oradata/orcl/redo2b.rdo

/u01/app/oracle/oradata/orcl/redo1a.rdo

/u01/app/oracle/oradata/orcl/redo3a.rdo

/u01/app/oracle/oradata/orcl/redo3b.rdo

/u01/app/oracle/oradata/orcl/redo1b.rdo

--查看控制文件

SQL> select name from v$controlfile;

NAME

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

/u01/app/oracle/oradata/orcl/control01.ctl

/u01/app/oracle/oradata/orcl/control02.ctl

--创建备份目录

SQL> ho mkdir /u01/app/oracle/coolbak

--使用连接符生成复制文件命令

SQL> select ‘ho cp ‘ || name || ‘ /u01/app/oracle/coolbak‘ from v$controlfile;

‘HOCP‘||NAME||‘/U01/APP/ORACLE/COOLBAK‘

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

ho cp /u01/app/oracle/oradata/orcl/control01.ctl /u01/app/oracle/coolbak

ho cp /u01/app/oracle/oradata/orcl/control02.ctl /u01/app/oracle/coolbak

SQL> save /tmp/tmpbak.sql;   --将上面的输入保存为tmpbak.sql

Created file /tmp/tmpbak.sql

SQL> ho vim /tmp/tmpbak.sql   --编辑tmpbak.sql,将下面的内容输入到tmpbak.sql

set feedback off

set heading off

set verify off

set trimspool off

set pagesize 0

set linesize 200

define dir = ‘/u01/app/oracle/coolbak‘

define script = ‘/tmp/coolbak.sql‘

spool &script

select ‘ho cp ‘ || name || ‘ &dir‘ from v$controlfile

union all

select ‘ho cp ‘ || name || ‘ &dir‘ from v$datafile

union all

select ‘ho cp ‘ || member || ‘ &dir‘  from v$logfile

union all

select ‘ho cp ‘ || name || ‘ &dir‘ from v$tempfile

/

create pfile = ‘&dir/initorcl.ora‘ from spfile;

ho cp /u01/app/oracle/10g/dbs/orapworcl &dir

spool off

shutdown immediate

start &script

ho rm &script

startup

--执行tmpbak.sql

SQL> @/tmp/tmpbak.sql;

--执行过程及数据库启动略

--启动后查看备份的文件

SQL> ho ls /u01/app/oracle/coolbak

control01.ctl  orapworcl   redo2b.rdo    system01.dbf   users01.dbf

control02.ctl  redo1a.rdo  redo3a.rdo    tbs1_1.dbf

example01.dbf  redo1b.rdo  redo3b.rdo    tbs1_2.dbf

initorcl.ora   redo2a.rdo  sysaux01.dbf  undotbs01.dbf

四、总结

优点

冷备模式下概念易于理解,即将需要备份的文件复制到安全的位置

操作比较简单,不需要太多的干预

容易恢复到某个时间点上(只需将文件再拷贝回去)

能与归档方法相结合,作数据库“最新状态”的恢复。

缺点

备份时,数据库必须处于一致性关闭状态

只能提供到某一时间点的恢复

备份时速度比较慢,尤其是数据量大性能影响比较大

不能实现基于表和用户级别的数据恢复

转:http://blog.csdn.net/leshami/article/details/5791597

时间: 2024-07-30 13:54:32

Oracle 冷备份的相关文章

将oracle冷备份恢复到另外一个数据库实例中

因更换服务器需要将Oracle数据库转移到另外台Oracle中.说明: 1.测试环境为:windows server2003 和 oracle 10g. 2.2台服务器安装的程序目录一样,数据目录不一样.特别借签了Afshen兄弟发的实践将oracle冷备份恢复到另外一个数据库实例中操作文章.但是对于新手来说没有详细说明,且我的操作有点点差异.另外我是新手,只知道工作完成,但是不知道是否此操作是否对于数据库使用存在何影响,还需要后期开发使用在知道,希望能给大家提供对比作为操作中的参考.(因时间仓

Oracle冷备份和热备份的处理

一.摘要Oracle 的备份与恢复有三种标准的模式,大致分为两大类,备份恢复(物理上的)以及导入导出(逻辑上的), 而备份恢复又可以根据数据库的工作模式分为非归档模式 (Nonarchivelog-style)和归档模式(Archivelog-style), 通常,我们把非归档模式称为冷备份,而相应的把归档模式称 为热备份. 逻辑备份 - 冷备份 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去. 物理备份 - 冷备份 冷备份数据库是将

Oracle冷备份和热备份的实践(原创)

参考本博转发的备份博文和上传的文件,进行了冷热备份实践并进行了记载以备以后查阅,本次实践的环境是win10,安装了oracle11g 一.冷备份 1.cmd->sqlplus /nolog 2.conn sys/123456 as sysdba 可能出现的问题:ORA-12560: TNS: 协议适配器错误的解决方法 原因是重新实例化数据库和默认的orcl不一致.解决方法:属性--高级--环境变量---系统变量--新建,变量名=oracle_sid,变量值=XXXX, XXXX就是你的datab

Oracle冷备份

冷备份前提: 操作系统相同,可以Win32到Win64,Win32到Win64要执行脚本. 操作步骤: a,查看两个实例的控制文件.数据文件.日志文件 b,关闭两个实例 c,覆盖对应文件 d,开启实例 常见问题: a,如果控制文件的数目不一致. 答:减少控制文件多的实例的控制文件. alter system set control_files='/u02/flash_recovery_area/bkt/control02.ctl' scope=spfile ; b,数据文件的数目不一致. 答:数

Oracle冷备份,恢复时报错解决

ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist 进程 ID: 0 会话 ID: 0 序列号: 0 因为这个小小的错误,折腾了我好几天,特记录如下. 上网搜索了下解决方案,如下: sqlplus "sys/password as sysdba" 连接成功,提示"已连接到空闲例程" SQL> startup ORACLE 例程已经启动. Total Syst

Oracle冷备份脚本

一.原理 冷备份 数据库在关闭状态下完成所有物理系统文件拷贝的过程,也称脱机备份 适合于非归档模式下,数据库处于一致性状态 步骤 首先在运行的库中得到数据库运行的所有的物理文件位置,然后在计划内关闭数据库(shutdown) 再执行拷贝物理文家到备份路径或备份设备 备份完成后立即启动数据库让其提供正常的服务 总结 - 优点 冷备模式下概念易于理解,即将需要备份的文件复制到安全的位置 操作比较简单,不需要太多的干预 容易恢复到某个时间点上(只需将文件再拷贝回去) 能与归档方法相结合,作数据库"最新

Oracle 闪回特性(FLASHBACK DATABASE)

--===================================== -- Oracle 闪回特性(FLASHBACK DATABASE) --===================================== 闪回技术通常用于快速简单恢复数据库中出现的认为误操作等逻辑错误,从闪回的方式可以分为基于数据库级别闪回.表级别闪回.事务 级别闪回,根据闪回对数据的影响程度又可以分为闪回恢复,闪回查询.闪回恢复将修改数据,闪回点之后的数据将全部丢失.而闪回查询则可 以查询数据被DML的

oracle数据库备份

Oracle数据库的备份方法 1.引言 Oracle数据库的备份方法很多,无论使用那种备份方法,备份的目的都是为了在出现故障后能够以尽可能小的时间和代价恢复系统.比如使用export实 用程序导出数据库对象.使用Oracle备份数据库.使用Oracle对称复制.使用Oracle并行服务器.使用Oracle冷备份.使用Oracle 热备份等各种备份方法都有其优缺点.适用的场合和相应的软硬件要求.本文主要就用export实用程序导出数据库对象.Oracle冷备份.Oracle 热备份这三种最基本的备

使用yum快速部署Oracle安装环境(11g)

基于Linux安装过Oracle的童鞋们都应该清楚,安装Oracle的确是一件比较费时费力的差事,因为仅仅是前期的rpm包,内核参数,创建用户等等这些个步骤都让那些新手不免眼花缭乱,一不留神,就导致最终的安装过程中报错而不得不从头来过.现在基于Oracle Linux,Oracle仅仅需要通过安装oracle-rdbms-server-11gR2-preinstall RPM包即可全部搞定其余未安装的RPM包,解决之间的依赖关系,配置内核参数等等.客官,正在基于Oracle Linux 安装Or