mysql日志重新生成,rman恢复磁盘故障的数据库及重新生成联机重做日志文件

首先将原先的数据文件拷贝到一个目录下,一般在oradata目录下

将新添加的磁盘挂载到某个目录下,这里以'/u01/app/backuptest/为例。

1,修改初始化参数文件

首先创建一个pfile(便于修改)

SQL> create pfile from spfile;

修改新创建的pfile(dbs目录下initSID.ora)

修改控制文件指向的目录(修改为数据拷贝的目录)

修改完成后重新生成spfile

SQL> create spfile from pfile;

可以用strings查看修改后的spfile

2,修改控制文件

将数据库启动到mount状态

SQL>startup mount;

查看数据文件

select file#,name from v$datafile;

修改数据文件的目录(每个都要修改)

alter database rename file '/u01/app/oracle/oradata/hnjy/system01.dbf' to '/u01/app/backuptest/system01.dbf';

alter database rename file '/u01/app/oracle/oradata/hnjy/sysaux01.dbf' to '/u01/app/backuptest/sysaux01.dbf';

3,修改临时文件目录

select file#,name from v$tempfile;

alter database rename file '/u01/app/oracle/oradata/hnjy/temp01.dbf' to '/u01/app/backuptest/temp01.dbf';

4,修改联机重做日志文件

select group#,member from v$logfile;

alter database rename file '/u01/app/oracle/oradata/hnjy/redo03.log' to '/u01/app/backuptest/redo03.log';

alter database rename file '/u01/app/oracle/oradata/hnjy/redo02.log' to '/u01/app/backuptest/redo02.log';

5,开启数据库

alter database open;

联机重做日志文件丢失的恢复方法:

SQL> startup mount;  数据库启动得到mount模式

ORACLE instance started.

Total System Global Area  849530880 bytes

Fixed Size                  1339824 bytes

Variable Size             553651792 bytes

Database Buffers          289406976 bytes

Redo Buffers                5132288 bytes

Database mounted.

SQL> recover database until cancel using backup controlfile;执行这条命令

ORA-00279: change 1000949 generated at 05/05/2014 15:11:29 needed for thread 1

ORA-00289: suggestion :

/u01/app/oracle/product/11.2.0/dbhome_2/dbs/arch1_12_843920012.dbf

ORA-00280: change 1000949 for thread 1 is in sequence #12

Specify log: {=suggested | filename | AUTO | CANCEL}

cancel      这里选择cancel

Media recovery cancelled.

SQL> alter database open resetlogs;  开始生成

Database altered.

备注:

联机重做日志组具有几个不同的状态:

●  Current  正在使用的联机重做日志。

●  Active  处于该状态的联机重做日志不在当前重做日志文件组中,它正在等待归

档进程(ARCH Process)将重做复制到归档重做日志中。

●  Inactive  已经被归档的不活跃的联机重做日志。

●  Unused  正在被Oracle数据库使用的联机重做日志。

通过查询V$LOG视图可以获得联机重做日志组的状态。

SQL> select group#, status from v$Log;

GROUP# STATUS

---------- ------------------------------------

1 INACTIVE

2 INACTIVE

3 INACTIVE

4 CURRENT

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值