您好,欢迎来到年旅网。
搜索
您的当前位置:首页Oracle数据库文件及恢复方法

Oracle数据库文件及恢复方法

来源:年旅网


1 参数文件

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

一般情况下pfile保存在$ORACLE_HOME/dbs下,其中内容制定SPFILE位置,SPFILE保存在裸设备上,主被机共享。参数文件中保存数据库启动的初始参数,如控制文件位置等。

格式 SPfile Binary 利用alter system进行修改 编辑查看方式 通过strings SPfile.ora |more查看 缺省名称 默认路径 指定启动 启动优先级 SPfile.ora init.ora 利用vim直接修改 Pfile Text /opt/oracle/app/oracle/product/11.2.0/db_1/dbs/ /opt/oracle/app/oracle/product/11.2.0/db_1/dbs/ startup 高 startup pfile= init.ora 低 1.1 参数文件恢复:

如果损坏或丢失,从其他机器拷贝一个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

本站由北京市万商天勤律师事务所王兴未律师提供法律服务