【问题标题】:Simple oracle backup without using exp or expdp不使用 exp 或 expdp 的简单 oracle 备份
【发布时间】:2010-04-05 21:33:50
【问题描述】:

我在 Windows 上的 C:\oracle 中安装了 Oracle 10g。如果我停止所有 Oracle 服务,是否可以通过复制整个目录(例如,复制到 C:\oracle_bak)来安全地进行备份,还是使用 expdp 会更好?

非常欢迎指向文档/网站,我无法通过 Google 搜索到任何相关内容。

【问题讨论】:

    标签: oracle backup


    【解决方案1】:

    如果您的数据库没有在归档日志模式下运行,答案是肯定的。以下是我用来备份和恢复数据库的一些脚本。

    --- 备份.bat ---

    sqlplus "sys/passwd@database as sysdba" @shutdown.sql
    xcopy C:\oracle\oradata\database\*.* C:\oracle\oradata\backup_database\*.* /Y
    sqlplus "sys/passwd@database as sysdba" @startup.sql
    

    ----shutdown.sql

    shutdown immediate
    exit;
    

    ---- 启动.sql

    startup
    exit;
    

    恢复脚本类似。只需将文件复制到另一个方向。

    【讨论】:

    • 这似乎给我带来了很大的问题——当心。尝试通过将文件复制回 oradata 目录来恢复不起作用 - 抱怨控制文件。
    【解决方案2】:

    但是,您可以只复制数据文件(确保您也获得了控制文件,并确保您测试了您的备份)。您可能应该使用 RMAN。

    Oracle® Database Backup and Recovery Quick Start Guide 将是一个很好的起点。

    【讨论】:

      【解决方案3】:

      一个非常简单的备份方法是使用exp工具导出相关的schema。如果例如您的所有表都存在于 MY_APP 架构中(为 mysql 用户读取数据库),您可以将其所有表转储到一个文件中。

      exp userid=MY_APP file=dumpfile.dmp log=logfile.txt consistent=y statistics=none buffer=1024000
      

      将转储文件恢复到第二个数据库的工作方式如下

      imp userid=system fromuser=MY_APP touser=MY_APP file=dumpfile.dmp commit=y buffer=102400 
      

      或者您可以将表从 MY_APP 恢复到同一数据库中的另一个模式

      imp userid=system fromuser=MY_APP touser=MY_BACKUP file=dumpfile.dmp commit=y buffer=102400
      

      只需在导入前创建一个新模式 MY_BACKUP

      create user MY_BACKUP identified by SECRET default tablespace USERS temporary tablespace temp;
      grant connect, resource to MY_BACKUP;
      

      【讨论】:

        【解决方案4】:

        复制/粘贴确实有效,但您不应该简单地复制/粘贴整个 Oracle 主页。这比所需的努力要多得多。

        您首先需要执行日志切换,即

        SET ORACLE_SID=mydb
        sqlplus /nolog
        Connect / as sysdba
        Alter system switch logfile;
        

        将所有表空间置于备份模式,即

        CONNECT / AS SYSDBA
        ALTER TABLESPACE mytablespace BEGIN BACKUP;
        

        (您可以通过查询 DBA_TABLESPACES 视图来获取您的表空间)

        然后将所有数据文件和重做日志文件复制到备份位置。

        关于这种方法是否安全,这取决于您如何保留数据文件和日志文件。当然,我应该提一下,RMAN 是 Oracle 经过验证和推荐的备份模式。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-03-13
          • 2017-07-31
          • 1970-01-01
          • 2016-05-19
          • 1970-01-01
          • 2021-07-24
          • 1970-01-01
          • 2023-03-11
          相关资源
          最近更新 更多