重建控制文件--Rebuild controlfile
3926 点击·0 回帖
![]() | ![]() | |
![]() | 重建控制文件时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 | |
![]() | ![]() |