Oracle数据库文件及恢复方法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1参数文件

对于参数文件,启动根据如下顺序查找参数文件,先查找spfile.ora,然后查找init.ora,若两者均查找不到,则无法创建和启动instance。确认当前使用的是spfile/pfile可通过sql语句查询(show parameter 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;

相关文档
最新文档