我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么恢复在全备后添加了数据文件的数据库

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么恢复在全备后添加了数据文件的数据库

这篇文章主要介绍了怎么恢复在全备后添加了数据文件的数据库,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

参考
How to Recover a Database Having Added a Datafile Since Last Backup (文档 ID 29430.1)

HOW TO RECOVER A DATABASE HAVING ADDED A DATAFILE SINCE THE LAST BACKUP
-----------------------------------------------------------------------

This bulletin outlines the steps required in performing database recovery
having added a datafile to the database since the last backup was taken. 
Section A is applicable to Oracle release 7.x. Section B applies only to
Oracle releases 7.3.x and above.

PLEASE READ THROUGH ALL STEPS AND WARNINGS BEFORE ATTEMPTING TO USE THIS
BULLETIN.


A. Current controlfile, backup of datafile exists (Oracle release 7.x)
   ===================================================================

 A valid (either hot or cold) backup of the datafiles exists, except for the
 datafile created since the backup was taken. The current controlfile exists. 
 The database is in archivelog mode (see note (c) at bottom of page).

 1. Restore ONLY the datafiles (those that have been lost or damaged) from the 
    last hot or cold backup. The current online redo logs and control file(s) 
    must be intact.

 2. Mount the database

 3. Create a new datafile using the 'ALTER DATABASE CREATE DATAFILE' command.

    a. The datafile can be created with the same name as the original
       file. For example,

       SQLDBA> alter database create datafile
            2> '/dev1/oracle/dbs/testtbs.dbf';
       Statement processed.
 
    b. The datafile can be created with a different filename to the original. 
       This option might be chosen if the original file was lost due to disk 
       failure and the failed disk was still unavailable; the new file would 
       then be created on a different device. For example,

       SQLDBA> alter database create datafile
            2> '/dev1/oracle/dbs/testtbs.dbf'
            3> as
            4> '/dev2/oracle/dbs/testtbs.dbf';
       Statement processed.

       The above command creates a new datafile on the dev2 device. The file
       is created using information, stored in the control file, from the 
       original file. The command implicitly renames the filename in the 
       control file.
   
       NOTE: IT IS VERY IMPORTANT TO SPECIFY THE CORRECT FILENAME WHEN
             RECREATING THE LOST DATAFILE. IF YOU SPECIFY AN EXISTING
             ORACLE DATAFILE, THAT DATAFILE WILL BE INITIALISED AND WILL
             ITSELF REQUIRE RECOVERY.

 4. Recover the database.

    SQLDBA> recover database
    ORA-00279: Change 6677 generated at 06/03/97 15:20:24 needed for thread 1
    ORA-00289: Suggestion : /dev1/oracle/dbs/arch/arch000074.arc
    ORA-00280: Change 6677 for thread 1 is in sequence #74
    Specify log: {=suggested | filename | AUTO | CANCEL}
    
    At this point the recovery procedure will wait for the user to supply the
    information requested regarding the name and location of the archived log
    files. For example, entering AUTO directs Oracle to apply the suggested 
    redo log and any others that it requires to recover the datafiles.

    Applying suggested logfile...
    Log applied.
              :
              :
    
              :
              :
    Media recovery complete.

 5. Open the database

    SQLDBA> alter database open;
    Statement processed.



B. Old controlfile, no backup of datafile (Oracle release 7.3.x and above)
   =======================================================================

 A valid (either hot or cold) backup of the datafiles exists, except for the
 datafile created since the backup was taken. The controlfile is a backup from
 before the creation of the new datafile. The database is in archivelog mode 
 (see note (c) at bottom of page).

 NOTE : 'svrmgrl' has been replaced by SQL*Plus starting from Oracle8i
        So the 'SVRMGR>' prompt is than replaced by 'SQL>'

 1. Restore the datafiles (those that have been lost or damaged) from the 
    last hot or cold backup. Also restore the old copy of the controlfile.
    The current online redo logs must be intact.

 2. Mount the database

 3. Start media recovery, specifying backup controlfile

    SVRMGR> recover database using backup controlfile
    ORA-00279: Change 6677 generated at 06/03/97 15:20:24 needed for thread 1
    ORA-00289: Suggestion : /dev1/oracle/dbs/arch/arch000074.arc
    ORA-00280: Change 6677 for thread 1 is in sequence #74
    Specify log: {=suggested | filename | AUTO | CANCEL}

    At this point, apply the archived logs as requested. Eventually Oracle
    will encounter redo to be applied to the non-existent datafile. The 
    recovery session will exit with the following message, and will return
    the user to the Server Manager prompt:

    ORA-00283: Recovery session canceled due to errors
    ORA-01244: unnamed datafile(s) added to controlfile by media recovery
    ORA-01110: data file 5: '/dev1/oracle/dbs/testtbs.dbf'
 
 4. Recreate the missing datafile. To do this, select the relevant filename 
    from v$datafile:

    SVRMGR> select name from v$datafile where file#=5;
    NAME
    -------------------------------------------------------
    UNNAMED0005

    Now recreate the file:

    SVRMGR> alter database create datafile
         2> 'UNNAMED0005'
         3> as
         4> '/dev1/oracle/dbs/testtbs.dbf';



 5. Restart recovery

    SVRMGR> recover database using backup controlfile
    ORA-00279: Change 6747 generated at 09/24/97 16:57:18 needed for thread 1
    ORA-00289: Suggestion : /dev1/oracle/dbs/arch/arch000079.arc
    ORA-00280: Change 6747 for thread 1 is in sequence #79
    Specify log: {=suggested | filename | AUTO | CANCEL}

    Apply archived logs as requested. Prior to Oracle8, recovery must apply
    the complete log which was current at the time of the datafile creation
    (in the above example, this would be log sequence 79). A recovery to a
    point in time before the end of this log would result in errors:

    ORA-01196: file 1 is inconsistent due to a failed media recovery session
    ORA-01110: data file 1: '/dev1/oracle/dbs/systbs.dbf'

    If this happens, re-recover the database and ensure that the complete log
    is applied (plus any further redo if required). This limitation does
    not exist from Oracle 8.0+.

    Eventually, Oracle will request the archived log corresponding to the 
    current online log. It does this because the (backup) controlfile has no 
    knowledge of the current log sequence. If an attempt is made to apply the 
    suggested log, the recovery session will exit with the following message:

    ORA-00308: cannot open archived log '/dev1/oracle/dbs/arch/arch000084.arc'
    ORA-07360: sfifi: stat error, unable to obtain information about file.
    SVR4 Error: 2: No such file or directory

    At this stage, simply restart the recovery session and apply the current
    online log. The best way to do this is to try applying the online redo 
    logs one by one until Oracle completes media recovery:

    SVRMGR> recover database using backup controlfile
    ORA-00279: Change 6763 generated at 09/24/97 16:57:59 needed for thread 1
    ORA-00289: Suggestion : /dev1/oracle/dbs/arch/arch000084.arc
    ORA-00280: Change 6763 for thread 1 is in sequence #84
    Specify log: {=suggested | filename | AUTO | CANCEL}
    /dev1/oracle/dbs/log2.dbf
    Log applied.
    Media recovery complete.

 6. Open the database

    SVRMGR> alter database open resetlogs;

    The resetlogs option must be chosen to resynchronize the controlfile. 

    
NOTES:
======

a) These techniques can be used whether the database was closed either 
   cleanly or uncleanly (aborted).

b) If the database is recovered using an incomplete recovery technique (either
   time-based, cancel-based, or change-based), and is recovered to a point in
   time before the datafile was originally created, any references to that
   datafile will be removed from the database when the database is opened.

   Oracle handles this situation as follows:

   - The 'alter database create datafile....' command creates a reference in 
     the controlfile for the datafile.
   - Incomplete recovery terminates before applying redo that would create a
     corresponding row for the datafile in the file$ dictionary table.
   - When the database is opened, Oracle detects an inconsistency between file$
     and the controlfile and resolves in favour of file$, deleting the entry
     from the controlfile. 

c) It may be possible to recover the datafile using this technique even if the
   database is not in archivelog mode. However, this relies on the required 
   redo being available in the online redo logs.

感谢你能够认真阅读完这篇文章,希望小编分享的“怎么恢复在全备后添加了数据文件的数据库”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么恢复在全备后添加了数据文件的数据库

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

云服务器数据库备份文件怎么恢复

备份数据通常包含以下信息:时间戳。这些数据是历史数据的标识符,用于跟踪数据的访问时间。备份设备。这些数据指的是我们将数据从本地硬盘或云存储备份中复制到的设备上的名称或IP地址。数据。这些数据是原始数据的副本,其中包括数据的基本要素,例如文本、图片、音频或视频。在恢复备份数据时,以下步骤是必不可少的:将备份数据复制到云存
2023-10-27

数据库备份与恢复策略:守护数据安全的坚实后盾

数据库备份与恢复策略是确保数据安全的重要手段,本文将提供一套全面的策略,涵盖备份类型、备份频率、备份存储介质、备份验证、恢复测试等方面,帮助企业有效保护数据。
数据库备份与恢复策略:守护数据安全的坚实后盾
2024-02-10

php怎么在文件结尾添加数据

本篇内容主要讲解“php怎么在文件结尾添加数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php怎么在文件结尾添加数据”吧!直接开始正题!我们有一个名为“test.txt”的文本文件,里面的内
2023-06-20

怎么在mysql数据库中添加备注信息

这期内容当中小编将会给大家带来有关怎么在mysql数据库中添加备注信息,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、创建表的时候,添加表名备注和字段备注CREATE TABLE `healerjean
2023-06-06

云服务器数据库备份文件怎么恢复到桌面

使用Windows自带的备份和还原功能:打开控制面板,点击“备份和还原”,选择你要备份的文件夹,然后点击“开始备份”,等待备份完成即可。使用第三方备份工具:有些第三方备份工具支持将云服务器数据库备份到桌面,比如AmazonS3或GoogleCloudBackup。可以使用这些工具来备份你的云服务器数据库,然后将备份文件恢复到桌面。这些工具有多种功能,比如自动备份和还原、备份策略配置等,可以根据自己的需求选择适合的工具。
2023-10-27

sqlserver数据库加密后无法使用MDF,LDF,log文件名称被修改的数据恢复怎么办

这篇文章主要介绍了sqlserver数据库加密后无法使用MDF,LDF,log文件名称被修改的数据恢复怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。故障:2个SQL s
2023-06-29

云服务器数据备份到本地文件怎么恢复不了

如果你在云服务器上备份了数据,并且想要将备份数据恢复到本地文件中,但是无法成功恢复,可能有以下几个原因:1.备份文件损坏:备份文件可能在传输或存储过程中出现了损坏,导致无法正确恢复数据。你可以尝试重新备份数据,并确保备份文件完整无损。2.备份文件格式不兼容:备份文件的格式可能与本地文件格式不兼容,导致无法正确恢复数据。你可以尝试将备份文件转换为本地文件格式,或者使用兼容的恢复工具。3.备份文件路径错误:...
2023-10-27

linux怎么恢复rm误删除的数据库文件

这篇文章主要介绍“linux怎么恢复rm误删除的数据库文件”,在日常操作中,相信很多人在linux怎么恢复rm误删除的数据库文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux怎么恢复rm误删除的数据
2023-06-13

Linux中怎么安全的备份和恢复数据

在Linux中,可以使用工具如rsync、tar、cp等来安全备份和恢复数据。使用rsync:备份数据:可以使用rsync命令来备份数据,例如:rsync -avz /source/folder/ /destination/folder/
Linux中怎么安全的备份和恢复数据
2024-03-06

阿里云数据库恢复备份文件的详细步骤

在使用阿里云数据库的过程中,可能会遇到各种问题,其中可能就包括数据库的备份文件丢失。这时候,我们需要了解如何恢复阿里云数据库的备份文件。本文将详细说明如何操作。步骤1:登录阿里云控制台首先,我们需要登录阿里云的控制台。在控制台的右上角,点击"登录"按钮,然后按照提示输入账号和密码进行登录。步骤2:找到阿里云数据库
阿里云数据库恢复备份文件的详细步骤
2023-12-09

编程热搜

目录