DBA_Oracle冷备份案例脚本本法(案例)(数据库最基本备份方式)

2014-08-10 BaoXinjian

一、摘要



1. 冷备份

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

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

2. 步骤

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

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

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

3. 总结 - 优点

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

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

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

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

4. 总结 - 缺点

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

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

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

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

二、冷备份



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

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

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

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

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

2. 查看数据文件及状态信息

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

3. 查看数据文件

SQL> select name from v$datafile;

4. 查看临时文件

SQL> select name from v$tempfile;

5. 查看日志文件

SQL> select member from v$logfile;

6. 查看控制文件

SQL> select name from v$controlfile;

7. 创建备份目录

SQL> ho mkdir /opt/oracle/coolbak

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

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
/

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

[gavinsit.com]> vi /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 = ‘/opt/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/spfilegavinsit.ora‘ from spfile;
    ho cp /opt/oracle/product/11.2.0/gavinsit/dbs/orapwgavinsit &dir

spool off

shutdown immediate
start &script
ho rm &script
startup

8. 执行过程及数据库启动略

SQL> @/tmp/tmpbak.sql;

SQL> @/tmp/tmpbak.sql
ho cp /opt/oracle/oradata/gavinsit/control01.ctl /opt/oracle/coolbak
ho cp /opt/oracle/flash_recovery_area/gavinsit/control02.ctl /opt/oracle/coolbak
ho cp /opt/oracle/oradata/gavinsit/system01.dbf /opt/oracle/coolbak
ho cp /opt/oracle/oradata/gavinsit/sysaux01.dbf /opt/oracle/coolbak
ho cp /opt/oracle/oradata/gavinsit/undotbs01.dbf /opt/oracle/coolbak
ho cp /opt/oracle/oradata/gavinsit/users01.dbf /opt/oracle/coolbak
ho cp /opt/oracle/oradata/gavinsit/example01.dbf /opt/oracle/coolbak
ho cp /opt/oracle/oradata/gavinsit/bxj_emp_data01.dbf /opt/oracle/coolbak
ho cp /opt/oracle/oradata/gavinsit/bxj_emp_data02.dbf /opt/oracle/coolbak
ho cp /opt/oracle/oradata/gavinsit/redo03.log /opt/oracle/coolbak
ho cp /opt/oracle/oradata/gavinsit/redo02.log /opt/oracle/coolbak
ho cp /opt/oracle/oradata/gavinsit/redo01.log /opt/oracle/coolbak
ho cp /opt/oracle/oradata/gavinsit/temp01.dbf /opt/oracle/coolbak

Database closed.
Database dismounted.
ORACLE instance shut down.

9. 启动后查看备份的文件

ls /opt/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-10-16 05:36:35

DBA_Oracle冷备份案例脚本本法(案例)(数据库最基本备份方式)的相关文章

DBA_Oracle冷备份案例脚本本法(案例)

2014-08-10 BaoXinjian 一.摘要 二.冷备份 --====================== -- Oracle 冷备份 --====================== 一.冷备份 数据库在关闭状态下完成所有物理系统文件拷贝的过程,也称脱机备份 适合于非归档模式下,数据库处于一致性状态 二.步骤 首先在运行的库中得到数据库运行的所有的物理文件位置,然后在计划内关闭数据库(shutdown) 再执行拷贝物理文家到备份路径或备份设备 备份完成后立即启动数据库让其提供正常的服务

一个简单的全备数据库的脚本以及系统数据库是否需要备份

一个简单的全备数据库的脚本,@path部分需要替换路径 1 DECLARE @name VARCHAR(50) -- database name 2 DECLARE @path VARCHAR(256) -- path for backup files 3 DECLARE @fileName VARCHAR(256) -- filename for backup 4 DECLARE @fileDate VARCHAR(20) -- used for file name 5 6 -- specif

MySQL数据库的自动备份与数据库被破坏后的恢复1

一.前言: 当数据库服务器建立好以后,我们首先要做的不是考虑要在这个支持数据库的服务器运行哪些受MySQL提携的程序,而是当数据库遭到破坏后,怎样安然恢复到最后一次正常的状态,使得数据的损失达到最小. 或者说,仅仅是数据库服务器的建立,只能说明它能做些什么,并不代表它能稳定的做些什么.灾难恢复的效率及全面性,也是系统的稳定性的一个准因素,尤其对于一个服务器系统. 这一节,介绍数据库自动备份以及数据库被破坏后的恢复的方法.在这里,我们使用mysqlhotcopy,并且定义一段Shell脚本来实现数

DBA_Oracle冷备份(案例)

2014-08-10 BaoXinjian 一.摘要 二.冷备份 三.热备份 ********************作者:鲍新建******************** DBA_Oracle冷备份(案例)

bash 脚本参数案例总结

bash 脚本参数案例总结 案例1.通过命令行参数给定两个数字,输出其中较大的数值: 方法1:如下 #!/bin/bash #Name: #Version: #Type: #Date: #Author #Email: if [ $# -lt 2 ];then echo "Two intergers." fi if [ $1 -ge $2 ];then echo "Max is $1" else echo "Max is $2" fi 方法2:如下

DBA_Oracle冷备份和热备份的处理(概念)

2014-07-27 BaoXinjian 一.摘要 1. 冷备份 冷备份数据库是将数据库关闭之后备份所有的关键性文件包括数据文件.控制文件.联机REDO LOG文件,将其拷贝到另外的位置. 此外冷备份也可以包含对参数文件和口令文件的备份,但是这两种备份是可以根据需要进行选择的. 冷备份实际也是一种物理备份,是一个备份数据库物理文件的过程. 因为冷备份要备份除了重做日志以外的所有数据库文件,因此也被成为完全的数据库备份. 2. 热备份 热备份是在数据库运行的情况下,采用archive log m

MySQL备份脚本(包含zabbix数据库)

需求:按天备份,保留一周,zabbix数据库不备份历史数据 MySQL版本:5.7.17 脚本: 需要提前建立路径 mkdir -pv /opt/mysql_backup/auto_backup cat /opt/mysql_backup/mysqlback.sh #!/bin/bash # 0 3 * * * bash /opt/mysql_backup/mysqlback.sh &>/dev/null DBUSER=root DBPASS=********** DATE=`date +%

《死亡晚餐派对·真实医学探案故事集》:一些相对罕见的病原体、化学物品、药品致病的案例和这些案例得到明确诊断、找到具体原因的过程。三星推荐

作者概括本书的主题是“当人类遇到病原体”.实际讲的是一些相对罕见的病原体.化学物品.药品致病的案例和这些案例得到明确诊断.找到具体原因的过程. 不如预期的有趣.大部分的案例,都有疾病控制.公共卫生领域的研究人员出场去查找原因.过程经常比较曲折,但是不要期望会想侦探悬疑类小说那么曲折. 作者在描述医学神探们工作的过程中,会对相关疾病做许多涉及到的医学知识做科普,可以作为一本科普书来看. 书中讲了传染病史上著名的给导致多人致病的“伤寒玛丽”被发现的过程中的许多细节. 本书英文原版出版于2009年,不

perl脚本中对数据库的操作

perl中DBI模块为mysql数据库相关操作的接口,首先需要在环境中安装DBI模块.perl处理数据库操作的大致步骤如下:#声明使用DBI模块use DBI;#设置数据库连接参数,指定连接数据库名,数据库所在服务器ip地址,连接用户名,密码# db_name为要连接的数据库名,ip为数据库所在服务器ip地址my $database='DBI:mysql:database=db_name;host=ip';my $user='user_name';my $pw='password';#连接数据库