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