Oracle 数据库的常用备份方法

Posted 冬天天天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 数据库的常用备份方法相关的知识,希望对你有一定的参考价值。

Oracle 数据库的常用备份方法
1、导出/导入(expdp/impdp 或 exp/imp)
    利用 exp 或 expdp 可将数据从数据库中提取出来,再利用 imp 或 impdp 将提取出来的数据送回到 Oracle 数据库中去。
2、冷备份
    冷备份发生在数据库已经正常关闭的情况下,当正常关闭时数据库是一致性的。对于备份 Oracle 数据库而言,冷备份是最快和最安全的备份方法
    冷备份中必须拷贝的文件包括:所有数据文件、所有控制文件、所有归档重做日志文件、以及初始化参数文件(可选)。冷备必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的
以下是 Oracle 数据库执行冷备份的完整方案。
    1)、 关闭数据库
.oraenv
orcl
rman target /
shut down immediate;(SQL * PLUS关机时,必须使用shut down immediate;)
    2)、 启动实例到 mount 状态
startup mount;
    3)、备份数据库
backup database;
    4)、查看备份信息
list backup of database;
    以上备份是一致性备份,因为在 immediate 关闭时执行了一次检查点,所以每个数据库文件头记录的 SNC 和控制文件记录的 SCN 号是相等的。
    5)、 打开数据库
startup;
3 、热备份
    热备份是在数据库运行的情况下对数据库进行备份的方法。热备要求数据库在 archivelog 方式下进行操作,并需要大量的归档空间。热备备份的数据库文件包括:数据文件、归档日志文件以及控制文件。
    热备的优点是:可进行表空间或数据库文件级备份、备份的时间短、备份时数据库仍可使用、可进行到秒级恢复(恢复到某一时间点上)、可对几乎所有数据库对象进行恢复、恢复快速。
     热备的不足是:不能出错,否则后果严重。若热备份不成功,则所得结果不可用于时间点的恢复。
4、热备份--RMAN 备份
    1)、目标数据库打开归档模式
archive log list;
shutdown immediate;
startup mount;
alter database archivelog;
alter database open;
archive log list;
    2 )、建立恢复目录并注册目标数据库
      1>. 使用 dbca 创建恢复目录数据库 rcat:
          配置要在其中存储恢复目录的数据库。
       CREATE TABLESPACE rcat_ts DATAFILE size 15M;
          创建恢复目录所有者。
       CREATE USER rcowner IDENTIFIED BY rcpass
        TEMPORARY TABLESPACE temp
        DEFAULT TABLESPACE rcat_ts
        QUOTA UNLIMITED ON rcat_ts;
       GRENT recovery_catalog_owner TO rcowner;  (授予角色)
          创建恢复目录。
        $rman
        RMAN>CONNECT CATALOG username/password@net_service_name(以目录所有者的身份连接到恢复目录数据库)
        RMAN>CREATE CATALOG;(执行CREATE CATALOG命令)
     2>、 在 rcat 中创建恢复目录所用表空间:
        使用 sqlplus 以 sysdba 权限连接到 rcat, 创建 rcat 表空间:
         . oraenv
         rcat
         sqlplus / as sysdba
         select instance_name, status from v$instance;
         create tablespace rcat datafile '+DATA/ract01.dbf' size 100 M;
     3>. 创建目录数据库的所有者用户 rcatowner:
         create user rcatowner identified by oracle_4U
           default tablespace rcat temporary tablespace tmp
           quota unlimited on rcat;
         grant connect, resource, recovery_catalog_owner to rcatowner;
         exit
     4>. 创建恢复目录:
        使用 RMAN 以恢复目录所有者 rcatowner 连接到 rcat 目录数据库。
         rman catalog rcatowner/oracle_4U@rcat
         create catalog;
         exit
     5>. 在恢复目录数据库中注册目标数据库:
         . oraenv
         orcl
         rman target / catalog rcatowner@rcat
         register database;
      6>.检查是否注册成功:
          list incarnation;
      7>.检查同步后恢复目录信息:
           report schema;

oracle数据库自动备份系统

参考技术A

  Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。下面我为大家分享一下oracle数据库自动备份系统的 方法 ,有需要的可以参考一下!

  oracle数据库自动备份系统

  实现过程:

  1. 建立文件 backup.bat (自定义文件名.bat)

  @echo off

  REM ###########################################################

  REM # Windows Server 2003下Oracle数据库自动备份批处理脚本

  REM ###########################################################

  REM 取当前系统时间,可能因 操作系统 不同而取值不一样

  set CURDATE=%date:~0,4%%date:~5,2%%date:~8,2%

  set CURMON=%date:~0,4%%date:~5,2%

  set CURTIME=%time:~0,2%

  REM 小时数如果小于10,则在前面补0

  if "%CURTIME%"==" 0" set CURTIME=00

  if "%CURTIME%"==" 1" set CURTIME=01

  if "%CURTIME%"==" 2" set CURTIME=02

  if "%CURTIME%"==" 3" set CURTIME=03

  if "%CURTIME%"==" 4" set CURTIME=04

  if "%CURTIME%"==" 5" set CURTIME=05

  if "%CURTIME%"==" 6" set CURTIME=06

  if "%CURTIME%"==" 7" set CURTIME=07

  if "%CURTIME%"==" 8" set CURTIME=08

  if "%CURTIME%"==" 9" set CURTIME=09

  set CURTIME=%CURTIME%%time:~3,2%%time:~6,2%

  REM 设置所有者、用户名和密码

  set OWNER=orcl

  set USER=bktcgl

  set PASSWORD=bktcgl

  REM 创建备份用目录,目录结构为oraclebak/YYYYMMDD/

  if not exist "oraclebak" mkdir oraclebak

  cd oraclebak

  if not exist "%CURMON%" mkdir %CURMON%

  set FILENAME=%CURMON%/%OWNER%_%CURDATE%_%CURTIME%.DMP

  set EXPLOG=%CURMON%/%OWNER%_%CURDATE%_%CURTIME%_log.log

  REM 调用ORACLE的exp命令导出用户数据

  exp %USER%/%PASSWORD%@%OWNER% file=%FILENAME% log=%EXPLOG% owner=%USER% grants=n

  exit

  注:

  1.bat文件可双击或直接在命令行执行,检查正确与否

  2.检查时可注释掉exit

  3.以上文件实现按月份创建文件夹,按时间生成备份文件

  2.建立windows任务

  步骤:

  开始 -> 所有程序 -> 附件 -> 系统工具 -> 任务计划程序 -> 操作 -> 创建基本任务

  -> 任务名输入"oracle_backup"(自定义任务名),执行这个任务选择每天,下一步

  -> 起始时间下午12:00,起始日期2012-7-11,下一步 ->(启动程序)下一步

  ->在 浏览 中查找刚刚写好的 backup.bat 文件 >下一步 > 完成

  注:

  1.在任务计划栏目下新增一个名为"oracle_backup"的任务计划,表明已经配置完毕。

  2.不同系统的任务计划略有不同,但基本换汤不换药,不做一一例举

  问题:系统警告"已创建新任务,但可能不能运行,因为无法设置账户信息。指定的错误是:Ox80041315:任务计划程序服务没有运行"

  原因:电脑的任务计划程序服务没有启动起来。

  解决:开始 > 所有程序 > 管理工具 > 服务,找到"Task Scheduler"服务,发现启动类型为"已禁用",

  右键单击更改为"自动",并把它启动起来,然后重新添加一次任务计划就可以了。

  3.简单解释

  1. bat:是dos下的批处理文件。批处理文件是无格式的文本文件,它包含一条或多条命令。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用 Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。

  2. Echo 命令:打开回显或关闭请求回显功能,或显示消息。

  3. @ 命令:表示不显示@后面的命令

  4. Rem 命令:注释命令

  5. If命令:if表示将判断是否符合规定的条件,从而决定执行不同的命令。

  6. exit :退出命令行

  7. GRANTS: 是权限的意思,在你导出的目标数据库中可能会有一些表的如select 权限等赋给了别的用户。

  【GRANTS=Y】导出的时候将这些权限导出,导入的时候将这些权限导入。

  【GRANTS=N】权限不被导入。

以上是关于Oracle 数据库的常用备份方法的主要内容,如果未能解决你的问题,请参考以下文章

[自动运维]oracle自动备份

ORACLE自动备份-压缩格式,定期删除.bat

7ORACLE数据库有哪几种标准备份方式?分别描述下相关内容。

5.Oracle常用命令

有关Oracle数据库的备份情况

Oracle数据库导入导出逻辑备份方法总结