zoukankan      html  css  js  c++  java
  • RMAN restore的时候报错ora01180

    想测试基于SCN的不完全恢复。在restore database的时候报错ora-01180,ora-0110。提示不能创建data file 1.

    数据库版本是11.1.0.6.0,运行在SUSE 10SP3上。

    操作步骤如下:

    1.  select dbms_flashback.get_system_change_number from dual. 获得当前的SCN,例如123;
    2.  执行一次日志切换;
    3.  执行一次level 0的热备份。使用命令backup increament level 0 database plus archive log;
    4.  备份控制文件。

    备份能够成功完成。完成备份后,在数据库中进行一些事务操作。接着执行还原和恢复操作。

    1. 关闭数据库,打开到nomount状态,还原控制文件;
    2. 打开数据库到mount状态;
    3. 执行命令restore data until scn 123. 这时,数据库报错,ora-01180和ora-01110,提示不能创建文件1, 就是system表空间的文件。

    接着,我使用命令list incarnation of database查看了incarnation的信息,命令显示只有一个incarnation。说明数据库没有被执行过resetlogs。
    然后在v$log_history中查看,发现最近的一个archived log的next scn比我取的SCN大,假如是150. 然后我使用这个SCN来还原数据库。执行命令restore database until scn 150.
    这次数据库能够成功还原,接下来的recover命令也能成功执行。

    我的问题是:为什么使用最初的SCN 123不能还原数据库呢?restore database until SCN中的SCN有什么限制?怎么取这个SCN才能自动化的用脚本处理还原和恢复?谢谢

  • 相关阅读:
    SparkSQL & Spark on Hive & Hive on Spark
    Elasticsearch和Scala类型转换
    Java和Scala容器转换
    Spark应用远程调试
    scala下划线的用法
    Maven打包方式
    安装ElasticSearch遇到的深坑
    SparkSQL JDBC和JDBCServer区别
    source命令用法:source FileName
    System.getProperty()
  • 原文地址:https://www.cnblogs.com/weixun/p/3101640.html
Copyright © 2011-2022 走看看