在水一万 发表于 2018-9-22 14:49:10

oracle 11g数据库冷备与恢复

oracle 11g数据库冷备与恢复
  版本:v1.0
  作者:梁凯亮
  E-mail:lkl_1981@163.com
  QQ:37547134
  日期:20012-0627
实验环境
  硬件环境:x86_64位的虚拟机两台
  操作系统:rhel 5.6 64位
  oracle版本:oracle 11g企业版11.0.2.1 x86_64
实验目标
  将现有的数据库通过冷备份,在新装操作系统上进行还原。
实验步骤
  1.      首先shutdown immediate 停止要冷备的数据库。
         SQL>shutdown immediate
  
  2.      备份oralce实例的启动文件。
  在备份前我将不能编辑的spfile文件用命令生成了一个可以编辑的pfile文件。
         SQL>create pfile from spfile;
  生成的路径和spfile在一个目录下。
  我的oracle启动文件的位置:/u01/oracle/database/db_1/dbs
  反正也不大我将这个文件都备份了。
  3.      导出创建controlfile的脚本。
  先启动oracle数据库实例。
         SQL >startup
  导出创建controlfile脚本到trace文件。
         SQL>>
  我的trace目录是:/u01/oracle/database/diag/rdbms/orcl/orcl/trace
  查看alert_orcl.log日志最后
       alter database backup controlfile to trace
  Backup controlfile written to trace file      /u01/oracle/database/diag/rdbms/orcl/orcl/trace/orcl_ora_4820.trc
  Completed:>
  查看 orcl_ora_4820.trc
STARTUP NOMOUNT
  CREATE CONTROLFILE REUSE DATABASE "OEM" RESETLOGS    NOARCHIVELOG
  MAXLOGFILES 16
  MAXLOGMEMBERS 3
  MAXDATAFILES 100
  MAXINSTANCES 8
  MAXLOGHISTORY 292
  LOGFILE

  GROUP 1 ‘D:\APP\SHUNZI\ORADATA\OEM\REDO01.LOG’ >
  GROUP 2 ‘D:\APP\SHUNZI\ORADATA\OEM\REDO02.LOG’ >
  GROUP 3 ‘D:\APP\SHUNZI\ORADATA\OEM\REDO03.LOG’ >  – STANDBY LOGFILE
  DATAFILE
  ‘D:\APP\SHUNZI\ORADATA\OEM\SYSTEM01.DBF’,
  ‘D:\APP\SHUNZI\ORADATA\OEM\SYSAUX01.DBF’,
  ‘D:\APP\SHUNZI\ORADATA\OEM\UNDOTBS01.DBF’,
  ‘D:\APP\SHUNZI\ORADATA\OEM\USERS01.DBF’,
  ‘D:\APP\SHUNZI\ORADATA\OEM\MGMT_ECM_DEPOT1.DBF’,
  ‘D:\APP\SHUNZI\ORADATA\OEM\MGMT.DBF’,
  ‘D:\APP\SHUNZI\ORADATA\OEM\MGMT_AD4J.DBF’
  CHARACTER SET AL32UTF8

这个就是在新的平台下创建controlfile的脚本,注意和要还原的oracle路径保持一直。
  (以下是还原操作)
  4.      将initorcl.ora 还原。
  我的位置在:/u01/oracle/database/db_1/dbs/
  5.      将备份的数据文件还原到controlfile指定的位置。
  我的位置在:
  /u01/oracle/database/oradata/orcl/
  6.      复制controlfile文件。
  查看initorcl .ora文件找到如下:
*.control_files='/u01/oracle/database/oradata/orcl/control01.ctl','/u01/oracle/database/flash_recovery_area/orcl/control02.ctl'
看到两个controlfile文件,这两个文件必须都存在如果不存在复制一个就好了。

  7.      创建不存在的文件夹
  查看initorcl .ora文件找到如下:
*.audit_file_dest='/u01/oracle/database/admin/orcl/adump'
  如果没有这个文件需要创建一个,并赋给oracle的权限。
  8.      创建sys的密码
$ orapwd file=/u01/oracle/database/db_1/dbs/orapworc password=oradbaforce=y

  9.      netca创建数据库监听并启动
  10.    启动oracle数据库
sqlplus /nolog
connsys/oradba as sysdba

如果不提示错误表示启动正常,还看一看以前的表和数据是否存在?
注意事项
  1.      硬件的内存一定要一样,否则需要修改initorcl.ora中和内存相关的配置信息。
  2.      注意将没有创建的文件夹创建好。
  3.

页: [1]
查看完整版本: oracle 11g数据库冷备与恢复