`
logicgate
  • 浏览: 98422 次
  • 性别: Icon_minigender_1
  • 来自: 新力吐皮
社区版块
存档分类
最新评论

Oracle 学习笔记: 重建Control File

阅读更多

1. 以sysdba登陆,导出控制文件

alter database backup controlfile to trace;

 

2. 在%oracle_base%\oradata\%oracle_sid%\udump下找到刚刚创建的trc文件,打开它。可以看到里面包含了两段sql脚本。

-- Below are two sets of SQL statements, each of which creates a new
-- control file and uses it to open the database. The first set opens
-- the database with the NORESETLOGS option and should be used only if
-- the current versions of all online logs are available. The second
-- set opens the database with the RESETLOGS option and should be used
-- if online logs are unavailable.
-- The appropriate set of statements can be copied from the trace into
-- a script file, edited as necessary, and executed when there is a
-- need to re-create the control file.
--
--     Set #1. NORESETLOGS case
--
-- The following commands will create a new control file and use it
-- to open the database.
-- Data used by Recovery Manager will be lost.
-- Additional logs may be required for media recovery of offline
-- Use this only if the current versions of all online logs are
-- available.
-- After mounting the created controlfile, the following SQL
-- statement will place the database in the appropriate
-- protection mode:
--  ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "EPCIT" NORESETLOGS  ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 454
LOGFILE
  GROUP 1 'D:\PTC\OCU_8.0\ORADATA\EPCIT\EPCITREDO01.LOG'  SIZE 10M,
  GROUP 2 'D:\PTC\OCU_8.0\ORADATA\EPCIT\EPCITREDO02.LOG'  SIZE 10M,
  GROUP 3 'D:\PTC\OCU_8.0\ORADATA\EPCIT\EPCITREDO03.LOG'  SIZE 10M
-- STANDBY LOGFILE
DATAFILE
  'D:\PTC\OCU_8.0\ORADATA\EPCIT\EPCITSYSTEM01.DBF',
  'D:\PTC\OCU_8.0\ORADATA\EPCIT\EPCITUNDOTBS01.DBF',
  'D:\PTC\OCU_8.0\ORADATA\EPCIT\EPCITSYSAUX01.DBF',
  'D:\PTC\OCU_8.0\ORADATA\EPCIT\EPCITBLOBS01.DBF',
  'D:\PTC\OCU_8.0\ORADATA\EPCIT\EPCITINDEX01.DBF',
  'D:\PTC\OCU_8.0\ORADATA\EPCIT\EPCITUSERS01.DBF',
  'D:\PTC\OCU_8.0\ORADATA\EPCIT\EPCITWCAUDIT01.DBF'
CHARACTER SET UTF8
;
-- Configure RMAN configuration record 1
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CHANNEL','DEVICE TYPE DISK MAXPIECESIZE 100 M');
-- Configure RMAN configuration record 3
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CONTROLFILE AUTOBACKUP','ON');
-- Configure RMAN configuration record 4
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('BACKUP OPTIMIZATION','ON');
-- Configure RMAN configuration record 5
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('DEVICE TYPE','DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1');
-- Commands to re-create incarnation table
-- Below log names MUST be changed to existing filenames on
-- disk. Any one log file from each branch can be used to
-- re-create incarnation records.
-- ALTER DATABASE REGISTER LOGFILE 'D:\ORACLE\FLASH_RECOVERY_AREA\EPCIT\ARCHIVELOG\2009_02_22\O1_MF_1_1_%U_.ARC';
-- Recovery is required if any of the datafiles are restored backups,
-- or if the last shutdown was not normal or immediate.
RECOVER DATABASE
-- All logs need archiving and a log switch is needed.
ALTER SYSTEM ARCHIVE LOG ALL;
-- Database can now be opened normally.
ALTER DATABASE OPEN;
-- Commands to add tempfiles to temporary tablespaces.
-- Online tempfiles have complete space information.
-- Other tempfiles may require adjustment.
ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\PTC\OCU_8.0\ORADATA\EPCIT\EPCITTEMP01.DBF'
     SIZE 209715200  REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;
-- End of tempfile additions.
--
--     Set #2. RESETLOGS case
--
-- The following commands will create a new control file and use it
-- to open the database.
-- Data used by Recovery Manager will be lost.
-- The contents of online logs will be lost and all backups will
-- be invalidated. Use this only if online logs are damaged.
-- After mounting the created controlfile, the following SQL
-- statement will place the database in the appropriate
-- protection mode:
--  ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "EPCIT" RESETLOGS  ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 454
LOGFILE
  GROUP 1 'D:\PTC\OCU_8.0\ORADATA\EPCIT\EPCITREDO01.LOG'  SIZE 10M,
  GROUP 2 'D:\PTC\OCU_8.0\ORADATA\EPCIT\EPCITREDO02.LOG'  SIZE 10M,
  GROUP 3 'D:\PTC\OCU_8.0\ORADATA\EPCIT\EPCITREDO03.LOG'  SIZE 10M
-- STANDBY LOGFILE
DATAFILE
  'D:\PTC\OCU_8.0\ORADATA\EPCIT\EPCITSYSTEM01.DBF',
  'D:\PTC\OCU_8.0\ORADATA\EPCIT\EPCITUNDOTBS01.DBF',
  'D:\PTC\OCU_8.0\ORADATA\EPCIT\EPCITSYSAUX01.DBF',
  'D:\PTC\OCU_8.0\ORADATA\EPCIT\EPCITBLOBS01.DBF',
  'D:\PTC\OCU_8.0\ORADATA\EPCIT\EPCITINDEX01.DBF',
  'D:\PTC\OCU_8.0\ORADATA\EPCIT\EPCITUSERS01.DBF',
  'D:\PTC\OCU_8.0\ORADATA\EPCIT\EPCITWCAUDIT01.DBF'
CHARACTER SET UTF8
;
-- Configure RMAN configuration record 1
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CHANNEL','DEVICE TYPE DISK MAXPIECESIZE 100 M');
-- Configure RMAN configuration record 3
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CONTROLFILE AUTOBACKUP','ON');
-- Configure RMAN configuration record 4
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('BACKUP OPTIMIZATION','ON');
-- Configure RMAN configuration record 5
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('DEVICE TYPE','DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1');
-- Commands to re-create incarnation table
-- Below log names MUST be changed to existing filenames on
-- disk. Any one log file from each branch can be used to
-- re-create incarnation records.
-- ALTER DATABASE REGISTER LOGFILE 'D:\ORACLE\FLASH_RECOVERY_AREA\EPCIT\ARCHIVELOG\2009_02_22\O1_MF_1_1_%U_.ARC';
-- Recovery is required if any of the datafiles are restored backups,
-- or if the last shutdown was not normal or immediate.
RECOVER DATABASE USING BACKUP CONTROLFILE
-- Database can now be opened zeroing the online logs.
ALTER DATABASE OPEN RESETLOGS;
-- Commands to add tempfiles to temporary tablespaces.
-- Online tempfiles have complete space information.
-- Other tempfiles may require adjustment.
ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\PTC\OCU_8.0\ORADATA\EPCIT\EPCITTEMP01.DBF'
     SIZE 209715200  REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;
-- End of tempfile additions.

 

第一段sql是在所有online redolog没有丢失,以noresetlogs选项打开数据库的情况下使用的。第二段则是在丢失了online redolog需要resetlogs的情况下使用。

 

3. 把"Set #1. NORESETLOGS case"下的sql拷贝出来,存为reCreateCtl.sql

 

4. 以sysdba登陆,shutdown immediate。然后删除所有控制文件。再运行reCreateCtl.sql。

SQL> @reCreateCtl
ORACLE instance started.

Total System Global Area  251658240 bytes
Fixed Size                  1248356 bytes
Variable Size              83887004 bytes
Database Buffers          159383552 bytes
Redo Buffers                7139328 bytes

Control file created.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.

ORA-00283: recovery session canceled due to errors
ORA-00264: no recovery required

System altered.
Database altered.
Tablespace altered.

 

5. 成功创建了控制文件,数据库也正常打开。再没有使用Recovery Catalog的情况下,RMAN的备份资料是存在控制文件中的,重建控制文件会导致丢失备份资料库。

分享到:
评论

相关推荐

    oracle学习笔记.doc

    本文将基于“Oracle学习笔记”进行深入解析,主要涵盖Oracle的基础概念、数据文件管理、SGA组件、数据库启动与关闭、用户管理、SQL*Plus命令、视图以及同义词。 1. **数据文件管理**: - 数据文件(Datafile)是...

    Oracle课堂笔记(很全很详细的Oracle笔记)

    根据提供的信息,我们可以总结出以下关于Oracle的相关知识点: ### Oracle基础知识与分类 #### DDL (Data Definition Language) 数据定义语言 ...这些知识点对于学习Oracle数据库管理和维护具有重要的指导意义。

    数据库开发oracle学习笔记

    ### 数据库开发Oracle学习笔记详解 #### 一、Oracle服务器的启动与停止 在Oracle数据库管理中,正确地启动和停止服务器是基本且关键的操作。根据给定的学习笔记,我们可深入理解以下几点: 1. **启动Oracle ...

    oracle 学习笔记XXXXXXXX

    1. 控制文件(Control File) 控制文件是 Oracle 数据库的重要组成部分,它记录了数据库的物理结构信息、备份集信息、SCN(System Change Number)信息、CKPT(Checkpoint)信息等。控制文件通常与数据文件和日志...

    Oracle学习笔记[荐]

    这篇学习笔记主要涵盖了Oracle服务器的启动与停止,以及关于控制文件的重要信息。 一、启动Oracle Server Oracle Server的启动涉及三种不同的模式:nomount、mount和open。每个模式都有特定的用途: 1. **Nomount...

    oracle学习笔记.docx

    本篇笔记主要探讨了两个关键知识点:1) 使用SQLLoader导入数据,以及2) Oracle数据库对应用程序性能的分析。 1. SQLLoader导入数据 SQLLoader是Oracle提供的一种实用工具,用于将文本格式的数据快速导入到数据库中...

    Oracle学习笔记

    在Oracle学习笔记中,我们可以看到关于创建数据库、管理数据文件、日志文件、表空间、字符集设置、时间区调整、权限管理以及数据库操作等多个方面的内容。以下是这些知识点的详细说明: 1. **创建数据库**: 在...

    DAVE Oracle RMAN 学习笔记

    ### DAVE Oracle RMAN 学习笔记 #### RMAN(Recovery Manager)工作原理与实现过程 RMAN作为Oracle数据库的备份与恢复工具,在Oracle环境中扮演着至关重要的角色。RMAN并非直接执行备份操作,而是作为一个协调者,...

    oracle课堂笔记

    ### Oracle课堂笔记知识点总结 #### Oracle数据库概述 - **Oracle** 是一款由Oracle公司开发的关系型数据库管理系统(RDBMS)。自Oracle 8版本开始,它支持互联网技术,并且不断推出新版本,如Oracle 8i(Internet...

    oracle10g学习笔记

    ### Oracle 10g 学习笔记 #### 一、Oracle 数据库结构 在 Oracle 10g 中,数据库的组织结构非常重要,它涉及到数据如何存储以及如何进行管理。以下是一些基本概念: 1. **参数文件(Parameter File)**: - 参数...

    oracle学习及使用笔记

    ### Oracle学习及使用笔记 #### 一、Oracle学习资源网站推荐 在学习Oracle的过程中,有以下几个网站是非常有价值的: 1. **itpub.net**:itpub是Oracle社区中非常活跃的一个平台,提供了大量的技术文章、博客以及...

    ORACLE新体系-学习笔记.rar

    "ORACLE新体系-学习笔记.rar"显然是一份详细整理的Oracle数据库学习资料,旨在帮助用户深入理解Oracle的新特性和体系结构。这份笔记可能涵盖了从基础概念到高级技术的各个方面,为提升数据库管理技能提供了全面的...

    oracle笔记大全

    ### Oracle数据库基础知识与操作指南 #### 一、Oracle数据库简介 ...以上就是Oracle数据库的一些基础知识和常用操作,通过学习这些内容可以帮助初学者快速入门Oracle数据库,并为后续深入学习打下坚实的基础。

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...

    Oracle学习笔记(六)

    ### Oracle学习笔记(六) #### 一、Oracle服务器的基础架构 在深入了解Oracle之前,我们首先需要理解Oracle服务器的基本构成部分。 - **Oracle Instance**: 实例是运行时内存结构和后台进程的集合,它负责管理...

    mldn oracle 笔记

    根据提供的文件信息,可以看出这是一份关于Oracle数据库的学习笔记,主要涵盖了Oracle数据库的基本概念、安装配置、基本操作命令以及SQL语言的基础用法等知识点。接下来将详细解释这些内容。 ### Oracle简介 ...

Global site tag (gtag.js) - Google Analytics