数据库的分离和附加

数据库的分离和附加
数据库的分离和附加

数据库的分离和附加

因为我们机房机器装有保护卡,我们本次实验创建的数据库及它所包含的表等对象,下次实验还要重新创建。SQL Server提供数据库的分离和附加的功能,可以将本次实验创建的数据库对象从数据库服务器分离,拷贝到U盘。下次实验再拷贝回磁盘,附加到数据库服务器上。分离和附加一对互逆的功能。

1、数据库的分离

将我们创建的一个用户数据库从数据库服务器分离出来,变成独立的文件.mdf数据文件和.ldf日志文件。我们可以把这些文件拷贝到我们的U盘。

2、数据库的附加

将.mdf数据文件和.ldf日志文件拷到一个目录下,附加到数据库服务器上。在SQL Server Management Studio的对象资源管理器就可以使用这个用户数据库了。和数据库的分离是互逆的过程。

具体操作步骤如下:

1、数据库的分离

如图1,在SQL Server Management Studio的对象资源管理器中,选中cpxs数据库对象,单击右键,在弹出的快捷菜单选“任务-分离”。

图1

如图2,在弹出的“分离数据库”对话框,单击确定。

图2

如图3,在SQL Server Management Studio的对象资源管理器,选中你本地的数据库服务器单击右键,点刷新。这样你再观察SQL Server Management S tudio的对象资源管理器,就没有这个用户数据库对象了。

图3

如图4,经过分离,cpxs数据库所对应的物理文件还是存在在硬盘上,选中.mdf数据文件和.ldf日志文件,就可以复制或者剪切到U盘或其他目录。

图4

2、数据库的附加

如图5在SQL Server Management Studio的对象资源管理器,选中数据库,单击右键,点附加。

图5

如图6,在弹出的“附加数据库”对话框中,单击添加,

图6

如图7,在“定位数据库文件”对话框,选择.mdf文件的目录,选择.mdf文件,单击确定。

图7

如图8,在“附加数据库”对话框,就可以看到附加的数据库了,下面有该数据库的详细信息(包括主数据文件,辅助数据文件,日志文件),单击确定。

图8

如图9,在SQL Server Management Studio的对象资源管理器,数据库下面就可以看到附加的数据库了cpxs。

图9

数据库分离与附加操作流程

数据库分离与附加操作流程

RYAccountsDB,RYEducateDB,RYGameMatchDB,RYGameScoreDB,RYNativeWebDB,RYPlatformDB,RYPlatformManagerDB,RYRecordDB,RYTreasureDB 分离与附加 概念: 1.后的数据库文件可以复制到任何需要该文件的系统上。比如在A机器上创建的数据库, 可以复制到B电脑上。分离后,在数据库列表将看不到该数据库,不能再被SqlServer管理和使用。但该数据库的文件(.MDF)和对应的日志文件(.LDF)完好无损。分离成功后,我们就可以把该数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘中作为备份保存。 2、附加数据库就是将一个备份磁盘中的数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到需要的计算机,并将其添加到某个SQL Server 数据库服务器中,由该服务器来管理和使这个数据库。 一.附加数据库(以RYAccountsDB数据库为例) 步骤一,在数据库操作界面,数据库右键,点击附加,选择需要附加的数据库文件式为:据库

名.mdf, 点击附加,弹出如下图界面

点击添加,弹出如下界面,该界面可以选择要附加的数据库文件。默认打开的是安装SqlSever 生成的DaTa文件夹(C:\Program Files\Microsoft SQLServer\MSSQL10_50.SQLEXPRESS\MSSQL\DAT A)图: 如果所建立的数据库没有保存在默认路径下,可以把这里的盘符文件夹折叠起来,再选择自己存放的数据库文件,如下图 步骤二: 选择要附加的数据库文件路径,默认打开的是主数据文件(以.mdf结尾的文件),切换文件类型到*所有文件,可以看到当前文件夹下的所有以.mdf和.ldf或者.ndf结尾的文件,这些都是

sql附加数据库

数据库安装说明书 1.打开“企业管理器” 点“开始”→“所有程序”→“Microsoft SQL Server”→“企业管理器”,如图1所示。 图1 打开“企业管理器”菜单 2.增加数据库账户“yytest” 打开“安全性”→选择“登录”→在“登录”点右键→点击“新建登录”(如图2所示),在弹出的对话框中,按照图3所示,在“名称”处填写“yytest”→点击“SQL Server身份验证”→在密码处填写“jctest”(全部小写)→点击“确定”按钮。 图2 “新建登录”菜单

图3 “新建登录”对话框 系统立即会弹出“确认密码”对话框(如图4所示),在“确认新密码”处再次输入“jctest”→点击“确定”按钮。 图4 “确认密码”对话框 “yytest”的权限默认即可,不用设置。 3.附加数据库 将下载下来的SQL数据库.rar解压,将释放出来的2个文件(yytest_Data.MDF、yytest_Log.LDF)放到合适的文件夹中(一定要记清楚位置)。 右击“数据库”→点“所有任务”→点“附加数据库”(如图5所示)。

图5 “附加数据库”菜单 在弹出的对话框中,按照图6所示,在“指定数据库所有者”处选择“yytest”→点击 按钮。 图6 “附加数据库”对话框 在弹出的对话框中,按照图7所示,选定文件“yytest_Data.MDF”,点击“确定”按钮。 图7 “浏览文件”对话框

系统将返回到“附加数据库”对话框,但界面信息将发生变化,如图8所示。 图8 “附加数据库”对话框 点击“确定”按钮。出现“附加数据库顺利完成”对话框,见图9。 图9 “附加数据库顺利完成”对话框 如果在SQL Server窗口右边能够看到图10才说明附加考试数据库确实成功了。 图10 “yytest”数据库 4.注意事项 在安装SQL Server时,一定要选择“SQL Server和Windows”混合模式进行身份验证,查看方法如下: (1)按图11所示,打开“属性”对话框:

数据库读写分离

随着一个网站的业务不断扩展,数据不断增加,数据库的压力也会越来越大,对数据库或者SQL的基本优化可能达不到最终的效果,我们可以采用读写分离的策略来改变现状。读写分离现在被大量应用于很多大型网站,这个技术也不足为奇了。ebay就做得非常好。ebay用的是oracle,听说是用Quest Share Plex 来实现主从复制数据。 读写分离简单的说是把对数据库读和写的操作分开对应不同的数据库服务器,这样能有效地减轻数据库压力,也能减轻io压力。主数据库提供写操作,从数据库提供读操作,其实在很多系统中,主要是读的操作。当主数据库进行写操作时,数据要同步到从的数据库,这样才能有效保证数据库完整性。Quest SharePlex就是比较牛的同步数据工具,听说比oracle本身的流复制还好,mysql也有自己的同步数据技术。mysql只要是通过二进制日志来复制数据。通过日志在从数据库重复主数据库的操作达到复制数据目的。这个复制比较好的就是通过异步方法,把数据同步到从数据库。 主数据库同步到从数据库后,从数据库一般由多台数据库组成这样才能达到减轻压力的目的。读的操作怎么样分配到从数据库上?应该根据服务器的压力把读的操作分配到服务器,而不是简单的随机分配。mysql提供了MySQL-Proxy实现读写分离操作。不过MySQL-Proxy 好像很久不更新了。oracle可以通过F5有效分配读从数据库的压力。

ebay的读写分离(网上找到就拿来用了) mysql的读写分离上面说的数据库同步复制,都是在从同一种数据库中,如果我要把oracle的数据同步到mysql中,其实要实现这种方案的理由很简单,mysql免费,oracle太贵。好像Quest SharePlex也实现不了改功能吧。好像现在市面还没有这个工具吧。那样应该怎么实现数据同步?其实我们可以考虑自己开发一套同步数据组件,通过消息,实现异步复制数据。其实这个实现起来要考虑很多

数据库分离与附加操作流程

RYAccountsDB,RYEducateDB,RYGameMatchDB,RYGameScoreDB,RYNativeWebDB,RYPlatformDB,RYPlatformManagerDB,RYRecordDB,RYTreasureDB 分离与附加 概念: 1.后的数据库文件可以复制到任何需要该文件的系统上。比如在A机器上创建的数据库,可以复制到B电脑上。分离后,在数据库列表将看不到该数据库,不能再被SqlServer管理和使用。但该数据库的文件(.MDF)和对应的日志文件(.LDF)完好无损。分离成功后,我们就可以把该数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘中作为备份保存。 2、附加数据库就是将一个备份磁盘中的数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到需要的计算机,并将其添加到某个SQL Server数据库服务器中,由该服务器来管理和使这个数据库。 一.附加数据库(以RYAccountsDB数据库为例) 步骤一,在数据库操作界面,数据库右键,点击附加,选择需要附加的数据库文件式为:据库名.mdf, 点击附加,弹出如下图界面

点击添加,弹出如下界面,该界面可以选择要附加的数据库文件。默认打开的是安装SqlSever 生成的DaTa文件夹(C:\Program Files\Microsoft SQLServer\MSSQL10_50.SQLEXPRESS\MSSQL\DATA)图: 如果所建立的数据库没有保存在默认路径下,可以把这里的盘符文件夹折叠起来,再选择自己存放的数据库文件,如下图 步骤二: 选择要附加的数据库文件路径,默认打开的是主数据文件(以.mdf结尾的文件),切换文件类型到*所有文件,可以看到当前文件夹下的所有以.mdf和.ldf或者.ndf结尾的文件,这些都是数据库文件,附加的时候只需要选择需以.mdf结尾的目标文件,日志文件(.ldf结尾的文件)会随着主数据文件(.mdf结尾的文件)的附加成功而自动附加的。

数据库读写分离解决方案--DG实施方案

数据库读写分离解决方案 ----oracle 11G ADG实施方案

1.项目背景介绍 1.1目的 通过DG实现主库与备库同步,主库作为业务应用库,备库作为查询库,应用根据不同需求配置对应数据库; 1.2测试环境 在2台RedHat5.4上使用ORACLE 的DataGuard组件实现容灾。设备配置(VMWare虚拟机环境)清单如下:

2.Oracle DataGuard 介绍 备用数据库(standby database)是ORACLE 推出的一种高可用性(HIGH AVAILABLE)数据库方案,在主节点与备用节点间通过日志同步来保证数据的同步,备用节点作为主节点的备份,可以实现快速切换与灾难性恢复。 ●STANDBY DATABASE的类型: 有两种类型的STANDBY:物理STANDBY和逻辑STANDBY 两种类型的工作原理可通过如下图来说明: physical standby提供与主数据库完全一样的拷贝(块到块),数据库SCHEMA,包括索引都是一样的。它是可以直接应用REDO实现同步的。 l ogical standby则不是这样,在logical standby中,逻辑信息是相同的,但物理组织和数据结构可以不同,它和主库保持同步的方法是将接收的REDO转换成SQL语句,然后在STANDBY上执行SQL语句。逻辑STANDBY除灾难恢复外还有其它用途,比如用于用户进行查询和报表,但其数据库用户相关对象均需要有主键。 ?本次实施将选择物理STANDBY(physical standby)方式

●对主库的保护模式可以有以下三种模式: –Maximum protection (最高保护) –Maximum availability (最高可用性) –Maximum performance (最高性能) ?基于项目应用的特征及需求,本项目比较适合采用Maximum availability (最 高可用性)模式实施。

网站MySQL数据库优化方案-主从架构及读写分离

网站MySQL数据库优化方案 网络运维信息管理中心 (2020年8月)

数据库为网站提供数据的结构化存储,是网站系统的重要组成部分,但随着业务逻辑的复杂度的增加,数据库需要不断的优化,单一的数据库已无法满足现在要求。 1.1优化目标 针对网站的MySQL数据库部署架构进行优化,其优化的目的是为了防止数据库出现单点故障问题,提高数据库的处理能力,提高数据库的可靠性,为保证网站业务正常办理。 1.2优化工作思路 1、对现有数据库现状分析包括现有数据库配置合理性分析、现有数据库部署情况两部分工作内容; 2、梳理现有网站的功能模块,目的是通过梳理网站的各功能模块对数据读取时效性,分析其是否可以实现读写; 3、以数据库主从架构及数据库读写分离方式,对网站的MySQL 数据库提出数据库部署架构优化的方案,数据库主从架构的多数据库模式,解决数据库单点存在的问题,当主数据库出现宕机时,可以将从数据库代替主数据库恢复业务系统正常运行,而且避免数据的丢失,提高数据库高可靠性和高可用性;通过部分查询统计功能,实现数据库读写分离,以便对数据库负载进行分流,缓解主数据库的读取压力。

2.1当前数据库部署架构图 当前网站的数据库采用单台MySQL数据库提供数据库服务,当前部署架构图如下: 2.2现有数据库主要配置梳理

2.3数据库部署情况梳理 2.3.1数据库安装部署情况梳理 2.3.2现有应用连接数据库情况梳理 连接数据库的应用系统有会员管理、权限管理、订单模块、商品管理、促销管理、广告管理、报表统计、文章管理、评论管理、系统设置、数据库管理、短信管理、推荐管理、邮件群发管理等。2.3.3数据库服务启动、停止方式梳理 1、启动命令 (1)普通启动:/data/soa/mysql/bin/mysqld (2)centos6以前版本:service start mysqld (3)centos7+:systemctl mysqld start

数据库的分离和附加

数据库的分离和附加 因为我们机房机器装有保护卡,我们本次实验创建的数据库及它所包含的表等对象,下次实验还要重新创建。SQL Server提供数据库的分离和附加的功能,可以将本次实验创建的数据库对象从数据库服务器分离,拷贝到U盘。下次实验再拷贝回磁盘,附加到数据库服务器上。分离和附加一对互逆的功能。 1、数据库的分离 将我们创建的一个用户数据库从数据库服务器分离出来,变成独立的文件.mdf数据文件和.ldf日志文件。我们可以把这些文件拷贝到我们的U盘。 2、数据库的附加 将.mdf数据文件和.ldf日志文件拷到一个目录下,附加到数据库服务器上。在SQL Server Management Studio的对象资源管理器就可以使用这个用户数据库了。和数据库的分离是互逆的过程。 具体操作步骤如下: 1、数据库的分离 如图1,在SQL Server Management Studio的对象资源管理器中,选中cpxs数据库对象,单击右键,在弹出的快捷菜单选“任务-分离”。 图1

如图2,在弹出的“分离数据库”对话框,单击确定。 图2 如图3,在SQL Server Management Studio的对象资源管理器,选中你本地的数据库服务器单击右键,点刷新。这样你再观察SQL Server Management S tudio的对象资源管理器,就没有这个用户数据库对象了。 图3

如图4,经过分离,cpxs数据库所对应的物理文件还是存在在硬盘上,选中.mdf数据文件和.ldf日志文件,就可以复制或者剪切到U盘或其他目录。 图4 2、数据库的附加 如图5在SQL Server Management Studio的对象资源管理器,选中数据库,单击右键,点附加。 图5

数据库使用情况分析

数据库使用情况分析 一、警报日志: 1)计算一个月插入数据 目前操作为15S会执行一次数据库操作;假设有2000台;那么;一个月的数据为: 单枪柜: 4*60*24*30=240 0000 如果为2000台: 240*2000=40000W 这是极限值; 2)计算数据库插入频率 按时间权限处理算下数据库插入操作频率: 15S/2000 =7ms执行一次插入操作 3)数据查询 数据库的数据要与其他的表用ID做关联,那么这个操作会更糟糕;因为警报日志表中在7ms就会执行一个插入动作,所以关联的查询如果在7ms中检索不出来,检索的数据就会有脏数据;(检索和插入动作产生冲突,数据库在处理检索和插入的同时还会处理他们的冲突事情) 由上可以看出数据库的性能要远远高于7ms才可以 以上为单张表警报日志处理极限值分析; 以上解决方法: 1)插入执行时间加长到1个小时,相当于执行极限频率提高到7ms*60*4=5s 2)分库,把此单张表移到一个单独数据库中; 3)换中型数据库MSSQL 或大型数据库ORACLE; 二、取枪还枪日志极限值分析 1)枪弹柜取枪与还枪动插入操作 枪弹柜取枪与还枪动作限定每天执行一支枪一个动作;每个枪弹柜只有十支枪,子弹不用取还计算; 一个枪弹柜一天执行的动作数: 1*10=10次;

按2000枪弹柜计算: 一个月执行的次数为: 10*2000*30=30 0000数据; 取还枪表一个月的数据要有30W数据存在;一年大约为400W数据分为两张表,单张表一年数据也近200W; 2)取还枪执行频率 最坏计算: 所有取枪人员在上班同一时间(一小时)取枪计算执行频率为 1*60*60/20000=0.06S 按上述频率计算,数据库的性能至少是执行每个动作不超过0.06s 就不会产生冲突;(数据不会丢或不会出错),但一般数据库中表关联查询(多表查询)都差不止要这个时间;所以产生冲突的可能必会很大;数据库一定要可以处理这种冲突; 三、整个数据库计算 如果计算最坏情况下数据库的使用频率 应该是: 一个60ms执行一次一个7ms执行一次;最坏计算是420ms产生一次冲突(取还枪与警报日志);也就是一秒内会有至少产生两次冲突的可能; 而单独警报日志自身不同动作(插入、删除)是0.007S产生一次冲突,数据库会可能会产生一次冲突; 四、解决方案 1)优化数据库和程序代码; 缺点:对程序员和数据库优化人员的技术要求高; 优点:数据库可以继续使用目前数据库 2)数据分库、数据库读写分离; 缺点:程序需要修改 优点:动作很容易实现 3)换大型数据库(MSSQL 或ORACLE); 缺点:可能需要收费(如果我们项目可以使用破解版本,就可以不用担心), 优点:直接把结构COPY即可;对程序员和数据库优化人员要求低; 4)如果换库建议使用破解版本ORACLE或MSSQL;

mysql读写分离

Linux下Mysql源码安装笔记 安装步骤: 1.解压mysql-5.1.55.tar.gz 命令: tar -zxvf mysql-5.1.55.tar.gz 2.配置Mysql 命令:./configure --prefix=/usr/local/mysql 说明:安装到/usr/local/mysql下,当然用别的也行,还有其它参数可以查看相关文档. 3.编译,安装 命令: make make install 这两个命令发的时间较长. 4.创建用户和组. groupadd mysql useradd -g mysql mysql 5.进入mysql目录.创建var目录.并把./share/Mysql/https://www.360docs.net/doc/1415648606.html,f 拷到Mysql目录下并改名为https://www.360docs.net/doc/1415648606.html,f. >mkdir var >mv share/mysql/https://www.360docs.net/doc/1415648606.html,f https://www.360docs.net/doc/1415648606.html,f 6.配置https://www.360docs.net/doc/1415648606.html,f 配置主要把安装的目录的那几项打开就行. 7.安装数据库 命令:./bin/Mysql_install_db 说明:必须用参数--defaults-file指定https://www.360docs.net/doc/1415648606.html,f,否则系统用默认的/etc/https://www.360docs.net/doc/1415648606.html,f.

8.安装完后,可以看到mysql/var目录下有数据文件,然后用下面命令设置权限: shell> chown -R root . shell> chown -R mysql var shell> chgrp -R mysql . 9.启动数据库. ./bin/Mysqld_safe 10.进入数据库. ./bin/mysql -u root – 默认时没有密码,当然如果你删除/etc/https://www.360docs.net/doc/1415648606.html,f,可以不要后面的--defaults-file=/test/Mysql/https://www.360docs.net/doc/1415648606.html,f ./bin/Mysql -u root --socket=/tmp/Mysql3306 也就行了,原因大家应该知道吧!^_^! 11.设为服务并自启动. 对于设置为服务只要把mysql/share/mysql/mysql.server放到/etc/init.d/下改名为mysql 命令: mv share/mysql/mysql.server /etc/init.d/mysql chmod 775 /etc/init.d/mysql chkconfig --add mysql 总结,这只是安装了一个3306端口的mysql,如果要在装一个msyql,步骤一样,只要改动https://www.360docs.net/doc/1415648606.html,f文件的内容. 设置用户权限: grant all privileges on *.* to 'root'@'%' identified by 'ZJLT&https://www.360docs.net/doc/1415648606.html,' with grant opt ion; 备: server-id = 2 master-host=192.168.1.14 replicate-do-db=appmarket master-user=root master-password=ZJLT&https://www.360docs.net/doc/1415648606.html,

SQL SERVER 分离和附加数据库详解

SQL SERVER 分离和附加数据库详解 一.Sql语句命令方式 RESTOREHEADERONLY FROMDISK=N'f:/Test.bak' 返回包含特定备份设备上所有备份集的所有备份标头信息的结果集 分离数据库 USE[master] GO EXECmaster.dbo.sp_detach_db@dbname=N'xiantest' GO 或者 exec sp_detach_db xiantest 或 exec sp_detach_db@dbname='xiantest' 附加数据库 USE[master] GO CREATEDATABASE[xiantest]ON (FILENAME=N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\xiantest.mdf'), (FILENAME=N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\xiantest_log.ldf') FORATTACH GO 或 exec sp_attach_db xiantest,@filename1=N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\xiantest.mdf', @filename2=N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\xiantest_log.ldf' exec sp_attach_db xiantest,N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\xiantest.mdf',

数据库规范

数据库相关规范 1.使用utf8mb4字符集 2.所有表、字段必须写清中文注释 3.金额字段禁止使用小数存储(单位:分) 4.禁止使用字段属性隐式转换(如:“WHERE ms_no = 1234”ms_no为字符串类型) 5.尽量不使用负向查询(NOT、!=、<>、!<、!>、NOT IN、NOT LIKE等) 6.禁止使用外键,如有完整性约束,需要应用程序控制 7.禁止使用程序配置文件内的账号访问线上数据库 8.禁止非DBA对线上数据库进行写操作 9.开发、测试、线上环境分离 10.所以提交的SQL语句必须经过测试 11.禁止存储大文件或大照片 12.库名、表名、字段名:小写,下划线分割,不超过32个字符,必须见名知意,禁止拼 音英文混用 13.表必须有主键 14.必须把字段定义为NOT NULL并设置默认值 15.必须使用varchar(20)来存储手机号 16.单表索引控制在5个以内,单索引字段数不许超过5个 a)索引的使用。? b)(1) 尽量避免对索引列进行计算。如计算较多,请提请管理员建立函数索引。? c)(2) 尽量注意比较值与索引列数据类型的一致性。? d)(3) 对于复合索引,SQL语句必须使用主索引列? e)(4) 索引中,尽量避免使用NULL。? f)(5) 对于索引的比较,尽量避免使用NOT=(!=)? g)(6) 查询列和排序列与索引列次序保持一致 (7) 禁止在更新频繁、区分度不高(如:性别)的字段上建立索引 (8) 建立组合索引,必须把区分度高的字段放在前面 17.禁止使用SELECT * ,只获取必要的字段 18.禁止使用INSERT INTO t_xxx VALUES(xxx),必须指定插入的列名 19.禁止在WHERE条件的属性上使用函数或表达式 20.禁止%开头的模糊查询 21.禁止使用OR条件 22.应用程序必须捕获SQL异常,并作出相应处理 23.逻辑删除代替物理删除 24.选择最有效的表名、查询条件顺序(从右到左) 25.减少访问数据库的次数 26.SQL中的关键字均使用大写字母,数据表最好起别名 27.查询条件中“>=”代替“>” 28.等号两边使用空格,逗号后使用空格 29.多表操作必须使用别名 30.整条语句必须写明注释,关键逻辑单独书写注释,说明算法、功能 a)注释风格:注释单独成行、放在语句前面。? b)(1) 应对不易理解的分支条件表达式加注释;? c)(2) 对重要的计算应说明其功能;?

SQL数据库的备份与还原、分离与附加

SQL数据库的备份与还原 一、SQL数据库的备份: 1、依次打开开始菜单→程序→Microsoft SQL Server 2008 →SQL Server Management Studio →数据库:以Dsideal_school_db为例 图(1) 2、选择要备份的数据库“Dsideal_school_db”,点击鼠标右键→任务→备份,如图(2):

图(2) 3、在打开的“备份数据库—Dsideal_school_db”对话框中,先点击删除,然后点击“添加”,如图(3):

首先点击“删除” 然后点击“添加” 图(3) 4、在弹出的“选择备份目标”对话框中,点击“”,如图(4) 图(4) 5、选择好备份的路径(如D盘的江西-学籍-数据库备份文件夹中),文件类型选择“所有文件”,“文件名”那个位置填写上您要备份的数据库的名字(最好在您

备份的数据库的名字后面加上日期,以方便以后查找),之后连续点击“确定”按钮即可完成数据库的备份操作,如图(5): 图(5 二、SQL数据库的还原:

1、选择您要还原的数据库“Dsideal_school_db”,点击鼠标右键→任务→还原→数据库,如图(6): 图(6) 2、在出现的“还原数据库— school_web_db”对话框中选择“源设备”,然后点击后面的“”按钮,如图(7):

3、在出现的“指定备份”对话框中,点击“添加”按钮,如图(8): 图(8) 4、找到数据库备份的路径,选择您所要还原的数据库“Dsideal_school_db”(注 意:文件类型选择所有文件),然后连续“两次”点击“确定”按钮,如图(9):

数据共享集群和读写分离集群的服务名配置

数据共享集群和读写分离集群的服务名配置 DMDSC Dameng Data Shared Clusters,达梦数据共享集群。 DMRWC Dameng Read/Write Clusters,达梦读写分离集群。 1. DMDSC在生产环境中用的越来越多,就有应用配置连接字符串的问题,首先需配置dm_svc.conf(类似于Oracle的tnsnames.ora),如下: time_zone=(480) language=(en) dmrac=(192.168.0.1:5236,192.168.0.2:5236) switch_time=(10000) switch_interval=(1000) loadBalance=(true) loadBalanceFreq=(10000) loadBalancePercent=(10) dmrac: 服务名,配置DSC节点的IP和端口。 loadBalance : 是否负载均衡 loadBalanceFreq: 负载均衡的频率 然后需要配置的URL字符串: url="jdbc:dm://dmrac:5236?comOra=true&loadBalance=true&loadBalanceF req=10000" comOra: 是否兼容ORACLE模式 & :转义字符,转义为& 2. 读写分离集群(DMRWC)服务名配置: TIME_ZONE=(480) LANGUAGE=(en) DM_RWW=(192.168.0.151:5236,192.168.0.152:5236,192.168.0.153:5236) RW_SEPARATE=(1) RW_PERCENT=(30) LOGIN_PRIMARY=(1) SWITCH_TIME=6000

分离附加数据库失败解决办法

当事务日志太大时我们有时会通过分离附加的方式清除LOG文件,正常情况下,清除LOG后,附加都会成功,但是有些时候可能数据文件破坏或者分离异常等诸多原因导致无法正常附加,附加时报错:设备激活错误。物理文件名'C:\Program Files\Microsoft SQL Server\MSSQL\data\DSCSYS_Log.LDF '可能有误。 解决方法(以数据库DSCSYS为例): 1.将原先的数据文件DSCSYS_data.mdf备份到其他路径下或者重命名,建立新的数据库 DSCSYS,这样就会在相同路径下新生成DSCSYS_data.mdf和DSCSYS_Log.LDF 2.停止服务管理器,删除新生成的DSCSYS_Log.LDF,并将原先的数据文件 DSCSYS_data.mdf恢复覆盖新生成的DSCSYS_data.mdf 切记:此处不可通过分离的方式执行删除和覆盖动作,否则后续无法成功附加 3.启动服务管理器,打开企业管理器,我们会看到数据库DSCSYS处于“置疑”状态,这 时候不能对数据库做任何的操作 4.设置数据库允许之行操作系统表,进入企业管理器,打开SQL Server属性,选择服务器 设置,勾选“允许对系统目录直接进行修改”,也可以通过如下语句实现, USE MASTER GO SP_CONFIGURE 'ALLOW UPDATES',1 GO RECONFIGURE WITH OVERRIDE 执行该语句时,有时可能因为SQL Server本身的原因,会报错配置选项'ALLOW UPDATES' 不存在,也可能是高级选项。此时还是建议采用进入企业管理器勾选“允许对系统目录直接进行修改” 5.设置DSCSYS为紧急修复模式 UPDATE SYSDA TABASES SET STATUS =32768 WHERE NAME='DSCSYS' 执行该语句后我们看到执行结果为: 影响1行 6.重建数据库日志文件 dbcc rebuild_log('DSCSYS','C:\ProgramFiles\MicrosoftSQLServer\MSSQL\data\DSCSYS_Log.LDF ') 执行该语句后我们看到执行结果为:

数据库读写分离方案及对比

数据库读写分离方案及对比版本日期修改历史作者

目录 1概述 (3) 2背景 (3) 3数据库读写分离方案 (3) 3.1Oracle数据库几种常用的复制技术及特点 (3) 3.2异构数据库(Oracle+Mysql)+ GoldenGate (3) 3.2.1方案描述 (3) 3.2.2实现原理 (4) 3.3异构数据库(Oracle+Mysql)+ 其他复制技术 (6) 3.4同构数据库(Oracle)+ GoldenGate (6) 3.4.1方案描述 (6) 3.4.2实现原理 (7) 3.5同构数据库(Oracle)+ DataGuard (7) 3.6同构数据库(SqlServer2008 企业版) (7) 3.6.1实现原理 (8) 3.7同构数据库(Mysql5社区版) (8) 4方案对比 (9)

1概述 本文主要是描述SVC(统一客户视图)项目的数据库读写分离的几种解决方案及优缺点对比。2背景 为了能进一步提升SVC业务系统的服务质量水平、运行效率、系统健壮性稳定性及运行安全,信息中心提出了对SVC的架构进行调整升级,以满足目前及未来的建设需求。 为了缓解大并发的情况下对数据库造成的压力,方案中引入了缓存及数据库的读写分离的技术解决问题。这里针对数据库的读写分离方案有几种实现方式,这里主要是描述这几种方案,以及这几种方案的对比,最后根据具体的情况选择最适合的方案。 由于是比较重要的业务系统,数据量及访问量都比较大,数据的存储主要考虑Oracle、DB2、SQLServer等知名商业数据库厂商。考虑到实现的技术复杂度及运维难度这里主要推荐Oracle作为存储数据库。 3数据库读写分离方案 这里初步提议的数据库有两种,Oracle 11g与Mysql 5。 3.1O racle数据库几种常用的复制技术及特点 3.2异构数据库(Oracle+Mysql)+ GoldenGate 3.2.1方案描述 该方案使用的是异构数据库,其中主数据为Oracle双机热备,从数据库使用的是多台Mysql。主数据库可进行读写操作,主要是进行写操作,从数据库只能读操作。下面是该方案的逻辑架构图:

数据库大型应用解决方案

数据库大型应用解决方 案

随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天百万级甚至上亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。 [@more@] 一、负载均衡技术 负载均衡集群是由一组相互独立的计算机系统构成,通过常规网络或专用网络进行连接,由路由器衔接在一起,各节点相互协作、共同负载、均衡压力,对客户端来说,整个群集可以视为一台具有超高性能的独立服务器。 1、实现原理 实现数据库的负载均衡技术,首先要有一个可以控制连接数据库的控制端。在这里,它截断了数据库和程序的直接连接,由所有的程序来访问这个中间层,然后再由中间层来访问数据库。这样,我们就可以具体控制访问某个数据库了,然后还可以根据数据库的当前负载采取有效的均衡策略,来调整每次连接到哪个数据库。 2、实现多据库数据同步 对于负载均衡,最重要的就是所有服务器的数据都是实时同步的。这是一个集群所必需的,因为,如果数不据实时、不同步,那么用户从一台服务器读出的数据,就有别于从另一台服务器读出的数据,这是不能允许的。所以必须实现数据库的数据同步。这样,在查询的时候就可以有多个资源,实现均衡。比较常用的方法是 Moebius for SQL Server集群,Moebius for SQL Server集群采用将核心程序驻留在每个机器的数据库中的办法,这个核心程序称为Moebius for SQL Server 中间件,主要作用是监测数据库内数据的变化并将变化的数据同步到其他数据库中。数据同步完成后客户端才会得到响应,同步过程是并发完成的,所以同步到多个数据库和同步到一个数据库的时间基本相等;另外同步的过程是在事务的环境下完成的,保证了多份数据在任何时刻数据的一致性。正因为Moebius 中间件宿主在数据库中的创新,让中间件不但能知道数据的变化,而且知道引起数据变化的SQL语句,根据SQL语句的类型智能的采取不同的数据同步的策略以保证数据同步成本的最小化。

SQL Server2008数据库备份与恢复

201 7.2.8 SQL Server 数据库的备份和恢复 大到自然灾害,小到病毒感染、电源故障乃至操作员操作失误等,都会影响数据库系统的正常运行和数据库的破坏,甚至造成系统完全瘫痪。数据库备份和恢复对于保证系统的可靠性具有重要的作用。经常性的备份可以有效的防止数据丢失,能够把数据库从错误的状态恢复到正确的状态。如果用户采取适当的备份策略,就能够以最短的时间使数据库恢复到数据损失量最少的状态。 SQL Server 提供了“分离/附加”数据库、“备份/还原”数据库、复制数据库等多种数据库的备份和恢复方法。这里介绍一种学习中常用的“分离/附加”方法,类似于大家熟悉的“文件拷贝”方法,即把数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘上作备份,然后把这两个文件再拷贝到任何需要这个数据库的系统之中。比如,在实验教学过程中,同学们常常想把自己在学校实验室计算机中创建的数据库搬迁到自己的计算机中而不想重新创建该数据库,就可以使用这种简单的方法。但由于数据库管理系统的特殊性,需要利用SQL Server 提供的工具才能完成以上工作,而简单的文件拷贝导致数据库根本无法正常使用。 这个方法涉及到SQL Server 分离数据库和附加数据库这两个互逆操作工具。 1、分离数据库就是将某个数据库(如student_Mis)从SQL Server 数据库列表中删除,使其不再被SQL Server 管理和使用,但该数据库的文件(.MDF)和对应的日志文件(.LDF)完好无损。分离成功后,我们就可以把该数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘中作为备份保存。 2、附加数据库就是将一个备份磁盘中的数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到需要的计算机,并将其添加到某个SQL Server 数据库服务器中,由该服务器来管理和使用这个数据库。 下面分别介绍这两个步骤的操作细节。 1、分离数据库 分离数据库的操作由以下6步构成。 1) 在启动SSMS 并连接到数据库服务器后,在对象资源管理器中展开服务器节点。在数据库对象下找到需要分离的数据库名称,这里以student_Mis 数据库为例。右键单击student_Mi s 数据库,在弹出的快捷菜单中选择属性项(图7-42),则数据库属性窗口(图7-43)被打开。 图7-42打开数据库属性窗口 2) 在“数据库属性”窗口左边“选择页”下面区域中选定“选项”对象,然后右边区域的“其它选项”列表中找到“状态”项,单击“限制访问”文本框,在其下拉列表中选择“SINGLE_USER ”。

读写分离----构建报表和查询系统

数据库读写分离 随着一个网站的业务不断扩展,数据不断增加,数据库的压力也会越来越大,对数据库或者SQL的基本优化可能达不到最终的效果,我们可以采用读写分离的策略来改变现状。读写分离现在被大量应用于很多大型网站,这个技术也不足为奇了。ebay就做得非常好。ebay用的是oracle,听说是用Quest Share Plex 来实现主从复制数据。 读写分离简单的说是把对数据库读和写的操作分开对应不同的数据库 服务器,这样能有效地减轻数据库压力,也能减轻io压力。主数据库提供写操作,从数据库提供读操作,其实在很多系统中,主要是读的操作。当主数据库进行写操作时,数据要同步到从的数据库,这样才能有效保证数据库完整性。Quest SharePlex就是比较牛的同步数据工具,听说比oracle本身的流复制还好,mysql也有自己的同步数据技术。mysql只要是通过二进制日志来复制数据。通过日志在从数据库重复主数据库的操作达到复制数据目的。这个复制比较好的就是通过异步方法,把数据同步到从数据库。 主数据库同步到从数据库后,从数据库一般由多台数据库组成这样才能达到减轻压力的目的。读的操作怎么样分配到从数据库上?应该根据服务器的压力把读的操作分配到服务器,而不是简单的随机分配。mysql 提供了MySQL-Proxy实现读写分离操作。不过MySQL-Proxy好像很久不更新了。oracle可以通过F5有效分配读从数据库的压力。

ebay的读写分离(网上找到就拿来用了) mysql的读写分离 上面说的数据库同步复制,都是在从同一种数据库中,如果我要把oracle的数据同步到mysql中,其实要实现这种方案的理由很简单,mysql免费,oracle太贵。好像Quest SharePlex也实现不了改功能吧。好像现在市面还没有这个工具吧。那样应该怎么实现数据同步?

实验三-分离与附加、还原与备份

实验三-分离与附加、还原与备份

实验三分离与附加、还原与备份 一、目的与要求 1.掌握SQL Server2005拷贝物理文件的方法; 2.掌握SQL Server 2005附加数据库的方法; 3.掌握SQL Server 2005备份和还原的方法; 4.掌握SQL Server 2005定期自动备份的方法。 二、实验准备 1.了解数据库分离和附加的意义; 2.了解备份的类型、备份设备、恢复模式等概念; 3.了解维护计划所需的服务。 三、实验内容 所有题目,请写出主要操作步骤和运行截图。 (一) 附加数据库 将提供的pubs数据库物理文件pubs.mdf和pubs_log.ldf,放在E:\学号文件夹\下,然后附加到对象资源管理器的目录树中 步骤:右击数据库—>附加—>添加—>选择E盘学号文件夹下的物理文件pubs.mdf和pubs_log.ldf—>单击确定。运行过程及结果如下所示:

(二) 复制数据库文件 1. 停止服务器,复制数据库文件 新建文件夹D:\MYDATA,停止SQL Server2005的数据库引擎服务,复制pubs数据库的物理文件,粘贴到文件夹D:\MYDATA中。

2. 分离数据库,复制数据库文件 在不停止服务的情况下,分离实验二中建立的studentdb数据库,将其物理文件拷贝到D:\MYDATA文件夹中。 步骤:右击数据库studentdb—>任务—>分离—>单击确定,结果如下: (三) 备份和还原 1.简单恢复模式下,数据库完整备份和还原,备份目标为文件名方式。 (1)将pubs数据库设置成简单恢复模式; 步骤:右击pubs数据库—>选择属性—>恢复模式选择简单,结果如下: (2)查看jobs表的第一条记录的max_lvl值为10,对此进行完整备份。这里备份到文件E:\学号文件夹\pubsbk。

Spring2连接多数据库,实现读写分离

Spring2连接多数据库,实现读写分离 Spring2.0.1以后的版本已经支持配置多数据源,并且可以在运行的时候动态加载不同的数据源。通过继承AbstractRoutingDataSource就可以实现多数据源的动态转换。目前做的项目就是需要访问2个数据源,每个数据源的表结构都是相同的,所以要求数据源的变动对于编码人员来说是透明,也就是说同样SQL语句在不同的环境下操作的数据库是不一样的。具体的流程如下: 一、建立一个获得和设置上下文的类 package com.lvye.base.dao.impl.jdbc; /**连接哪个数据源的环境变量 * @author wenc */ public class JdbcContextHolder { private static final ThreadLocal contextHolder = new ThreadLocal(); public static void setJdbcType(String jdbcType) { contextHolder.set(jdbcType); } public static void setSlave(){ setJdbcType("slave"); } public static void setMaster(){ clearJdbcType(); } public static String getJdbcType() { return (String) contextHolder.get(); } public static void clearJdbcType() { contextHolder.remove(); } } 二、建立动态数据源类,这个类必须继承AbstractRoutingDataSource package com.lvye.base.dao.impl.jdbc; import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; public class DynamicDataSource extends AbstractRoutingDataSource{ /* (non-Javadoc) * @see org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource#determineCurrentLook upKey() * @author wenc */ @Override protected Object determineCurrentLookupKey() { return JdbcContextHolder.getJdbcType(); } } 这个类实现了determineCurrentLookupKey方法,该方法返回一个Object,一般是返回字符串。该方法中直接使用了JdbcContextHolder.getJdbcType();方法获得上下文环境并直接返回。 三、编写spring的配置文件配置数据源

相关文档
最新文档