switchover切换步骤及遇到问题
2015-04-21 15:16
441 查看
在打开数据库时出现ora-12541错误,检查后发现原因为没有启动监听!
SQL>LSNRCTL START
启动后就恢复正常
在主备库连接之后,我发现其中主库中的临时表空间路径在使用rman恢复时没有更改,是个错误路径,所以我使用http://blog.chinaunix.net/uid-25557346-id-2998578.html
http://blog.chinaunix.net/uid-25492475-id-3438089.html
提供的方法进行更改,然后再使用
SQL>drop tablespace tempspacename including contents and datafiles;
删除错误路径。注意这里的tempspacename不是数据文件名,而是临时表空间名称。
随后使用SQL>SELECT SWITCHOVER_STATUS FROM V$DATABASE;
但是状态显示为:resovable gap,如下图。意思是主库还有redo日志没有传输完!是因为对主库有结构更改需要手动传输更改至备库才可以。具体可以参考:
http://blog.csdn.net/aaron8219/article/details/10035547 http://blog.csdn.net/tianlesoftware/article/details/6256542
主要是需要执行命令:
SQL> ALTER SYSTEM FLUSH REDO TO db_unique_name;
注意按照上面命令执行会出现ora-00922错误,原来是在db_unique_name上需要加上单引号'',例如:
SQL>ALTER SYSTEM FLUSH REDO TO 'ORCL1234DG';
完成后在主备库上输入查询命令变可以显示可以转换,如下图:
因为我的局域网不稳定,所以总是出现掉线现象,在备库切换主库时时出现了下图述问题:ora-16139。
上述问题可以解释如下:如果switchover_status为recovery needed或switchover
latent或not allowed,需要apply完所有归档日志才能切换。即:
SQl>alter database recover managed standby database disconnect from session;
当出现 'ORA-01153: 激活了不兼容的介质恢复 '时说明才全部apply完成。如下图:
如果是sessions active则带上with session shutdown选项。apply完所有日志后,即可切换为primary,然后打开数据库。
但是我是用如下方案解决的,可以理解为强制结束apply应用:
SQl>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH FORCE;
这样容易出现ORA-16171错误,如下图ora-16171。表示仍然有35-37序列standby日志没有apply,可执行执行apply语句,还是那句话出现ORA-01153: 激活了不兼容的介质恢复 '时说才说明全部apply完成。
可以看到上图还有另外错误(ORA-00604,ORA-06553,ORA-16139),这个错误在rman恢复过程中遇到过,即是32位与64位之间转换的错误,这里注意要将standby切换为主数据库后再重新编译,因为standby库是不支持修改的,编译完就不会报错了。
接着分别在主备库执行
SQL> alter database commit to switchover to primary;
SQL> alter database commit to switchover to standby;
顺利执行切换!
接着我们再执行主备切换 切换回来时又出现了问题,其中原主库切换没问题,原备库切换出现问题:
ORA-16416: 没有可行的 Physical Standby 切换目标
产看日志提示:
Heartbeat failed to connect to standby 'orcl1234pre_service_name'. Error is 16143.
经过查询(http://blog.csdn.net/tianlesoftware/article/details/8738882)
发现是这一语句:SQl>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH FORCE;
执行错误,中断了DG主备库的通信环境,这个finish是用来做Failover时用的。 在主库重新生成了一份standby controlfiles,然后copy到备库覆盖原来控制文件,在按正常模式启动就可以了。
启动时还有其他问题出现,例如:
ORA-10458: standby database requires recovery
ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 6: '/u01/app/ora11g/oradata/PRIDB2/datafile/tbs_test01.dbf'
提示找不到路径中的文件,可以看出其文件路径是错误的,可能是控制文件更新后出现问题,于是重新修改文件路径,但是又出现如下问题,ORA-01275。(http://blog.csdn.net/shenghuiping2001/article/details/7168551,http://blog.csdn.net/seulk_q/article/details/42092357)
解决方法只要关闭数据库,在开启状态下。将auto修改成manual:
SQL>alter system set standby_file_management=manual; 之后就可以修改了,但是出现这个问题的原因还不是很清楚。
其他问题一览:
下面ora-10456表示目前正在执行redo应用:
其他常用命令:
SQL> select database_role , open_mode from v$database;
SQL> select sequence#,applied fromv$archived_log order by sequence# desc;
SQL> SELECT UNIQUE THREAD# AS THREAD, MAX(SEQUENCE#) OVER (PARTITION BY thread#)
AS LAST from V$ARCHIVED_LOG;
alert日志路径如下(根据自己安装的路径自行调整):
E:\app\Administrator\diag\rdbms\orcl\orcl\alert
其他教程:http://blog.csdn.net/lichangzai/article/details/7979066
SQL>LSNRCTL START
启动后就恢复正常
在主备库连接之后,我发现其中主库中的临时表空间路径在使用rman恢复时没有更改,是个错误路径,所以我使用http://blog.chinaunix.net/uid-25557346-id-2998578.html
http://blog.chinaunix.net/uid-25492475-id-3438089.html
提供的方法进行更改,然后再使用
SQL>drop tablespace tempspacename including contents and datafiles;
删除错误路径。注意这里的tempspacename不是数据文件名,而是临时表空间名称。
随后使用SQL>SELECT SWITCHOVER_STATUS FROM V$DATABASE;
但是状态显示为:resovable gap,如下图。意思是主库还有redo日志没有传输完!是因为对主库有结构更改需要手动传输更改至备库才可以。具体可以参考:
http://blog.csdn.net/aaron8219/article/details/10035547 http://blog.csdn.net/tianlesoftware/article/details/6256542
主要是需要执行命令:
SQL> ALTER SYSTEM FLUSH REDO TO db_unique_name;
注意按照上面命令执行会出现ora-00922错误,原来是在db_unique_name上需要加上单引号'',例如:
SQL>ALTER SYSTEM FLUSH REDO TO 'ORCL1234DG';
完成后在主备库上输入查询命令变可以显示可以转换,如下图:
因为我的局域网不稳定,所以总是出现掉线现象,在备库切换主库时时出现了下图述问题:ora-16139。
上述问题可以解释如下:如果switchover_status为recovery needed或switchover
latent或not allowed,需要apply完所有归档日志才能切换。即:
SQl>alter database recover managed standby database disconnect from session;
当出现 'ORA-01153: 激活了不兼容的介质恢复 '时说明才全部apply完成。如下图:
如果是sessions active则带上with session shutdown选项。apply完所有日志后,即可切换为primary,然后打开数据库。
但是我是用如下方案解决的,可以理解为强制结束apply应用:
SQl>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH FORCE;
这样容易出现ORA-16171错误,如下图ora-16171。表示仍然有35-37序列standby日志没有apply,可执行执行apply语句,还是那句话出现ORA-01153: 激活了不兼容的介质恢复 '时说才说明全部apply完成。
可以看到上图还有另外错误(ORA-00604,ORA-06553,ORA-16139),这个错误在rman恢复过程中遇到过,即是32位与64位之间转换的错误,这里注意要将standby切换为主数据库后再重新编译,因为standby库是不支持修改的,编译完就不会报错了。
接着分别在主备库执行
SQL> alter database commit to switchover to primary;
SQL> alter database commit to switchover to standby;
顺利执行切换!
接着我们再执行主备切换 切换回来时又出现了问题,其中原主库切换没问题,原备库切换出现问题:
ORA-16416: 没有可行的 Physical Standby 切换目标
产看日志提示:
Heartbeat failed to connect to standby 'orcl1234pre_service_name'. Error is 16143.
经过查询(http://blog.csdn.net/tianlesoftware/article/details/8738882)
发现是这一语句:SQl>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH FORCE;
执行错误,中断了DG主备库的通信环境,这个finish是用来做Failover时用的。 在主库重新生成了一份standby controlfiles,然后copy到备库覆盖原来控制文件,在按正常模式启动就可以了。
启动时还有其他问题出现,例如:
ORA-10458: standby database requires recovery
ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 6: '/u01/app/ora11g/oradata/PRIDB2/datafile/tbs_test01.dbf'
提示找不到路径中的文件,可以看出其文件路径是错误的,可能是控制文件更新后出现问题,于是重新修改文件路径,但是又出现如下问题,ORA-01275。(http://blog.csdn.net/shenghuiping2001/article/details/7168551,http://blog.csdn.net/seulk_q/article/details/42092357)
解决方法只要关闭数据库,在开启状态下。将auto修改成manual:
SQL>alter system set standby_file_management=manual; 之后就可以修改了,但是出现这个问题的原因还不是很清楚。
其他问题一览:
下面ora-10456表示目前正在执行redo应用:
其他常用命令:
SQL> select database_role , open_mode from v$database;
SQL> select sequence#,applied fromv$archived_log order by sequence# desc;
SQL> SELECT UNIQUE THREAD# AS THREAD, MAX(SEQUENCE#) OVER (PARTITION BY thread#)
AS LAST from V$ARCHIVED_LOG;
alert日志路径如下(根据自己安装的路径自行调整):
E:\app\Administrator\diag\rdbms\orcl\orcl\alert
其他教程:http://blog.csdn.net/lichangzai/article/details/7979066
相关文章推荐
- DATAGUARD在做SWITCHOVER切换时遇到问题总结
- DATAGUARD在做SWITCHOVER切换时遇到问题总结
- redis服务端安装详细步骤与说明及可能遇到的问题
- 制作tab切换时遇到的问题
- android 4.3源码下载【自己下载成功的步骤、其中遇到很多你可能会遇到的很多问题】
- Asp.Net主题/皮肤切换,以及遇到的两个问题
- 引用一个项目作为library的操作步骤---开发中遇到的问题(二)
- 安装OPhone步骤以及遇到的问题
- Android横竖屏切换遇到的问题
- 项目切换mysql数据库时候遇到的版本问题
- 安装widows mysql 免安装版(zip) 步骤详解 以及遇到问题解决 以及忘记密码的修改方法
- 今天我在IIS里发布网站,遇到了4个问题,将其解答发出来,顺便可以作为发布网站的一般检查步骤
- TAB子页面切换中遇到的问题
- ununtu14.04中切换python3时遇到的问题
- Jetpack在PC或者虚拟机上详细安装步骤及遇到的问题
- 【转】Kettle发送邮件步骤遇到附件名是中文名变成乱码的问题解决办法
- 自定义Camera综述(一般步骤、注意事项、遇到的难题<【内存溢出问题】>、像素参考)
- android 4.3源码下载【自己下载成功的步骤、其中遇到很多你可能会遇到的很多问题】
- 安装widows mysql 免安装版(zip) 步骤详解 以及遇到问题解决 以及忘记密码的修改方法