代码改变世界

备份及恢复Oracle 10g

2009-11-01 19:22  hyddd  阅读(1887)  评论(0编辑  收藏

一.备份Oracle 10g

  • 需要份数据库文件
    • $ORACLE_BASE/admin/$ORACLE_SID/(所有目录与文件)
      • adump
      • bdump
      • cdump
      • dpdump
      • pfile
      • udump
    • $ORACLE_BASE/oradata/$ORACLE_SID/(所有目录与文件)
    • $ORACLE_HOME/dbs
      • hc_$ORACLE_SID.dat
      • lk$ORACLE_SID
      • spfile$ORACLE_SID.ora
      • orapw$ORACLE_SID
    • $ORACLE_HOME/network/admin/
      • tnsnames.ora
    • $ORACLE_BASE/flash_recovery_area/(所有目录与文件)
  • 必须备份的文件
    • $ORACLE_BASE/oradata/$ORACLE_SID/
    • ORACLE_HOME/dbs
    • $ORACLE_HOME/network/admin/
  • 可选择备份
    • $ORACLE_BASE/admin/$ORACLE_SID/(dump相关的文件)
    • $ORACLE_BASE/flash_recovery_area/(如果数据库开启备份功能,flash_recovery_area里才会有数据。)

 

二.恢复Oracle 10g

    • 在机器上安装Oracle 10g软件
      • 注意点1:一定要安装对应的Oracle版本,否则会因为软件版本和数据库文件(*.dbf)版本不一致而导致运行失败。
      • 注意点2:不同安装包,相同的Oracle版本。可能会导致某些安装后的文件夹路径不一样。在数据库恢复后,你需要手动修改配置文件才能正常运。为了避免不必要的麻烦,建议使用与之前一样的Oracle安装包。
      • 注意点3:安装Oracle软件时,选择和之前相同的安装路径,避免以后修改配置文件。
    • 拷贝备份文件至对应目录,覆盖之前的文件/目录
    • 启动数据库
      • 设置环境变量
        • 开打.bash_profile文件
          • vim /home/oracle/.bash_profile
        • 置环境变量 
          • export ORACLE_BASE=/u01/app/oracle
            export ORACLE_SID
            =orcl
            export ORACLE_HOME
            =$ORACLE_BASE/product/10.1.0/db_1
            export PATH
            =$PATH:$ORACLE_HOME/bin
      • 检查tnsnames.ora,spfile$ORACLE_SID.ora文件配置是否正确
        • 检查tnsnames.ora文件:
          • vim $ORACLE_HOME/network/admin/tnsnames.ora
        • 检查spfile$ORACLE_SID.ora文件
          • [oracle@vmlincn80ce5 database]$ sqlplus / as sysdba

            SQL*Plus: Release 10.2.0.3.0 - Production on Mon Sep 28 10:22:37 2009
            Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

            Connected to
            :
            Oracle Database 10g Enterprise Edition Release 
            10.2.0.3.0 - 64bit Production
            With the Partitioning
            , OLAP and Data Mining options
            SQL
            >create pfile from spfile;
            SQL
            >exit
            [oracle
            @vmlincn80ce5 /]$vim $ORACLE_HOME/dbs/init$ORACLE_SID.ora

            ##如果没有需要修改的参数,完成退出!
            ##如果有需要修改的参数,并且已经修改完成,继续以下步骤。

            [oracle@vmlincn80ce5 database]$ sqlplus / as sysdba

            SQL
            *Plus: Release 10.2.0.3.0 - Production on Mon Sep 28 10:22:37 2009

            Copyright (c) 
            1982, 2006, Oracle.  All Rights Reserved.


            Connected to
            :
            Oracle Database 10g Enterprise Edition Release 
            10.2.0.3.0 - 64bit Production
            With the Partitioning
            , OLAP and Data Mining options
            SQL
            >create spfile from pfile;
            ##完成。
        • 启动数据库
          • [oracle@vmlincn80ce5 admin]$ sqlplus /nolog

            SQL
            *Plus: Release 10.2.0.3.0 - Production on Sun Aug 16 14:41:27 2009
            Copyright (c) 
            1982, 2005, Oracle.  All rights reserved.

            SQL
            > conn sys/youpassword as sysdba
            Connected to an idle instance
            .
            SQL
            >startup
            SQL
            > startup
            ORACLE instance started
            .

            Total 
            System Global Area  188743680 bytes
            Fixed Size                   
            778036 bytes
            Variable Size             
            162275532 bytes
            Database Buffers           
            25165824 bytes
            Redo Buffers                 524288 bytes
            Database mounted
            .
            Database opened
            .
            SQL
            >
            ##启动数据库完成!
        • 启动监听器 
        • 重新配置tnsnames.ora
        • 启动监听器 
          • [oracle@vmlincn80ce5 admin]$ lsnrctl start
    • 其他的后续操作(比如,重建同义词,DBLink.......)