1 参数文件
对于参数文件,启动根据如下顺序查找参数文件,先查找spfile 一般情况下pfile保存在$ORACLE_HOME/dbs下,其中内容制定SPFILE位置,SPFILE保存在裸设备上,主被机共享。参数文件中保存数据库启动的初始参数,如控制文件位置等。 格式 SPfile Binary 利用alter system进行修改 编辑查看方式 通过strings SPfile 如果损坏或丢失,从其他机器拷贝一个initora01.ora到$ORACLE_HOME/dbs %sqlplus / as sysdba SQL>startup pfile=’?/dbs/initora01.ora’; 2 控制文件 数据库启动到nomount状态后,可以查询v$parameter视图,获得控制文件信息,这部分信息来自启动的参数文件,oracle从参数文件spfile/pfile中获得控制文件的位置信息,找到控制文件,启动到MOUNT状态下,可以查询v$controlfile视图获得关于控制文件的信息,可以通过sql语句(select * from v$controlfile;),数据库读取控制文件controlfile中的内容,并按照控制文件中指定的参数找到相应的数据文件,并启动数据库的归档或非归档状态。 控制文件中包含的内容 数据库的名字、ID、创建的时间戳 表空间的名字 精选文档 联机日志文件、数据文件的位置、个数、名字 联机日志的Sequence号码 检查点的信息 撤销段的开始或结束 归档信息 备份信息 2.1 控制文件恢复: 损坏或丢失部分控制文件: SQL>shutdown immediate; SQL>startup nomount; 修改数据库控制文件,将坏的那个排除在外: SQL>alter system set control_files='+DG_ORA/ora11g/control02.ctl','+DG_ORA/ora11g/control03.ctl' scope=spfile\"; SQL>alter database open; 损坏或丢失全部控制文件: (获取恢复脚本SQL>alter database backup controlfile to trace;) STARTUP NOMOUNT CREATE CONTROLFILE REUSE DATABASE \"ORA11G\" NORESETLOGS FORCE LOGGING ARCHIVELOG MAXLOGFILES 200 MAXLOGMEMBERS 3 MAXDATAFILES 1024 MAXINSTANCES 8 MAXLOGHISTORY 2920 LOGFILE GROUP 1 '+DG_ORA/ora11g/ora_redo01_1' SIZE 1000M BLOCKSIZE 512, GROUP 2 '+DG_ORA/ora11g/ora_redo02_2' SIZE 1000M BLOCKSIZE 512, GROUP 3 '+DG_ORA/ora11g/ora_redo03_3' SIZE 1000M BLOCKSIZE 512, GROUP 4 '+DG_ORA/ora11g/ora_redo04_4' SIZE 1000M BLOCKSIZE 512, GROUP 5 '+DG_ORA/ora11g/ora_redo05_5' SIZE 1000M BLOCKSIZE 512, — 2 GROUP 6 '+DG_ORA/ora11g/ora_redo06_6' SIZE 1000M BLOCKSIZE 512 DATAFILE '+DG_ORA/ora11g/ora_system', '+DG_ORA/ora11g/ora_sysaux01', '+DG_ORA/ora11g/ora_rbs01', '+DG_ORA/ora11g/ora_user', '+DG_DATA/drora11g/datafile/scudatatbs.267.8439685', '+DG_DATA/drora11g/datafile/scudatatbs_add1', '+DG_DATA/drora11g/datafile/scudatatbs_add2', '+DG_DATA/drora11g/datafile/scudatatbs_add3', '+DG_DATA/drora11g/datafile/scudatatbs_add4', '+DG_DATA/drora11g/datafile/scudatatbs_add5', '+DG_DATA/drora11g/datafile/scudatatbs_add6', '+DG_DATA/drora11g/datafile/scudatatbs_add7', '+DG_DATA/drora11g/datafile/scudatatbs_add8', '+DG_DATA/drora11g/datafile/scudatatbs_add9' CHARACTER SET AL32UTF8; RECOVER DATABASE ALTER SYSTEM ARCHIVE LOG ALL; ALTER DATABASE OPEN; ALTER TABLESPACE TEMP ADD TEMPFILE '+DG_ORA/ora11g/ora_temp01' SIZE 10240M REUSE AUTOEXTEND OFF; 3 数据文件 3.1 数据文件恢复: SQL> select * from v$recover_file; 7 OFFLINE OFFLINE 31471902 3/7/2014 2:31:33 AM 8 OFFLINE OFFLINE 31471902 3/7/2014 2:31:33 AM — 精选文档 3 精选文档 rman target / nocatalog RMAN> restore datafile 7; RMAN> recover datafile 7; RMAN> sql 'alter database datafile 7 online'; rman target / nocatalog RMAN> restore datafile 8; RMAN> recover datafile 8; RMAN> sql 'alter database datafile 8 online'; 4 重做日志文件 redo主要由三部分组成, redo log buffer, LGWR进程,以及redo log file三部分组成。 1, redo log buffer 是一块可重用的区域,大小可以设定, 2, logfile 是由一个不能少于2 个group组成,每个group 不少于1个member成员,当一个group中的member成员同时写满后,就会自动切换到下一个group,也可以用手工强行切换 3, 当在归档模式时,logfile 就会自行写入archive logfile, 当如果运行在非归档模式时,logfile 就会被循环覆盖掉.也就是以前的logfile 会丢弃掉. 4.1 重做日志文件恢复: 非当前redolog恢复: selectgroup#,thread#,sequence#, archived,status from v$log; GROUP# THREAD# SEQUENCE# ARC STATUS ---------- -------------------- --- ---------------- 1 1 4492 NO INACTIVE 2 1 4493 NO INACTIVE 3 1 4494 NO INACTIVE 4 1 4495 NO INACTIVE 5 1 4496 NO INACTIVE — 4 6 1 4497 NO INACTIVE 7 1 4498 NO CURRENT 8 1 4487 NO INACTIVE 发现误删的redo文件不是当前redo日志,使用如下方法恢复: alter database clearunarchived logfile group 1; alter database clearunarchived logfile group 2; alter database clearunarchived logfile group 3; alter database clearunarchived logfile group 8; 当前redolog恢复: Current_Redo_log损坏后恢复数据库.doc — 精选文档 5 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务