昨天看到一朋友提的关于rman的问题,自己以前没弄过,于是上网搜了一些资料,但是却没得到预期的结果,请高手看看我做的过程有什么问题。谢谢了!!
cmd-->set oracle_sid=database-->rman target \ (提示需要输入“目标数据库口令”,这个地方有个问题:是要求输入sys用户的口令吧?反正我随便输几个字就行了,当然不输不行)-->shutdown immediate;-->startup mount-->backup database;-->startup-->(到developer中做了些drop和delete的操作)-->cmd-->set oracle_sid=database-->rman target \(问题和之前一样)-->shutdown immediate;-->startup mount-->recover database;
然后重新打开数据库,发现刚才drop和delete等操作并没有恢复。操作哪个地方有问题吗?(而且有个奇怪的问题是刚开始的一段时间developer登录界面的... 按钮是灰色不可用,过了一会不知道怎么就正常了,这个问题先不管了)
cmd-->set oracle_sid=database-->rman target \ (提示需要输入“目标数据库口令”,这个地方有个问题:是要求输入sys用户的口令吧?反正我随便输几个字就行了,当然不输不行)-->shutdown immediate;-->startup mount-->backup database;-->startup-->(到developer中做了些drop和delete的操作)-->cmd-->set oracle_sid=database-->rman target \(问题和之前一样)-->shutdown immediate;-->startup mount-->recover database;
然后重新打开数据库,发现刚才drop和delete等操作并没有恢复。操作哪个地方有问题吗?(而且有个奇怪的问题是刚开始的一段时间developer登录界面的... 按钮是灰色不可用,过了一会不知道怎么就正常了,这个问题先不管了)
应该是
rman target /
recover,只是在数据库打开时候发现 数据文件有问题时候用,
你shutdown immediate,正常关闭,
recover就没有效果,你要是想恢复到drop之前的,
应该要 recover database until time 'drop之前的时间点'
在sqlplus中可以recover database until time ...
用rman来做的话,是在run块中set until time=... then restore database then recover database
非归档模式的话,recover可能成功可能失败。主要看所需日志在redo logfile中是否还有。
简单说一下,你备份的时候假设scn是10,然后你操作了一下scn变成12,下边你就直接恢复了......当你scn向前走了,你能恢复到scn<12的状态吗?明显不能,所以需要你先转储,也就是restore database,这个时候scn变为10,下边你就可以恢复到你想要的状态了,比如说scn=11的状态,不知道我这么说,楼主能明白意思不?