
热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点冷备份的优点在于它的备份与恢复 *** 作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好(因为不必将archive
log写入硬盘)
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(listenerora、tnsnamesora)。
2 Oracle重新建库恢复
(1)创建一个和原来一样的数据库。(安装路径和数据库名必须和原来一致)
(2)停止数据库shutdown immediate;
(3)复制安装目录下的admin、oradata、flash_recovery_area覆盖,复制database(PWDfile、pfile) 覆盖
(4)启动数据库 startup;
备注:
无归档模式:将备份文件拷贝回原来的目录即可,然后启动数据库。
归档模式:
①将数据文件、控制文件拷贝回原来目录
②SQL>startup mount;
SQL>recover database using backup controlfile;
③将相应的归档日志和联机日志拖到CMD命令窗口进行跑日志。
④SQL>alter 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里面相关文件的路径。然后通过SQL>create spfile from pfile=‘文件路径'来创建参数文件。重建控制文件命令:SQL>alter database backup controlfile to trace; 然后会在udump文件夹下产生一个追踪文件,打开文件找到如下一段,复制到文本中,修改相应路径然后保存为:createctlsql文件(sql脚本文件),复制到目标机上。注意:SQL>alter database backup controlfile to trace as 'F:/DB_RECOVERY/CONTROL_FILE_TRACETXT';复制的原始导出txt中的,相应代码片段如下: View Code
(5) 数据库设置SID和启动服务
12345678 c:\>set ORACLE_SID=orclc:\>sqlplus "/as sysdba" SQL>create spfile from pfile='c:\pfiletxt';SQL>@c:\createctlsql;SQL>shutdown immediate;SQL>startup;SQL>alter 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下的tnsnamesora中添加如下片段
123456789 ORCL =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 127001)(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) 控制文件恢复在源机上重建目标机的控制文件:SQL>alter database backup controlfile to trace;然后会在udump文件夹下产生一个追踪文件,打开文件找到上面那段,复制到文本中,修改相应路径然后保存为:createctlsql文件(sql脚本文件),复制到目标机上。
复制代码代码如下:
12345 c:\>sqlplus "/as sysdba"SQL>@c:\createctlsql;SQL>shutdown immediate;SQL>startup;SQL>alter database open resetlogs;
(4) 在network\admin下的tnsnamesora中添加如下片段
复制代码代码如下:
123456789 ORCL =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 127001)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))
(5) 用net configuration为orcl实例新建监听
若是初学Linux的话建议看看《Linux就该这么学》这本书。
热备份必需是归档模式:如果使用RMAN的话直接1 rman target /2 backup database;就能备份了手工备的话1 在sqlplus下alter database begin backup;2 复制你要备份的文件3 在sqlplus下alter database end backup;冷备份ramn的1 rman target /2 shutdown immediate;3 startup mount;4 backup database;5 alter database open;手动的1 sqlplus下shutdown immediate;2 复制要备份的文件3 sqlplus下startup;
热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复 *** 作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。
Oracle冷备份的通常步骤:
1 正常关闭数据库
2 备份所有重要的文件到备份目录(数据文件、控制文件、重做日志文件等)
3 完成备份后启动数据库
用冷备份进行恢复时,只需要将所有文件恢复到原有位置,就可以启动数据库了 。
1 进入数据库#sqlplus "/as sysdba"
2 如果没有启动则要启动:SQL>startup
3 查询数据文件datafile的所在目录:
SQL>SELECT name FROM v$datafile;
查询控制文件controlfile的所在目录:
SQL>SELECT name FROM v$controlfile;
查询重做日志文件的所在目录:
SQL>SELECT member FROM v$logfile;
4 关闭数据库
SQL>shutdown
5 备份文件到备份的目录
#cp /u01/app/oracle/oradata/orcl/dbf /home/mzl/BackupDatabase
#cp /u01/app/oracle/oradata/orcl/ctl /home/mzl/BackupDatabase
#cp /u01/app/oracle/oradata/orcl/log /home/mzl/BackupDatabase
6 然后启动数据库
#sqlplus "/as sysdba"
SQL>startup
冷备份完毕。
以上就是关于sql server 冷备份和热备份有啥区别全部的内容,包括:sql server 冷备份和热备份有啥区别、linux环境下oracle数据库冷备份问题、冷或热备份数据库文件后,为什么要归档当前日志组等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)