欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Oracle数据库物理文件备份/恢复

程序员文章站 2022-07-13 12:59:43
...

之前也写过一篇类似的,虽然恢复不成问题,但总感觉有不对的地方,后面才了解到,以前自己有存在误区的地方,重新用此文方法简便得多。

  环境:CentOS release 5.6 (Final)
  Oracle Database Release 11.2.0.1.0
  1、解压压缩好的数据库文件到相应目录
  [root@OATest oabak]# tar -jxvf testoa_20140702.tar.bz2
  2、还原文件
  [root@OATest temp]# su - oracle
  [oracle@OATest /]$ export ORACLE_SID=testoa
  [oracle@OATest /]$ sqlplus "/as sysdba";
  OPEN_MODE
  --------------------
  READ WRITE
  3、关闭数据库
  SQL> shutdown immediate;
  Database closed.
  Database dismounted.
  ORACLE instance shut down.
  SQL> exit
4、在sql模式下直接质数据库物理文件至相应的目录(先显示各类文件的路径所在,后拷贝到相应路径)
Java代码  Oracle数据库物理文件备份/恢复
            
    
    博客分类: Oracle  
  1. --显示控制文件  
  2. select name from v$controlfile;  
  3. --显示数据文件  
  4. select name from v$datafile;  
  5. --显示延续性的初始化参数文件(延续性:对初始化参数的在线修改可以直接作用到参数文件中)  
  6. show parameter spfile;  
  7. --显示日志文件  
  8. select member from v$logfile;  
  9. --orapw$ORACLE_SID密码文件:password file路径 在$ORACLE_HOME/dbs/orapw$ORACLE_SID    //跟备份关系不大,可以随时生成。  
  10. [oracle@OATest temp]$ sqlplus "/as sysdba";  
  11. host cp /usr/oabak/temp/control01.ctl /app/oracle/oradata/testoa/control01.ctl  
  12. host cp /usr/oabak/temp/control02.ctl /app/oracle/flash_recovery_area/testoa/control02.ctl  
  13. host cp /usr/oabak/temp/system01.dbf /app/oracle/oradata/testoa/system01.dbf  
  14. host cp /usr/oabak/temp/sysaux01.dbf /app/oracle/oradata/testoa/sysaux01.dbf  
  15. host cp /usr/oabak/temp/undotbs01.dbf /app/oracle/oradata/testoa/undotbs01.dbf  
  16. host cp /usr/oabak/temp/users01.dbf /app/oracle/oradata/testoa/users01.dbf  
  17. host cp /usr/oabak/temp/redo03.log /app/oracle/oradata/testoa/redo03.log  
  18. host cp /usr/oabak/temp/redo02.log /app/oracle/oradata/testoa/redo02.log  
  19. host cp /usr/oabak/temp/redo01.log /app/oracle/oradata/testoa/redo01.log  
  20. host cp /usr/oabak/temp/spfile${ORACLE_SID}.ora $ORACLE_HOME/dbs/  
  21. host cp /usr/oabak/temp/orapw${ORACLE_SID} $ORACLE_HOME/dbs/  
 --要删除临时文件, 重启的时候会自动创建temp01.dbf
  若不删除临时文件,会出现下面的报错:
  ORA-01187: cannot read from file  because it failed verification tests
  ORA-01110: data file 201: '/app/oracle/oradata/testoa/temp01.dbf'
  恢复文件时候没有删除,旧的临时表空间数据文件(300MB),无法创建新的临时表空间文件(500MB) ..所以一直报错