监控Oracle数据库性能的脚本段整理
监控Oracle数据库性能的脚本段整理[@more@]1. 监控事例的等待 select event,sum(decode(wait_Time,0,0,1)) "Prev", sum(decode(wait_Time,0,1,0)) "Curr",count(*) "Tot" from v$session_Wait group by event order by 4; 2. 回滚段的争用情况 select name, waits, gets, waits/gets "Ratio" from v$rollstat a, v$rollname b where a.usn = b.usn; 3. 监控表空间的 I/O 比例 select df.tablespace_name name,df.file_name "file",f.phyrds p
MySQL表名区分大小写
可以强制以 -O lower_case_table_names=1 参数启动 mysqld(如果使用 --defaults-file=...my.cnf 参数来读取指定的配置文件启动 mysqld 的话,你需要在配置文件的 [mysqld] 区段下增加一行 lower_case_table_names=1)。这样MySQL 将在创建与查找时将所有的表名自动转换为小写字符(这个选项缺省地在 Windows 中为 1 ,在 Unix 中为 0。从 MySQL 4.0.2 开始,这个选项同样适用于数据库名)。 [@more@][mysqld]# Lewis add. Keep table name original caselower_case_table_names=0# The TCP/IP Port the MySQL Server will listen onport=
Cassandra数据模型
提起NoSQL这个话题,仿佛不应该是DBA要关注的事,而是架构师应该关心的。但是作为一名DBA,在使用传统的关系型思想建模时,应该有必要了解NoSQL的建模方法。各种NoSQL数据库有很多,我最关注的还是BigTable类型,因为它是一个高可用可扩展的分布式计算平台,用来处理海量的结构化数据,而数据库同样也是处理结构化数据,所以除了没有SQL,在数据模型方面有相似之处。Cassandra是facebook开源出来的一个版本,可以认为是BigTable的一个开源版本,目前twitter和digg.com在使用。我们尝试从DBA的角度出发去理解Cassandra的数据模型。NoSQL并不
memcacheDB介绍
MemcacheDB is a distributed key-value storage system designed for persistent. It is NOT a cache solution, but a persistent storage engine for fast and reliable key-value based object storage and retrieval. It conforms to memcache protocol(not completed, see below), so any memcached client can have connectivity with it. MemcacheDB uses Berkeley DB as a storing backend, so lots of features including transaction and replication are supported. 是新浪互动社区技术团队2007年的一项重大的技术成果,现在应
Introduction to Databases and MySQL
From Google Code Universityhttp://code.google.com/edu/tools101/mysql.html[@more@]
索引应用案例
索引的应用有一定规律可寻,但其和实际情况的结合更紧密,只有在具体的应用环境里,才能体会到索引应用的奥妙,现录各种索引应用案例于此,供体会。[@more@]案例一 <群集索引的应用>表record有620000行,有字段date, amount, place等 1. 在date上建有一非个群集索引 select count(*) from record where date > '19991201' and date < '19991214'and amount > 2000 (25秒) select date,sum(amount) from record group by date (55秒) select count(*) from record where date > '19990901' and place in ('
索引的应用规律总结
建立正确的索引,是提高系统性能的有效方法。正确的索引可能使查询效率提高1000倍,而无效的索引可能是浪费了数据库空间,甚至大大降低查询性能。 索引的效果是和检索数据的SQL语句、数据库的繁忙程度、数据库空间大小相关的,当数据库性能下降,需要通过调整索引达到提高性能的时候,DBA应该充分考虑到影响索引性能的这些因素来重新构造索引。合理的索引设计要建立在对各种查询的分析和预测上。[@more@]一、索引的管理成本1、 存储索引的磁盘空间2、 执行数据修改操作(INSERT、UPDATE、DELETE)产生的索引维护3、 在数据处理时回需额外的
oracle数据库的建模设计案例
要开发一个基于数据库的应用系统,其中最关键的一步就是整个系统所依据的数据库的建模设计,从逻辑的到物理的,一个环节疏于设计,整个的应用系统便似建立在危房之上,随着开发过程的不断深入,它要随时面临着各种难 以预料的风险,开发者要为修改或重新设计没有设计好的数据库系统而付出难以预料的代价。所以,一个良好的数据库设计是高效率的系统所必须的。 [@more@]一、逻辑建模 数据库设计的方法因具体数据库而异,但是建模阶段的相同的,所以可以用一些通用的工具来进行,如Rational rose,PowerDesigner等,这一阶段主要是依据系统的
分析Oracle数据库日志文件(3)
作为Oracle DBA,我们有时候需要追踪数据误删除或用户的恶意操作情况,此时我们不仅需要查出执行这些操作的数据库账号,还需要知道操作是由哪台客户端(IP地址等)发出的。针对这些问题,一个最有效实用而又低成本的方法就是分析Oracle数据库的日志文件。本文将就Oracle日志分析技术做深入探讨。[@more@]四、如何利用LogMiner分析Oracle8的日志文件 虽然说LogMiner是Oracle8i才推出来,但我们同样可以用它来分析Oracle8的日志文件,只不过稍微麻烦了一点,并且有一定的限制,下面是具体做法: 我们首先复制Oracle8i的$ORACLE_HOME/rdbms/a
分析Oracle数据库日志文件(2)
作为Oracle DBA,我们有时候需要追踪数据误删除或用户的恶意操作情况,此时我们不仅需要查出执行这些操作的数据库账号,还需要知道操作是由哪台客户端(IP地址等)发出的。针对这些问题,一个最有效实用而又低成本的方法就是分析Oracle数据库的日志文件。本文将就Oracle日志分析技术做深入探讨。[@more@]三、Oracle8i/9i的日志分析过程 LogMiner只要在实例起来的情况下都可以运行,LogMiner使用一个字典文件来实现Oracle内部对象名称的转换,如果没有这个字典文件,则直接显示内部对象编号,例如我们执行下面的语句: delete from "C
分析Oracle数据库日志文件(1)
作为Oracle DBA,我们有时候需要追踪数据误删除或用户的恶意操作情况,此时我们不仅需要查出执行这些操作的数据库账号,还需要知道操作是由哪台客户端(IP地址等)发出的。针对这些问题,一个最有效实用而又低成本的方法就是分析Oracle数据库的日志文件。本文将就Oracle日志分析技术做深入探讨。[@more@]一、如何分析即LogMiner解释 从目前来看,分析Oracle日志的唯一方法就是使用Oracle公司提供的LogMiner来进行, Oracle数据库的所有更改都记录在日志中,但是原始的日志信息我们根本无法看懂,而LogMiner就是让我们看懂日志信息的工具。