首先要明确的是,oracle数据库的备份可以分为逻辑备份和物理备份。
逻辑备份的是通过数据导出对数据进行备份,主要方式有老式的IMP/EXP和数据泵灯方式。适合变化较少的数据库,而对于高可用性数据库,由于这种方式备份的数据只能恢复到备份的时间点,所以并不适用。但由于逻辑备份具有平台无关性,所以更常见的是用来数据迁移及数据移动;
物理备份是通过复制数据文件、参数文件等数据库的物理文件来进行备份。物理备份可以分为冷备份和热备份。冷备份需要在关闭数据库后进行备份,目前在高可用的生产环境中,这种方式使用较少。而热备份可以在系统运行的情况下通过备份数据文件及归档日志就可以恢复,因此使用的范围更广泛。
热备份可以分为用户管理方式下的热备份(user-managed backup and recovery)和oracle管理(RMAN)的热备份(Recovery MANager-RMAN),要注意的是,数据库要进行热备份必须运行在归档模式下。
一、用户管理方式下的备份:
首先,备份数据文件:
1)查询数据文件有哪些:
SQL> select name from v$datafile;
2)将数据库置于备份模式下:
SQL> alter database begin backup;
3)备份数据文件:
SQL> host copy D:\ORACLE\ORCDATA\TIOD\SYSTEM01.DBF C:\oracle\backup;
SQL> host copy D:\ORACLE\ORCDATA\TIOD\SYSAUX01.DBF C:\oracle\backup;
SQL> host copy D:\ORACLE\ORCDATA\TIOD\UNDOTBS01.DBF C:\oracle\backup;
SQL> host copy D:\ORACLE\ORCDATA\TIOD\USERS01.DBF C:\oracle\backup;
SQL> host copy E:\ORACLE\ORCL\ODS\HH_TBS.DBF C:\oracle\backup;
4)结束数据文件备份并归档日志:
SQL> alter database end backup;
SQL> alter system archive log current;
第二,备份控制文件,此处使用备份到跟踪文件的方式:
1)将建立控制文件的命令信息记录到trace文件中:
SQL> alter database backup controlfile to trace;
2)确定跟踪文件位置和名称:
SQL> select a.spid from v$process a,v$session b where a.addr=b.PADDR and b.USERNAME='SYS'
SQL> show parameter user_dump_dest;
跟踪文件命名为<SID>_ora_<SPID>.trc。
3)打开vidi_ora_1260.trc,确定建立控制文件内容;
CREATE CONTROLFILE REUSE DATABASE "TIOD" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'D:\ORACLE\ORCDATA\TIOD\REDO01.LOG' SIZE 50M BLOCKSIZE 512,
GROUP 2 'D:\ORACLE\ORCDATA\TIOD\REDO02.LOG' SIZE 50M BLOCKSIZE 512,
GROUP 3 'D:\ORACLE\ORCDATA\TIOD\REDO03.LOG' SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'D:\ORACLE\ORCDATA\TIOD\SYSTEM01.DBF',
'D:\ORACLE\ORCDATA\TIOD\SYSAUX01.DBF',
'D:\ORACLE\ORCDATA\TIOD\UNDOTBS01.DBF',
'D:\ORACLE\ORCDATA\TIOD\USERS01.DBF',
'E:\ORACLE\ORCL\ODS\HH_TBS.DBF'
CHARACTER SET ZHS16GBK
;
第三、备份归档日志:
确定需要备份的归档日志:
SQL> select name from v$archived_log where dest_id=1 and first_time>=sysdate-1;
使用copy命令备份到备份文件夹即可。
第四、备份参数文件:
SQL> CREATE PFILE='C:\oracle\backup\initelse.ora' from spfile;
二、使用备份文件复制数据库到另外一台机器:
当需要在另外一台机器克隆一套与生产环境同样的数据进行测试、学习时,我们可以使用上面备份的文件复制数据库。需要注意两点:
1)源机器和目标机器应为相同的操作系统平台;
2)复制数据库可以包含所有的数据文件也可以仅仅复制部分数据文件,但system表空间和undo表空间的数据文件必须有。
一)建立存放目标库的相关文件目录。比如tiod数据库建立D:\oracle\orcdata\tiod目录,及目录下BDUMP、UDUMP、ARCHIVE等目录。
二)建立实例服务:
C:\Users\Administrator>oradim -new -sid tiod -intpwd oracle;
三)建立参数文件:
1)编辑initelse.ora,修改以下参数:
*.db_name='tiod'
*.log_archive_dest_1='location=D:\oracle\orcdata\tiod\ARCHIVE'
*.user_dump_dest='D:\oracle\orcdata\tiod\udump'
*.background_dump_dest='D:\oracle\orcdata\tiod\bdump'
此处对应我们第一步建立起的相关文件目录
2)建立目标库参数文件:
SQL> create spfile='C:\oracle\product\11.2.0\dbhome_1\database\spfiletiod.ora' from pfile='C:\oracle\backup\initelse.ora';
四)将原库备份好的数据文件和归档文件复制到目标库的相应文件目录。
五)启动实例,修改并建立控制文件,控制文件可根据我们上述备份中的方法获得,并修改后执行即可。
C:\Users\Administrator>set oracle_sid=tiod
C:\Users\Administrator>sqlplus sys/oracle as sysdba
SQL> startup nomount spfile='C:\oracle\product\11.2.0\dbhome_1\database\spfiletiod.ora';
SQL>CREATE CONTROLFILE REUSE DATABASE "TIOD" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'D:\ORACLE\ORCDATA\TIOD\REDO01.LOG' SIZE 50M BLOCKSIZE 512,
GROUP 2 'D:\ORACLE\ORCDATA\TIOD\REDO02.LOG' SIZE 50M BLOCKSIZE 512,
GROUP 3 'D:\ORACLE\ORCDATA\TIOD\REDO03.LOG' SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'D:\ORACLE\ORCDATA\TIOD\SYSTEM01.DBF',
'D:\ORACLE\ORCDATA\TIOD\SYSAUX01.DBF',
'D:\ORACLE\ORCDATA\TIOD\UNDOTBS01.DBF',
'D:\ORACLE\ORCDATA\TIOD\USERS01.DBF',
'E:\ORACLE\ORCL\ODS\HH_TBS.DBF'
CHARACTER SET ZHS16GBK
;
六)恢复目标库
1)指定要使用的归档目录(第一步所建ARCHIVE目录)并执行恢复操作:
SQL> set logsource 'D:\oracle\orcdata\tiod\ARCHIVE';
SQL> recover database using backup controlfile until cancel;
2)使用RESETLOGS选项打开数据库,并建立起目标库的所有重做日志
SQL> alter database open resetlogs;
这样就完成了对一个数据库的备份以及使用其备份复制数据库到另外一个机器上的过程,这个过程是用户管理方式下的备份和复制数据库,此外我们可以使用RMAN方式达到同样的目的。这个备份和恢复适用于在open状态下的归档模式数据库。
- Oracle—用户管理的备份(一)
用户管理的备份(一) 一.首先要知道数据库中表空间和文件的信息,有几个性能视图,v$datafile,v$tablespace,v$tempfile,v$logfile,v$controlfile,d ...
- Oracle—用户管理的备份(二)
在用户管理的备份(一)中(详见:Oracle—用户管理的备份)对用户管理备份几种情况进行了说明:接下来说明几种特别情况和DBverify的使用. 一.如果在表空间在备份模式下,主机发生了异常关闭,会出 ...
- Oracle 用户管理权限
Oracle 用户管理权限 一.创建用户的Profile文件 SQL> create profile student limit // student为资源文件名 FAILED_LOGIN_AT ...
- Oracle—用户管理的完全恢复(四)
在用户管理的备份(三)中,最后打开数据库时,用了alter database open resetlogs;的命令,这里为什么用resetlogs命令? 一.resetlogs的作用 1.将当前的日志 ...
- Oracle—用户管理的完全恢复(一)
一.分类 可以分为在非归档模式下和归档模式下的完全恢复,完全恢复主要是针对归档模式下的,在非归档模式下很难做到完全恢复,除非是在做恢复时,联机重做日志还没有被重写. 二.非归档的有关性质 1.在非归档 ...
- Oracle的学习一:安装与卸载、sql *plus常用命令、Oracle用户管理
1.为什么学习oracle? 性能优越: 小型数据库 中型数据库 大型数据库 acess.foxbase mysql.sql server.informix sybase.oracle.db2 复杂量 ...
- 四、oracle 用户管理(Profile)
oracle 用户管理 :profile + tablespace + role + user 一.使用profile管理用户口令概述:profile是口令限制,资源限制的命令集合,当建立数据库时, ...
- 三、oracle 用户管理一
三.oracle 用户管理一 一.创建用户概述:在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用.create user 用户名 ide ...
- Oracle 用户管理与权限控制
Oracle 用户管理与权限控制 oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create ...
随机推荐
- Java随机数
本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示. 广义上讲,Java中的随机数的有三种产生方式:(01). 通过System.currentTimeMillis()来获取一个当前时间 ...
- 企业门户(Portal)项目实施方略与开发指南
<企业门户(Portal)项目实施方略与开发指南> 基本信息 作者: 郑文平 丛书名: 企业大型应用集成丛书 出版社:电子工业出版社 ISBN:9787121211843 上架时间: ...
- Linux学习笔记1——Linux的目录结构
/ 是根目录 ~是主目录 bin 存放二进制可执行文件(Is,cat,mkdir等) boot 存放用于系统引导时使用的各种文件 dev 用于存放设备文件 etc 存放系统配置文件 home 存放所有 ...
- 游戏开发Camera之Cinematic Camera-深度
人的视觉系统是二维的,它通过生理和心理的暗示来感知图像的深度,在现实世界中视觉系统会自动用深度线索depth cue来确定对象之间的距离游戏画面也是二维的,用x,y轴来定义,画面深度用z轴来定义,可以 ...
- 【转】OpenGL相关函数库介绍
原文:http://blog.chinaunix.net/uid-20638550-id-1909182.html OpenGL 函数库相关的API有核心库(gl).实用库(glu).辅助库(aux) ...
- Eclipse下安装及配置maven项目管理工具
①eclipse下maven插件安装. 本地maven安装.环境变量配置完成后,打开eclipse,点击eclipse菜单栏Help->Eclipse Marketplace搜索关键字maven ...
- HDOJ 1716 排列2 next_permutation函数
Problem Description Ray又对数字的列产生了兴趣: 现有四张卡片,用这四张卡片能排列出很多不同的4位数,要求按从小到大的顺序输出这些4位数. Input 每组数据占一行,代表四张卡 ...
- 【Javascript&Jquery基础归纳】- 加载相关
1.window.onload 必须等到Dom所有元素.包括图片加载完毕后加载,只能编写一个. 2.$(document).ready() DOM结构加载完毕后马上执行,并且可以编写多个. ...
- Google Picasa
本博文的主要内容有 .Google Picasa的下载 .Google Picasa的安装 .Google Picasa的使用 Google 的免费图片管理工具Picasa,数秒钟内就可找到并欣赏计算 ...
- JBoss 系列十一:JBoss Cluster Framework Demo 介绍
内容概要 JBoss Cluster Framework Demo包括JGruops.JBossCache.Infinispan,我们在随后的系列中会使用和运行这些示例来说明JGroups.JBoss ...