oracle冷备如何恢复 oracle冷备份恢复
oracle如何备份单表并在新数据库恢复?
冷备份
成都创新互联专注于米脂企业网站建设,成都响应式网站建设公司,商城网站制作。米脂网站建设公司,为米脂等地区提供建站服务。全流程专业公司,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
冷备份数据库是将数据库关闭之后备份所有的关键性文件包括数据文件、控制文件、联机REDO LOG文件,将其拷贝到另外的位置。此外冷备份也可以包含对参数文件和口令文件的备份,但是这两种备份是可以根据需要进行选择的。冷备份实际也是一种物理备份,是一个备份数据库物理文件的过程。因为冷备份要备份除了重做日志以外的所有数据库文件,因此也被成为完全的数据库备份。
过程:
冷备份数据必须是数据库不在open状态下。 以下步骤会给出详细的过程:
◆(1): 关闭DB : shutdown immediate;
◆(2):copy oradata目录下的所有文件, 包括数据文件, 控制文件,redo,等,还需要copy 密码文件 在目录ora92下 的database 中的pwd 文件.全部copy到一个安全目录中。在sql 下可以直接加一个 host 然后使用dos命令。如host copy .............
◆(3):如果是操作系统的重新安装,只要是同样系统,同样数据库版本,是可以做冷备恢复。一下谈的是系统的重新安装后的步骤。
◆(4):正常安装oracle软件,只需要安装软件,可以不用建实例,建实例的时间也比较长,也没有必要。 软件安装好以后,开始准备恢复。
◆(5):数据覆盖过去包括pwd文件,放在原来的目录,如果目录有所改变则需要另外建立控制文件,修改pfile。
◆(6):建立服务:使用oradim 命令 cmd下 oradim -new -sid erp 表示建立一个服务,sid为erp。关于oradim的命令另外给出专门解释。
◆(7):建立监听: net configuration assintant 来建立,或用脚本建立并且开启。
◆(8):打开数据库: 用oem也行,cmd下也行。
set oracle_sid=erp;
sqlplus "/as sysdba";
startup;
select * from v$instance;
至此,冷备份恢复成功。即使你现在用oem打开数据库时发现提示找不到sid ,但实际上你已经成功了,此时只需要重启一下的你的服务器就可以了。
-------------------------------------------
热备份
热备份是在数据库运行的情况下,采用archive log mode方式备份数据库的方法。热备份要求数据库处于archive log模式下操作,并需要大量的档案空间。一旦数据库处于archive loh
模式,就可以进行备份了,当执行备份时,只能在数据文件级或表空间进行。
过程:
1.准备工作
由于在备份过程中,数据库仍然是打开的,所以要求正在复制的各个数据文件管理的表空间必须处于备份模式。备份完后再脱离备份模式。因此备份前必须将ORACLE 数据库调整为归档模式。查看代码如下
查看当前数据库归档状态:ARCHIVE LOG LIST:以下为非归档
lt;img src="" data-rawwidth="505" data-rawheight="130" class="origin_image zh-lightbox-thumb" width="505" data-original=""/gt;
2数据库备份
2.1查询要备份表空间对应的数据文件的详细信息
select file_name from dba_data_files
where
tablespace_name='USERS';
2.2将表空间设为备份模式
ALTER TABLESPACE USERS BEGIN BACKUP;
2.3查看处于备份模式的数据文件:
select * from v$backup;
2.4使用操作系统命令备份表空间的数据文件
HOST COPY f:\BAK\ HOST COPY f:\oracle\oradata\orcl\*.dbf//将前面ORACLE数据库热备份的文件拷贝到系统目录中
2.5将表空间设置为正常模式
ALTER TABLESPACE USERS END BACKUP。
linux环境下oracle数据库冷备份问题
1. 复制旧的数据库文件
(1) 用SQLPlus连接数据库:sqlplus 用户名/密码 as sysdba
(2) 关闭DB :shutdown immediate;
(3) 复制文件到其他地方存储实现备份
1)复制三个文件夹admin;oradata(datafile, controlfile,redo【注:数据文件, 控制文件,redo】);flash_recovery_area三个文件夹。2)dbhome_1下的内容database(PWDfile、pfile);dbs(spfile);NETWORK/ADMIN(listener.ora、tnsnames.ora)。
2. Oracle重新建库恢复
(1)创建一个和原来一样的数据库。(安装路径和数据库名必须和原来一致)
(2)停止数据库shutdown immediate;
(3)复制安装目录下的admin、oradata、flash_recovery_area覆盖,复制database(PWDfile、pfile) 覆盖
(4)启动数据库 startup;
备注:
无归档模式:将备份文件拷贝回原来的目录即可,然后启动数据库。
归档模式:
①将数据文件、控制文件拷贝回原来目录
②SQLstartup mount;
SQLrecover database using backup controlfile;
③将相应的归档日志和联机日志拖到CMD命令窗口进行跑日志。
④SQLalter database open resetlogs;
3. 软件重装恢复
此时,操作系统重装,如果做冷备恢复,要保证相同操作系统,相同的数据库版本。形势如同异机恢复。
A、不创建实例:(源机上的数据库名字为orcl)
(1) 恢复oradata/orcl目录
在目标机上的oradata目录下建立orcl文件夹,然后进行数据覆盖。
包括数据文件、参数文件、控制文件、日志文件、pwd文件,放在与原系统相同的目录。如果目录有所改变,则需要另外建立控制文件,修改pfile。 (2) 恢复admin/orcl目录在目标机上的admin目录下建立orcl文件夹,然后在orcl里面再建立adump、bdump、cdump、udump、dpdump、pfile六个文件夹
(3) 建立服务把源机的密码文件拷贝到目标机的database目录下。使用oradim命令在cmd下oradim -new -sid orcl 表示建立一个服务,sid为orcl(最好名字和源机备份的数据库名字一致,就不需要重建密码文件)。如果是在linux下,不需要此步。 (4) 重建创建参数文件、控制文件拷贝源机的pfile到目标机的一个目录下,修改pfile里面相关文件的路径。然后通过SQLcreate spfile from pfile=‘文件路径'来创建参数文件。重建控制文件命令:SQLalter database backup controlfile to trace; 然后会在udump文件夹下产生一个追踪文件,打开文件找到如下一段,复制到文本中,修改相应路径然后保存为:createctl.sql文件(sql脚本文件),复制到目标机上。注意:SQLalter database backup controlfile to trace as 'F:/DB_RECOVERY/CONTROL_FILE_TRACE.TXT';复制的原始导出txt中的,相应代码片段如下: View Code
(5) 数据库设置SID和启动服务
12345678 c:\set ORACLE_SID=orclc:\sqlplus "/as sysdba" SQLcreate spfile from pfile='c:\pfile.txt';SQL@c:\createctl.sql;SQLshutdown immediate;SQLstartup;SQLalter database open resetlogs;
备注:
如果(4)、(5)不好用,可以用下面的方法修改这些路径不一致的问题(反正笔者电脑上冷备份恢复时,上面的两个步骤就不好用):
1)SQL下执行如下语句,恢复控制文件
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
2)修改日志、DBF的路径
修改oracle_home\oradata\orcl下及相关文件的路径
(6) TNSNAMES设置在network\admin下的tnsnames.ora中添加如下片段
123456789 ORCL =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))
(7) 建立监听用net configuration为orcl实例新建监听 至此,冷备份恢复成功。即使你现在用oem打开数据库时发现提示找不到sid ,但实际上你已经成功了,此时只需要重启一下的你的服务器就可以。
B、创建实例方式(实例SID与源机数据库SID一致)
(1) 替换和覆盖oradata\orcl目录删除目标机的oradata\orcl底下的所有文件,把源机的所有data文件、redo文件拷贝到此目录下
(2) 密码文件覆盖删除目标机的密码文件,拷贝源机密码文件到目标机下。
(3) 控制文件恢复在源机上重建目标机的控制文件:SQLalter database backup controlfile to trace;然后会在udump文件夹下产生一个追踪文件,打开文件找到上面那段,复制到文本中,修改相应路径然后保存为:createctl.sql文件(sql脚本文件),复制到目标机上。
复制代码代码如下:
12345 c:\sqlplus "/as sysdba"SQL@c:\createctl.sql;SQLshutdown immediate;SQLstartup;SQLalter database open resetlogs;
(4) 在network\admin下的tnsnames.ora中添加如下片段
复制代码代码如下:
123456789 ORCL =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))
(5) 用net configuration为orcl实例新建监听
若是初学Linux的话建议看看《Linux就该这么学》这本书。
oracle数据库怎么进行备份恢复,以及自动批量备份
Oracle数据库备份,大致分为如下两种:
第一种:逻辑备份:
使用EXP进行逻辑备份,在sql
plus
执行:exp
system/你的密码
后按照提示命令执行即可。
第二种:物理备份
冷,热备份的备份方法:
冷热备份都是将数据库文件做相应的拷贝。
冷备份:是指脱机备份,即将服务器停止掉。
热备份:是指连机备份
使用该命令shutdown
immediate停止服务器
如何Oracle 数据库备份与恢复
Oracle数据库备份与恢复的三种方法
Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。
一、 导出/导入(Export/Import)
利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。
1、 简单导出数据(Export)和导入数据(Import)
Oracle支持三种方式类型的输出:
(1)、表方式(T方式),将指定表的数据导出。
(2)、用户方式(U方式),将指定用户的所有对象及数据导出。
(3)、全库方式(Full方式),瘵数据库中的所有对象导出。
数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。
2、 增量导出/导入
增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。
增量导出包括三种类型:
(1)、“完全”增量导出(Complete)
即备份三个数据库,比如:
exp system/manager inctype=complete file=040731.dmp
(2)、“增量型”增量导出
备份上一次备份后改变的数据,比如:
exp system/manager inctype=incremental file=040731.dmp
(3)、“累积型”增量导出
累计型导出方式是导出自上次“完全”导出之后数据库中变化了的信息。比如:
exp system/manager inctype=cumulative file=040731.dmp
数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效的完成。
比如数据库的被封任务可以做如下安排:
星期一:完全备份(A)
星期二:增量导出(B)
星期三:增量导出(C)
星期四:增量导出(D)
星期五:累计导出(E)
星期六:增量导出(F)
星期日:增量导出(G)
如果在星期日,数据库遭到意外破坏,数据库管理员可按一下步骤来回复数据库:
第一步:用命令CREATE DATABASE重新生成数据库结构;
第二步:创建一个足够大的附加回滚。
第三步:完全增量导入A:
imp system/manager inctype=RESTOREFULL=y FILE=A
第四步:累计增量导入E:
imp system/manager inctype=RESTOREFULL=Y FILE=E
第五步:最近增量导入F:
imp system/manager inctype=RESTOREFULL=Y FILE=F
二、 冷备份
冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份时最快和最安全的方法。冷备份的优点是:
1、 是非常快速的备份方法(只需拷文件)
2、 容易归档(简单拷贝即可)
3、 容易恢复到某个时间点上(只需将文件再拷贝回去)
4、 能与归档方法相结合,做数据库“最佳状态”的恢复。
5、 低度维护,高度安全。
但冷备份也有如下不足:
1、 单独使用时,只能提供到“某一时间点上”的恢复。
2、 再实施备份的全过程中,数据库必须要作备份而不能作其他工作。也就是说,在冷备份过程中,数据库必须是关闭状态。
3、 若磁盘空间有限,只能拷贝到磁带等其他外部存储设备上,速度会很慢。
4、 不能按表或按用户恢复。
如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以工作)并将备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。冷备份中必须拷贝的文件包括:
1、 所有数据文件
2、 所有控制文件
3、 所有联机REDO LOG文件
4、 Init.ora文件(可选)
值得注意的使冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的。
下面是作冷备份的完整例子。
(1) 关闭数据库
sqlplus /nolog sql;connect /as sysdba sql;shutdown normal;
(2) 用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件
{$PageTitle=sql;cp ; ;}
(3) 重启Oracle数据库
sql;startup
三、 热备份
热备份是在数据库运行的情况下,采用archivelog mode方式备份数据库的方法。所以,如果你有昨天夜里的一个冷备份而且又有今天的热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。热备份要求数据库在Archivelog方式下操作,并需要大量的档案空间。一旦数据库运行在archivelog状态下,就可以做备份了。热备份的命令文件由三部分组成:
1. 数据文件一个表空间一个表空间的备份。
(1) 设置表空间为备份状态
(2) 备份表空间的数据文件
(3) 回复表空间为正常状态
2. 备份归档log文件
(1) 临时停止归档进程
(2) log下那些在archive rede log目标目录中的文件
(3) 重新启动archive进程
(4) 备份归档的redo log文件
3. 用alter database bachup controlfile命令来备份控制文件
热备份的优点是:
1. 可在表空间或数据库文件级备份,备份的时间短。
2. 备份时数据库仍可使用。
3. 可达到秒级恢复(恢复到某一时间点上)。
4. 可对几乎所有数据库实体做恢复
5. 恢复是快速的,在大多数情况下爱数据库仍工作时恢复。
热备份的不足是:
1. 不能出错,否则后果严重
2. 若热备份不成功,所得结果不可用于时间点的恢复
3. 因难于维护,所以要特别仔细小心,不允许“以失败告终”。
怎样恢复Oracle冷备份
把你备份的所有东西拷贝到相应的文件夹中,然后
startup mount;
recover database( using backup controlfile);
根据提示看需不需要后面的参数
alter database open( resetlogs);
根据提示看需不需要参数。
oracle冷备份怎么做
分类: 电脑/网络 操作系统/系统故障
问题描述:
最关键是“用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件”的格式是什么
解析:
数据备份
不论何种方式,数据库的备份即为data file/control file/redo file此三种文件的备份。
1、exp/imp的备份方式
2、脱机备份方式(offline backup)
3、联机备份方式(online backup)
4、standy的运行模式
1、exp/imp的备份方式
(1)命令方式
可以在online的环境下进行。
(2)OEM方式
利用导出备份向导进行导出。
2、脱机备份方式(offline backup)
复制相关的文件即可。
(1)关闭数据库;
(2)复制文件,datafile/control file/redo log file;
(3)打开数据库。
3、联机备份方式(online backup)
条件:
(1)数据库不能关闭;
(2)数据库必需处于归档模式(archive mode),即redo log file记录满后,把完整的redo log file保存
在磁盘上;
让数据处于archive mode的方法:
(1)设置archive mode;
在initorcl.ora文件中设置如下参数:
#启动arch背景的处理程序
log_archive_start=true
#设置archive log file的存放地方
log_archive_dest=/home/oradata/orcl/archive
#设置脱机事务日志的文件名
log_archive_format=-s%.arc
(2)mount状态下设置archive mode,打开数据库;
startup mount pfile=initorcl.ora;
alter database archivelog;
alter database open;
联机备份方法一
(1)设置tablespace为backup mode;
alter tablespace tablespace_name begin backup;
(2)复制相关的数据表
copy sourcefile destfile
(3)恢复tablespace到正常状态
alter tablespace tablespace_name end backup;
(4)backup control file
alter database backup controlfile to ’control.bk’
(5)copy redo log file
4、standy的运行模式
此模式为主从服务器备份模式。
方法:
(1)准备备份主机
(2)主要数据库的备份
方法如下:
a、full offline backup
b、online backup
c、备份数据库的control file
alter database backup standby controlfile as ’filename’
(3)确定主要机器是处于archivelog mode
操作方法如3所示。
(4)从主要机器将backup datafiles / control file复制到备份主机。
复制的文件如下:
a、control file
b、backup datafiles;
c、archived redo logs
网站名称:oracle冷备如何恢复 oracle冷备份恢复
网页路径:http://azwzsj.com/article/hgdjcc.html