Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

999

积分

1

好友

942

主题
1#
发表于 2013-10-5 23:55:57 | 查看: 2317| 回复: 0
2.1        数据库由单机fs方式转为ASM RAC方式
1:修改pfile/spfile 将控制文件的位置指向ASM
create pfile='/tmp/initdb.bak' from spfile;   

#*.control_files='/oradata/db2/control01.ctl','/oradata/db2/control02.ctl','/oradata/db2/control03.ctl'
*.control_files='+DATA/db2/control01.ctl'  
  
2:启动数据库到nomount状态
SQL> Startup nomount
3:通过RMAN ,复制control file从文件系统到ASM
root@CSP570002A:/>su - oracle
$ rman target /
connected to target database: db2 (not mounted)

RMAN>RESTORE CONTROLFILE FROM '/oradata/db2/control01.ctl';  

4:启动数据库到mount状态   
SQL> ALTER DATABASE MOUNT;   

configure device type disk parallelism 4;
5:使用RMAN,复制数据文件从NON-ASM到ASM
RMAN>BACKUP AS COPY DATABASE FORMAT '+DATA';   

6:使用RMAN,Rename数据文件(修改controlfile)
RMAN> SWITCH DATABASE TO COPY;

7:交换临时文件,并打开数据库
RMAN> run {
set newname for tempfile 1 to '+DATA';
switch tempfile all;
}

RMAN> ALTER DATABASE OPEN;   

8:转移redo log到ASM里面
SELECT a.group#, b.member, a.status FROM v$log a, v$logfile b WHERE a.group#=b.group#;
节点1的redo log组为1,2,3,节点2的redo log组为4,5,6.
节点1:
ALTER DATABASE ADD LOGFILE MEMBER '+RECO' TO GROUP 1;
ALTER DATABASE ADD LOGFILE MEMBER '+RECO' TO GROUP 2;
ALTER DATABASE ADD LOGFILE MEMBER '+RECO' TO GROUP 3;
ALTER SYSTEM SWITCH LOGFILE;  (多次,确保logfile状态不是invalid)

ALTER DATABASE DROP LOGFILE MEMBER '/oradata/db2/redoa01a.dbf';
ALTER DATABASE DROP LOGFILE MEMBER '/oradata/db2/redoa01b.dbf';
ALTER SYSTEM SWITCH LOGFILE;  
ALTER DATABASE DROP LOGFILE MEMBER '/oradata/db2/redo02a.dbf';
ALTER DATABASE DROP LOGFILE MEMBER '/oradata/db2/redo02b.dbf';
ALTER SYSTEM SWITCH LOGFILE;
ALTER DATABASE DROP LOGFILE MEMBER '/oradata/db2/redo03a.dbf';
ALTER DATABASE DROP LOGFILE MEMBER '/oradata/db2/redo03b.dbf';
ALTER SYSTEM SWITCH LOGFILE;

节点2:
ALTER DATABASE ADD LOGFILE MEMBER '+RECO' TO GROUP 4;  
ALTER DATABASE ADD LOGFILE MEMBER '+RECO' TO GROUP 5;
ALTER DATABASE ADD LOGFILE MEMBER '+RECO' TO GROUP 6;

ALTER SYSTEM SWITCH LOGFILE;  (多次,确保logfile状态不是invalid)

ALTER DATABASE DROP LOGFILE MEMBER '/oradata/db2/redo04a.dbf';
ALTER DATABASE DROP LOGFILE MEMBER '/oradata/db2/redo04b.dbf';
ALTER SYSTEM SWITCH LOGFILE;  
ALTER DATABASE DROP LOGFILE MEMBER '/oradata/db2/redo05a.dbf';
ALTER DATABASE DROP LOGFILE MEMBER '/oradata/db2/redo05b.dbf';
ALTER SYSTEM SWITCH LOGFILE;
ALTER DATABASE DROP LOGFILE MEMBER '/oradata/db2/redo06a.dbf';
ALTER DATABASE DROP LOGFILE MEMBER '/oradata/db2/redo06b.dbf';
ALTER SYSTEM SWITCH LOGFILE;  
9:转移Spfile到ASM里面
create SPFILE='+DATA/db2/spfiledb2.ora' from pfile='/tmp/initmss_11g_2.ora'
Vi /tmp/initmss.ora
SPFILE='+DATA/db2/spfiledb2.ora'   


2.2        转换过程中遇到问题
1.无法识别asmca已经创建的DG,通过dbca创建数据库时也找不到DG。
原因是grid用户$ORACLE_GRID_HOME/bin/oracle文件属性不对。
Chmod +s oracle
问题解决。
下载专业ORACLE数据库恢复工具PRM-DUL  For Oracle http://www.parnassusdata.com/

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638  QQ: 47079569     邮箱:service@parnassusdata.com
您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-6-14 16:40 , Processed in 0.044265 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569