热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

oracle11gswitchover

oracledataguard搭建请看如下链接www.itopers.com?p679switchover主要是在数据库升级,硬件升级等进行。如下将如何进行switchover:在prmary将数据库设置为standbySQLalterdatabasecommittoswitchovertophysicalstandby;Databasealte

oracle dataguard搭建请看如下链接 http://www.itopers.com/?p=679 switchover主要是在数据库升级,硬件升级等进行。如下将如何进行switchover: 在prmary将数据库设置为standby SQL alter database commit to switchover to physical standby;Database alte

oracle dataguard搭建请看如下链接

http://www.itopers.com/?p=679

switchover主要是在数据库升级,硬件升级等进行。如下将如何进行switchover:

在prmary将数据库设置为standby

SQL> alter database commit to switchover to physical standby;
Database altered.

11g时,执行这个命令后,数据库已经关闭了,不需要手动进行关闭了

SQL> select db_unique_name,database_role,open_mode,switchover_status from v$database;
select db_unique_name,database_role,open_mode,switchover_status from v$database
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 2650
Session ID: 458 Serial number: 211

然后启动启动到mount状态查看:

SQL> startup mount
ORACLE instance started.
Total System Global Area 1.3462E+10 bytes
Fixed Size                  2265984 bytes
Variable Size            3321891968 bytes
Database Buffers         1.0133E+10 bytes
Redo Buffers                4460544 bytes
Database mounted.
SQL> select db_unique_name,database_role,open_mode,switchover_status from v$database;
DB_UNIQUE_NAME                 DATABASE_ROLE    OPEN_MODE
------------------------------ ---------------- --------------------
SWITCHOVER_STATUS
--------------------
actvdb01                       PHYSICAL STANDBY MOUNTED
RECOVERY NEEDED

查看已经是PHYSICAL STANDBY状态了。

打开数据库,这个时候应该是read only状态:

SQL> alter database open;
Database altered.
SQL> select db_unique_name,database_role,open_mode,switchover_status from v$database;
DB_UNIQUE_NAME                 DATABASE_ROLE    OPEN_MODE
------------------------------ ---------------- --------------------
SWITCHOVER_STATUS
--------------------
actvdb01                       PHYSICAL STANDBY READ ONLY
RECOVERY NEEDED

这个时候primary已经变成了standby了。

然后连接到之前的standby服务器上:

先查看状态,确定日志应用是否完整

SQL> select db_unique_name,database_role,open_mode from v$database;
DB_UNIQUE_NAME                 DATABASE_ROLE    OPEN_MODE
------------------------------ ---------------- --------------------
actvdb02                       PHYSICAL STANDBY READ ONLY WITH APPLY
SQL> archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     348
Next log sequence to archive   0
Current log sequence           353
SQL> alter database recover managed standby database cancel;
Database altered.
SQL> select db_unique_name,database_role,open_mode from v$database;
DB_UNIQUE_NAME                 DATABASE_ROLE    OPEN_MODE
------------------------------ ---------------- --------------------
actvdb02                       PHYSICAL STANDBY READ ONLY

然后将standby切换成primary

SQL>  alter database commit to switchover to primary;
Database altered.
SQL> select db_unique_name,database_role,open_mode from v$database;
DB_UNIQUE_NAME                 DATABASE_ROLE    OPEN_MODE
------------------------------ ---------------- --------------------
actvdb02                       PRIMARY          MOUNTED

完成后,状态已经变成的primary了,注意,在执行切换过程中,不能有任何session连接,如果有会有如下报错:

SQL> alter database commit to switchover to primary;
alter database commit to switchover to primary
*
ERROR at line 1:
ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected

把session关闭掉,重新执行即可。

然后打开数据库,在新primary中(也就是老的standby)

SQL> alter database open;
Database altered.
SQL> select db_unique_name,database_role,open_mode from v$database;
DB_UNIQUE_NAME                 DATABASE_ROLE    OPEN_MODE
------------------------------ ---------------- --------------------
actvdb02                       PRIMARY          READ WRITE
SQL> select db_unique_name,database_role,open_mode,switchover_status from v$database;
DB_UNIQUE_NAME                 DATABASE_ROLE    OPEN_MODE
------------------------------ ---------------- --------------------
SWITCHOVER_STATUS
--------------------
actvdb02                       PRIMARY          READ WRITE
TO STANDBY

查看状态已经变成了primary,且为read write了。表示已经成功从standby转成primary了

然后再登录到standby中(之前的primary中)启用mrp进程

SQL> alter database recover managed standby database using current logfile disconnect from session;
Database altered.
SQL> select db_unique_name,database_role,open_mode,switchover_status from v$database;
DB_UNIQUE_NAME                 DATABASE_ROLE    OPEN_MODE
------------------------------ ---------------- --------------------
SWITCHOVER_STATUS
--------------------
actvdb01                       PHYSICAL STANDBY READ ONLY WITH APPLY
NOT ALLOWED

再查看进程已经是应用日志状态了。

到新的primary中将创建表测试是否能正常应用日志:

SQL> create table test.t11 (id number)tablespace test;
Table created.

到standby中查看已经能正常传输、应用日志了:

SQL> select owner,table_name from dba_tables where owner='TEST';
OWNER                          TABLE_NAME
------------------------------ ------------------------------
TEST                           T2
TEST                           TEST_TABLE
TEST                           TEST01
TEST                           TEST02
TEST                           TEST03
TEST                           T4
TEST                           T5
TEST                           T7
TEST                           T6
TEST                           T8
TEST                           T11
OWNER                          TABLE_NAME
------------------------------ ------------------------------
TEST                           T9
12 rows selected.

只要前面 的配置没有问题,switchover是很简单的,特别注意以下几点:

*.local_listener 这个配置是的自己的tnsname名字

*.fal_client=’actvdb’??? 这个配置的是自己的tnsname,不管是primary,还是standby
*.fal_server=’actvdbbak’?? 这个配置的是对方的tnsname,不管是primary,还是standby

推荐阅读
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 探讨密码安全的重要性
    近期,多家知名网站如CSDN、人人网、多玩、开心网等的数据库相继被泄露,其中大量用户的账户密码因明文存储而暴露无遗。本文将探讨黑客获取密码的常见手段,网站如何安全存储用户信息,以及用户应如何保护自己的密码。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • 本文介绍了如何在两个Oracle数据库(假设为数据库A和数据库B)之间设置DBLink,以便能够从数据库A中直接访问和操作数据库B中的数据。文章详细描述了创建DBLink前的必要准备步骤以及具体的创建方法。 ... [详细]
  • C# 中创建和执行存储过程的方法
    本文详细介绍了如何使用 C# 创建和调用 SQL Server 存储过程,包括连接数据库、定义命令类型、设置参数等步骤。 ... [详细]
  • JavaScript 实现图片文件转Base64编码的方法
    本文详细介绍了如何使用JavaScript将用户通过文件输入控件选择的图片文件转换为Base64编码字符串,适用于Web前端开发中图片上传前的预处理。 ... [详细]
  • 本文介绍如何通过整合SparkSQL与Hive来构建高效的用户画像环境,提高数据处理速度和查询效率。 ... [详细]
  • 本文详细探讨了Spring框架中遇到的NoSuchBeanDefinitionException异常,具体涉及com.thinkplatform.dao.UserLogDao Bean未定义的问题,并提供了相应的解决方案。 ... [详细]
  • 本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ... [详细]
  • 探讨符合特定需求的个人网盘选择,包括分享功能、WebDAV支持及长期稳定性等。 ... [详细]
author-avatar
mobiledu2502882517
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有