灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2297回复:0

[SQL Server]重建控制文件--Rebuild controlfile

楼主#
更多 发布于:2012-09-04 18:08


重建控制文件时DBA需要知道,但是也许整个职业生涯都不会再生产系统上遇见。
    首先强调,备份是最安全,快捷,有效的恢复方式,一个DBA,如果没有规划好有效的备份,终有一天,他会被噩梦惊醒。
       梦醒之后,就是无奈的,繁杂的手工恢复。而且,恢复到什么程度,就要看天,看命,反正不能看自己了,因为没有备份,你已经将主动权完全交个别人。这里就记录一下controlfile的重建
     在其他正常的数据库上创建controlfile trace
1. SQL> alter database backup controlfile to trace;
       trace 文件路径在user_dump_dest下

1. SQL> show parameter user_dump_dest
2.
3. NAME            TYPE         VALUE
4. --------------  ------       ------------------------------------------------
5. user_dump_dest  string       /home/oracle/admin/R10105/udump/
6. After navigating to the directory locate the latest trace file by date/time by issuing:   ls -ltr.
7.
8. % cd /home/oracle/admin/R10105/udump/
9. % ls -ltr
    一个完整的trace请参考附件
    你可以修改trace文件的路径等具体参数值,并提取其中的创建脚本
1. STARTUP NOMOUNT
2. CREATE CONTROLFILE REUSE DATABASE "R10105" NORESETLOGS  ARCHIVELOG
3.     MAXLOGFILES 16
4.     MAXLOGMEMBERS 3
5.     MAXDATAFILES 100
6.     MAXINSTANCES 8
7.     MAXLOGHISTORY 454
8. LOGFILE
9.   GROUP 1 '/opt/oracle/oradata/R10105/redo01.log'  SIZE 10M,
10.   GROUP 2 '/opt/oracle/oradata/R10105/redo02.log'  SIZE 10M,
11.   GROUP 3 '/opt/oracle/oradata/R10105/redo03.log'  SIZE 10M
12. -- STANDBY LOGFILE
13. DATAFILE
14.   '/opt/oracle/oradata/R10105/system01.dbf',
15.   '/opt/oracle/oradata/R10105/undotbs01.dbf',
16.   '/opt/oracle/oradata/R10105/sysaux01.dbf',
17.   '/opt/oracle/oradata/R10105/users01.dbf',
18.   '/opt/oracle/oradata/R10105/example01.dbf'
19. CHARACTER SET AL32UTF8
20. ;
    注册archivelog
1. -- ALTER DATABASE REGISTER LOGFILE '/home/oracle/flash_recovery_area/R10105/archivelog/2012_06_15/o1_mf_1_1_%u_.arc';
2. -- ALTER DATABASE REGISTER LOGFILE '/home/oracle/flash_recovery_area/R10105/archivelog/2012_06_15/o1_mf_1_1_%u_.arc';
3. -- Recovery is required if any of the datafiles are restored backups,
4. -- or if the last shutdown was not normal or immediate.
5. RECOVER DATABASE  www.atcpu.com
6. -- All logs need archiving and a log switch is needed.
7. ALTER SYSTEM ARCHIVE LOG ALL;
8. -- Database can now be opened normally.
9. ALTER DATABASE OPEN;
10. -- Commands to add tempfiles to temporary tablespaces.
11. -- Online tempfiles have complete space information.
12. -- Other tempfiles may require adjustment.
13. ALTER TABLESPACE TEMP ADD TEMPFILE '/opt/oracle/oradata/R10105/temp01.dbf'
14.      SIZE 20971520  REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;
15. -- End of tempfile additions.
16. --
     其实重建控制文件,就是相当于手动重新建库,把现有的数据库资源,逐一添加到controlfile中,最后注册目前的archivelog文件。
    同时,重建controlfile分为NORESETLOGS和RESETLOGS两种,根据需求选择相应的脚本。

作者:hsbxxl

喜欢0 评分0
游客

返回顶部