Chinaunix首页 | 论坛 | 博客
  • 博客访问: 643032
  • 博文数量: 70
  • 博客积分: 145
  • 博客等级: 入伍新兵
  • 技术积分: 1150
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-11 08:15
个人简介

没有简介就是最好的简介

文章分类

全部博文(70)

文章存档

2020年(1)

2018年(2)

2017年(3)

2016年(11)

2015年(12)

2014年(16)

2013年(19)

2012年(6)

我的朋友

分类: Oracle

2014-05-05 17:22:11

首先将原先的数据文件拷贝到一个目录下,一般在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

阅读(1172) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~