EOBAR三招助你解决数据库使用过程中

发生场景

①备库从同步状态切换到可读写测试库。

②故障切换后时,需要执行。

③数据库演练切换后成为主库时。

故障现象

数据库在运行的过程中,提示临时表空间不存在或者临时文件不存在。

原因分析

不同的业务系统有不同的要求,一个数据库中,可能存在多个临时表空间,甚至表空间组,而实时同步时,只同步数据文件,对于临时表空间中的临时文件,是不同步的,但是,在故障切换,或者激活备库为其他用途时,必须有相应的用户的临时表空间,数据库才能正常工作。

EOBAR三招

第一招使用专用的脚本

在主数据库初始化过程中会生产临时表空间创建的脚本,并把该脚本拷贝到备库相应的目录下,默认为/obar/tools/{$ORACLE_SID},因此,您如果在激活了备库或者做相应的故障切换后提示有该错误,您可以在激活后的数据库执行该脚本,如果备库上没有,您可以在主库相应的目录拷贝该脚本到备库,建议您执行脚本之前使用cat查看脚本的内容,这也是您执行其他脚本需要注意的。

第二招备库和主库都没有相应的脚本

此时,您可以在主库上进入到/obar/tools/{$ORACLE_SID}目录下,通过执行spool_recreate_temptbs.sql生成创建临时表空间和临时文件的脚本,如下:

cd/obar/tools/swgl

[oracle

updb-db1swgl]$sqlplus/assysdba

SQL*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。









































北京有专治白癜风的吗
白癜风不能吃什么



转载请注明:http://www.xcqg58.com/lsqy/3871.html