RMAN不允许注册冗余数据库,所以在注册数据库后再次执行register database会报错,因为拥有相同的DBID的数据库已经存在于恢复目录中。如果复制了数据库,又要为两个数据库使用同一恢复目录该怎么办呢?可以使用nid命令修改DBID解决此问题:
查看数据库的dbid和name:
sql>select dbid,name from v$database;
必须以mount模式,干净的关闭和重新启动将要更改其名称和dbid的数据库:
sql>shutdown immediate;
sql>startup mount;
sql>quit;
在linux命令下运行nid命令:
$nid target=system/syspass@dw
然后用resetlogs选项打开数据库:
sql>startup mount;
sql>alter database open resetlogs;
此时再查看dbid已经更改。
nid用法:
只修改dbid:
nid target=system/syspass@dw
只修改数据库名:
nid target=system/syspass@dw dbname=dbnewname setname=y
同时修改dbid和数据库名:
nid target=system/syspass@dw dbname=dbnewname
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26716390/viewspace-718099/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26716390/viewspace-718099/