`

模拟数据库镜像:在一台机器的3个实例中进行配置

阅读更多
预备知识: 数据库镜像基本概念
http://msdn2.microsoft.com/zh-cn/library/ms177412.aspx
http://msdn2.microsoft.com/zh-cn/library/ms189852.aspx
--------一 准备工作----------
-------(一) 安装三个实例,分别为:-----
SZDXBAK\SQLSERVER(默认实例), 作为主体服务器
SZDXBAK\SQL2 作为镜像服务器
SZDXBAK\WITNESS 作为鉴证服务器
: 所有实例服务使用SQLService账户启动
------(二) 数据库准备-------
--1 在主体服务上创建测试数据库 RecoveryDb
并创建一个完全备份
--2 在镜像服务上使用NORECOVERY选项恢复数据库,
恢复后数据库状态为'正在还原'
----- 二 创建数据库镜像端点----
--1 在主体数据库(SQLSERVER实例)上创建端点,用于伙伴通讯
CREATE ENDPOINT DbMirroring
STATE=STARTED
AS TCP(LISTENER_PORT=5022)
FOR DATABASE_MIRRORING(ROLE=PARTNER,ENCRYPTION=SUPPORTED)
go
--2 在镜像数据库(SQL2实例)上创建端点,用于伙伴通讯
CREATE ENDPOINT DbMirroring
STATE=STARTED
AS TCP(LISTENER_PORT=5033)
FOR DATABASE_MIRRORING(ROLE=PARTNER,ENCRYPTION=SUPPORTED)
go
--3 在鉴证服务器(WITNESS实例)上创建端点,用于鉴证通讯
CREATE ENDPOINT DbMirroring
STATE=STARTED
AS TCP(LISTENER_PORT=5022)
FOR DATABASE_MIRRORING(ROLE=WITNESS,ENCRYPTION=SUPPORTED)
go
ALTER ENDPOINT DbMirroring STATE=STARTED
go
--4 检查端点配置,可分别在不同服务器上运行以下查询
SELECT * FROM sys.database_mirroring_endpoints
----- 三 配置数据库镜像安全性(最好用域帐号启动MSSQLSERVER服务)--------
--1 主体数据库(SQLSERVER实例)
use master
go
GRANT CONNECT ON ENDPOINT::"DbMirroring" TO "SZDXBAK\SQLService"
go
--2 镜像数据库(SQL2实例)
use master
go
GRANT CONNECT ON ENDPOINT::"DbMirroring" TO "SZDXBAK\SQLService"
go
--3 鉴证服务器(WITNESS实例)
use master
go
GRANT CONNECT ON ENDPOINT::"DbMirroring" TO "SZDXBAK\SQLService"
go
----- -四 启动数据库镜像-----
--注意配置顺序
--1 在镜像数据库(SQL2实例)上,指定到主体服务器(SQLSERVER实例)的伙伴端点
ALTER DATABASE RecoveryDb
SET PARTNER=N'TCP://SZDXBAK:5022'
go
--2 在主数据库(SQLSERVER实例)上,指定到镜像服务器(SQL2实例)的伙伴端点
ALTER DATABASE RecoveryDb
SET PARTNER=N'TCP://SZDXBAK:5033'
go
--: 以上两步完成后,已经配置为高保护级别性模式
--3 如果要创建高可用性模式:在主数据库上(SQLSERVER实例),指定鉴证服务器端点
ALTER DATABASE RecoveryDb
SET WITNESS=N'TCP://SZDXBAK:5044
go
--4 在高可用性模式下:配置数据库镜像事务安全级别
ALTER DATABASE RecoveryDb SET SAFETY FULL
go
--- 五 查看数据库镜像的配置状态
--1 通过Management Studio 对象资源管理器,查看主体数据库,镜像数据库状态
--2 通过Management Studio 对象资源管理器中的数据库属性查看状态
--3 通过系统目录视图查看数据库镜像配置情况
SELECT * FROM sys.database_mirroring_endpoints
SELECT * FROM sys.database_mirroring_endpoints
WHERE database_id = (SELECT database_id FROM sys.database
WHERE name='RecoveryDb')
以上配置完成后,主体数据库的状态为:主体,已同步
镜像数据库的状态为:镜像,已同步/正在还原..
--- 六 服务器角色切换测试----
预备知识
数据库镜像角色切换
自动故障转移
 只针对高可用性模式
 SAFETY=FULL
手动故障转移
 针对高可用性模式和高保护级别性模式
 SAFETY=FULL
强制服务
 只针对高性能模式
 SAFETY=OFF
---(一) 自动故障转移
在主体服务器上,断开网络连接,通过数据库资源管理器查看主体/镜像服务器上数据库的状态
镜像服务器状态: 主体,已断开连接
恢复主体服务器
此时原来主体服务器(SQLSERVER实例)变为镜像服务器状态为:镜像,已同步/正在还原..
原来镜像服务器(SQL2实例)变为主体服务器状态:主体,已同步
---(二) 手动故障转移
-- 主体服务器上执行故障转移过程
USE MASTER
go
ALTER DATABASE RecoveryDb SET PARTNER FAILOVER
go
执行完后主体服务器状态变为: 镜像,已同步/正在还原..
镜像服务器状态变为 主体,已同步
---(三) 强制服务,有可能造成数据丢失
--1) 在镜像服务器上,取消对鉴证服务器的配置
ALTER DATABASE RecoveryDb SET WINTESS OFF
--2) 在镜像服务器上,配置事务安全性为OFF
ALTER DATABASE RecoveryDb SET SAFETY OFF
--3) 断开主体服务器,在镜像服务器上,强制服务 进行角色切换
ALTER DATABASE RecoveryDb SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS
完成后数据库状态为 主体,已断开连接
-----七 如何查询镜像服务器上的数据: 在镜像服务器上创建数据库快照
--1 在镜像服务器上,创建数据库快照
CREATE DATABASE ReconveryDb_snap_1
ON (NAME=RecoveryDb,FILENAM='H:\seconddb\recovery_snap1.ss')
AS SNAPSHOT OF RecoveryDb
--2 访问镜像数据库
USE ReconveryDb_snap_1
go
SELECT * FROM test
------八、删除镜像----------------
ALTER DATABASE RecoveryDbSET PARTNER OFF
注:
1)做镜像时,必须保证主体和镜像数据库的日志一致性,如果在镜像服务器使用NORECOVERY选项恢复数据库时,主体数据库日志有更新,需要在主体数据库备份日志然后在镜像服务器上使用NORECOVERY选项恢复主体服务器更新的日志,否则在主体数据库上指定到镜像服务器的伙伴端点时会报错
2)镜像完成后,对主体数据库新建/修改/删除表,镜像服务器将同步更新
3镜像完成后,对主体数据库执行收缩文件,镜像服务器将同步更新
分享到:
评论

相关推荐

    sqlserver2012主从数据库配置

    在SQL Server 2012中,主从数据库配置是一种常见的高可用性和灾难恢复解决方案,它通常被称为数据库镜像或复制。在这个配置中,一个数据库(主库)会在另一个数据库(从库)上实时或近实时地同步数据,确保即使主...

    创建oracle10g_asm数据库step_by_step[归纳].pdf

    在这个例子中,使用了一台IBM R50 5GC笔记本,配备了迅驰1.5G处理器、1GB内存以及40GB硬盘。由于ASM的测试是在虚拟环境中进行的,因此硬件配置可以相对灵活调整。VMware GSX Server 2.5.1被用于创建虚拟机,这样可以...

    windows03下DB2双机配置手记.rar

    3. **创建集群资源组**:在MSCS中,需要创建一个包含DB2实例、数据库、IP地址和卷资源的资源组。这些资源将在主服务器和备份服务器之间切换。 4. **DB2实例和数据库配置**:在每台服务器上配置DB2实例,确保数据库...

    PHP实例开发源码—UZCMS镜像采集系统娱乐引流版 php版.zip

    【PHP实例开发源码—UZCMS镜像采集系统娱乐引流版 php版.zip】这个压缩包文件是一个基于PHP语言的项目源代码,主要用于娱乐领域的数据采集和引流操作。UZCMS,全称为未知CMS(Unknown Content Management System),...

    oracle RAC 和 weblogic集群安装配置和部署文档

    1.3.8 执行数据库初始化,灌入数据:在所有节点上完成数据库实例的创建,并通过DBCA(Database Configuration Assistant)进行集群数据库的配置。 二、Weblogic集群安装及应用部署 2.1 使用介质 WebLogic Server的...

    Oracle认证分类模拟题6-附答案解析.doc

    2. **数据库写入器进程(DBWn)**:在一个Oracle数据库实例中,DBWn进程的数量可以根据系统的需要动态调整,但至少有一个。在非ASM(Automatic Storage Management)实例中,DBWn负责将缓冲区高速缓存中的更改写入数据...

    Oracle11GR2 RAC for AIX安装配置

    Oracle 11gR2 RAC (Real Application Clusters) 是一种高可用性和容错性的数据库解决方案,允许在多台服务器之间共享一个数据库实例。在IBM AIX操作系统上配置Oracle RAC,可以确保数据的持续可用性,即使单个服务器...

    MSDN中文版的镜像文件ISO

    此外,这种方法也允许用户在同一台电脑上运行多个独立的操作系统实例,方便测试和开发。 关于“VB6.0”,它是Visual Basic的一个重要版本,发布于1998年。Visual Basic 6.0是微软推出的事件驱动编程环境,主要用于...

    PHP实例开发源码—UZCMS镜像采集系统(万能克隆爬虫程序)php版.zip

    【PHP实例开发源码—UZCMS镜像采集系统(万能克隆爬虫程序)php版.zip】是一个基于PHP编程语言的开源项目,主要功能是实现网站内容的镜像采集和克隆。这个系统利用了PHP的网络爬虫技术,能够自动抓取指定网页的内容...

    greenplum-database管理员指南6.0.0.pdf

    - Host指的是一台独立的物理机器或虚拟机。 - Instance指的是GP的计算实例,通常称为Segment,负责执行查询。 - Primary和Mirror则分别指主计算实例和镜像计算实例。 ### GP数据库架构 在GP数据库架构方面,管理员...

    数据库集群技术有哪些?.doc

    数据库集群技术是现代大型企业级应用中不可或缺的一部分,它通过将多台服务器组织成一个集群,以实现更高的性能、负载均衡以及系统可用性。数据库集群技术主要包括以下几类: 1. 高性能集群(HPC):这类集群主要...

    linux笔记

    - **作用**: 可以在一台物理计算机上同时运行多个不同的操作系统,适用于测试、学习和部署多个不同环境的需求。 - **常用工具**: - VMware: 提供稳定可靠的虚拟化解决方案,广泛应用于企业和教育领域。 - ...

    vmware中 oracle安装rac文档

    Oracle RAC(Real Application Clusters)是Oracle数据库的一个高级特性,它允许多个数据库实例同时访问同一物理数据库,实现高可用性和负载均衡。在VMware Workstation中的Red Hat Enterprise Linux 5环境中安装...

    2021全国职业院校技能大赛云计算赛项-(第3天).pdf

    - 创建一台云数据库(chinaskill-mysql),包括数据库版本、实例类型、规格、字符集、端口等参数的设置。 - 管理云数据库实例,包括数据库的创建、配置、安全性(如设置数据库密码)等操作。 7. 只读数据库的创建:...

    rac搭建测试

    2. **VMware Server安装**:VMware Server是一款虚拟化软件,允许你在一台物理服务器上创建并运行多个虚拟机。按照VMware Server的官方文档进行安装,确保系统满足硬件需求,如足够的内存、CPU和硬盘空间。 3. **...

    android 实例

    8. **mysdcard.img**: 这个文件可能是一个模拟SD卡的镜像,用于在Android模拟器上测试与外部存储相关的功能,如读写文件,或者在应用中处理媒体文件。 通过这些实例,Android新手可以逐步构建自己的技能,从基础到...

    vmware搭建10g rac

    VMware Workstation是一款强大的桌面级虚拟化软件,它允许用户在同一台物理机器上创建和运行多个虚拟机。在搭建Oracle RAC环境时,VMware Workstation可提供隔离的、独立的环境来模拟多台服务器,这对于学习和测试...

    Oracle,HA在Unix上双机环境的安装指南

    在双机环境中,Oracle数据库需要进行特殊配置,包括创建数据库实例、设置监听器、配置网络服务名、安装和配置Oracle Clusterware等。同时,HACMP需要配置心跳检测、资源组和网络资源,以便在主节点故障时能够自动将...

Global site tag (gtag.js) - Google Analytics