--查看控制文件路径

show parameter control_files;

--控制文件的备份,三种方式
1)使用OS命令进行拷贝;
1)open状态下,使用alter database命令生成控制文件副本;
2)open状态下,使用alter database backup controlfile to trace命令将控制文件备份到跟踪文件;

--控制文件的恢复,两种方式
1)mount状态下,使用recover database using backup controlfile
2)mount状态下,生成跟踪文件并进行恢复

--备份ctl

SQL> alter database backup controlfile to 'D:\Oracle\backup\control_bak.ctl';

--备份trace脚本

SQL> alter database backup controlfile to trace as 'D:\Oracle\backup\ctl.sql';

--从ctl恢复

SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             306187140 bytes
Database Buffers          297795584 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。

SQL> select * from v$log;

GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ---------
FIRST_CHANGE# FIRST_TIME
------------- --------------
         1          1          8   52428800          2 YES INACTIVE
      1157323 30-11月-12

3          1          9   52428800          2 YES INACTIVE
      1158104 30-11月-12

2          1         10   52428800          2 NO  CURRENT
      1158418 30-11月-12

SQL> recover database using backup controlfile until cancel;
ORA-00279: 更改 1158810 (在 11/30/2012 15:10:32 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\DBTEST\ARCHIVELOG\2012_11_30\O1_MF_

1_10_%U_.ARC
ORA-00280: 更改 1158810 (用于线程 1) 在序列 #10 中
指定日志: {=suggested | filename | AUTO | CANCEL}
D:\Oracle\product\10.2.0\oradata\dbtest\redo02.log
已应用的日志。
完成介质恢复。
SQL> alter database open resetlogs;

数据库已更改。

--从trace脚本恢复(nomount状态,去掉前面的空格,蓝色部分可以不要)

SQL>@'D:\Oracle\backup\ctl.sql';

CREATE CONTROLFILE REUSE DATABASE "DBTEST" NORESETLOGS  ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 (
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\REDO01A.LOG',
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\REDO01.LOG'
) SIZE 50M,
GROUP 2 (
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\REDO02.LOG',
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\REDO02A.LOG'
) SIZE 50M,
GROUP 3 (
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\REDO03.LOG',
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\REDO03A.LOG'
) SIZE 50M
DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\SYSTEM01.DBF',
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\UNDOTBS01.DBF',
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\SYSAUX01.DBF',
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\USERS01.DBF',
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\EXAMPLE01.DBF'
CHARACTER SET ZHS16GBK;

SQL> alter database open;

注意:脚本语句前面不要留空格。

Oracle基础 06 控制文件 controlfile的更多相关文章

  1. Oracle控制文件多路复用以及Oracle备份重建控制文件

    控制文件中记录了oracle数据库的物理结构,也就是记录了数据库数据文件和日志文件的位置,控制文件中还记录了多种SCN,用这些SCN来确定数据文件和日志文件是否是正确的.如果不正确那么数据库就需要恢复 ...

  2. Oracle 控制文件(CONTROLFILE)

    一.Oracle 控制文件 为二进制文件,初始化大小由CREATE DATABASE指定,可以使用RMAN备份 记录了当前数据库的结构信息,同时也包含数据文件及日志文件的信息以及相关的状态,归档信息等 ...

  3. 【Oracle】RAC控制文件多路复用

    1.—关闭数据库,各个节点都要关闭: [oracle@rac1 ~]$ srvctl stop database -d racdb -o immediate 2.—启动任一节点到nomount状态: ...

  4. Oracle RMAN 恢复控制文件到指定的路径

    Oracle 数据库通过RMAN恢复控制文件到指定的路径 --------------------------------------------------------- 先查询备份集信息,再指定备 ...

  5. oracle 11g 添加控制文件

    OS: Oracle Linux Server release 5.7 DB: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - ...

  6. 【ORACLE】重写控制文件

    [oracle@rac01 ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Thu Mar 15 23:45:02 ...

  7. Oracle体系结构之控制文件的多路复用技术

    在Windows操作系统中,如果注册表文件被损坏了,就会影响操作系统的稳定性.严重的话,会导致操作系统无法正常启动.而控制文件对于Oracle数据库来说,其作用就好象是注册表一样的重要.如果控制文件出 ...

  8. oracle之二控制文件

    控制文件 3.1 控制文件的功能和特点:       1)定义数据库当前物理状态,不断在往controlfile写入[SCN等]       2)维护数据的一致性       3)是一个二进制文件   ...

  9. oracle通过修改控制文件scn推进数据库scn

    数据库当前scn 代码如下 复制代码 idle> select checkpoint_change# from v$database; CHECKPOINT_CHANGE#----------- ...

随机推荐

  1. spring boot接口 支持https

    1.拥有证书,可自己生成测试用javatool生成 keytool -keystore [keyname].jks -genkey -alias tomcat -keyalg RSA 接下来输入相关信 ...

  2. 剑指offer-数值的整数次方12

    class Solution: def Power(self, base, exponent): # write code here if base==0: return 0 if exponent= ...

  3. JQuery Ajax执行过程AOP拦截

    JQuery Ajax过程AOP:用于在Ajax请求发送过程中执行必备操作,比如加载数据访问令牌. $.ajaxSetup({ type: "POST", error: funct ...

  4. [org.hibernate.engine.jdbc.spi.SqlExceptionHelper]SQL Error: 1064, SQLState: 42000问题的解决办法

    [org.hibernate.engine.jdbc.spi.SqlExceptionHelper]SQL Error: 1064, SQLState: 42000问题的解决办法. 出现这种情况的原因 ...

  5. windows apache启动报错

    Windows启动Apache时报错 he requested operation has failed 有可能80端口被占或者项目路径不存在等 首先找到问题原因 cmd--命令端--切换到apach ...

  6. Google Play sign sha1 转 Facebook login 需要的 hashkey

    :4E:::::3A:1F::A6:0F:F6:A1:C2::E5::::2E | xxd -r -p | openssl base64 输出 M05IhBlQOh9jpg/2ocIx5QE4VS4= ...

  7. P4467 [SCOI2007]k短路

    题目描述 有 n 个城市和 m 条单向道路,城市编号为 1 到 n .每条道路连接两个不同的城市,且任意两条道路要么起点不同要么终点不同,因此 n 和 m 满足 m \le n(n-1)m≤n(n−1 ...

  8. [洛谷P1887]乘积最大3

    题目大意:请你找出$m$个和为$n$的正整数,他们的乘积要尽可能的大.输出字典序最小的方案 题解:对于一些数,若它们的和相同,那么越接近它们的乘积越大. 卡点:无 C++ Code: #include ...

  9. Laravel中Redis的使用

    安装 laravel中使用redis首先需要你通过 Composer 安装 predis/predis 包: composer require predis/predis 配置 redis的配置文件是 ...

  10. 【BZOJ 4514】[Sdoi2016]数字配对 费用流

    利用spfa流的性质,我直接拆两半,正解分奇偶(妙),而且判断是否整除且质数我用的是暴力根号,整洁判断质数个数差一(其他非spfa流怎么做?) #include <cstdio> #inc ...