单实例数据库迁移到rac环境(四)下

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

在前面的章节中,完成了单实例主库和rac物理备库的环境的构建,本节中将介绍下如何完成主备库的手动角色切换,在这个场合如果使用data guard broker进行切换,会由于crs的原因而切换失败,因为数据库还未向crs进行注册,回顾下在rac环境上的使用data guard broker的使用条件:在rac环境下还需要配置DB_BROKER_CONFIG_FILEn参数,将该参数指定共享存储上,需要在OCR中要设定start_options参数为mount;因而在本例中必须采用手动切换,在开始之前,需要确保主库和备库的日志应用正常!

一:查看主库和备库的switchover状态,同时关闭节点2数据库

SQL> select name,db_unique_name,open_mode,database_role,switchover_status from gv$database;

NAME       DB_UNIQUE_NAME  OPEN_MODE    DATABASE_ROLE   SWITCHOVER_STAT
---------- --------------- ------------ --------------- ---------------
ORCL       primary         READ WRITE   PRIMARY         SESSIONS ACTIVE

[oracle@rac2 ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.5.0 - Production on Mon Jan 9 20:31:14 2012
Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.
SQL> conn /as sysdba
Connected.
SQL> shutdown immediate
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.

SQL> select name,db_unique_name,open_mode,database_role,switchover_status from gv$database;

NAME       DB_UNIQUE_ OPEN_MODE    DATABASE_ROLE     SWITCHOVER_STATUS
---------- ---------- ------------ ----------------- --------------------
ORCL       standby    MOUNTED      PHYSICAL STANDBY  SESSIONS ACTIVE

二:primary数据库库上运行下列的命令后,重新将数据库启动到mount状态,并开启应用日志模式

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

SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.

SQL> startup mount
ORACLE instance started.
Total System Global Area  213909504 bytes
Fixed Size                  2095152 bytes
Variable Size             125831120 bytes
Database Buffers           79691776 bytes
Redo Buffers                6291456 bytes

SQL> select name,db_unique_name,open_mode,database_role,switchover_status from gv$database;

NAME       DB_UNIQUE_NAME  OPEN_MODE    DATABASE_ROLE    SWITCHOVER_STAT
---------- --------------- ------------ ---------------- ---------------
ORCL       primary         MOUNTED      PHYSICAL STANDBY TO PRIMARY

SQL> alter database recover managed standby database cancel;
Database altered.

三:将standby数据库转换为主库,出现下面的错误信息,需要手动rename下在线日志组

SQL> alter database commit to switchover to primary;
alter database commit to switchover to primary
*
ERROR at line 1:
ORA-00344: unable to re-create online log
'/u01/app/oracle/oradata/orcl/redo01.log'
ORA-27040: file create error, unable to create file
Linux-x86_64 Error: 2: No such file or directory

SQL> alter system set db_create_file_dest='+DATA';
System altered.

SQL> alter system set db_create_online_log_dest_1='+DATA';
System altered.

SQL> alter system set standby_file_management=manual;
System altered.

SQL> alter database rename file '/u01/app/oracle/oradata/orcl/redo01.log' to '+DATA/ORCL/ONLINELOG/redo01.log';
Database altered.

SQL> alter system set standby_file_management=auto;
System altered.

SQL> alter database commit to switchover to primary;
Database altered.

SQL> alter database open;
Database altered.

SQL> select name,db_unique_name,open_mode,database_role,switchover_status from gv$database;

NAME       DB_UNIQUE_ OPEN_MODE    DATABASE_ROLE     SWITCHOVER_STATUS
---------- ---------- ------------ ----------------- --------------------
ORCL       standby    READ WRITE   PRIMARY           SESSIONS ACTIVE

SQL> alter database recover managed standby database disconnect from session;
Database altered.

SQL> select name,db_unique_name,open_mode,database_role,switchover_status from gv$database;

NAME       DB_UNIQUE_NAME  OPEN_MODE    DATABASE_ROLE    SWITCHOVER_STAT
---------- --------------- ------------ ---------------- ---------------
ORCL       primary         MOUNTED      PHYSICAL STANDBY SESSIONS ACTIVE 

四:启动节点2数据库实例

[root@rac2 ~]# su - oracle
[oracle@rac2 ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.5.0 - Production on Mon Jan 9 21:13:28 2012
Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.

SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.

Total System Global Area  213909504 bytes
Fixed Size                  2095152 bytes
Variable Size             125831120 bytes
Database Buffers           79691776 bytes
Redo Buffers                6291456 bytes
Database mounted.
Database opened. 

五:测试

SQL> select name,db_unique_name,open_mode,database_role,switchover_status from gv$database;

NAME       DB_UNIQUE_ OPEN_MODE    DATABASE_ROLE     SWITCHOVER_STATUS
---------- ---------- ------------ ----------------- --------------------
ORCL       standby    READ WRITE   PRIMARY           SESSIONS ACTIVE
ORCL       standby    READ WRITE   PRIMARY           SESSIONS ACTIVE


SQL> select owner,table_name from dba_tables where owner like 'TEST%';

 

OWNER                TABLE_NAME
-------------------- --------------------
TEST1                SOURCE
TEST1                MIGRATE
TEST2                SOURCE2

SQL> select count(*) from test1.source;

  COUNT(*)
----------
   2363928

SQL> select count(*) from test1.migrate;

  COUNT(*)
----------
         1

SQL> select count(*) from test2.source2;

  COUNT(*)
----------
   1181964

节点1数据库实例:
SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            +FRA/orcl/archivelog
Oldest online log sequence     47
Next log sequence to archive   48
Current log sequence           48

节点2数据库实例:
SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            +FRA/orcl/archivelog
Oldest online log sequence     22
Next log sequence to archive   24
Current log sequence           24

备库:
SQL> select first_time,next_time,sequence#,applied,thread# from v$archived_log where thread#=1 and sequence# >40 ;

FIRST_TIME       NEXT_TIME         SEQUENCE# APP    THREAD#
---------------- ---------------- ---------- --- ----------
2012-01-20:24:52 2012-01-20:24:58         41 YES          1
2012-01-20:24:52 2012-01-20:24:58         41 YES          1
2012-01-20:24:58 2012-01-20:25:51         42 YES          1
2012-01-20:24:58 2012-01-20:25:51         42 YES          1
2012-01-20:25:51 2012-01-20:40:18         43 YES          1
2012-01-20:25:51 2012-01-20:40:18         43 YES          1
2012-01-20:40:18 2012-01-20:45:09         44 YES          1
2012-01-20:40:18 2012-01-20:45:09         44 YES          1
2012-01-20:45:09 2012-01-20:49:01         45 YES          1
2012-01-20:45:09 2012-01-20:49:01         45 NO           1
2012-01-20:49:01 2012-01-20:49:43         46 YES          1

FIRST_TIME       NEXT_TIME         SEQUENCE# APP    THREAD#
---------------- ---------------- ---------- --- ----------
2012-01-20:49:01 2012-01-20:49:43         46 NO           1

SQL> select first_time,next_time,sequence#,applied,thread# from v$archived_log where thread#=2 and sequence# >20 ;

FIRST_TIME       NEXT_TIME         SEQUENCE# APP    THREAD#
---------------- ---------------- ---------- --- ----------
2012-01-20:45:11 2012-01-20:49:41         21 YES          2
2012-01-20:45:11 2012-01-20:49:41         21 NO           2

主库上切换日志测试日志是否能成功应用到备库
SQL> alter system archive log current;
System altered.

SQL> alter system archive log current;
System altered.

备库查询:
SQL> select first_time,next_time,sequence#,applied,thread# from v$archived_log where thread#=2 and sequence# >20 ;

FIRST_TIME       NEXT_TIME         SEQUENCE# APP    THREAD#
---------------- ---------------- ---------- --- ----------
2012-01-20:45:11 2012-01-20:49:41         21 YES          2
2012-01-20:45:11 2012-01-20:49:41         21 NO           2
2012-01-21:09:32 2012-01-21:10:58         22 YES          2
2012-01-21:14:02 2012-01-21:14:13         23 YES          2
2012-01-21:14:13 2012-01-21:25:03         24 YES          2
2012-01-21:25:03 2012-01-21:29:51         25 NO           2


SQL> select first_time,next_time,sequence#,applied,thread# from v$archived_log where thread#=1 and sequence# >40 ;

FIRST_TIME       NEXT_TIME         SEQUENCE# APP    THREAD#
---------------- ---------------- ---------- --- ----------
2012-01-20:24:52 2012-01-20:24:58         41 YES          1
2012-01-20:24:52 2012-01-20:24:58         41 YES          1
2012-01-20:24:58 2012-01-20:25:51         42 YES          1
2012-01-20:24:58 2012-01-20:25:51         42 YES          1
2012-01-20:25:51 2012-01-20:40:18         43 YES          1
2012-01-20:25:51 2012-01-20:40:18         43 YES          1
2012-01-20:40:18 2012-01-20:45:09         44 YES          1
2012-01-20:40:18 2012-01-20:45:09         44 YES          1
2012-01-20:45:09 2012-01-20:49:01         45 YES          1
2012-01-20:45:09 2012-01-20:49:01         45 NO           1
2012-01-20:49:01 2012-01-20:49:43         46 YES          1

FIRST_TIME       NEXT_TIME         SEQUENCE# APP    THREAD#
---------------- ---------------- ---------- --- ----------
2012-01-20:49:01 2012-01-20:49:43         46 NO           1
2012-01-21:09:32 2012-01-21:10:51         47 YES          1
2012-01-21:10:51 2012-01-21:25:05         48 YES          1
2012-01-21:25:05 2012-01-21:29:48         49 YES          1

主库建表测试,同时切换日志
SQL> create table test1.maa as select * from test1.migrate;
Table created.

SQL> alter system archive log current;
System altered.

备库的alert日志摘要信息
[oracle@server49 ~]$ tail -f /u01/app/oracle/admin/orcl/bdump/alert_orcl.log 
Mon Jan 09 21:33:39 CST 2012
Primary database is in MAXIMUM PERFORMANCE mode
Mon Jan 09 21:33:40 CST 2012
Primary database is in MAXIMUM PERFORMANCE mode
Mon Jan 09 21:33:41 CST 2012
Media Recovery Log /u01/app/oracle/flash_recovery_area/PRIMARY/archivelog/2012_01_09/o1_mf_1_50_7jotz6nc_.arc
Media Recovery Log /u01/app/oracle/flash_recovery_area/PRIMARY/archivelog/2012_01_09/o1_mf_2_26_7jotz6wr_.arc
Media Recovery Waiting for thread 2 sequence 27 (in transit)

将备库启动到只读状态,查看数据
SQL> alter database recover managed standby database cancel;
Database altered.

SQL> alter database open read only;
Database altered.

SQL> select * from test1.maa;

A
--------------------
successful

SQL> alter database recover managed standby database disconnect from session;
Database altered. 

六:收尾工作

SQL> @$ORACLE_HOME/rdbms/admin/catclust.sql;
PL/SQL procedure successfully completed.

[oracle@rac1 ~]$ srvctl add database -d orcl -o $ORACLE_HOME 
[oracle@rac1 ~]$ srvctl add instance -d orcl -i orcl1 -n rac1
[oracle@rac1 ~]$ srvctl add instance -d orcl -i orcl1 -n rac2
[oracle@rac1 ~]$ srvctl add instance -d orcl -i orcl2 -n rac2
[oracle@rac1 ~]$ crs_stat -t -v
Name           Type           R/RA   F/FT   Target    State     Host        
----------------------------------------------------------------------
ora.orcl.db    application    0/0    0/1    ONLINE    ONLINE    rac1        
ora....l1.inst application    0/5    0/0    ONLINE    ONLINE    rac1        
ora....l2.inst application    0/5    0/0    ONLINE    ONLINE    rac2        
ora....SM1.asm application    0/5    0/0    ONLINE    ONLINE    rac1        
ora....C1.lsnr application    0/5    0/0    ONLINE    ONLINE    rac1        
ora.rac1.gsd   application    0/5    0/0    ONLINE    ONLINE    rac1        
ora.rac1.ons   application    0/3    0/0    ONLINE    ONLINE    rac1        
ora.rac1.vip   application    0/0    0/0    ONLINE    ONLINE    rac1        
ora....SM2.asm application    0/5    0/0    ONLINE    ONLINE    rac2        
ora....C2.lsnr application    0/5    0/0    ONLINE    ONLINE    rac2        
ora.rac2.gsd   application    0/5    0/0    ONLINE    ONLINE    rac2        
ora.rac2.ons   application    0/3    0/0    ONLINE    ONLINE    rac2        
ora.rac2.vip   application    0/0    0/0    ONLINE    ONLINE    rac2  

本文转自斩月博客51CTO博客,原文链接http://blog.51cto.com/ylw6006/760934如需转载请自行联系原作者


ylw6006

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
SQL命令行退出操作指南:轻松掌握不同数据库环境下的退出技巧
在数据库管理与开发过程中,经常需要通过SQL命令行工具(如MySQL的mysql客户端、PostgreSQL的psql、SQL Server的sqlcmd等)与数据库进行交互
347 59
|
14天前
|
弹性计算 安全 关系型数据库
活动实践 | 自建数据库迁移到云数据库
通过阿里云RDS,用户可获得稳定、安全的企业级数据库服务,无需担心数据库管理与维护。该方案使用RDS确保数据库的可靠性、可用性和安全性,结合ECS和DTS服务,实现自建数据库平滑迁移到云端,支持WordPress等应用的快速部署与运行。通过一键部署模板,用户能迅速搭建ECS和RDS实例,完成数据迁移及应用上线,显著提升业务灵活性和效率。
|
1月前
|
消息中间件 资源调度 关系型数据库
如何在Flink on YARN环境中配置Debezium CDC 3.0,以实现实时捕获数据库变更事件并将其传输到Flink进行处理
本文介绍了如何在Flink on YARN环境中配置Debezium CDC 3.0,以实现实时捕获数据库变更事件并将其传输到Flink进行处理。主要内容包括安装Debezium、配置Kafka Connect、创建Flink任务以及启动任务的具体步骤,为构建实时数据管道提供了详细指导。
69 9
|
1月前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
83 3
|
1月前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
40 3
|
14天前
|
安全 关系型数据库 MySQL
体验自建数据库迁移到云数据库RDS,领取桌面置物架!
「技术解决方案【Cloud Up 挑战赛】」正式开启!本方案旨在帮助用户将自建数据库平滑迁移至阿里云RDS MySQL,享受稳定、高效、安全的数据库服务,助力业务快速发展。完成指定任务即可赢取桌面置物架等奖励,限量供应,先到先得。活动时间:2024年12月3日至12月31日16点。
|
2月前
|
算法 大数据 数据库
云计算与大数据平台的数据库迁移与同步
本文详细介绍了云计算与大数据平台的数据库迁移与同步的核心概念、算法原理、具体操作步骤、数学模型公式、代码实例及未来发展趋势与挑战。涵盖全量与增量迁移、一致性与异步复制等内容,旨在帮助读者全面了解并应对相关技术挑战。
52 3
|
3月前
|
存储 SQL 关系型数据库
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
MySQL如何进行分库分表、数据迁移?从相关概念、使用场景、拆分方式、分表字段选择、数据一致性校验等角度阐述MySQL数据库的分库分表方案。
492 15
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
|
2月前
|
应用服务中间件 PHP Apache
PbootCMS提示错误信息“未检测到您服务器环境的sqlite3数据库扩展...”
PbootCMS提示错误信息“未检测到您服务器环境的sqlite3数据库扩展...”
|
2月前
|
安全 Linux 数据库连接
CentOS 7环境下DM8数据库的安装与配置
【10月更文挑战第16天】本文介绍了在 CentOS 7 环境下安装与配置达梦数据库(DM8)的详细步骤,包括安装前准备、创建安装用户、上传安装文件、解压并运行安装程序、初始化数据库实例、配置环境变量、启动数据库服务、配置数据库连接和参数、备份与恢复、以及安装后的安全设置、性能优化和定期维护等内容。通过这些步骤,可以顺利完成 DM8 的安装与配置。
320 0