2009年1月16日星期五

如何让PowerDesigner支持含SQL2000的脚本

本文主要介绍了一些PowerDesinger中的使用技巧,希望能够帮助大家更好地使用这个CASE工具。



查看全文

SQL Server 2005的DATETIME和SMALLDATETIME基础(二)

本文详细介绍了SQL Server的SMALLDATETIME数据类型。与DATETIME数据类型一样,SMALLDATETIME数据整数也是相对于基准日期1900年1月1日计算的……




查看全文

SQL Server 2005的DATETIME和SMALLDATETIME基础(一)

在本文中,我将介绍SQL Server中的两种基本的日期/时间数据类型——DATETIME和SMALLDATETIME,以及数据是如何在这两种类型中存储的。另外,作者还将介绍概括介绍TIMESTAMP数据类型。


查看全文

SQL Server 2005的DATETIME和SMALLDATETIME基础(一)

在本文中,我将介绍SQL Server中的两种基本的日期/时间数据类型——DATETIME和SMALLDATETIME,以及数据是如何在这两种类型中存储的。另外,作者还将介绍概括介绍TIMESTAMP数据类型。


查看全文

如何重建数据库改变块大小

我的Oracle 8.1.7.4数据库的块大小为4K。我想将块大小设为8K。我该怎么做?能不能用导入/导出工具进行此项操作?答:改变块大小的唯一方法就是重建数据 库。导入/导出工具不清楚块大小,所以它们可以用于这一操作。首先,将你的数据库全盘导出。接着删除以前的数据库。然后重建块大小为8K的数据库。最后, 从你创建的dump文件中进行全盘导入。在导入时,数据就进入了块大小为8K的新数据库中……


查看全文

提高DB2查询性能的常用方法(三)

本文主要介绍提高DB2查询性能的常用方法中的一种方法,即有关索引和表的维护的技巧和方法。



查看全文

提高DB2查询性能的常用方法(二)

本文从三个方面介绍一些提高DB2查询性能的方法:创建索引和合理使用include关键词创建索引等。



查看全文

提高DB2查询性能的常用方法(一)

随着DB2应用的逐渐增多,越来越多的数据库开发人员在项目开发过程中都会遇到查询过于复杂,导致性能难以接受的问题。本文将主要从一个数据库开发者的角度介绍几种方法……]]


查看全文

2009年1月14日星期三

正确理解CBO和RBO之间的关系

Oracle CBO、RBO以及统计之间是什么关系?答:你提交查询时,Oracle通常有很多种执行该查询的方法。“我是不是该用到索引?我应该用哪种连接方式?”在Oracle执行该查询之前,它还要决定这些问题的答案从而选择最佳执行路径。



查看全文

能用单个更新触发器进行整个Oracle数据库更新吗?

在远程机上能够写一个单独的触发器对整个数据库进行更新么?我们想用这个触发器更新所有的数据库表。 答:Oracle你没有什么东西能够阻止你这么做。但是也没有单独的SQL语句可以执行这样的更新任务。这项任务可能会涉及到多个SQL语句,对于远程数 据库中每个需要更新的表都有相应的SQL语句。



查看全文

在SQL语句ORDER BY子句中用CASE表达式

我想在SQL语句ORDER BY子句中用CASE表达式,但是我又想通过多个列进行排序。但是在编辑时我却不断收到“找不到关键字”的错误信息。




查看全文

如何把DB2 V8数据库系统迁移到DB2 V9(二)

 完成上面的迁移DB2实例后,我们需要继续迁移该实例下的数据库。假设原来在该实例下,有个Sample数据库。用具有SYSADM权限的该实例的用户登录系统,如……




查看全文

如何把DB2 V8数据库系统迁移到DB2 V9(一)

在安装好DB2旧版本的系统上安装DB2 v9,需要把旧版本的所有的实例(Instance)和数据库系统迁移到DB2 V9,移植DB2 V8数据库系统,包括迁移实例(Instance),DB2管理服务器(DAS)和数据库。对于DB2 V8 的数据库系统,可以直接迁移到 DB2 V9。对于DB2 V6、V7的产品需要首先迁移到DB2 V8,然后再迁移到 DB2 V9。



查看全文

SQL Sever应用程序性能调优之硬件配置

当应用程序性能出现问题时,服务器硬件通常会背上黑锅,人们想到的往往是如何优化服务器的硬件。实际上恰恰相反,多数情况下,硬件并非导致性能问题的罪魁祸首。对于基于SQL Server的应用程序的性能和升级,服务器硬件所起的影响要远比人们想象的小。




查看全文

配置SQL Server内存设置(二)

当处理多个实例时,决定内存设置是相当棘手的。当你只有一个实例时,你只需要简单地先确定OS需要的 RAM,然后将剩下的内存设置给数据库。随着实例地增多,你必须仔细决定每个实例需要多少内存。对于数据库较小并且每秒内事务较少的SQL Server 实例,显然比有更大数据库的实例需要较少的内存资源。当作这些决定时,你一定要清楚你正在使用的是哪个SQL Server 版本,以及它是如何计算SQL Server 将使用的程序缓存总数的。在32位平台上,程序缓存必须分配在主应用的内存空间(RAM的2GB空间),即使启用了AWE。你可以在SQL Server with Mr. Denny博客上阅读更多关于程序缓存的内容。



查看全文

配置SQL Server内存设置(一)

与其它的应用一样,SQL Server应用需要内存才能运行。但是,与大多数应用不同的是,SQL Server仅仅允许你决定它可以使用多少内存。这是很有用的,因为SQL Server需要更多的内存。




查看全文

30个Oracle语句优化规则详解(六)

索引是表的一个概念部分,用来提高检索数据的效 率。实际上,Oracle使用了一个复杂的自平衡B-tree结构。通常,通过索引查询数据比全表扫描要快。当Oracle找出执行查询和Update语 句的最佳路径时,Oracle优化器将使用索引。同样在联结多个表时使用索引也可以提高效率。另一个使用索引的好处是,它提供了主键(primary key)的唯一性验证。除了那些LONG或LONG RAW数据类型,你可以索引几乎所有的列。通常,在大型表中使用索引特别有效。当然,你也会发现,在扫描小表时,使用索引同样能提高效率。



查看全文

30个Oracle语句优化规则详解(五)

本篇主要回答用表连接替换EXISTS、如何用EXISTS替换DISTINCT、识别‘低效执行’的SQL语句以及如何使用TKPROF工具来查询SQL性能状态等。


查看全文

将oracle 9i备份文件导入oracle 8i的方法简介

错误做法:

  为了将oracle 9i数据库里的数据移植到低版本的oracle 8i中,首先在oracle 9i中用exp命令导出(命令行):

  exp用户名/密码@全局SID file=导出数据库文件名 owner=用户

  将导出数据库文件名copy至oracle 9i计算机上,在oracle 8i中用imp命令导入(命令行):

  imp用户名/密码@全局SID file=欲倒入的数据库文件 owner=用户 ignore=y full=y

  但你会发现,导入失败。


查看全文

2009年1月13日星期二

SQL Server中日期/时间值到字符类型的数据转换(二)

显式地转换日期/时间值,你必须使用CAST或CONVERT Transact-SQL方法。由于CAST方法是两者中相对简单的,因此我们从这个开始介绍。下面这个SELECT语句使用CAST方法……



查看全文

30个Oracle语句优化规则详解(四)

本文主要介绍减少对表的查询、如何通过内部函数提高SQL效率、怎样使用使用表的别名(Alias)以及用NOT EXISTS替代NOT IN等方面的内容。




查看全文

30个Oracle语句优化规则详解(三)

本篇详细解释在Oracle语句优化规则中怎样删除重复记录、如何用TRUNCATE替代DELETE、尽量多使用COMMIT等方面的内容。



查看全文

30个Oracle语句优化规则详解(二)

Oracle采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前,那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾。




查看全文

30个Oracle语句优化规则详解(一)

本文主要介绍选用合适的Oracle优化器、访问Table的方式Oracle采用两种访问表中记录的方式、共享SQL语句以及选择最有效率的表名顺序的方法和技巧。



查看全文

将oracle 9i备份文件导入oracle 8i的方法简介

DBA在实际工作中经常会遇到数据库不同版本之间的备份文件导入问题,本文中将介绍将oracle 9i的备份文件导入oracle 8i的正确方法。




查看全文

2009年1月9日星期五

SQL Server中日期/时间值到字符类型的数据转换(一)

在本文中,我将解释如何将DATETIME和SMALLDATETIME数据类型转换成字符数据,以 及如何将字符数据转换成日期/时间数据。具体来说,本章将介绍Transat-SQL支持的两个内置SQL Server数据转换方法——隐式转换和显式转换。在前一篇的技巧《SQL Server 2005的DATETIME和SMALLDATETIME数据基础》中,我已经阐述了SQL Server是如何使用DATETIME和SMALLDATETIME数据类型来存储日期/时间数据的。在本文中,我将解释日期/时间数据是如何转换成字 符数据和字符数据是如何转换成日期/时间数据以及Transact-SQL是如何支持这两种执行这些数据转换的方法——隐式转换和显式转换。


查看全文

怎样对数据库存档或删除

对5GB大小的Oracle 7.3存档或删除的最佳办法是什么?为了便于管理机构查询,这些数据至少需要再用20年的时间。我们担心将来我们不能对它重新获取并迁入一个更新的Oracle版本中。




查看全文

数据库工程师、架构师以及管理员之间有什么区别?

你能解释一下数据库公程师、数据库架构师以及数据库管理员之间有什么区别吗?这个问题不好问答。这些 头衔(还有一些像数据库开发人员、数据架构师、数据分析师、数据建模人员、数据库设计人员等等)都很难解释清楚,因为有时这些头衔用得不恰当,或者被一些 公司重新定义。对它们的定义实际上取决于各个公司对这些职位的真正描述和介绍。我会尽我最大的努力对它们进行区分、并向你作简单介绍。





查看全文

数据库厂商应为企业安全配数据防护盾

   随着数据防护盾的使用率像我们预期一样持续增长,对于数据库和应用软件厂商而言是时候来考虑在这个领域更进一步了。

Forrester咨询公司的分析师Noel Yuhanna认为数据防护盾最终将成为数据库管理系统和应用软件套装中的标准配置。目前,这个市场还比较小--Yuhanna预测大约只有2200万美 元的市场总值,但是这个市场在法规遵从的支持下有望提前实现增长。


查看全文

SQL Server 2008的性能数据收集器(四)

通过本篇文章我们了解到,SQL Server 2008性能数据收集器可以让我们创建一个中心数据库来存储性能数据;它包含三个内置数据收集组来收集和存储数据;为了帮我们识别和……



查看全文

SQL Server 2008的性能数据收集器(三)

在我们对服务器行为数据收集组所收集的数据类型有了简单的了解,那么这个性能数据收集器是如何收集这些信息并将其存储在MDW中的呢?

   数据收集实际上就是部分SQL Server代理任务的按计划执行。当运行一个任务时,它会启动一个叫做数据收集器运行组件(dcexec.exe)的程序,用来加载和执行SSIS包。 在本文的例子中,SSIS包每隔60秒收集DMV和性能监控器计数器,然后这些信息被存储在被监控SQL Server实例的一个本地文件夹中。值得注意的是,在上图中的“Cached – Collect and Update Data on the Same Schedule option,”选项要被选中。


查看全文

SQL Server 2008的性能数据收集器(二)

掌握性能数据收集器工作原理的最简单方法是,理解数据从一开始产生到最后存储在MDW中的整个过程。本文中,我们以服务器行为数据收集器为例进行介绍。



查看全文

手动升级和导入/导出

我已经进行了升级。我的数据库大小为200gb,并且不支持升级到10g(8.1.6.2 to 10g)。O/S在HP-UX上。你能告诉我最好的升级方法是进行手动升级处理还是用导入/导出到新的Oracle数据库中?如果我采用手动的方法,那我 就要升级8i补丁然后升级到10g。如果我采用的是导入/导出到另外一个数据库中,我就需要更多的宕机时间。这样的话我应该采用哪一种方法?



查看全文

CHECK约束

我如何创建一个约束限制2007年1月1日之前的日期被录入?用CHECK约束就可以。如下面的示例……, CHECK约束应该有个描述性的名称,因为这样做有助于在约束受到干扰时判断误差原因。约束名称可以选择,但是获取错误信息时会有一些区别,如下所示……



查看全文

Oracle数据库什么时候应该重组?

Oracle数据库什么时候应该重组?答:根本不需要。一个设计较好的数据库应该永远都不需要进行重组。DBA常常在每周或每月重组一次是为了提高数据库性能。但是今天的Oracle数据库并不需要经常设定时间重组。只有设计得不好的数据库才进行重组。


查看全文

启用Oracle数据库时进行热备份

专家在本文中有两种启用数据库进行备份的方法:用RMAN进行Oracle数据库备份、另外一种方法就是在热备份模式中设置一个表空间。




查看全文

SQL Server 2008的性能数据收集器(一)

SQL Server中有不少工具可以帮助DBA们对性能问题进行识别和排障,诸如事件探查器、系统监视器、数据库引擎调优顾问、Management Studio和T-SQL命令等等。上述工具中有的可以记录数据库的历史日志,有的则不能。即便你所使用的工具能够记录日志,它捕获和分析日志数据的能力 也通常比较难用。除非你手动编写自己的日志解决方案,有的工具甚至不允许记录任何类型的日志,诸如监视动态管理视图(DMV)。不同的工具和数据收集方法 的杂乱无章,使得DBA们很难轻松的识别并修复不同的性能问题。


查看全文

Sybase SQL Server日志问题普及(五)

数据库管理员可通过这些存储过程来完成一些日常管理事务,本文中谈到了增加阈值、删除阈值、显示阈值以及sp_dboption的新选择。



查看全文

2009年1月7日星期三

Sybase SQL Server日志问题普及(一)

Sybase SQL Server的每一个数据库,无论是系统数据库(master,model, sybsystemprocs, tempdb),还是用户数据库,都有自己的transaction log,每个库都有 syslogs表。Log记录用户对数据库修改的操作,所以如果不用命令清除,log会一直增长直至占满空间。清除log可用dump transaction命令;或者开放数据库选项trunc log on chkpt,数据库会每隔一段间隔自动清除log。管理好数据库log是用户操作数据库必须考虑的一面。


查看全文

Sybase SQL Server日志问题普及(二)

本文主要回答了log日志管理的一些方面:检测log的大小、log设备以及log的清除。



查看全文

Sybase SQL Server日志问题普及(三)

管理好数据库log是用户操作数据库必须考虑的一面。本文详细解释了如何管理大的transactions的一些方法、技巧。


查看全文

Sybase SQL Server日志问题普及(四)

SQL Server提供阈值管理功能,它能帮助用户自动监视数据库log设备段的自由空间。

在使用Sybase数据库管理系统(SQL Server)开发企业应用系统时,或者开发好的数据库应用系统投入实际运行后,由于用户不断地增加或者修改数据库中的数据,用户数据库的自由存储空间会日益减少。特别是数据库日志,增长速度很快。一旦自由空间用尽,SQL Server在缺省情况下挂起所有数据操纵事务,客户端应用程序停止执行。这样有可能会影响企业日常业 务处理流程。Sybase SQL Server System10提供自动监视数据库自由存贮空间的机制——阈值 管理,当数据库使用剩余空间低于一定值时,通过执行一个自定义的存储过程,来控制自由空 间。在空间用完之前,采取相应措施,这样有利于业务处理顺利进行。如果能充分利用SQL Server的阈值管理功能,用户能使一些数据库管理工作自动化,规程化。所以,在此我们将 SQL Server这一重要功能介绍给读者。

SQL Server的阈值管理允许用户为数据库的某个段上的自由空间设置阈值和定义相应的存 储过程。当该段上的自由空间低于所置阈值时,SQL Server自动运行相应存储过程。与阈值相 对应的存储过程由用户定义,SQL Server不提供。一般来说,数据库管理员可通过这些存储过 程来完成一些日常管理事务,例如:


查看全文

ORA-03113错误

我怎么从Oracle数据库中获取修正的历史数据?答:你有很多个选择。对数据修正之后,你可以用Oracle的Log Miner工具挖掘重做日志。修正之前你可以创建审计记录变化……



查看全文

在Oracle中DDL和DML命令如何运行

我们在执行DDL或DML命令时会发生什么事情?答:首先,Oracle分列了这个语句并确保它从语法上、语义上正确。其次,Oracle证实了用户有权执行这个语句……


查看全文

2009年1月6日星期二

什么是ORA-03113错误?

我们用的是Oracle 10g数据库,但是偶尔它也会提示出现ORA-03113错误。目前我们用一个科学应用程序在vb.net应用中查询时间序列数据,能成功获取查询的一些 参数(位置、变量标志符和系统日期范围),但是当日期范围超出(任意)范围(如每次都是从2003到2007,但是每次从2002到2007就不行了), 就出现了这样的错误。我们在用Oracle的 sqldeveloper时,也出现了类似错误,只是错误信息文本不同而已。请问我们应该从哪里开始寻找答案呢?


查看全文

如何用在Oracle中用wrapper script脚本进行冷备份

我刚开始接触到DBA工作,现在 我有一个Oracle 8.1.7 数据库在Windows 2000服务器上运行。我想通过通过一些扩展文件进行冷备份。在Windows调度程序(scheduler)已经安排了这项任务,结果运行状况良好。现 在我的问题就是:我如何才能够自动检查到是否已经进行了成功备份?



查看全文

如何重建内置Oracle Package Body

我怎样才能重建内置的package body?(如:DBMS_IJOB,DBMS_IREFRESH..) 不知道为什么我把DBMS_IJOB package body弄丢了,这样我就不能进行完整导出(FULL=Y)。



查看全文

甲骨文推出新版以事件驱动的中间件套件

企业需要迅速响应不断变化的市场情况。为了满足这种需求,甲骨文日前推出新版Oracle事件驱动架构套件(Oracle Event Driven Architecture Suite)(Oracle EDA套件),该套件是Oracle融合中间件的组件。


查看全文

在SQL 2005中使用CLR函数实现字符串排序

伴随着SQL Server 2005,微软发布了公共语言运行库(CLR),允许开发人员和DBA能够利用SQL Server之外的托管代码。

   CLR为那些懂的.net开发语言,但是不懂的T-SQL语言的人,提供了一种实现方式。使用CLR,可以直接在SQL Server中创建存储过程、触发器,用户自定义函数,集合体和类型等等。在本文中,我们通过一个例子,来看看如何使用CLR函数,对输入的字符串进行分 析、排序,最后得到排序后的字符串。


查看全文

Eclipse连接SQL 2000主要操作及可能遇到的问题

这个学期开了数据库,用的是sql server 2000,因为前面都是在sql server的企业管理器里面写一些程序,也就不要用具体的程序设计语言来实现了。这段时间要搞数据库课程设计,要用一门确切的语言来做出一个完整的项 目,显然就需要用一门程序设计语言来实现了。想来想去,还是用java好了,一来可能会相对简化掉一些操作,二来又可以让自己有机会好好锻炼一下自己的 java水平。使用的IDE是Eclipse,在自己把数据库设计做完之后,要做的第一件事就是将Eclipse跟sql server 2000连接起来。弄了一下晚上,终于把这个问题解决了。(采用JDBC的方法)


查看全文

Oracle SQL性能优化技巧(一)

本文详细介绍了Oracle优化器的种类、访问Table的方式、共享的SQL语句必须符合的条件等等方面的内容。



查看全文

Oracle SQL性能优化技巧(二)

本文介绍了Oracle SQL部分性能优化技巧:使用DECODE函数来减少处理时间、整合简单,无关联的数据库访问、删除重复记录、用TRUNCATE替代DELETE等等。



查看全文

改进SQL Server服务代理的性能

之前我与一个Microsoft Support Engineer交谈时,他提到在一些像我们这样的高负载的服务代理环境中,通过重用服务代理会话能够大大提升服务代理的性能。为每一个消息创建和关闭会 话需要的开销大约是4X,而对于接收消息的性能提升大约能达到10X。Remus Rusanu在他发布在Reusing Conversations的博客上,谈到这个估值可能更大,并且还提出了一种重用会话的解决方案。



查看全文

监控SQL Server服务代理的运行状况

在处理SQL Server服务代理问题时,我需要一个快速简单的方式来查看服务代理的积压事务。所以我选择使用下面的这样一个小查询,它非常有效……



查看全文

Oracle新年决心第一部分:对2009年的一些建议

随着元旦的临近,现在全世界的人们都在思考他们对于新年作出什么样的决定。Oracle客户也是一 样。其中有一些公司,如位于盐湖的TheraDoc公司现在正考虑升级到Oracle 11g。另外一些,如位于华盛顿的Gallup公司希望实施Oracle项目管理工具。Intermap技术公司已经决定将数据库容量增加20TB。


查看全文