①备库从同步状态切换到可读写测试库。
②故障切换后时,需要执行。
③数据库演练切换后成为主库时。
故障现象数据库在运行的过程中,提示临时表空间不存在或者临时文件不存在。
原因分析不同的业务系统有不同的要求,一个数据库中,可能存在多个临时表空间,甚至表空间组,而实时同步时,只同步数据文件,对于临时表空间中的临时文件,是不同步的,但是,在故障切换,或者激活备库为其他用途时,必须有相应的用户的临时表空间,数据库才能正常工作。
EOBAR三招第一招使用专用的脚本
在主数据库初始化过程中会生产临时表空间创建的脚本,并把该脚本拷贝到备库相应的目录下,默认为/obar/tools/{$ORACLE_SID},因此,您如果在激活了备库或者做相应的故障切换后提示有该错误,您可以在激活后的数据库执行该脚本,如果备库上没有,您可以在主库相应的目录拷贝该脚本到备库,建议您执行脚本之前使用cat查看脚本的内容,这也是您执行其他脚本需要注意的。
第二招备库和主库都没有相应的脚本
此时,您可以在主库上进入到/obar/tools/{$ORACLE_SID}目录下,通过执行spool_recreate_temptbs.sql生成创建临时表空间和临时文件的脚本,如下:
cd/obar/tools/swgl
[oracle
updb-db1swgl]$sqlplus/assysdbaSQL*Plus:Release10.2.0.5.0-ProductiononMonNov:17:
Copyright(c),,Oracle.AllRightsReserved.
Connectedto:
OracleDatabase10gEnterpriseEditionRelease10.2.0.5.0-64bitProduction
WiththePartitioning,OLAP,DataMiningandRealApplicationTestingoptions
SQL
spool_recreate_temptbs.sql/tmp/CreateTempTableSpaces.sql然后拷贝相应的文件到备库即可。
cp/tmp/CreateTempTableSpaces.sql/obar/tools/swgl/
scp/tmp/CreateTempTableSpaces.sql...28:/obar/tools/swgl/
第三招
主库和备库上没有相应的spool_recreate_temptbs.sql脚本,您可以在E-OBAR的安装目录下,如下,我的安装目录是D:\E-OBAR\tools\Linux,进入该目录就可以找到spool_recreate_temptbs.sql,您也可以电话联系新意工程师为您提供相应的脚本及远程技术支持。
总结通过以上操作,我们发现,如果主库无法正常工作时,我们无法创建,因此要求我们未雨绸缪,建议您检查当前的灾备系统,主库和备库中是否都有CreateTempTableSpaces.sql,如果没有,那么建议你生成相应的的脚本,拷贝到灾备系统中的每一台机器相应的目录下(/obar/tools/{$ORACLE_SID}),并命名为CreateTempTableSpaces.sql。
北京有专治白癜风的吗白癜风不能吃什么