Oracle数据库备份还原——物理备份

Oracle 数据库备份还原——物理备份
⽂章⽬录
当⼀个阶段性系统使⽤完后,需要备份完全的数据库,此时使⽤冷备份再合适不过了。冷备份需要知道源机与⽬标机Oracle安装位置和⽂件系统位置,是⼀种⾮常快速的备份⽅法。源Oracle和⽬标Oracle版本需要⼀致。
冷备份
1、 冷备份发⽣在数据库已经正常关闭的情况下
2、冷备份所需备份的⽂件包括以下⼏种:
所有数据⽂件(datefile)、所有控制⽂件(controlfile)、所有联机REDO LOG ⽂件(logfile)、⽂件
3、冷备份的步骤
①正常关闭要备份的实例()
②拷贝物理⽂件到指定备份路径或设备。
③完成备份后启动数据库
异机恢复
背景:⽬标机已安装数据库,且未创建同名实例
1、在⽬标机上的oradata⽬录下建⽴orcl⽂件夹,拷贝源机的所有data⽂件和联机redo⽂件到此⽬录下。
2、在⽬标机上的admin⽬录下建⽴orcl⽂件夹,然后在orcl⾥⾯再建⽴adump、bdump、cdump、udump、dpdump、pfile六个⽂件夹。
3、使⽤oradim命令在cmd下oradim -new -sid orcl 表⽰建⽴⼀个服务,sid为orcl(最好名字和源机备份的数据库名字⼀致,就不需要重建密码⽂件)。
4、拷贝源机的pfile到⽬标机的⼀个⽬录下,修改pfile⾥⾯相关⽂件的路径,然后通过SQL>create spfile from pfile=‘⽂件路径’来创建参数⽂件。
5、重建控制⽂件。
6、⽤net configuration为orcl实例新建监听。
7、还原临时⼯作空间⽂件。
操作案例
冷备份数据必须是数据库不在open状态下。以Windows环境下oracle11gR2为例,备份恢复orcl实例。
备份
备份脚本如下:
Step1、在命令⾏窗⼝中(cmd)页⾯执⾏spool D:/Other-shore/oradata/lengbei/bf.sql select  'COPY "'||name ||'" "D:/Other-shore/oradata/lengbei"' from v $controlfile union all select  'COPY "'||name ||'" "D:/Other-shore/oradata/lengbei"' from v $datafile union all select  'COPY "'||member ||'" "D:/Other-shore/oradata/lengbei"' from v $logfile /create pfile ='D:/Other-shore/oradata/a' from spfile ;alter database backup controlfile to trace as 'D:/Other-shore/oradata/';spool off
1
2
3
4
5
6
7
8
9
10
Step2、执⾏完备份脚本后,产⽣如下图⽂件:
打开参数⽂件,拷贝如图框内⽂件到指定备份路径:
打开重建控制⽂件,拷贝如图框内⽂件到指定备份路径:c:\>set ORACLE_SID =orcl c:\>sqlplus/nolog SQL > conn sys/sys as sysdba SQL >  //运⾏备份脚本SQL >shutdown immediate ;
1
2
3
4
5
Step3、到密码⽂件备份到指定备份路径。密码⽂件在数据库安装位置的database⽂件夹下。本机位置
E:\app\product\11.2.0\dbhome_1\a。
Step4、启动源机数据库实例startup
⾄此冷备份完成,下图是冷备份所需要的所有物理⽂件:
异机恢复
不创建实例:(源机上的数据库名字为orcl)
Step1、拷贝冷备份⽂件到⽬标机上
Step2、在⽬标机的数据库⽂件系统位置oradata⽬录下建⽴orcl⽂件夹,将备份⽂件中所有data⽂件和联机redo⽂件到此⽬录下。(C:\app\oradata)
Step3、在⽬标机的数据库安装位置下(C:\app)
①将flash_recovery_area⽂件夹中对应的orcl⽂件备份过去
②将密码⽂件拷贝到database⽬录下
③admin⽬录下建⽴orcl⽂件夹,然后在orcl⾥⾯再建⽴adump、bdump、cdump、udump、dpdump、pfile六个⽂件夹。
Step4、更改参数⽂件pfile⾥⾯框内路径为⽬标机路径:
Step5、打开重建控制⽂件,到下图⼀段⽂本,修改框内相应路径后保存为:createctl.sql⽂件(sql脚本⽂件)。
Step6、在命令窗⼝中,使⽤oradim命令oradim -new -sid orcl 表⽰建⽴⼀个服务,sid为orcl(最好名字和源机备份的数据库名字⼀致,就不需要重建密码⽂件)
新建⼀个实例服务:oradim -new -sid orcl
删除⼀个实例服务:oradim -delete -sid orcl
Step7、在命令⾏窗⼝中(cmd)页⾯执⾏
执⾏期间遇到如下报错:
ORA-12560:TNS协议适配器错误
原因:的数据库服务没有启动。使⽤命令net start ORACLESERVICEORADB(ORADB为数据库名字)。
SP2-XXX:原因:存在空⾏。去除⽂件中空⾏就可
Step8、完成上述步骤后已经可以在命令窗⼝中连接数据库了。接下来⽤net configuration为orcl实例新建监听c:\>oradim -new -sid orcl c:\>set ORACLE_SID =orcl c:\>sqlplus/nolog SQL > conn / as sysdba SQL >create spfile from pfile ='c:\a';SQL >@c:\createctl.sql ;SQL >shutdown immediate ;SQL >startup ;SQL >alter database open  resetlogs ;
1
2
3
4
5
6
7
8
9
Step9、为保证数据库正常运⾏,需要将控制⽂件⾥的临时⼯作空间建⽴⼀下。
重建控制⽂件脚本中会⾃动附加创建临时表空间的语句,如下图所⽰:连接数库后执⾏下⾯语句:
常记溪亭⽇暮,沉醉不知归路。——李清照《如梦令·常记溪亭⽇暮》ALTER  TABLESPACE  TEMP  ADD  TEMPFILE 'D:\APP\ORADATA\ORCL\TEMP01.DBF'    SIZE 84934656  REUSE AUTOEXTEND ON  NEXT  655360  MAXSIZE 32767M ;ALTER  TABLESPACE  TEMP_SDTP ADD  TEMPFILE 'D:\OTHER-SHORE\ORADATA\TEMP_SD.DBF'    SIZE 10M REUSE AUTOEXTEND ON  NEXT  10M MAXSIZE 32767M ;
1
2
3
4

本文发布于:2024-09-24 22:30:27,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/95473.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:备份   数据库   路径   实例   标机   位置   需要
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议