恢复单个数据文件,使用图形界面或者rman命令都可以操作。如果数据库的所有文件都丢失了或者异机恢复,建议使用rman命令进行操作。这里主要讲述图形界面恢复单个数据文件的操作以及使用图形界面创建重复数据库。
一、使用向导恢复单个数据文件:
在networker管理窗口,配置---组里面,选择要恢复的组,右击选择恢复:
在出现的画面中选择第二项:perform restore and recover to the original target database(恢复原来的目标数据库)
接着的画面里会要求输入有关目标数据库以及目录数据库(如果有)的相关信息:
紧接着选择恢复数据文件还是日志文件,这里选择恢复数据文件:
选择要恢复的数据文件,下一步
指定数据文件的位置,这里是+DATA:
接着会出现恢复的rman脚本,根据需要进行编辑:
紧接着会要求指定客户端以及脚本的存放位置:
点击创建,会提示手工执行rman脚本进行恢复操作。这里注意,使用此向导创建的脚本文件,直接执行会报用户或者密码错误,访问被拒绝,因此要将里面的*号用用户的正确密码进行替换,然后在执行此脚本。
磁带库的状态:
完了之后,可以查看rman.dd.log日志文件,是否成功。
二、使用向导创建重复数据库:
该向导创建的数据库复制脚本使用 RMAN duplicate 命令来创建重复数据库,并保留原始数据库。重复数据库可以是原始数据库的相同副本,也可以仅包含原始表空间的一个子集。这个分两种情况:
? 如果在与原始数据库相同的主机上创建重复数据库,也会在本地主机上生成RMAN 脚本。在此情况下,该向导会请求与原始数据库不同的重复数据库、数据文件和重做日志名称。
? 如果在远程主机上创建重复数据库,则会根据在向导中的指定,在本地或远程主机上生成 RMAN 脚本。在此情况下,该向导会请求与原始数据库不同的重复数据库名称。(数据文件和重做日志名称可与原始数据库相同。)
这里的db01是目录数据库,db02是目标数据库,db03是要创建的重复数据库。在创建重复数据库之前,要做以下几步:
1、创建db03的pfile以及spfile:
这个使用db02的spfile创建db03的pfile。完成后,编辑initdb03.ora文件,将里面的db02替换为db03,保存退出。
2、创建相应的目录:
注意:如果使用的是ASM,则还要在ASM上创建db03目录:
此步骤如果没执行的话,在恢复的时候会报错的。
3、密码文件的创建:
4、使用db03的pfile启动数据库实例db03至nomount状态。
到此就可以使用rman手工进行创建了。
使用rman连接之后,会看到db03处于nomount状态。
接着就可以使用执行以下命令进行创建了。
这里主要介绍networker图形界面的操作,有兴趣的朋友可以使用命令行进行操作。
5、运行networker向导进行相关信息设置:
如果是client机器是远程的话,必须将其加入/etc/hosts文件里,然后指定客户端的主机名.
这里输入目录数据库以及原来目标数据库的相关信息。
重复数据库的相关信息。
选择要恢复的对象,这里是整个数据库。
选择数据文件以及日志文件的位置。输入后,点击change按钮进行更改。
这里定义通道个数以及恢复时间选项,默认即可。
rman脚本内容。
指定脚本的保存位置以及文件名。
概要信息,点击创建开始创建rman脚本。
完成之后,编辑创建的脚本文件,将里面的用户密码用真实密码替换。还要重新定义数据文件名称以及日志文件名称。脚本内容如下:
以oracle身份运行此脚本。在执行之前,确保没有任何db03的连接会话,否则会报错的。
在这还遇到一个问题,使用sqlplus连接的时候报如下错误:
不论连接哪个数据实例,都报类似的错误,上网查了查,因为监听器启动的时候动态注册实例的,解决办法是把动态的参数设置为静��的参数,重启监听器即可。添加的内容如下:
其中的SID=DESC是手工添加上去的。tnsnames.ora是在SERVICE_NAME下面增加(UR=A)字段即可。如果是多个实例,则每个实例都要增加。完了之后重启监听器即可。
6、运行脚本,创建重复数据库:
执行完成后db03数据库会自动打开的,详细过程可以查看dump.log文件。查看下数据文件以及日志文件信息:
感觉使用这个图形界面很费劲,还不如直接敲命令方便,呵呵。
补充于2010.11.13:
上述有个错误,就是initdb03.ora中,所定义的两个控制文件名称是相同的,这个是由于本人的疏忽所造成的。不过,在创建的过程中没什么问题。当我重启了db03后就报控制文件方面的错误了