用rman建dataguard之后,在备库的机器上是没有tempfile文件的,因此我们在switchover之后,需要让备库作为primary顶一段时间,需要有tempfile来进行排序操作。那么,我们怎么给备库加tempfile呢?
在这里需要注意的是,由于数据库没有tempfile也能启动,因此,switchover之后,没有tempfile的数据库也是能够启动的。即数据库有temp表空间的信息,但是没有tempfile。
因此我们最常规的办法就是:
现在主库做switchover,然后在备库:
alter database commit to switchover to primary;
shutdown immediate;
startup;
alter tablespace temp add tempfile ‘/tempfile_path/temp01.dbf’ size 1024M;
如果我们的standby库暂时还不能做switchover,我们可以:
在备库:
alter database recover managed standby database cancel;
alter database open read only;
alter tablespace temp add tempfile ‘/tempfile_path/temp01.dbf’ size 1024M;
alter database recover managed standby database disconnect from session;
ps:即使设置了standby_file_management=auto,在主库对tempfile的操作不会影响到备库。