Oracle恢复步骤

合集下载

Oracle Rac备份恢复

Oracle Rac备份恢复

Oracle Rac备份恢复概述RAC 技术这两年热度不断提升,随着ORACLE推广力度不断加大以及时间的推移,RAC特性也在逐步被人所熟悉。

做为重要的数据库维护操作–备份恢复,本文将通过实际操作,演示RAC数据库环境中,MBA 实现RMAN备份与恢复。

首先要明确一点,通过RMAN创建备份集时,必须保证连接到的实例能够访问所有节点所生成的归档日志,否则会导致备份失败。

所以针对rac备份,MBA有一下2种情况。

∙各节点生成的归档文件放到共享存储上,这样自然可以确保每个节点都能够访问到,比如将归档存放到ORACLE的ASM或其它集群文件系统。

∙各节点生成的归档文件放在本地,创建共享目录作为MBA备份时使用的临时目录。

针对以上2种情况都需要开启数据库的归档模式,建立备份用户,并授予dba,sysdba的权限。

∙开启数据库归档模式(仅供参考)1) 关闭所有节点数据库实例[grid@node1 ~]$ srvctl stop database -d racdb2) 修改服务器配置参数SQL> startup mountSQL> alter system set cluster_database=false scope=spfile;注:cluster_database是用来确定数据库是否在rac环境的集群中。

如果cluster_database=true,那么对于rac数据库来说,无法在一个节点上mount exclusive数据库,也就无法更改archivelog模式。

SQL> shutdown immediate3) 开启归档模式SQL> startup mountSQL> alter database archivelog;SQL> alter database open;4) 恢复服务器配置参数SQL> alter system set cluster_database=true scope=spfile;SQL> shutdown immediate;5) 打开所有节点数据库实例[grid@node1 ~]$ srvctl start database -d racdb6) 检查归档日志是否已启用SQL> archive log list;数据库日志模式存档模式自动存档启用存档终点USE_DB_RECOVERY_FILE_DEST最早的联机日志序列98下一个存档日志序列99当前日志序列99创建备份使用的用户以及授权SQL> create user backup identified by backup;SQL> grant dba,sysdba to backup;1. 归档文件放到共享存储上1.1备份1.1.1编辑MarsServer.xml修改每个Oracle Agent端MarsServer.xml文件以下为MarsServer.xml文件内容<?xml version=”1.0″ encoding=”GB2312″?><MBA><ServerParameter><ServerName>192.168.50.106</ServerName><ServerPort>41001</ServerPort><LocalIP>192.168.50.158</LocalIP> <!–使用的是虚拟ip–><Log>6</Log><TemporaryPath></TemporaryPath><BindLocalIP>0</BindLocalIP><Encoding>GB18030</Encoding></ServerParameter><MarsOracleAgent><racdb><!– 1. 虚拟IP以及端口号,Host=,PORT=,这里例子是192.168.50.158,192.168.50.159,端口号是1521 –><!– 2. 数据库名,SERVICE_NAME = ,这里的例子是racdb–><JdbcUrl>(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.50.158)(PORT = 1521))(ADDRESS = (PROTOCOL =TCP)(HOST =192.168.50.159)(PORT = 1521))(LOAD_BALANCE = yes)(FAILOVER = ON)(CONNECT_DATA=(SERVER = DEDICATED)(SERVICE_NAME = racdb)(FAILOVER_MODE=(TYPE = SELECT)(METHOD = BASIC)(RETIRES = 20)(DELAY = 15))))</JdbcUrl><!–当前OracleAgent所在机器上的实例名,根据实际情况修改–><NodeInstanceName>racdb1</NodeInstanceName><!–其他机器上的实例名,可能是多个–><OtherNodeInstance><!–某一个具体的实例名–><NodeInstanceName>racdb2</NodeInstanceName></OtherNodeInstance></racdb><BlockSize>262144</BlockSize></MarsOracleAgent></MBA>注:汉字部分,为解释,配置文件不需要出现重启各个节点Oracle Agent服务#/usr/local/mba/scripts/MBAOracleAgent.sh restart1.1.2发送备份任务1)添加实例Racdb为公共实例名192.168.50.158 是虚IP2)以backup用户连接实例,发备份任务RMAN备份方式必须备份控制、日志和所有的表空间选择RMAN备份方式,勾选RAC选项备份成功1.2恢复1.2.1准备使用sqlplus工具连接数据库执行shutdown immediate命令。

Oracle数据备份(exp.exe)、恢复工具(imp.exe)使用方法

Oracle数据备份(exp.exe)、恢复工具(imp.exe)使用方法

Oracle 数据备份、恢复工具 (imp.exe 使用方法例子 :exp 命令格式 : EXP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN实例 : EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR或 TABLES=(T1: P1,T1: P2,假如 T1 是分区表 USERID 一定是命令行中的第一个参数。

重点字说明 (默认---------------------------------------------------USERID 用户名 /口令FULL 导出整个文件 (NBUFFER 数据缓冲区的大小OWNER 全部者用户名列表FILE 输出文件TABLES 表名列表COMPRESS 导入一个范围 (YRECORDLENGTH IO 记录的长度GRANTS 导出权限 (YINCTYPE 增量导出种类INDEXES 导出索引 (YRECORD 追踪增量导出 (YROWS 导出数据行 (YPARFILE 参数文件名CONSTRAINTS 导出限制 (YCONSISTENT 交错表一致性LOG 屏幕输出的日记文件STATISTICS 剖析对象 (ESTIMATEDIRECT 直接路径 (NTRIGGERS 导出触发器 (YFEEDBACK 显示每 x 行 (0 的进度FILESIZE 各转储文件的最大尺寸QUERY 选定导出表子集的子句以下重点字仅用于可传输的表空间TRANSPORT_TABLESPACE 导出可传输的表空间元数据(N TABLESPACES 将传输的表空间列表imp 命令 :或许 , 能够经过输入 IMP 命令和各样自变量来控制“导入”依据不一样参数。

要指定参数 ,您能够使用重点字 :格式 : IMP KEYWORD=value 或 KEYWORD=(value1,value2,...,vlaueN实例 : IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT FULL=N或 TABLES=(T1: P1,T1: P2,假如 T1 是分区表USERID 一定是命令行中的第一个参数。

Oracle数据库RMAN恢复之数据文件的恢复详解

Oracle数据库RMAN恢复之数据文件的恢复详解

除了system表空间的数据文件(mount)之外,其它数据文件可以在open(mount也可以)状态下恢复。

open状态下恢复数据文件可以减少数据库停用的时间,所以应该在open状态下恢复这些数据文件。

示例一:数据文件被误删除数据库关闭状态下删除非系统表空间数据文件。

启动数据库到mount状态。

脱机丢失的数据文件,alter database datafile n offline。

打开数据库,alter database open。

转储数据文件,restore datafile n。

使用recover datafile n 应用归档日志。

联机数据文件,alter database datafile n online。

--数据库关闭状态下删除非系统表空间数据文件。

1.[oracle@localhost ~]$ rm $ORACLE_BASE/product/10.2.0/oradatabak/example01.dbf;2.SQL> select file#,error from v$recover_file;3.FILE# ERROR4.---------- -----------------------------------------------------------------5. 5 FILE NOT FOUND6.SQL> select file#,name from v$datafile where file#=5;7.FILE# NAME8.---------- --------------------------------------------------------------------------------9. 5 /oracle/10g/oracle/product/10.2.0/oradatabak/example01.dbf10.--恢复数据文件11.RMAN> run {12.startup force mount;13.sql 'alter database datafile 5 offline';14.sql 'alter database open';15.restore datafile 5;16.recover datafile 5;17.sql 'alter database datafile 5 online';18.8> }示例二:数据文件所在磁盘出现损坏数据库关闭状态下删除非系统表空间数据文件。

Oracle ramn 备份与恢复

Oracle ramn 备份与恢复

ORACLE数据库的备份与恢复差异增量备份就是备份往前第一个备份级别小于或等于当前备份级别开始到现在的变化。

累计增量备份就是备份往前第一个备份级别小于当前备份级别开始到现在的变化。

0级备份也就是全备份,但0级备份可以在此基础之上再进行备份,但全备份就不可以。

Oracle rman 备份一、数据库全备份方法(nocatalog)1 注意rman有两个,要执行db_1/bin下那个(可以通过修改oracle变量来达到)2 在执行ramn之前要确认当前数据库是否处理Archive Mode模式,并处于Enabled下查看方式:如果不是可以通过如下方式打开并修改:SQL>startup mountSQL>alter database archivelogSQL>alter database open3全备份数据库:A先连接数据库HERMINGB查看备份列表中是否有以前备份的文件C执行全数据库备份4备份完之后可以查看一下备份出来的文件信息:5备份文件存放路径为:二、0级数据库备份A 以nocatalog方式使用rmanB连接数据库C执行0级数据库备份注:全备份与0级备份的相同点是都是将数据库全部备份下来。

全备份与0级备份的不同点是全备份不能作为增量备份,而0级可以作为增量备份。

1级备份就在0级备份的基础上进行的。

三、1级增量备份(基于0级备份之上)总结:可以将备份出来的文件考到其他介质上进行保存,并进行删除。

如果要恢复时请将该文件放回到这文件夹下,并要保存文件名不变。

说明:口令文件因为可以重新设置,所以不用备份,重做日志文件不能在非nocatalog中备份。

四、备份archivelog(参数文件+数据文件+控制文件+归档日志文件)先备份完再删除归档备份五、备份表空间A 查看有哪些表空间B备份名为TBS1的表空间六、备份控制文件七、镜像备份说明:5为TBS1表空间的编号,及对TBS1表空间进行镜像备份。

Windows系统崩溃后快速恢复Oracle数据库的妙招

Windows系统崩溃后快速恢复Oracle数据库的妙招
增长 速 度远 远 赶不 上 数据 量 的增 长速 度 ,这 使 大数 据 的传 输 和存 储 面 临重 大挑 战 。 因此 ,信 息系 统要 具 备超 大 容量 的数 据 高速 传 输 能力 ,使 大 数据 能够 顺 畅 、高 效地 流动 。 另外 ,信 息系 统要 具 备超 大 容量 的数 据 存储 能 力 ,使存 储 容 量 更 大 、传 输 时延 更 小 , 从 而 能 智 能 化 地 存 储 各 种 数 据 ,具有 良好 的 兼容 性和抗 毁 能力 。 3 . 3 数据 处 理能 力 。大 数据 的 获取 、传 输和 存 储只 是 问题 之 一 ,更 大 的难 题 是 如何 从 冗 杂 的 大 数 据 中 剥 茧 抽 丝, 自 动 化 、智 能化地 识 别最 有 价值 的信 息 , 并进 行分 析
用 数据 的前提 ,也是 决 策者 进行 制 定 决策 的依 据 。 因此 , 大 数据 时 代必 须 具备 比以往 更 强 的数据 获取 能 力 ,从 而积
累起 足 够 的数据 ,信 息系 统必 须加 强数 据获 取手 段建 设 。 3 . 2 数据 传 输和 存 储 能力 。 当前 ,大 数据 的移 动 是信 息 系统 的 最大 开 销 。同 时 ,现有 信 息系 统数 据 存储 能 力 的
《《《《《《 上接 第8 4 页
甚至相 互冲 突 的数 据 中整合 信息 , 获 取对 复杂 情 景 的更深 层
的理解 ; 可供 人们检 验 已有预 测, 探 索未知信 息, 同时提供 快 速、 可检 验 、 易理 解 . 的评估 和更 有 效的交 流手段 。 可视化 是 人们 理解 复杂现 象 , 诊释 复杂数 据 的重 要手段和 途径 。 2 . 9 大 数 据应 用 。 ( 1 )视 频 搜 索 ; ( 2 ) 内容分 析 ;

爱数Oracle定时备份恢复方案

爱数Oracle定时备份恢复方案
增量备份 包含从最近一次备份以来被修改或添加的数据库。
恢复简介
Oracle 普通恢复 使用之前的数据库备份集来实现数据库的还原,然后使用归档日志及联机日志
将数据库恢复到最新及指定时间点的状态,恢复时需要将停止数据库的生产业务;
Oracle 高级恢复 单独恢复不同类型的物理文件,包含控制文件、数据文件、日志文件、参数文
定时备份最佳实践
定时备份任务建立
【数据压缩选项】勾选该选项,可以在备份过程中,对备份数据进行压缩后, 节省磁盘空间;对于Oracle来说,是在调用Oracle rman的压缩参数对数据进 行压缩;
如果数据库为非open状态,请协调用户系统管理员,将数据库开启至open状态在 进行备份,对于正常提供生产业务的数据库来说,数据库肯定在open状态,否则 无法提供业务;
环境备份前置条件检查
归档日志状态检查
1. 数据库必须开启归档模式;
2. Oracle数据库归档路径,不能是数据库闪回区;
3. 归档路径所在的文件系统应该有足够的空间去承载用户Байду номын сангаас数据库应用;
件,在用户需要单独恢复各类型的文件时,可以选择此种恢复方式;
Oracle 表级恢复 可以在线进行表级恢复,并不影响数据库其它数据的正常业务使用;此种恢复
方式主要针对用户误删除误操作,造成的表损坏或者数据丢失,不影响业务的正常 运行;
定时备份支持功能
功能
子功能 支持 备注
备份类型
完全备份 √
增量备份 √
ORACLE数据库本身提供了对数据库物理文件进行冷备份(脱机)和在线备份两种方 式。其中,在线备份类型:完全备份、差异增量备份、累积增量备份。
备份简介
完全备份 一个或多个数据文件的一个完整副本,包含从备份开始处所有的数据块。 AnyBackup 5.0 中的完全备份对应于Oracle增量的0级备份;

orcl数据库还原语句

orcl数据库还原语句ORCL数据库是甲骨文公司开发的一种关系型数据库管理系统,被广泛应用于企业级应用程序中。

在日常运维中,数据库还原是一项非常重要的任务,它可以帮助我们恢复数据库到之前的某个时间点,以防止数据丢失或者错误操作导致的数据损坏。

本文将介绍ORCL数据库还原的相关语句和步骤。

首先,我们需要了解ORCL数据库还原的两种常见方式:物理还原和逻辑还原。

物理还原是通过备份文件来恢复数据库,而逻辑还原则是通过SQL语句来还原数据库。

对于物理还原,我们可以使用以下语句来还原数据库:1. 关闭数据库:SHUTDOWN IMMEDIATE;2. 将数据库设置为归档模式:ALTER DATABASE ARCHIVELOG;3. 还原控制文件:STARTUP MOUNT;RESTORE CONTROLFILE FROM '备份文件路径';ALTER DATABASE OPEN RESETLOGS;4. 还原数据文件和日志文件:RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;CANCEL;5. 打开数据库:ALTER DATABASE OPEN;对于逻辑还原,我们可以使用以下语句来还原数据库:1. 关闭数据库:SHUTDOWN IMMEDIATE;2. 还原数据库:STARTUP MOUNT;RESTORE DATABASE FROM '备份文件路径';RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;CANCEL;3. 打开数据库:ALTER DATABASE OPEN;无论是物理还原还是逻辑还原,我们都需要先关闭数据库,然后根据备份文件的路径来还原数据库。

在还原过程中,我们需要注意以下几点:1. 备份文件的选择:选择最新的备份文件来还原数据库,以确保数据的完整性和准确性。

关于oracle数据库补丁修复的流程

一、概述数据库作为企业重要的信息基础设施,承载着大量的业务数据和关键信息。

在数据库运行过程中,难免会出现各种各样的问题,其中安全漏洞和性能问题是最为常见的。

为了解决这些问题,Oracle公司会定期发布数据库补丁修复程序,用于修复数据库中的安全漏洞和性能问题。

本文将介绍Oracle数据库补丁修复的流程,帮助管理员和DBA了解如何正确地应用补丁修复程序,并提高数据库的安全性和稳定性。

二、准备工作1. 确定数据库版本在应用补丁修复程序之前,首先需要确认当前数据库的版本号。

不同版本的数据库补丁修复程序是针对特定版本的,如果错误地应用了不适用于当前数据库版本的补丁修复程序,会导致数据库出现更严重的问题。

2. 下载补丁修复程序访问Oracle冠方全球信息站,找到适用于当前数据库版本的补丁修复程序,并进行下载。

3. 备份数据库在应用补丁修复程序之前,务必对数据库进行全量备份。

在应用过程中出现问题,可以及时恢复数据,避免数据丢失。

三、应用补丁修复程序1. 解压补丁文件将下载的补丁修复程序文件解压到合适的目录。

2. 关闭数据库在应用补丁修复程序之前,需要先关闭数据库实例,确保数据库处于停机状态。

3. 运行补丁程序打开命令行工具,进入到补丁修复程序所在的目录,运行补丁程序,根据提示进行操作。

在应用补丁修复程序的过程中,可能会出现一些需要确认的信息,如是否继续、是否覆盖已有文件等,需要仔细审查并进行确认。

4. 启动数据库在补丁程序应用完成之后,重新启动数据库实例,确保数据库正常运行。

四、验证补丁修复效果1. 查询补丁信息使用SQL查询语句,查看数据库中已应用的补丁修复程序信息,确认补丁是否成功应用。

2. 运行测试运行一系列测试用例,验证数据库的安全性和性能是否得到提升。

如果发现问题,及时排查并解决。

五、总结数据库补丁修复是保障数据库安全和稳定运行的重要措施。

正确地应用补丁修复程序,可以及时修复数据库中的安全漏洞和性能问题,降低数据泄露和数据库崩溃的风险。

oracle恢复没有备份的数据文件

25、恢复没有备份的数据文件在数据文件崩溃之前没有任何备份的情况下,要恢复这个文件通常要符合如下条件:●所需恢复的数据文件不属于系统表空间或还原/回滚段表空间。

●由于介质损坏或用户错误操作导致数据文件的丢失,但是这个文件从来就没有备份过。

●在创建本次丢失的数据文件之前数据库处于归档模式下。

●从这个数据文件创建以来所有的归档日志文件都完整无损。

步骤:1、如果数据库是在打开状态,使用数据字典dba_data_files获取要恢复的数据文件所对应的表空间及它所对应的状态。

SQL>select tablespace_name,table_name,status from dba_data_file;2、如果数据库处在联机状态,使用数据库字典dba_tablespace获取要恢复的表空间信息,通过表空间V$database获取要恢复的数据文件是否处在联机状态。

3、如果表空间处于联机状态,要先将表空间脱机状态,也可以将数据文件设为脱机,打开数据库。

如果数据已经关闭,启动到mount状态将数据文件脱机,再打开数据库。

(1)如果数据库处于打开状态SQL>alter database datafile ‘c:\test.dbf’ offline;(2)如果数据库处于关闭状态SQL>startup mount;SQL>alter database datafile ‘c:\test.dbf’ offline;SQL>alter database open;4、使用v$recover_file查看数据文件的恢复状态5、在数据库打开状态下,使用alter database create datafile重建数据文件结构。

SQL>alter database create datafile ‘c:\test.dbf’ as‘c:\test.dbf’;6、再次使用v$recover_file查看数据文件的恢复状态7、使用:recover tablespace “表空间”,也可以使用recover datafile “数据文件”把数据从归档日志文件盒重做日志文件重新写入已经修复的数据文件。

oracle备份如何到异机还原

oracle备份如何到异机还原作者:ocpyang情景描述:有朋友问,MSSQLSERVER将数据库备份还原到其它机器很方便,基本就是傻瓜式操作,oracle有控制文件、参数文件一堆东西,觉得还原很复杂;其实不然,我抽出了点时间,简单演示下案例,朋友们,参考下!为了简单快速,我才用RMAN备份和还原--说明:(1).RMAN备份到异机恢复的时候,db_name需要相同。

如果说要想改成其他的实例名,可以在恢复成功后,用nid命令修改。

实例名的信息会记录到控制文件里,所以如果在恢复的时候,如果实例名不一致,恢复的时候会报错。

(2).恢复的路径和源库不一致时,就需要在restore命令中使用set 命令指定新位置,并且使用switch datafile all将变更信息更新的到控制文件中。

测试环境:源数据库服务器A,安装在E,备份目录已在E盘;源数据库服务器B,安装在F盘.------------------------------------一、源数据库准备工作--------------------------------------1. 查询DBIDSQL> select name,dbid from v$database;NAME DBID--------- ----------ORCL 1320546556--2. 备份源数据DBrun {configure retention policy to recovery window of 14 days;configure controlfileautobackup on; --自动开启控制文件备份configure controlfileautobackup format for device type disk to'E:\backup\controlfile\bak_%F';allocate channel c1 device type disk format 'E:\backup\data\bak_%u'; allocate channel c2 device type disk format 'E:\backup\data\bak_%u'; sql 'alter system archive log current';backup incremental level=0 database skip inaccessibleplus archivelogfilesperset 20delete all input;release channel c1;release channel c2;}allocate channel for maintenance device type disk;crosscheck backupset;delete noprompt obsolete;--或run {configure retention policy to recovery window of 14 days;allocate channel c1 device type disk format 'E:\backup\data\bak_%u'; allocate channel c2 device type disk format 'E:\backup\data\bak_%u'; sql 'alter system archive log current';backup incremental level=0 database skip inaccessibleplus archivelogfilesperset 20delete all input;--手动直接指明备份文件名和路径backup current controlfile tag='bak_ctrollfile'format='E:\backup\controlfile\bak_ctl_file_%U_%T';backup spfile tag='bak_spfile' format='E:\backup\controlfile\bak_spfile_%U_%T'; release channel c1;release channel c2;}allocate channel for maintenance device type disk;crosscheck backupset;delete noprompt obsolete;--3.手动备份spfilecreatepfile='E:\backup\inittest.ora' from spfile;------------------------------------二、目标库准备工作:---------------------------------------步骤1. 创建口令文件--如果有就不需要新建.orapwd file=F:\app\Administrator\product\11.2.0\dbhome_1\database\PWDorcl.ora password=password--步骤2.恢复参数文件--方法1.源数据库spfile并拷贝到B数据库服务器\\192.168.2.25\e$\backup\inittest.ORA复制到E:\bk\inittest.ORA--步骤3.编辑参数文件中的文件路径如路径和原来一样,则不需修改eg:- *_DUMP_DEST- LOG_ARCHIVE_DEST*- CONTROL_FILES---实例:orcl.__db_cache_size=939524096orcl.__java_pool_size=16777216orcl.__large_pool_size=16777216orcl.__oracle_base='F:\app\Administrator'#修改路径orcl.__pga_aggregate_target=855638016orcl.__sga_target=2550136832orcl.__shared_io_pool_size=0orcl.__shared_pool_size=1526726656orcl.__streams_pool_size=16777216*.audit_file_dest='F:\app\Administrator\admin\orcl\adump' #修改路径*.audit_trail='db'*.compatible='11.2.0.0.0'#修改路径*.control_files='F:\app\Administrator\oradata\orcl\control01.ctl','F:\app\Administrator\orada ta\orcl\control02.ctl','F:\app\Administrator\oradata\orcl\control03.ctl'*.db_block_size=8192*.db_domain=''*.db_name='orcl'*.db_recovery_file_dest='F:\arch' #修改路径*.db_recovery_file_dest_size=6442450944*.diagnostic_dest='F:\app\Administrator' #修改路径*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'*.log_archive_dest_1='location=f:\arch' #修改路径*.nls_date_format='yyyy-mm-ddhh:mi:ss'*.open_cursors=300*.optimizer_capture_sql_plan_baselines=TRUE*.pga_aggregate_target=845152256*.processes=150*.remote_login_passwordfile='EXCLUSIVE'*.sga_target=2536505344*.skip_unusable_indexes=TRUE*.undo_tablespace='UNDOTBS1'--步骤4.重启实例,使用已编辑好的参数文件将用pfile将B数据库服务器启动到nomout状态rman target /startupnomountpfile='e:\bk\inittest.ora'--步骤5.恢复控制文件,装载数据库rman target /setdbid 1320546556restorecontrolfile from 'e:\bk\controlfile\BAK_CTL_FILE_6LO6SON4_1_1_20130412';启动restore 于2013-04-11 13:58:58使用目标数据库控制文件替代恢复目录分配的通道: ORA_DISK_1通道ORA_DISK_1: SID=129 设备类型=DISK通道ORA_DISK_1: 正在还原控制文件通道ORA_DISK_1: 还原完成, 用时: 00:00:01输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL02.CTL输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL03.CTL完成restore 于2013-04-11 13:59:00--步骤6.将DB启动到mout状态alter database mount;数据库已装载释放的通道: ORA_DISK_1--加载备份目录CATALOG START WITH 'E:\bk';搜索与样式E:\bk 匹配的所有文件数据库未知文件的列表====================================文件名: E:\bk\controlfile\BAK_C-1320546556-20130411-03文件名: E:\bk\controlfile\BAK_CTL_FILE_65O6QILO_1_1_20130411 文件名: E:\bk\controlfile\BAK_SPFILE_66O6QILQ_1_1_20130411文件名: E:\bk\data\BAK_60O6QIGV文件名: E:\bk\data\BAK_61O6QIGV文件名: E:\bk\data\BAK_62O6QIH1文件名: E:\bk\data\BAK_63O6QIH1文件名: E:\bk\data\BAK_64O6QILM是否确实要将上述文件列入目录(输入YES 或NO)? yes正在编制文件目录...目录编制完毕已列入目录的文件的列表======================文件名: E:\bk\controlfile\BAK_C-1320546556-20130411-03文件名: E:\bk\controlfile\BAK_CTL_FILE_65O6QILO_1_1_20130411 文件名: E:\bk\controlfile\BAK_SPFILE_66O6QILQ_1_1_20130411文件名: E:\bk\data\BAK_60O6QIGV文件名: E:\bk\data\BAK_61O6QIGV文件名: E:\bk\data\BAK_62O6QIH1文件名: E:\bk\data\BAK_63O6QIH1文件名: E:\bk\data\BAK_64O6QILM--步骤7.restore 数据库7.1 恢复目录不同的情况:到Target 库查询一下:SQL> select trim(file_id),trim(file_name) from dba_data_files ORDER BY FILE_ID ASC;1 E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF2 E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF3 E:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF4 E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF6 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY02.DBF7 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY03.DBF8 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY04.DBF9 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY05.DBF11 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY06.DBF12 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY07.DBF13 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY08.DBF14 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY09.DBF15 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY10.DBF16 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY01.DBF17 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY11.DBF18 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY12.DBF19 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY13.DBF20 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY14.DBF21 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY15.DBF22 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY16.DBF23 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY17.DBF24 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY18.DBF25 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY19.DBF26 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY20.DBFSQL>select trim(file_id),trim(file_name) from dba_temp_files;1 E:\APP\ADMINISTRATOR\ORADATA\ORCL\TEMP01.DBFselect 'SET NEWNAME FOR DATAFILE'|| ' '||file_id||' '||'TO'|| ' '||''''||trim(file_name)||'''' ||';' from dba_data_files ORDER BY FILE_ID ASC;---如下实例:RUN{# rename the datafilesSET NEWNAME FOR DATAFILE 1 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF'; SET NEWNAME FOR DATAFILE 2 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF'; SET NEWNAME FOR DATAFILE 3 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF'; SET NEWNAME FOR DATAFILE 4 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF'; SET NEWNAME FOR DATAFILE 6 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY02.DBF'; SET NEWNAME FOR DATAFILE 7 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY03.DBF'; SET NEWNAME FOR DATAFILE 8 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY04.DBF'; SET NEWNAME FOR DATAFILE 9 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY05.DBF'; SET NEWNAME FOR DATAFILE 11 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY06.DBF'; SET NEWNAME FOR DATAFILE 12 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY07.DBF'; SET NEWNAME FOR DATAFILE 13 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY08.DBF'; SET NEWNAME FOR DATAFILE 14 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY09.DBF'; SET NEWNAME FOR DATAFILE 15 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY10.DBF'; SET NEWNAME FOR DATAFILE 16 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY01.DBF'; SET NEWNAME FOR DATAFILE 17 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY11.DBF';SET NEWNAME FOR DATAFILE 18 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY12.DBF';SET NEWNAME FOR DATAFILE 19 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY13.DBF';SET NEWNAME FOR DATAFILE 20 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY14.DBF';SET NEWNAME FOR DATAFILE 21 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY15.DBF';SET NEWNAME FOR DATAFILE 22 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY16.DBF';SET NEWNAME FOR DATAFILE 23 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY17.DBF';SET NEWNAME FOR DATAFILE 24 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY18.DBF';SET NEWNAME FOR DATAFILE 25 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY19.DBF';SET NEWNAME FOR DATAFILE 26 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY20.DBF';SQL "ALTER DATABASE RENAME FILE''E:\app\Administrator\oradata\orcl\REDO01.LOG''TO ''F:\app\Administrator\oradata\orcl\REDO01.LOG'' ";SQL "ALTER DATABASE RENAME FILE''E:\app\Administrator\oradata\orcl\REDO02.LOG''TO ''F:\app\Administrator\oradata\orcl\REDO02.LOG'' ";SQL "ALTER DATABASE RENAME FILE''E:\app\Administrator\oradata\orcl\REDO03.LOG''TO ''F:\app\Administrator\oradata\orcl\REDO03.LOG'' ";RESTORE DATABASE;SWITCH DATAFILE ALL;}对switch datafile all的说明:--对于nocatalog模式下,rman备份的信息是保存在控制文件里的,包括文件的路径信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

启动例程(NOMOUNT) :
仅在创建数据库或重新创建控制文件过程中,例程才会在NOMOUNT 阶段启动。

启动例程包括下列任务:
•按以下顺序从$ORACLE_HOME/dbs 读取初始化文件:
–首先读取spfileSID.ora
–如果找不到,则读取spfile.ora
–如果仍然找不到,则读取initSID.ora
使用STARTUP 指定PFILE 参数以覆盖缺省行为。

•分配SGA
•启动后台进程
•打开alertSID.log 文件和跟踪文件
必须在初始化文件中使用DB_NAME 参数对数据库命名,或使用STARTUP 命令命
加载数据库(MOUNT):
若要执行特定的维护操作,可启动例程并加载数据库,但不要打开数据库。

例如,在以下任务中必须加载数据库但不要打开数据库:
•重命名数据文件
•启用和禁用重做日志归档选项
•执行完全数据库恢复
加载数据库包括以下任务:
•使数据库与以前启动的例程关联
•定位并打开参数文件中指定的控制文件
•读取控制文件以获取数据文件和重做日志文件的名称和状态。

但是,在此时
不进行数据文件和联机重做日志文件是否存在的检查。

1.s pfile丢失
CREATE SPFILE = ‘$ORACLE_HOME/dbs/spfileDBA01.ora’FROM PFILE = ‘$ORACLE_HOME/dbs/initDBA01.ora’; STARTUP PFILE = $ORACLE_HOME/dbs/initDBA1.ora
2.控制文件丢失
修改SPFILE里CONTROLFILE定位
ALTER SYSTEM SET control_files
='$HOME/ORADATA/u01/ctrl01.ctl',
'$HOME/ORADATA/u02/ctrl02.ctl' SCOPE=SPFILE;
备份controlfile
Alter database backup controlfile to ‘d:\oracle\oradata\cfile.ctl’;
Alter database backup controlfile to trace as ‘d:\oracle\oradata\cfile.txt’;
控制文件全部丢失
在noarchive模式
redolog没有完全被覆盖(即替换的或者剩余的控制文件的信息仍在其中一个redolog中),可以用redolog中的信息做介质恢复到当前,不会有数据丢失。

1. Select * from v$log;
2. cp d:\cfile.ctl
d:\oracle\control_files\oralocal\CONTROL01.CTL
cp d:\cfile.ctl d:\oracle\control_files\oralocal\CONTROL02.CTL
cp d:\cfile.ctl d:\oracle\control_files\oralocal\CONTROL03.CTL
2. startup mount;
3. recover database until cancel;
4. recover database using backup controlfile until cancel;
d:\oracle\control_files\oralocal\CONTROL01.CTL 直到恢复
5 .alter database open resetlogs;
redolog完全被覆盖(即替换的文件或者剩余的控制文件的信息已经不在redolog中,信息已经被覆盖,redolog被重复使用了),此时要重建控制文件。

1.CFILE.TXT中创建controlfile
3、重做日志文件
强制执行日志切换
ALTER SYSTEM SWITCH LOGFILE;
强制执行检查点操作
ALTER SYSTEM CHECKPOINT;
添加联机重做日志文件组
ALTER DATABASE ADD LOGFILE GROUP 3
('$HOME/ORADATA/u01/log3a.rdo',
'$HOME/ORADATA/u02/log3b.rdo')
SIZE 1M;
添加联机重做日志文件组成员
ALTER DATABASE ADD LOGFILE MEMBER
'$HOME/ORADATA/u04/log1c.rdo' TO GROUP 1, '$HOME/ORADATA/u04/log2c.rdo' TO GROUP 2, '$HOME/ORADATA/u04/log3c.rdo' TO GROUP 3; 删除重做日志文件组
ALTER DATABASE DROP LOGFILE GROUP 3;
限制:
• 一个例程至少需要两组联机重做日志文件。

• 无法删除活动组或者当前组。

• 删除联机重做日志文件组时并不删除操作系统文件。

删除重做日志文件成员
ALTER DATABASE DROP LOGFILE MEMBER
'$HOME/ORADATA/u04/log3c.rdo';
限制:
• 如果要删除的是组内的最后一个有效成员,那么您不能删除该成员。

• 如果该组是当前组,那么必须先强制执行日志文件切换,然后才能删除该成员。

• 如果数据库正运行在ARCHIVELOG 模式下并且未将该成员所属日志文件
组归档,那
么您无法删除该成员。

• 删除联机重做日志文件成员时,如果没有使用OMF 功能,则不会删除操作系统文件。

查看重做日志成员
SELECT MEMBER FROM V$LOGFILE;
查看组和成员的信息
SQL> SELECT group#, sequence#, bytes, members, status FROM v$log;
不完全恢复
SQL>select * from v$log;
SQL> recover database until cancel;
ORA-00280: change 309043 for thread 1 is in sequence #61 ORA-00278: log file ... no longer needed for this recovery Specify log: {<RET>=suggested | filename | AUTO | CANCEL} cancel
Media recovery complete.
SQL> alter database open resetlogs;
启动数据库
打开数据库(OPEN):
正常的数据库操作指启动例程、加载数据库和打开数据库。

通过正常的数据库操作,任何
有效用户都可以连接到数据库并执行一般的数据访问操作。

打开数据库包括以下任务:
•打开联机数据文件
•打开联机重做日志文件
如果在尝试打开数据库时有任何数据文件或联机重做日志文件不存在,Oracle 服务器将返
回错误消息。

在这个最后阶段中,Oracle 服务器验证所有数据文件和联机重做日志文件是否可以打开,
并检查数据库的一致性。

如果需要,系统监视(SMON) 后台进程将启动例程恢复操作。

相关文档
最新文档