Oracle数据库文件及恢复方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 参数文件
对于参数文件,启动根据如下顺序查找参数文件,先查找sp>、ora,然后查找
init
一般情况下pfile保存在$ORACLE_HOME/dbs下,其中内容制定SPFILE位置,SPFILE保存在裸设备上,主被机共享。参数文件中保存数据库启动的初始参数,如控制文件位置等。
1.1 参数文件恢复:
如果损坏或丢失,从其她机器拷贝一个initora01、ora到$ORACLE_HOME/dbs
%sqlplus / as sysdba
SQL>startup pfile=’?/dbs/initora01、ora’;
2 控制文件
数据库启动到nomount状态后,可以查询v$parameter视图,获得控制文件信息,这部分信息来自启动的参数文件,oracle从参数文件sp中获得控制文件的位置信息,找到控制文件,启动到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 control trace;)
STARTUP NOMOUNT
CREATE CONTROL 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,
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/data',
'+DG_DATA/drora11g/data',
'+DG_DATA/drora11g/data',
'+DG_DATA/drora11g/data',
'+DG_DATA/drora11g/data',
'+DG_DATA/drora11g/data',
'+DG_DATA/drora11g/data',
'+DG_DATA/drora11g/data',
'+DG_DATA/drora11g/data',
'+DG_DATA/drora11g/data'
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 3147198902 3/7/2014 2:31:33 AM
8 OFFLINE OFFLINE 3147198902 3/7/2014 2:31:33 AM rman target / nocatalog