Oracle学习笔记:通过种子数据库设置dbid为指定值

简介:dbms_backup_restore包真是太强大了。和设置dbid有关的存储过程如下:

  PROCEDURE nidbegin  (newdbname   IN  varchar2,
                           olddbname   IN  varchar2,
                           newdbid     IN  number,
                           olddbid     IN  number,
                           dorevert    IN  binary_integer,
                           dorestart   IN  binary_integer,
                           events      IN  number);


  PROCEDURE nidprocesscf (chgdbid     OUT binary_integer,
                               chgdbname   OUT binary_integer);

  PROCEDURE nidprocessdf    (fno          IN number,
                                 istemp       IN binary_integer,
                                 skipped     OUT binary_integer,
                                 chgdbid     OUT binary_integer,
                                 chgdbname   OUT binary_integer);

  PROCEDURE nidend;


使用时的关键点:nidbegin中的 newdbname、olddbname、newdbid、olddbid必须是大写字母、有效的dbid串!

使用后的严重问题:

  1.如果nidprocessdf 和nidprocesscf失败。无法mount 和 open

  2.即使都成功了。也不能open数据库。提示system表空间的文件需要recover!ORA-01194: file 1 needs more recovery to be consistent

  3.即使都成功了。rman对备份集也不能catalog,只是可以查看里面的备份信息了! 也许这就是他的意义所在了

原文地址:https://www.cnblogs.com/jinzhenshui/p/1401490.html