create controlfile  --- noresetlog

由于丢失control01.ctl 

alter_karl.log 中显示:

----------------------------------------

ORA-00202: controlfile: '/home/ora_test/oradata/karl/control01.ctl'

ORA-27037: unable to obtain file status

SVR4 Error: 2: No such file or directory

Additional information: 3

ARC1: Thread not mounted

----------------------------------------

现在假设所有的备份都丢失了。则手动创建control.ctl file.(最麻烦,也是很危险的事情,因此要小心谨慎)

  1. //1.首先关闭数据库。
  2. SQL> shutdown immediate;
  3. ORA-01507: database not mounted
  4. ORACLE instance shut down.
  5. //2.在操作系统级别备份所有数据文件和联机重做日志文件。(以防万一,不要怕麻烦,万一万一了,你就死定了!)
  6. //3.借助之前备份在trace文件中的脚本创建ctl file。 /home/ora_test/admin/karl/udump/karl_ora_5037.trc
  7. SQL> STARTUP NOMOUNT
  8. ORACLE instance started.
  9. Total System Global Area  320309728 bytes
  10. Fixed Size                   731616 bytes
  11. Variable Size             285212672 bytes
  12. Database Buffers           33554432 bytes
  13. Redo Buffers                 811008 bytes
  14. //如果联机重做日志没有一同和CONTROL FILE 丢失,需要用NORESETLOG,即保留重做日志中的内容。
  15. //这样就可以对数据库进行完全恢复。
  16. //并且使用alter database open;打开DB。
  17. //如果在控制文件中修改了数据库名称,还需要修改DB_NAME参数值为新的数据库名。
  18. //注:仅仅在初始化参数文件中修改DB_NAME参数值并不能修改DB的名称,因为DB_NAME同样被记录在control file中。
  19. CREATE CONTROLFILE REUSE DATABASE "KARL" NORESETLOGS  ARCHIVELOG
  20. --  SET STANDBY TO MAXIMIZE PERFORMANCE
  21. MAXLOGFILES 50
  22. MAXLOGMEMBERS 5
  23. MAXDATAFILES 100
  24. MAXINSTANCES 1
  25. MAXLOGHISTORY 226
  26. LOGFILE
  27. GROUP 1 '/home/ora_test/oradata/karl/redo01.log'  SIZE 100M,
  28. GROUP 2 '/home/ora_test/oradata/karl/redo02.log'  SIZE 100M,
  29. GROUP 3 '/home/ora_test/oradata/karl/redo03.log'  SIZE 100M
  30. -- STANDBY LOGFILE
  31. DATAFILE
  32. '/home/ora_test/oradata/karl/system01.dbf',
  33. '/home/ora_test/oradata/karl/undotbs01.dbf',
  34. '/home/ora_test/oradata/karl/cwmlite01.dbf',
  35. '/home/ora_test/oradata/karl/drsys01.dbf',
  36. '/home/ora_test/oradata/karl/example01.dbf',
  37. '/home/ora_test/oradata/karl/indx01.dbf',
  38. '/home/ora_test/oradata/karl/odm01.dbf',
  39. '/home/ora_test/oradata/karl/tools01.dbf',
  40. '/home/ora_test/oradata/karl/users01.dbf',
  41. '/home/ora_test/oradata/karl/xdb01.dbf'
  42. CHARACTER SET UTF8
  43. ;
  44. Control file created. //此时创建成功。
  45. //注意:该脚本应当是最新的。是通过alter database backup controlfile to trace ;命令最后一次反初始化生成的。
  46. //在使用create controlfile 语句创建CTL FILE 时,如果操作不当,可能会损坏数据文件或日志文件。
  47. $ ls -l control01.ctl  //查看新创建的control file
  48. -rw-r-----   1 ora_test dba      2285568 Apr 12 16:03 control01.ctl
  49. //4. 在操作系统级别对控制文件进行备份。
  50. //5. 统一初始化参数文件中的control_files 参数为最新状态。
  51. //6. 用alter database open;打开数据库
  52. SQL> select status from v$instance;
  53. STATUS
  54. ------------
  55. MOUNTED
  56. SQL> alter database open;
  57. alter database open
  58. *
  59. ERROR at line 1:
  60. ORA-01113: file 1 needs media recovery
  61. ORA-01110: data file 1: '/home/ora_test/oradata/karl/system01.dbf'
  62. //需介质恢复,好吧既然报这个错,我会专门写一章来描述有关 控制文件和数据字典的冲突 问题。
  63. SQL> recover datafile '/home/ora_test/oradata/karl/system01.dbf'
  64. Media recovery complete.
  65. SQL> recover database;
  66. Media recovery complete.
  67. SQL> alter database open;
  68. Database altered.
  69. OK!到此数据库成功恢复control file.

警告:CREATE CONTROLFILE 语句有可能会导致数据文件与重做日志的损坏!

例如:如果在指定数据文件的名称和位置时漏掉某个数据文件,则会使数据库彻底失去该数据文件,甚至导致DB无法使用。

因此,在设置数据文件和重做日志的列表时务必确保正确无误!! 

trace 恢复脚本保证最新。

Control File (二)重建CONTROLFILE --- NORESETLOG的更多相关文章

  1. Effect of Switchovers, Failovers, and Control File Creation on Backups

    对dataguard 官方文档里面的这句话不理解,是否能给出一个样例说明: 10.2.0.5的版本号 Effect of Switchovers, Failovers, and Control Fil ...

  2. 番外:Oracle 中关于 Control File 的备份说明

    番外系列说明:该系列所有文章都将作为独立篇章进行知识点讲解,是对其他系列博文进行的补充说明,来自于博客园AskScuti. 主题:关于 Control File 控制文件备份的说明 内容预览:本篇涉及 ...

  3. ORA-00245 control file backup operation failed 分析和解决

    一.问题说明 操作系统: RedHat 5.8 数据库: 11.2.0.3 2节点RAC. 使用RMAN 备份的时候,报如下错误: ORA-00245: control file backup fai ...

  4. 10g ASM下修改control file的位置

    1.查看位置以及name是否正确 SQL> sho parameter name NAME TYPE VALUE ------------------------------------ --- ...

  5. ORA-00245: control file backup failed; target is likely on a local file system

    ORACLE11G RAC alert报错如下:Errors in file /u01/app/oracle/diag/rdbms/dljyzs/dljyzs1/trace/dljyzs1_ora_8 ...

  6. ORA-00245: control file backup failed; target is likely on a local file system (转载)

    环境:DB VERSION: 11.2.0.4.0RAC 2 nodes 问题:邮件显示rman备份失败,查看rman备份日志 Starting Control File and SPFILE Aut ...

  7. ORA-01207: file is more recent than control file -

    OS: [root@yoon ~]# more /etc/oracle-releaseOracle Linux Server release 5.7 DB: Oracle Database 11g E ...

  8. ORACLE CONTROL FILE 笔记

    控制文件包含的信息:   1.数据库的名字   2.联机重做日志文件和数据文件的名字和位置   3.数据库创建的时间戳   4.当前日志的序列号   5.检查点信息   6.备份信息   TIP:数据 ...

  9. ORA-00214: control file 控制文件版本不一致

    故障现象:今日学习oracle控制文件移动和修改,发现本机安装oracle数据库启动时只使用了一个控制文件.如下:SQL> select * from V$controlfile; STATUS ...

随机推荐

  1. Codeforces Round #362 (Div. 2)->A. Pineapple Incident

    A. Pineapple Incident time limit per test 1 second memory limit per test 256 megabytes input standar ...

  2. Mysql忘记密码修改密码

    问题重现(以下讨论范围仅限Windows环境): C:\AppServ\MySQL> mysql -u root -p Enter password: ERROR 1045 (28000): A ...

  3. Unity3D脚本中文系列教程(十三)

    http://dong2008hong.blog.163.com/blog/static/469688272014032334486/ Unity3D脚本中文系列教程(十二) ◆ function G ...

  4. 利用vim阅读源代码一个好用的工具

    阅读源代码时常常遇到找变量,函数定义的问题.vim为我们提供了一个好用的工具,ctags. 安装 ctags. 在 libvirt的源代码根目录运行 ctags -R . vim -t virConn ...

  5. auto_ptr的设计动机

    auto_ptr的设计动机 C++标准程序库提供的auto_ptr是一种智能型指针(smart pointer),帮助程序员防止“被异常抛出时发生资源泄露”. 函数的操作经常依以下模式进行: 1.获取 ...

  6. grunt下cssmin的配置参数

    每个目标的具体设置,需要参考该模板的文档minify目标的参数具体含义如下: expand:如果设为true,就表示下面文件名的占位符(即*号)都要扩展成具体的文件名. cwd:需要处理的文件(inp ...

  7. **tomcat简介之web.xml详解

    一.Tomcat背景 自从JSP发布之后,推出了各式各样的JSP引擎.Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JS ...

  8. lintcode: 中序遍历和后序遍历树构造二叉树

    题目 中序遍历和后序遍历树构造二叉树 根据中序遍历和后序遍历树构造二叉树 样例 给出树的中序遍历: [1,2,3] 和后序遍历: [1,3,2] 返回如下的树: 2 /  \ 1    3 注意 你可 ...

  9. kmalloc/kfree,vmalloc/vfree函数用法和区别

    http://blog.csdn.net/tigerjibo/article/details/6412881 kmalloc/kfree,vmalloc/vfree函数用法和区别 1.kmalloc ...

  10. 服务器端json解析

    1.客户端通过http传上来的可定都是json数据啊,json数据传到服务器端,就要通过键值对getkey方法得到具体值,对吧,然后再操控具体值. 2.JSONObject与JSONArray: Js ...