本文主要说明将数据库传输到其他服务器可以作为数据库备份恢复的测试数据库。现在分为目录结构相同和目录结构不同两种情况分别介绍。
目录结构相同:
1.获取数据库dbid,并将备份集复制到目标数据库相同目录下
Select dbid from v$database;
2.windows系统下需要创建相应的服务
Oradim –new –sid dbname
Linux 环境下只需设置环境变量即可
Export oracle_sid=dbname
3.获取spfile window环境下在oracle_home\database linux在oracle_home\dbs下,复制到目标数据库下即可
4.有个spfile即可将数据库更改到nomount模式下
Alter database nomount
5.恢复控制文件
Set dbid=%%%%%%
Restore controlfile from autobackup无法执行,因为没有控制文件,而控制文件储存备份集的备份信息,因此需要指定备份集恢复控制文件
Restore controlfile from ‘%%%%%%’
6.拥有控制文件即可将数据库更改到mount状态
Alter database mount;
7.还原数据文件并恢复
Restore database;
Set until time/scn %%%%;
Recover database;
要是想完整恢复数据库到源库状态需要将源库的联机重做日志文件也复制到目标数据库的相应路径下即可
8.alter database open resetlogs;
目录结构不同:
1.获取数据库dbid,并将备份集复制到目标数据库中,不需要特意指定,目录结构不同是因为在目标数据库中无法创建也源库相同的目录结构,但是复制数据库的spfile,控制文件,备份集的路径保存的都可能不同,因此需要重新指定,所以过程会有很大不同
Select dbid from v$database;
2.windows系统下需要创建相应的服务
Oradim –new –sid dbname
Linux 环境下只需设置环境变量即可
Export oracle_sid=dbname
3.获取spfile window环境下在oracle_home\database linux在oracle_home\dbs下,复制到目标数据库下即可
这里需要更改spfile中多个参数的值。
由于spfile是二进制文件,需要将其转化为pfile再修改
Create pfile=‘%%%’ from spfile
Ps:需要将spfile复制到目标数据库的window环境下在oracle_home\database linux在oracle_home\dbs下,不然需要指定spfile的路径创建pfile
Create pfile=‘%%%’ from spfile =‘%%%%%’
至少修改以下参数
Control_files audit_file_dest background_dump_dest
User_dump_dest core_dump_dest log_archive_dest_1
的值 保存后创建对应的spfile
Create spfile from pfile=’%%%%’
4.有了spfile即可将数据库更改到nomount模式下
Alter database nomount
5.恢复控制文件
Set dbid=%%%%%%
Restore controlfile from autobackup无法执行,因为没有控制文件,而控制文件储存备份集的备份信息,因此需要指定备份集恢复控制文件
Restore controlfile from ‘%%%%%%’
6.拥有控制文件即可将数据库更改到mount状态
Alter database mount;
7.还原数据文件并恢复
Restore database;
只要备份集的路径和源库的备份集路径相同可以直接Restore database;不同的话需要重新通过catalog命令注册备份集,也就是告知控制文件备份集的位置
Set until time/scn %%%%;
Recover database;
要是想完整恢复数据库到源库状态需要将源库的联机重做日志文件也复制到目标数据库的相应路径下即可
8.alter database open resetlogs;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24890594/viewspace-677735/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24890594/viewspace-677735/