群学网

导航栏

×
你的位置: 群学网 >发言稿 >导航

数据库同步方案(收藏15篇)_数据库同步方案

发布时间:2019-02-24

数据库同步方案(收藏15篇)。

⬣ 数据库同步方案 ⬣

一、总体技术要求 1、市场经营分析系统必须能与各业务系统管理、生产维护系统联网,各系统必须提供经营分析系统所须的各类业务数据,同时要求大部分数据能通过接口自动获取; 2、由于市场经营分析系统需要存放的数据量较大,对统计、查询的时限要求较高,因

1、市场经营分析系统必须能与各业务系统管理、生产维护系统联网,各系统必须提供经营分析系统所须的各类业务数据,同时要求大部分数据能通过接口自动获取;

2、由于市场经营分析系统需要存放的数据量较大,对统计、查询的时限要求较高,因此系统对数据库的性能要求较高,需高性能的大型数据库;存储空间按目前50万用户计,每个用户10K,每月需5GB空间,加上其它业务数据,每月对存储空间的需求为6GB,估算存放两年业务数据所需的磁盘阵列空间为 6GB/月*12月*2年=144GB;

3、系统对数据库产品的要求是在数据存储、灵活高速查询及统计方面必须表现出色;

4、要选择能进行快速开发的前端工具,并且同时支持C/S和WEB的开发方式,

惠州市电信局市场经营分析系统以“九七系统”为主要数据源,其它如网管系统、财务系统等为辅助数据源,通过数据采集机将数据定时采集到数据仓库中。用户通过商用的分析软件、定制的客户端程序、WEB浏览器等多种方式访问数据仓库,获得经营分析信息。

惠州市电信局市场经营分析系统的软件结构主要由三部分组成:数据的抽取、数据的存储和管理、数据的分析展现,

数据仓库实施总体结构 惠州市电信局市场经营分析系统的基本功能有:销售管理功能、经营分析功能、客户管理功能、营销计划分析功能、竞争对手情况分析功能等。

由于数据仓库项目需要投入较大的财力、人力、物力,给企业带来的风险也较大,因此,在实施方法上采用分期实施。本项目主要分两期实施,一期主要实现经营分析功能,其余功能将在二期实施。

惠州市电信局市场经营分析系统(一期)采用基于NT平台的解决方案,实现了基于市场经营分析主题的AD-HOC系统,在一期中主要采用了SYBASE的POWERDESIGNER WAREHOUSE ARCHITECT 6.1、AS IQ 12.4、EA SERVER 3.0、POWERBUILDER 7.0等产品。

1)模型设计: 采用SYBASE POWERDESIGNER WAREHOUSE ARCHITECT 6.1进行数据仓库模型的设计。

2)数据的抽取: 采用编写SQL脚本,定时从“九七系统”的SYBASE ASE 11.9.2数据库、计费系统的INFORMIX数据库、112系统的SYBASE ASE 11.5数据库、网管系统的SYBASE ASE 11.5数据库中抽取数据,抽取频率为每天一次。

3)数据的存储: 从各系统中抽取出来的数据全部存放在NT主机上的SYBASE AS IQ 12.4的数据库,数据的加载方式采用BULK LOAD方式。

4)数据的展现: 基于三层体系结构编写应用程序。采用SYBASE EA SERVER 3.0及VISUAL COMPONENT的产品。中间层应用服务器采用EA SERVER的JAGUAR CTS,用POWERBUILDER 7及VISUAL COMPONENT编写组件,前端采用基于BROWSER的方式展现数据。

⬣ 数据库同步方案 ⬣

金融篇:

“微码营销”已经不仅仅是中国本土数据库营销翘楚,北京世纪微码营销咨询有限公司的简称,而是中国本土数据库营销技术和市场推广手段的缩影,“微码营销”已经被越来越多的金融企业所采用,

传统营销手段对市场的驱动越来越有限,追求领先的企业需要新的营销动力。微码营销(MicroMarketing)公司通过数据库营销和直复营销,帮助思科、甲骨文、德国宝马、中国网通、美国EMC公司、中国惠普等著名公司开发并获取更多的新客户等方面立下了汗马功劳。目前“微码营销”已经不仅仅是中国本土数据库营销翘楚,北京世纪微码营销咨询有限公司的简称(,)而是中国本土数据库营销技术和市场推广手段的缩影,“微码营销”已经逐步突破IT、电信、医疗、汽车、零售、医疗、教育等领域,在金融行业中也大受欢迎。

银行业是中国对外开放的最后几个行业之一,随着WTO协议里中国金融业开放时间表的临近,银行业的竞争日趋激烈。外资银行和国内的新兴银行在中国的市场渠道、网点和客户数量相对于传统四大商业银行来说常处于被动地位,但是数据库营销的兴起却使这些创新型,新技术型的新银行找到了一种以小博大的营销制胜术。

民生银行是一家国内民营股份制商业银行。由于监管机构实行的8%资本充足率的要求,银行正在积极地通过加大对个人金融理财服务的投入力度来吸纳更多的优质存款,获取更多利润,以增加自有资本金量。但是民生银行在全国的高收入潜在客户资料有限,网点和渠道缺乏。为了实现个人银行业务的扩张,借助专业的数据库营销公司的力量成为其以小博大的一种手段。最终,民生银行把覆盖大约100000个目标客户,并在一年时间内发展出500个以上的合格客户的任务落实到了中国本土领先的专业数据库营销公司――微码营销身上。

“微码营销”项目小组立即成立,并很快为民生银行将目标锁定在目前国内年收入在10万元以上,平均年龄在28岁以上的高收入人群。最终,微码营销通过对其企业客户数据库的查询和分析以及市场搜寻建立了10万目标客户名单。通过对直邮广告的内容设计和创意把握及DM、EDM等沟通途径传递民生理财服务的特点,继而通过外呼电话与目标客户进行沟通,该个人理财项目总体反馈率达到了13%,并产生了数千销售机会。而这在以前是根本不敢想象的,然而民生银行的个人理财业务借“微码营销”插上翅膀。

除个人理财业务推广之外其实数据库营销的拓展也延伸到了信用卡推广、设立分行等具体业务中。万事达(Mastercard)选中“微码营销”就是一个典型的例子。

作为世界级的信用卡巨头万事达虽然在其它国家势如破竹,但在中国却遇到了消费者刷卡频率及消费额度还非常低的困境。此时,“微码营销”的进入给万事达卡带来了改变现状的希望。”微码营销”为此策划针对消费者的抽奖活动,在活动期间凡使用万事达卡进行刷卡消费者都可通过短信方式或者网站提交刷卡信息,参加抽奖。活动期间,该网站日浏览量最高可达1万,总计有近十万消费者参与了本次活动。

目前,许多外资银行及国内的新兴银行,如招商银行、民生银行、花旗银行、汇丰银行等一大批银行已经逐渐把数据库营销作为与其它银行和竞争对手争夺市场和客户的新利器,而“微码营销”更是成为银行首选的战略合作伙伴。

保险公司借力“微码营销”

保险公司也不甘寂寞。在对金融业客户维护和推广产生革命性影响的“微码营销”也被带进“汽车保险的大门”。

D保险公司,是国内一家中型保险企业,汽车保险是他的主营业务,

近一两年,在国内车市蓬勃发展,一路高歌的大环境下,D公司的业绩却一直平平,甚至出现下滑的现象。客户量很难取得明显突破,营业额停滞不前,市场投入一再增加,但始终效果甚微,公司上下显得一筹莫展。

采用数据库营销的战略方式,能否让D公司的这种状态得以改观?微码营销公司帮D公司解答了这个问题。微码营销公司经过营销战略咨询专家对D公司进行了缜密的研究,发现D公司存在1,争取新客户的手段单一,不易控制管理2,获取客户成本高,客户流失严重,难以维护3,无法界定出黄金客户4,公司过度依赖代理人,但没有有效的激励管理等4个主要问题。

寻找黄金客户成为“微码营销”帮助D保险公司首要目标。当专业并完善的数据库建立起来后,寻找黄金客户的困难就迎刃而解了。在微码营销公司的建议和帮助下,D公司采用计算客户时间价值的方法来衡量每个客户的重要性。最后在D公司的客户群中,客户价值较高,处于前15%的客户群被视为黄金级别客户。微码营销公司利用自己的电话营销中心,对这些黄金客户进行了电话访问。通过建立VIP俱乐部网站,以E-mail、直邮等方式与客户保持持续有效的沟通,D公司的黄金客户不但保留下来而且还增强了忠诚度。

保留黄金客户与开拓新市场双管齐下成为微码营销公司与D保险公司一致共识。而新客户的来源主要分为两类,从未买过车险的客户与从其他竞争对手流失的客户。

在微码营销公司的策略中两类客户是区别对待的。对从未买过车险的客户,是从所有潜在客户中,甄选出的从未买过汽车保险的人群,以近期内购买汽车的人群为主要目标。微码营销公司抓住了这一人群对汽车的关注,帮助D公司设计了一整套活动方案。借助北京国际汽车展的大力宣传,在车展前举办了“免费赢车展门票――汽车保险知识竞答”活动,收效显著。

D保险公司最后一道难题是保险代理人的管理和激励,为了有效地管理代理人微码营销设立了“代理人俱乐部”,使得D公司对代理人依赖严重的问题有了很大改观。

同样是利用网络的资源,微码营销公司为D公司量身定制了一个专门的保险代理人管理网站系统。代理人俱乐部的网站包含几个主要栏目。1. 最新保险行业资讯2. D公司保险产品推介(。)3. D公司最新活动公告4. D公司宣传资料库5. 客户资料查询6. 客户沟通活动报告7. D公司精英代理人。网站开通后,D公司分配给每个保险代理人一个专用的用户名密码,并对他的1000多位代理人进行了分期分批的培训,将代理人参与俱乐部的活动与业绩评估紧密结合,不但有效地激励了代理人的积极性,而且解决了对代理人管理困难的问题。

短短一年的时间,数据库营销战略为推动D公司的整体发展,充分地发挥出了它神奇的功效,D公司的汽车保险业务市场份额从8%猛增到了19%,成为了业内增长最快的佼佼者。更多的保险公司也竞相模仿,“微码营销”一时悄然走俏在众多保险公司中。

“微码营销”在众多金融企业中受欢迎来源于数据库营销在中国的兴起。在海外,诸如花旗银行、第一波士顿银行、汇丰等世界级金融机构运用数据库营销进行客户开发,维护已经数载并获得了丰硕成果。在国内,许多新兴银行和保险公司和有远见的金融企业也迫不及待抓住这一改写金融业格局的营销利器,纷纷与中国本土数据库营销翘楚 ―― 微码营销公司合作进行新世纪的营销革命。

正如微码营销总裁费建平先生所说,“直复营销更多研究的是客户沟通的手段,客户关系管理更多的是一种理念,而数据库营销将这种理念和营销技术落到实处。”

通过数据库营销和直复营销,微码营销(MicroMarketing)可以帮助金融企业开发并获取更多的新客户,也可以帮助企业提升老客户的忠诚度。综合利用电话营销、Email营销、反馈式直邮、网上营销等直接沟通手段,帮助客户建立客户数据库并管理相关客户信息,实现销售机会挖掘,产品促销推广,客户保留,经销商关系维护等营销目标。

⬣ 数据库同步方案 ⬣

简历编号:更新日期:
姓 名:国籍:
目前所在地:天津民族:汉族
户口所在地:天津身材:185 cm?65 kg
婚姻状况:未婚年龄:22 岁
培训认证:诚信徽章:
求职意向及工作经历
人才类型:应届毕业生?
应聘职位:数据库管理员:数据处理与分析、计算机类、市场调研/业务分析专员:
工作年限:0职称:无职称
求职类型:全职可到职日期:三个月以后
月薪要求:1500--希望工作地区:天津 深圳
个人工作经历:
公司名称:中国银行起止年月:-07 ~ 2009-09
公司性质:国有企业所属行业:金融,保险
担任职务:办公室电脑部实习生
工作描述:负责软硬件维护和档案核对、整理。
离职原因:
公司名称:广东南方海岸科技服务有限公司起止年月:-07 ~ 2007-08
公司性质:民营企业所属行业:电器,电子,通信设备
担任职务:办公室助理和技术助理
工作描述:负责整理文档、文件打印传真、到码头船上安装卫星定位仪器。
离职原因:
教育背景
毕业院校:华南师范大学
最高学历:本科获得学位: 本科学士学位毕业日期:-07-01
所学专业一:信息与计算科学所学专业二:
受教育培训经历:
起始年月终止年月学校(机构)专 业获得证书证书编号
-092010-07华南师范大学信息与计算科学**
语言能力
外语:英语 优秀
国语水平:精通粤语水平:精通
工作能力及其他专长
我性格热情随和,具有进取精神和团队精神,积极参与各种社会实践活动,曾担任校区广播台干事,并荣获“优秀技术人员”称号;担任班里文体委员,多次组织策划集体活动,像春游、秋游,女生节活动,和体育活动等;在广东南方海岸科技服务有限公司实习,担任办公室助理和户外技术助理;在7月到9月在中国银行海珠支行实习,负责软硬件维护和档案核对、整理。这些实践经历,锻炼了我的交际能力和组织能力,为我走向社会打下了坚实的'基础。

此外,我热爱体育活动,是专业足球队、篮球队的主力,并在205月担任系足球队队长参加校区七人足球赛,最终获得校区足球赛第四名的成绩。我觉得,体育不但可以强身健体,还可以在运动中培养一个人的团队精神。我喜欢英语,有不错的英语能力,并通过了大学英语六级考试。在暑假和父母一起到澳洲自由行。衣食住行都需要用英语交流,这证明了我扎实的英语基础。我为人诚实信用,曾在悉尼机场坐的士的时候,发现一台可能是之前乘客落下的高级相机,最后交给了的士司机,要求他通知总台并交还失主。

详细个人自传
个人联系方式
通讯地址:
联系电话:家庭电话:
手 机:QQ号码:
电子邮件:个人主页:

⬣ 数据库同步方案 ⬣

使用load database加载备份到现有数据库,数据库可以是用于创建转储的数据库,也可以不是,语法为:

load database 数据库名 from 转储设备名/物理文件名

load transaction数据库名 from 转储设备名/物理文件名

●利用备份恢复数据库举例:

某数据库数据和日志分别存储在两个独立的磁盘上,正常运转时的执行的备份计划如下,每天的17:00执行整个数据库的备份,每天的10:00、12:00、14:00、16:00点执行增量备份:

周一17:00磁带1(100M)周二10:00磁带2(30M)周二12:00磁带3(30M)周二14:00磁带4(30M)周二16:00磁带5(30M)周二17:00磁带6(30M)

DumpdatabaseDumptransactionDumptransactionDumptransactionDumptransactionDumpdatabase

若数据磁盘在周二的下午六点损坏,可以采用如下步骤恢复数据库:

(1)使用dump transaction with no_truncate获得当前的事务日志转储,磁带7;

(2)使用load database最新的数据库转储,磁带6;(offline)

(3)使用load transaction提交最新的事务日志转储,磁带7;

(4)使用online database把数据库状态设置为online,

(1)使用dump transaction with no_truncate获得当前的事务日志转储,磁带7;

(2)使用load database转载最新的数据库转储,磁带6;(offline)

(3)使用load transaction依次装载磁带2、3、4、5上的事务日志;

(4)使用load transaction提交最新的事务日志转储,磁带7;

(5)使用online database把数据库状态设置为online。

⬣ 数据库同步方案 ⬣

一、Sybase数据库简介 1.版本 1984年,MarkB.Hiffman和RobertEpstern创建了Sybase公司,并在1987年推出了Sybase数据库产品,SYBASE主要有三种版本,一是 UNIX 操作系统下运行的版本,二是NovellNetware环境下运行的版本,三是 Windows NT环境下运行的版本。

1984年,Mark B. Hiffman和Robert Epstern创建了Sybase公司,并在1987年推出了Sybase数据库产品。SYBASE主要有三种版本,一是UNIX操作系统下运行的版本,二是Novell Netware环境下运行的版本,三是WindowsNT环境下运行的版本。现在最新版本已经是 12.5,在各主流Unix操作系统中均有广泛应用。IBM AIX,HPunix,Digital Unix,Sun solaris等等。

一般的关系数据库都是基于主/从式的模型的。在主/从式的结构中,所有的应用都运行在一台机器上。用户只是通过终端发命令或简单地查看应用运行的结果。 而在客户/服务器结构中,应用被分在了多台机器上运行。一台机器是另一个系统的客户,或是另外一些机器的服务器。这些机器通过局域网或广域网联接起来。客户/服务器模型的好处是:

由于采用了客户/服务器结构,应用被分在了多台机器上运行。更进一步,运行在客户端的应用不必是Sybase公司的产品。对于一般的关系数据库,为了让其它语言编写的应用能够访问数据库,提供了预编译。Sybase数据库,不只是简单地提供了预编译,而且公开了应用程序接口DB-LIB,鼓励第三方编写DB-LIB接口。由于开放的客户DB-LIB允许在不同的平台使用完全相同的调用,因而使得访问DB-LIB的应用程序很容易从一个平台向另一个平台移植。

Sybase真正吸引人的地方还是它的高性能。体现在以下几方面:

通过提供存储过程,创建了一个可编程数据库。存储过程允许用户编写自己的数据库子例程。这些子例程是经过预编译的,因此不必为每次调用都进行编译、优化、生成查询规划,因而查询速度要快得多。

触发器是一种特殊的存储过程。通过触发器可以启动另一个存储过程,从而确保数据库的完整性。

Sybase数据库的体系结构的另一个创新之处就是多线索化。一般的数据库都依靠操作系统来管理与数据库的连接。当有多个用户连接时,系统的性能会大幅度下降。Sybase数据库不让操作系统来管理进程,把与数据库的连接当作自己的一部分来管理。此外,Sybase的数据库引擎还代替操作系统来管理一部分硬件资源,如端口、内存、硬盘,绕过了操作系统这一环节,提高了性能。

Sybase数据库主要由三部分组成:

(1) 进行数据库管理和维护的一个联机的关系数据库管理系统Sybase SQL Server;

Sybase SQL Server是个可编程的数据库管理系统,它是整个Sybase产品的核心软件,起着数据管理、高速缓冲管理、事务管理的作用。

(2) 支持数据库应用系统的建立与开发的一组前端工具Sybase SQL Toolset;

ISQL是与SQL Server进行交互的一种SQL句法分析器。ISQL接收用户发出的SQL语言,将其发送给SQL Server,并将结果以形式化的方式显示在用户的标准输出上。

DWB是数据工作台,是Sybase SQL Toolset的一个主要组成部分,它的作用在于使用户能够设置和管理SQL Server上的数据库,并且为用户提供一种对数据库的信息执行添加、更新和检索等操作的简便方法。在DWB中能完成ISQL的所有功能,且由于DWB是基于窗口和菜单的,因此操作比ISQL简单,是一种方便实用的数据库管理工具。

APT是Sybase客户软件部分的主要产品之一,也是从事实际应用开发的主要环境。APT工作台是用于建立应用程序的工具集,可以创建从非常简单到非常复杂的应用程序,它主要用于开发基于表格(Form)的应用。其用户界面采用窗口和菜单驱动方式,通过一系列的选择完成表格(Form)、菜单和处理的开发。

(3) 可把异构环境下其它厂商的应用软件和任何类型的数据连接在一起的接口Sybase Open Client/Open Server,

通过Open Client的DB-LIB库,应用程序可以访问SQL Server。而通过Open Server的SERVER-LIB,应用程序可以访问其它的数据库管理系统。

Sybase SQL Server是一个多库数据库系统。这些数据库包括系统数据库和用户数据库。 而不论是系统数据库还是用户数据库,都建立在数据库设备上。

所有的数据库都创建在数据库设备上。所谓数据库设备,不是指一个可识别的物理设备,而是指用于存储数据库和数据库对象的磁盘原始分区或操作系统文件。增加一个新的数据库设备时,必须对这些设备“初始化”。初始化的过程就是将物理磁盘、磁盘分区或操作系统文件变为SYBASE数据库可以识别的设备。初始化数据库设备使用DISK INIT命令:

NAME=设备名,

PHYSNAME=物理设备名,

其中,NAME指数据库设备名,此名将用于CREATE DATABASE和ALTER DATABASE命令。PHYSNAME是原始磁盘分区或操作系统文件名。VDEVNO是数据库设备的标识号,在SQL Server中,它必须是唯一的。SIZE的单位是2K的块,对于新创建的数据库,最小的SIZE是model数据库的尺寸,即1024个2K的块(2M)。

例如:/*将/dev目录下400M的物理设备初始化为SYBASE的数据库设备tele114_log01*/

2>name=“tele114_log01”,

3>physname=“/dev/rtelelog”

5>size=204800 /*2Kbyte*204800=400Mbyte*/

数据库设备从逻辑上被划分为数据库段以允许将某一特定的对象放置在指定的段上(创建对象时指定),一数据库设备可拥有多达192个段,一段可使用255个逻辑设备上的存储空间。当用户创建一个数据库时,SQL SERVER 会自动在该数据库中创建三个段: SYSTEM、LOGSEGMENT 、DEFAULT,这三个段分别用来存储数据库的系统表、事务日志和其他数据库对象 。

在数据库中创建段的步骤是:

x 通过使用Create database 和alter database 的on 子句,使数据库设备对数据库可用,于是新设备自动增加到数据库的default 和system段。

一旦数据库设备存在并对数据库可用,使用存储过程Sp_addsegment 定义数据库的段。语法如下:

安装Sybase数据库时自动生成的下列系统数据库:

● 主数据库master;

● 模型数据库model;

● 系统过程数据库sybsystemprocs;

● 临时数据库tempdb。

也可选择下列数据库:

●安全审核数据库sybsecurity;

● 示例数据库pubs2;

● 命令语法数据库sybsyntax。

包含许多系统表和系统过程,从总体上控制用户数据库和SQL Server的操作,构成了SYBASE系统的数据字典。MASTER数据库主要记录信息为:

● 登录帐号(SQL服务器用户名);syslogins,sysremolelogins

⬣ 数据库同步方案 ⬣

SYBASE公司是世界著名的数据库厂家,其关系数据库产品SYBASE SQL Server在中国大中型企事业单位中拥有大量的用户,笔者在多年的使用过程中,总结出SYBASE数据库管理和维护的一些经验,现拿出来与大家分享。 我们知道,SYBASE SQL Server用事务(Transaction)来跟踪所有数据库的变化。事务是SQL Server的工作单元。一个事务包含一条或多条作为整体执行的T-SQL语句。每个数据库都有自己的事务日志(Transaction Log),即系统表(Syslogs)。事务日志自动记录每个用户发出的每个事务。日志对于数据库的数据安全性、完整性至关重要,我们进行数据库开发和维护必须熟知日志的相关知识。

SYBASE SQL Server是先记Log的机制。每当用户执行将修改数据库的语句时,SQL Server就会自动地把变化写入日志。一条语句所产生的所有变化都被记录到日志后,它们就被写到数据页在缓冲区的拷贝里。该数据页保存在缓冲区中,直到别的数据页需要该内存时,该数据页才被写到磁盘上。若事务中的某条语句没能完成,SQL Server将回滚事务产生的所有变化。这样就保证了整个数据库系统的一致性和完整性。

Log和数据库的Data一样,需要存放在数据库设备上,可以将Log和Data存放在同一设备上,也可以分开存放。一般来说,应该将一个数据库的Data和Log存放在不同的数据库设备上。这样做有如下好处:一是可以单独地备份Backup事务日志;二是防止数据库溢满;三是可以看到Log的空间使用情况。

所建Log设备的大小,没有十分精确的方法来确定。一般来说,对于新建的数据库,Log的大小应为数据库大小的30%左右。Log的大小还取决于数据库修改的频繁程度。如果数据库修改频繁,则Log的增长十分迅速。所以说Log空间大小依赖于用户是如何使用数据库的。此外,还有其它因素影响Log大小,我们应该根据实际操作情况估计Log大小,并间隔一段时间就对Log进行备份和清除。

随着数据库的使用,数据库的Log是不断增长的,必须在它占满空间之前将它们清除掉。清除Log有两种方法:

开放数据库选项 Trunc Log on Chkpt,使数据库系统每隔一段时间自动清除Log。此方法的优点是无须人工干预,由SQL Server自动执行,并且一般不会出现Log溢满的情况;缺点是只清除Log而不做备份,

执行命令“dump transaction”来清除Log。以下两条命令都可以清除日志:

dump transaction with truncate_only

通常删除事务日志中不活跃的部分可使用“dump transaction with trancate_only”命令,这条命令写进事务日志时,还要做必要的并发性检查。SYBASE提供“dump transaction with no_log”来处理某些非常紧迫的情况,使用这条命令有很大的危险性,SQL Server会弹出一条警告信息。为了尽量确保数据库的一致性,你应将它作为“最后一招”。

以上两种方法只是清除日志,而不做日志备份,若想备份日志,应执行“dump transaction database_name to dumpdevice”命令。

有些操作会大批量地修改数据,如大量数据的修改(Update)、删除一个表的所有数据(Delete)、大量数据的插入(Insert),这样会使Log增长速度很快,有溢满的危险。下面笔者给大家介绍一下如何拆分大事务,以避免日志的溢满。

例如执行“update tab_a set col_a=0”命令时,若表tab_a很大,则此Update动作在未完成之前就可能使Log溢满,引起1105错误(Log Full),而且执行这种大的事务所产生的独占锁(Exclusive Table Lock),会阻止其他用户在执行Update操作期间修改这个表,这就有可能引起死锁。为避免这些情况发生,我们可以把这个大的事务分成几个小的事务,并执行“dump transaction”动作。

上例中的情况就可以分成两个或多个小的事务:

update tab_a set col_a=0 where col_b>x

dump transaction database_name with truncate_only

update tab_a set col_a=0 where col_b <=x

dump transaction database_name with truncate_only

这样,一个大的事务就被分成两个较小的事务。

按照上述方法可以根据需要任意拆分大的事务。若这个事务需要备份到介质上,则不用“with truncate_only”选项。若执行“dump transaction with truncate_only”命令,应该先执行“dump database”。以此类推,我们可以对表删除、表插入等大事务做相应的拆分。

⬣ 数据库同步方案 ⬣

1、下一代数据库技术的发展主流面向对象的数据库技术与关系数据库技术

2、演绎面向对象数据库技术

3、数据库技术发展的新方向非结构化数据库

4、数据库技术发展的又一趋势数据库技术与多学科技术的有机结合

5、未来数据库技术及市场发展的两大方向数据仓库和电子商务

6、数据库技术的实践性发展面向专门应用领域的数据库技术

⬣ 数据库同步方案 ⬣

互联网的迅猛发展,使网上遍布了成千上万的各类高性能计算机,如何更好地扩展和利用这些网络资源已成为一个重要研究方向,这正是网格计算的发展前景所在,

网格计算作为新一代的分布式计算方法,与传统分布式计算的主要区别在于在没有集中控制机制的情况下,通过对计算资源进行大规模共享,满足应用对高性能计算要求,并且这种对计算资源进行大规模共享是动态的、柔性的、安全的和协作式的。

网格安全问题是网格计算中的一个核心问题。我们都知道,安全与便利是一对矛盾的结合体。因为在保证网格计算安全性的同时,还必须要尽量方便用户和各种服务的交互与使用。在设计网格安全机制时特别要考虑网格计算环境的动态主体特征及复杂性。要保证网格计算环境中不同主体之间的相互鉴别和各主体间通信的保密性和完整性。基于以上原因,在网格计算环境中,安全问题比一般意义上的网络安全问题的覆盖面更广。在网格环境中,客户机位于不同的地理空间和组织,为保证网格实体(用户、资源和程序)之间的通信安全、防止篡改、实现组织中安全机制方面的互操作性。就需要具备有一个统一的网格安全基础设施, GSI(Grid Security Infrastructure)正是一个解决网格计算中安全问题的一个集成方案。

GSI为网格计算环境提供了一系列的安全协议、安全服务、安全SDK和命令行程序。GSI可以提供在网格计算环境中的安全认证,支持网格计算环境中主体之间的安全通信,防止主体假冒和数据泄密;为网格通信提供保密性、完整性和回放保护,及为网格用户提供单点登录和权限委托的能力。另外,GSI还可以用来对网格实体的身份进行验证,来确定该实体允许执行哪些操作。这些安全技术都能有效地保证网格计算环境的安全性和方便性。

GSI是保证网格计算安全性的核心。它支持用户代理、资源代理、认证机构和协议的实现。它向上提供一系列的安全协议,向下支持各种安全机制和技术。GSI采用GSS-API(Generic Security Service application programming interface) 作为其安全编程接口。提供了通用的安全服务,支持应用程序在源码级的可移植性。它在面向主体间安全鉴别和安全通信操作基础上,提供获得证书、执行安全鉴别、签署消息和加密消息等功能。

GSI的实现符合IETF提出的用于安全系统的标准(GSS-API),它主要集中在网络的传输层和应用层,并强调与现有分布式安全技术的融合。在公钥加密体系的基础上,充分利用现有的网络安全技术,对某些功能进行扩展,使得GSI可以支持单点登录。从而,在网格计算环境下提供一个一致的安全性界面,方便了网格的开发和使用。

实施网格安全策略必须集中于域间相互作用和映射域间操作。对单一信任域内的操作可通过Kerberos 和SSH方法。对每个信任域,都要有一个从全局到局部主体的映像。位于不同信任域的实体间的操作要求相互鉴别,

一个被鉴别的全局主体映像为一个局部主体时,被看作等同于局部主体的本地认证。在一个通用的计算环境中,主体和对象必须包含组内所有计算的实体。一个计算包括许多过程,每个过程代表一个用户。其中对象包括可用于网格环境中的大范围的资源。

基于GSI的安全策略是通过通用安全服务编程接口GSS-API、安全认证管理和用户代理的实现三个方面来体现的。在GSI中,着重解决的是安全的认证问题。

GSI通过创建用户代理、代理分配资源、进程分配资源、映射权限四种安全操作协议,充分体现了网格的解决方案。全局命名(证书)和代理证书使得用户对所有的访问资源只进行一次认证。代理证书和委托技术允许一个进程来代表用户访问资源。在GSI的安全策略和单一登录机制的基础上,构建一个网格安全体系,该体系结构体现了用户、资源和过程的鉴别,它支持用户到资源、资源到过程、过程到资源、过程到过程的鉴别。及与本地策略的相互协作及对不同资源的动态请求。

安全认证是对请求者与接受者双方进行身份验证的一个过程,是在SSL上进行的一个成功的安全认证,可以校验一个请求连接的合法性,并为其后的双方通信提供一个会话密钥。GSI的安全认证是基于用户的私钥创建一个代理,从而为用户提供认证方法。用户如果没有创建这个代理,就不能提交作业,也不能传输数据。(编程入门网)

GSI认证(certificates)的一个关键是认证证书。在网格计算环境中的每个用户和服务都需要通过认证证书来验证身份,GSI证书采用了X.509的证书格式。主体名称(subject name)是用来明确认证证书所表示的人或其它对象。主体的公钥(public key)来自于X.509 认证签署证书的认证中心。标识则记录了认证中心的名称。签署证书的认证中心的数字签名是可用来确认认证中心的合法性。

在相互认证进行之前,双方要相信彼此的认证中心。双方有彼此认证中心自身的证书,就可以确保双方由认证中心签署的证书具有合法性。双方主体都获得了证书,而且都信任彼此的认证中心后,则双方可相互明确彼此的身份,这就是相互鉴别(mutual authentication)的过程。GSI采用SSL( Secure Sockets Layer)协议作为它的相互认证协议。

网格安全问题是网格计算中的核心问题。网格计算的特点是网格计算会将现有的各种标准协议有机地融合起来,从而在网格计算中将协议和技术集成起来。网格系统和应用中的每个用户和服务,要求所有的安全标准,包括安全认证、安全身份相互鉴别、通信加密以、私钥保护及委托与单点登录,都能在网格计算环境中通过认证证书来验证身份。提供一个较好的认证解决方案,可以使用户,包含用户计算的过程以及该过程使用的资源都可以证明彼此的身份。

认证是形成安全政策的基础,它可以使各个局部安全策略都被集成为一个全局的框架。从而更加有利于网格实体之间实现安全的通信。

⬣ 数据库同步方案 ⬣

有一天,你按下电脑电源开关后,没有像往常一样,一闪之后进入系统,而是告诉你你的系统盘坏掉了,

。再你经过多种方法设法恢复系统而失败后,这时你最担心的就是你的数据。

我装的sybase12,前几天系统突然莫名其妙的坏掉了。因为是自己的机子,所以我把软件全部安装到了d盘上,这可真是帮了我的大忙啦。可见,一个好的习惯是非常要得的。

我把系统重新安装后,数据库肯定是不能使用了,但是可不可以恢复呢?我最关心的最想要的是我的数据啊。想到使用oracle时,有一种方法可以恢复,就是将数据库系统按照原来安装的方式再装在系统上,然后将d盘上保留的数据文件等进行替换,数据库恢复好用,

在这种情况下,我当然是立马工作了。先把d盘上保留的自己要用的拷贝到另外一个地方;然后照上一次的,包括命名方式、选择目录等,进行安装sybase服务端和客户端,安装成功结束后。

我停止sybase服务,将原系统下sybase服务端目录下的data文件夹(我的环境下是在D: ybase ybase_sdata,也就是master设备文件)全部拷贝到新装的同一位置下,然后重新启动sybase服务啦。

重启成功,给了很大的信心;看看是不是原来的数据库全出来了,进入sybase centrel,发现原来有的现在都有了,啊,My God!一切都是ok。

不敢独用,特此拿来跟大家分享,当然了有了这一步,你根据自己的情况还可以进行其他的附带操作了。

⬣ 数据库同步方案 ⬣

供参考 SQL SERVER11.0.xFORSCOOPENSERVER5 一.安装SCOOpenServer5.0.2PATCH(OS5.0.4以上无需此步骤) OSS437a OSS441a OSS446a 二.建立SYBASE帐号(使用scoadmin) 修改shell文件,增加SYBASEDSQUERYPATH环境变量, 1.shorksh(.profile): SYBASE=安装目录 DSQU

SQLSERVER 11.0.x FOR SCO OPENSERVER 5

一. 安装 SCO OpenServer 5.0.2 PATCH (OS5.0.4以上无需此步骤)

修改shell文件,增加SYBASE DSQUERY PATH 环境变量。

1. sh or ksh (.profile):

PATH    =  $SYBASE/bin:$SYBASE/install:$PATH:

set    path  =  ($SYBASE/bin $SYBASE/install $path .)

三. 系统参数调整。

1. 共享内存。

加入:

将/etc/conf/sdevice.d/aio  文件“N”改为“Y”,

/etc/conf/sdevice.d/suds 文件“N”改为“Y”

在文件最后加入/etc/suds_ctrl -a     (注1)

例:检查SYBASE用户所处组的组号如50(group),则为suds_ctrl -a 50

% tar xvf /cdrom/ebfss/ebf7575.tar

% tar xvf /cdrom/ebfcs/ebf7791.tar

% $SYBASE/install/sybinit   (注4)

注:

1)以sybase登录,使用id命令可以得到group id或通过 cat /etc/passwd | grep sybase 得到。

2)若安装SQL Server 过程中boot server时出现下面错误(可检查errorlog文件):ulinitspinlock:allocate mutex lock failed则是因为在执行suds_ctrl时SYBASE用户组的组号不对,重新执行suds_ctrl即可。

3)#号为使用root用户进行操作,%号为使用sybase用户操作。

-------------------------------------------------

修改shell文件,增加SYBASE DSQUERY PATH 环境变量。

1. sh or ksh (.profile):

PATH    =  $SYBASE/bin:$SYBASE/install:$PATH:.

set    path  =  ($SYBASE/bin $SYBASE/install $path .)

% cd $SYBASE/init/sample_source_files

注:

1)#号为使用root用户进行操作,%号为使用sybase用户操作,

----------------------------------------------

以root 登录:

创建sybase用户及用户组(useradd,groupadd或linuxconf)

#mount /mnt/cdrom (#mount -t iso9660 /dev/cdrom /mnt/cdrom)

# rpm -hiv -prefix /usr/sybase /mnt/cdrom/RPMS/sybase-common-11.9.2-1.i386.rpm

# rpm -hiv -prefix /usr/sybase /mnt/cdrom/RPMS/sybase-ase-11.9.2-1.i386.rpm

以sybase登录安装 ASE 11.9.2:

编辑用户登录文件:

Export SYBASE DSQUERY LD_LIBRARY_PATH LANG

--编辑源文件(/init/sample_resourde_files/srvbuild.adaptive_server.rs,

/init/sample_resourde_files/srvbuild.backup_server.rs)

将源文件拷贝到备用目录/usr/sybase/user中:

$cp /init/sample_resourde_files/srvbuild.adaptive_server.rs /user/ase.rs

$cp /init/sample_resourde_files/srvbuild.adaptive_server.rs /user/backup.rs

$srvbuildres -r /usr/sybase/user/ase.rs

$srvbuildres -r /usr/sybase/user/backup.rs

在root用户登录文件中加入以下语句:

(以bash用户,.bash_profile为例,更改系统内存值为60M)

echo “62914560” > /pro/sys/kernel/shmmax

⬣ 数据库同步方案 ⬣

今天配置Sybase库时碰到的几个问题很久没用都快忘了,故记录在此,

1、打开dump transation log on checkpoint选项

use master

dump transaction DATABASENAME,trunc,true

use master

sp_dboption DATABASENAME,”bulkcopy“,true

use DATABASENAME

sp_dropsegment system,DATABASENAME,devicename

sp_dropsegment ”default“,DATABASENAME,devicename

use master

sp_dboption DATABASENAME,”sing user“,”true"

⬣ 数据库同步方案 ⬣

对于像Sybase这样的大型DBMS系统而言,作为OLTP(联机事务处理)应用的基石,它需要能每天24小时, 每年365天不间断运行,由于其应用程序每天对数据库进行大量的插入、更新、删除等操作,在数据库的物理存储介质上产生了大量存储碎片,从而影响了存储的效率以及数据库应用运行的速度。是否可以像Windows操作系统的“碎片整理”程序一样,整理这些碎片,从而优化数据库存储,提高数据库的运行速度呢?答案是肯定的。本文将介绍Sybase 数据库的碎片类型以及碎片整理方法。 碎片类型

由于Sybase是通过OAM页、分配单元和扩展页来管理数据的,所以对OLTP应用的Database Server会十分频繁地进行数据删除、插入和更新等操作,时间一长就会出现以下几种情况:

即本来可以存放在一个页上的数据却分散地存储在多个页上。如果这些页存储在不同的扩展单元上,Database Server就要访问多个扩展单元,因此降低了系统性能。

在堆表中,当删除数据链中间的记录行时,会出现空页。随着空页的累积,扩展单元的利用率也会下降,从而出现扩展单元碎片。带cluster index的table也有可能出现扩展单元碎片。

当有扩展单元碎片存在,会出现以下问题:

● 对表进行处理时,常常出现死锁;

● 利用较大的I/O操作或增加I/O缓冲区的大小也无法改变较慢的I/O速度;

带有cluster index的table会由于插入记录而导致页分裂,但当删除记录后,页会获得释放,从而形成跨几个扩展单元和分配单元的数据,而要访问该数据就必须遍历几个扩展单元和分配单元。这将导致访问/查询记录的时间大大延长,开始时数据库的性能虽然较高,但使用一段时间后性能就会下降等问题。

实际上,数据在存储空间上排列得越紧密有序,Database Server访问的速度就越快,消除碎片有助于提高系统的性能和更有效地利用数据存储空间。

处理碎片有多种方法,如重新定义table的填充因子,根据table的定义删除并重新创建索引、重建表等。

本文给出的方法是通过BCP实用程序将用户数据库的数据以文本形式导出,然后将用户数据库彻底清空、截断,再将文本数据导入到数据库,从而达到消除碎片的目的,具有通用性。

下面以Sun Solaris 7操作系统下的Sybase Adaptive& nbspServer Enterprise 11.5为例,说明整理数据库数据的具体方法。

为防止在数据库碎片整理过程中出现不可预见的问题,有必要先备份数据库。

● 创建包含下列SQL语句的文件:

elect “bcp” + name + “out ./” + name + “_out.txt -Udboname -Pdbopwd -Ssys_name -c” vfrom sysobjects where type = ‘U’

● isql -Udboname -Pdbopwd -Ssystemname < cre_bcp_out. sql > b_out

● 编辑输出文件,去掉文件第一行和最后两行无关的字符:vi b_out

● 创建包含下列SQL语句的文件:

elect “truncate table” + name from sysobjects where type = ‘U’

● isql -Udboname -Pdbopwd -Ssystemname < cre_ trunc_out. sql > trunc_out. sql

● 编辑输出文件,去掉文件第一行和最后两行无关的字符,并在最后一行加入 go构成完整的SQL语句:vi trunc_out

● 执行以下语句,清空数据库的数据:

isql -Udboname -Pdbopwd < trunc_out. sql

● 创建包含下列SQL语句的文件:

elect “bcp” + name + “in ./” + name + “_out.txt& nbsp-Udboname -Pdbopwd -Ssys_name -c”from sysobjects where type = ‘U’

● isql -Udboname -Pdbopwd -Ssystemname < cre_ bcp_in. sql > b_in

● 编辑输出文件,去掉文件第一行和最后两行无关的字符:vi b_in

Sybase不自动维护索引的统计信息,当用truncate table截断数据库时,索引并没有改变,所以必须用update statistics来确保索引的统计信息对应当前表数据的统计,

● 创建包含下列SQL语句的文件:

elect “update statistics” + name from sysobjects where typ

● isql -Udboname -Pdbopasswd -Ssystemname < cre_upd_st. sql > upd_st. sql

● 编辑输出文件,去掉文件第一行和最后两行无关的字符,在最后一行加入 go构成完整的SQL语句:

● 更新数据库状态:

isql -Udboname -Pdbopasswd -Ssystemname < upd_st. sql

至此,基本上完成了数据库用户表的碎片整理工作。

在整理过程中,有以下两点需要注意:

当Sybase执行bcp in脚本时,会占用导入数据2倍的tempdb空间,因此在执行前要仔细估计最大的table的大小,保证有足够的tempdb空间。当空间不够时,要考虑用分割table或删除陈旧数据的方法缩小table的大小,或者考虑增加tempdb的大小。

当数据库执行bcp in脚本时会产生大量的log,为保证bcp in进程不致因为log溢出而中断,应该设置 database的选项“truncate log on chkpt”为“true”。

虽然Sybase数据库是自优化的,但只要数据库是动态的,数据库碎片现象就会存在。在OLTP应用的场合,随着数据的不断增大,系统变得越来越缓慢,并且经常出现死锁时,应该检查数据库的碎片,并且采用以上方法进行优化。

实际上,应该定期做数据库的碎片整理,保证数据库的物理存储经常处于最优状态,相对于增加硬件而言,这是一种更好的保持数据库性能的低成本的途径。

⬣ 数据库同步方案 ⬣

你好,我是一铭,欢迎收看我的分享!首先我们来看一个故事:

有两个人分别碰到两名劫匪,两人都没有受伤,第一名劫匪拿走了一个人的皮夹及所有现金,共82美元。第二名劫匪却不同,他拿走另一个人的皮夹及现金70美元,再加上他的手表及普林斯顿大学的班级戒指,这两样东西其实并不贵,也不值什么钱。故事到此为止了吗?当然没有!

两天后,第二名被抢的男子走出纽约市公寓,准备上班的时候,忽然听到有人叫他。他转过身,一个面带微笑的那人站在那里,原来就是二号劫匪。他今天是来做生意的,他问这个男子想不想取回收表和戒指,由于这两样东西对他有特别的意义,他答应了这笔交易。劫匪要求他以500美元将这两样东西买回,但男子身上只有90美元。劫匪接受了90美元,但并没有把手表和戒指还给他,只是给了他一张当铺的收据。后来,男子去了当铺并付了80美元,购回了他的表和戒指。

第一名劫匪赚了85美元;而第二名劫匪使用简单的增加收入的策略,发掘被隐藏的资产、机会及可能性,在劫匪当天赚了70美元,将戒指和手表卖给当铺,赚了80美元,再将当铺收据卖给被抢人,再赚90美元。他总共收入220美元。故事就是这样,杰・亚伯拉罕说这是真实的故事,我也相信。

从这个劫匪的故事中可以领会到:打广告让顾客购买,感觉像是第一个劫匪的做法,通过文案吸引顾客,并购买。而如果我们在广告中加入订阅框呢?5000个流量如果有一半,或1/5的.客户订阅,也就有1000个目标客户流入到我们的客户数据库中,我们就可以将广告停掉,利用这个客户群,就可以将这1000个优质潜在客户进行充分挖掘了。这就是第二个劫匪的做法了,以最低的成本将客户的最大潜能挖掘出来。

以上就是精准数据库营销的基本思想。

⬣ 数据库同步方案 ⬣

死锁的发生对系统的性能和吞吐量都有重要影响,经检测发现,管理信息系统的死锁主要是因为两个或多个线程(登录)抢占同一表数据资源,引起长时间抢占同一资源不是因为我们需要处理的事务太复杂,时间太长,而往往是因为我们在前端应用程序对数据库作操作时忘了提交。本文介绍一种处理解决这种死锁的方法。 Sybase封锁原理

数据共享与数据一致性是一对不可调和的矛盾,为了达到数据共享与数据一致,必须进行并发控制。并发控制的任务就是为了避免共享冲突而引起的数据不一致。Sybase SQL Server并发控制的方法是加锁机制(LOCKING).

已有的锁 S U X S ∨ ∨ × U ∨ × × X × × × Sybase SQL Server有三种封锁类型:排它锁(exclusive lock,简称X锁);共享锁(share lock,简称S锁);更新锁(update lock,简称U锁)。这三种锁的相容矩阵表如下:

Sybase SQL Server是自动决定加锁类型的。一般来说,读(SELECT)操作使用S锁,写(UPDATE,INSERT和delete)操作使用X锁。U锁是建立在页级上的,它在一个更新操作开始时获得,当要修改这些页时,U锁会升级为X锁。

SQL Server有两级锁:页锁和表锁。通常页锁比表锁的限制更少(或更小)。页锁对本页的所有行进行锁定,而表锁则锁定整个表。为了减小用户间的数据争用和改进并发性,SQL Server试图尽可能地使用页锁。

当SQL Server决定一个语句将访问整个表或表的大多数页时,它用表锁来提供更有效的锁定。锁定策略直接受查询方案约束,如果update或delete语句没有可用的索引,它就执行表扫描或请求一个表锁定。如果update或delete语句使用了索引,它就通过请求页锁来开始,如果影响到大多数行,它就要请求表锁。一旦一个语句积累的页锁超过锁提升阈值,SQL Server就设法给该对象分配一个表锁。如果成功了,页锁就不再必要了,因此被释放。表锁也在页层提供避免锁冲突的方法。对于有些命令SQL Server自动使用表锁。

SQL SERVER加锁有三种状态:

1)意向锁(intend)—是一种表级锁,它表示在一个数据页上获得一个S或X锁的意向。意向锁可以防止其他事务在该数据页的表上获得排它锁。

2)阻塞(blocking,简记blk)—它表明目前加锁进程的状态,带有blk后缀的锁说明该进程目前正阻塞另一个需要获得锁的进程,只有这一进程完成,其他进程才可以进行。

3)需求锁(demand)—表示此时该进程企图得到一个排它锁。它可以防止在这一表或页上加过多的S锁,她表示某一事务是下一个去锁定该表和该页的事务。

需求锁是一个内部过程,因此用sp_lock是无法看见的。

简单地说,有两个用户进程,每个进程都在一个单独的页或表上有一个锁,而且每个进程都想在对方进程的页或表上请求不相容锁时就会发生“死锁”。在这种情况下,第一个进程在等待另一进程释放锁,但另一进程要等到第一个进程的对象释放时才会释放自己的锁。

SQL Server检查是否死锁,并终止事务中CPU时间积累最小的用户(即最后进入的用户)。SQL Server回滚该用户的事务,并用消息号1205通知有此死锁行为的应用程序,然后允许其他用户进程继续进行,

在多用户情形下,每个用户的应用程序都应检查每个修改数据的事务是否有1205号消息,以此确定是否有可能死锁。消息号1025表示该用户的事务因死锁而终止并被回滚。应用程序必须重新开始这个事务处理。

既然管理信息系统长时间死锁的原因是由于我们提交或者是提交不当,那么我们就可以通过修改程序防止出现死锁。定位死锁出错处主要经过以下三步:

1)在死锁出现时,用SP_WHO,SP_LOCK获得进程与锁的活动情况。

2)结合库表sysobjects和相应的操作员信息表查出被锁的库表与锁住别人的操作员。

3)根据锁定的库表与操作员的岗位,可以估计出程序大约出错处。询问操作员在死锁时执行的具体操作即可完全定位出错处。最后查找程序并修改之。

系统过程sp_who给出系统进程的报告。如果用户的命令正被另一进程保持的锁阻碍,则:

◆status列显示“lock sleep”。

◆blk列显示保持该锁或这些锁的进程标识,即被谁锁定了。

◆loginame列显示登录操作员。结合相应的操作员信息表,便可知道操作员是谁。

Fid spid status loginame origname blk dbname cmd

0 1 lock sleep lm lm 18 QJYD SELECT

0 2 sleeping NULL NULL 0 master NETWORK HANDLER

0 3 sleeping NULL NULL 0 master NETWORK HANDLER

要得到关于当前SQL Server上保持的锁的报告,可用系统过程sp_lock [spid1[,spid2]],spid1,spid2是表master.dbo.sysprocesses中的sql server进程id号,用sp_who可以得到锁定与被锁定的spid号:

◆locktype列显示加锁的类型和封锁的粒度,有些锁的后缀还带有blk表明锁的状态。前缀表明锁的类型:Sh—共享锁,Ex—排它锁或更新锁,中间表明锁死在表上(”table”或’intent’)还是在页上(page). 后缀“blk”表明该进程正在障碍另一个需要请求锁的进程。一旦正在障碍的进程一结束,其他进程就向前移动。“demand”后缀表明当前共享锁一释放, 该进程就申请互斥锁。

◆table_id列显示表的id号,结合sysobjects即可查出被封锁的表名。

Fid Spid locktype table_id page row dbname Class context

0 1 Sh_intent 678293476 0 0 QJYD Non Cursor LockFam dur

0 1 Sh_page 678293476 31764 0 QJYD Non Cursor Lock

0 18 Ex_intent 9767092 0 0 QJYD Non Cursor LockFam dur

根据sp_who与sp_lock命令的结果,结合sysobjects和相应的操作员信息表。得到操作员及其在死锁时所操作的库表,便大约可以知道应用程序的出错处,再询问操作员在死锁时执行什么操作以进一步认证。最后查找程序并修正之。

⬣ 数据库同步方案 ⬣

A :情况是这样的 create database test create table t(a int) insert into test..t select 1 然后进行一次完整备份 backup database test to disk='c:test.bak' insert into test..t select 2 再进行一次完整备份 backup database test to disk='c:test.b

backup database test to disk='c:test.bak'

backup database test to disk='c:test.bak'

此时用 restore database test from disk='c:test.bak' with file=1

用 restore database test from disk='c:test.bak' with file=2

当表t中为1,2,3的时候,在插入一条纪录结果为1,2,3,4然后进行一次差异备份

backup database test to disk='c:test.bak' with differential

我现在想恢复最后的那次差异备份(结果为1,2,3,4),用语句改如何实现呢?

---------------------------------------------------------------

下面的是详细的过程,在我的电脑上测试成功:

exec master..xp_cmdshell 'del c:text.bak'

if exists(select * from master..sysdatabases where name='test')

backup database test to disk='c:test.bak'

backup database test to disk='c:test.bak'

--差异备份:

backup database test to disk='c:test.bak' with differential

restore database test from disk='c:test.bak' with file=2,norecovery

restore database test from disk='c:test.bak' with file=3,recovery

---------------------------------------------------------------

都已经说的好明白了,怎么可能会不行呢?

前段时间我就做过类似程序的!

必须说明的是:在恢复差异备份时,必须恢复最后一次的完整备份!!(切记)

而且下面的两个语句必须同时执行,即放在一个事务中,

restore database test from disk='c:test.bak' with file=离你要恢复的差异备份最近一次的完整备份号,norecovery

restore database test from disk='c:test.bak' with file=你要还原的差异备份号,recovery

具体的备份号可以从下面得到:(你可以认真研究一下backupfile,backupset,backmediaset,backupmediafamily几个表,可以发现规律)

select backup_start_date as 备份时间,position as 备份号,

case type   when 'D' then '完整备份' when 'I' then '差异备份' end as 备份类型

from msdb..backupset where database_name='test'

(select distinct media_set_id from msdb..backupmediafamily where physical_device_name='c:test.bak')

如果还不行的话,可以给我留言~

---------------------------------------------------------------

---执行下面的序列:

backup database test to disk='c:test.bak'

backup database test to disk='c:test.bak'

backup database test to disk='c:test.bak' with differential

--下面开始恢复:

restore database test from disk='c:test.bak' with file=2,norecovery --对应你最后一次的完整备份

restore database test from disk='c:test.bak' with file=3 --对应你要还原的差异备份

文章来源://www.qx54.com/fayangao/125353.html

数据库同步方案相关文章

更多>