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 恢复脚本保证最新。

最新文章

  1. jquery中的children()和contents()的区别
  2. Activity中UI框架基本概念
  3. 使用ajax和history.pushState无刷新改变页面URL
  4. NBUT 1635 Explosion(最小顶点覆盖)
  5. 基于AE连通性分析
  6. Building and setting up QT environment for BeagleBone
  7. new String(byte[])和byte[]toString() 的区别
  8. 在cmd中输入ls命令出现“ls不是内部或外部命令解决
  9. DWR 整合之Hibernate
  10. phpmyadmin数据库导入大小限制的修改
  11. Xshell 使用技巧
  12. idea maven无法热布署exploded
  13. MySQL Connector/ODBC 2.50 (MyODBC 2.50)连接方式
  14. golang channle阻塞
  15. 转:Redis 3.2.1集群搭建
  16. Python之Requests的安装与基本使用
  17. P3014 [USACO11FEB]牛线Cow Line && 康托展开
  18. DrawerLayout使用
  19. EasyUI Window和Layout
  20. IOS-网络(网页开发-UIWebView,HTML,CSS,JavaScript,OC和JS代码互调)

热门文章

  1. 核稀疏表示分类(KSRC)
  2. hdu 1288 Hat's Tea
  3. PKUSC 模拟赛 day2 下午总结
  4. jdbc的通讯录CRUD
  5. FireMonkey支持的机型
  6. PowerDesigner生成的ORACLE 建表脚本中去掉对象的双引号,设置大、小写
  7. Ajax省市联动
  8. 89. Gray Code
  9. Retrofit所有知识场景汇总
  10. NOT EXISTS优化的一个案例 .