
数据库
文章平均质量分 75
JasonTome
class Welcome To Myblog { public static void main(String[] args){ System.out.println(" I can changed the lives of others through technology and hard work!");}
展开
-
Oracle 高水位(HWM: High Water Mark) 说明 .
一.准备知识:ORACLE的逻辑存储管理. ORACLE在逻辑存储上分4个粒度:表空间, 段,区 和块. 1.1 块:是粒度最小的存储单位,现在标准的块大小是8K,ORACLE每一次I/O操作也是按块来操作的,也就是说当ORACLE从数据文件读数据时,是读取多少个块,而不是多少行. 每一个Block里可以包含多个row.转载 2012-07-12 09:12:26 · 2930 阅读 · 0 评论 -
oracle不使用索引原因定位
较典型的问题有:有时,表明明建有索引,但查询过程显然没有用到相关的索引,导致查询过程耗时漫长,占用资源巨大,问题到底出在哪儿呢?按照以下顺序查找,基本上能发现原因所在。查找原因的步骤首先,我们要确定数据库运行在何种优化模式下,相应的参数是: optimizer_mode 。可在 svrmgrl 中运行“ show parameter optimizer_mode" 来查看。 ORA转载 2012-01-01 16:02:26 · 356 阅读 · 0 评论 -
oracle查询语句优化
IN操作符用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:ORACLE试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询。由此可见用IN的SQL至少多了一个转换的过程。一般的原创 2011-12-12 23:38:12 · 545 阅读 · 0 评论 -
oracle高性能sql调整-笔记1
oracle是rdbms关系型数据库 关系型数据库的设计宗旨就是为了减少数据冗余。sql调整的意义:对于那些每天都要执行上千次的查询来说,sql调整会大大提高数据库的性能,同时可以延长数据库服务器的硬件寿命。sql调整的目标:1、确保所有的sql语句在执行之前得到认可 因为书写sql语句的程序员的目标和进行sql调整的操作者目标有很大的不同。程序员考虑以最快的速度得到查询的正确结转载 2011-12-04 21:54:33 · 734 阅读 · 0 评论 -
优化SQL查询:如何写出高性能SQL语句
、 首先要搞明白什么叫执行计划?执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生的,比如一条SQL语句如果用来从一个 10万条记录的表中查1条记录,那查询优化器会选择“索引查找”方式,如果该表进行了归档,当前只剩下5000条记录了,那查询优化器就会改变方案,采用 “全表扫描”方式。可见,执行计划并不是固定的,它是“个性化的”。产生一个正转载 2011-12-04 21:48:29 · 473 阅读 · 0 评论 -
视觉中国的NoSQL之路:从MySQL到MongoDB
文 / 潘凡起因 视觉中国网站(www.chinavisual.com)是国内最大的创意人群的专业网站。2009年以前,同很多公司一样,我们的CMS和社区产品都构建于PHP+Nginx+MySQL之上;MySQL使用了Master+Master的部署方案;前端使用自己的PHP框架进行开发;Memcached作为缓存;Nginx进行Web服务和负载均衡;Gearman进行异步任务处理。在传转载 2011-12-01 00:21:21 · 2117 阅读 · 0 评论 -
跨越软考之学习之其实你没弄懂得的---数据库三范式学习总结
数据库的三范式1N:关系R中的属性都是不可分割的项.2N:在1N的基础上,每个非主属性完全函数依赖于码.3N:在2N的基础上,每一个非主属性既不部分依赖于码也不传递依赖于码. 1N | 消除非主属性对码的部分函数依赖 2N | 消除非主属性对码的传递函数依赖 3N | 消除主属性对码的部分和传递函数依赖 BCNF | 消除非平凡且原创 2011-11-01 00:16:15 · 598 阅读 · 0 评论 -
跨越软考学习总结--你不能不会的数据流图(DFD)
数据流图(date flow diagram , DFD),是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流图是从数据的角度来描述一个系统的,而流程图则是从对数据加工的角度来描述系统的;数据流图中的箭头是数据流,而流程图中的箭头则是控制流,它表达的是程序执行的次序;数据流图适合于宏观原创 2011-11-06 13:58:10 · 1102 阅读 · 0 评论 -
Oracle单行函数和多行函数实例
单行函数和多行函数示意图: 单行函数分为五种类型:字符函数、数值函数、日期函数、转换函数、通用函数单行函数:view plain--大小写控制函数 select lower('Hello World') 转小写, upper('Hello World') 转大写 from dual; --initcap: 首字母大写 sel原创 2011-10-30 20:40:07 · 584 阅读 · 0 评论 -
Windows Server 2003 下配置 MySQL 群集(Cluster)
MySQL 群集是 MySQL 适合于分布式计算环境的高可用、高冗余版本。它采用了 NDB Cluster 存储引擎,允许在 1 个群集中运行多个 MySQL 服务器。在 MySQL 5.0 及以上的二进制版本中,以及与最新的 Linux 版本兼容的 RPM 包中提供了该存储引擎。MySQL 群集是一种技术,该技术允许在无共享的系统中部署“内存中”和“磁盘中”数据库的 Cluster 。通原创 2011-10-23 23:41:01 · 496 阅读 · 0 评论 -
oracle,Cannot SET AUTOTRACE解决问题
1、SET AUTOTRACE参数SET AUTOTRACE OFF ---------------- 不生成AUTOTRACE 报告,这是缺省模式SET AUTOTRACE ON EXPLAIN ------ AUTOTRACE只显示优化器执行路径报告 SET AUTOTRACE ON STATISTICS -- 只显示执行统计信息SET AUTOTRACE ON -------原创 2012-01-01 16:03:34 · 625 阅读 · 0 评论 -
Oracle 数据字典
首先,Oracle的字典表和动态数据字典视图基本上可以分为三个层次。1.X$表 这一部分表是Oracle数据库的运行基础,在数据库启动时由Oracle应用程序动态创建。2.GV$和V$视图 从Oracle8开始,GV$视图开始被引入,其含义为Global V$.除了一些特例以外,每个V$视图都有一个对应的GV$视图存在。 GV$视图的产生是为了满足OPS环境转载 2012-01-01 22:10:13 · 363 阅读 · 0 评论 -
Oracle 内存自动管理
从Oracle 10g开始,Oracle提供了自动SGA的管理(简称ASMM,即Automatic Shared Memory Management)新特性。所谓ASMM,就是指我们不再需要手工设置shared pool、buffer pool等若干内存池的大小,而是为SGA设置一个总的大小尺寸即可。Oracle 10g数据库会根据系统负载的变化,自动调整各个组件的大小,从而使得内存始终能够流向最转载 2012-01-02 13:10:00 · 423 阅读 · 0 评论 -
MongoDB 运行状态、性能监控,分析
这篇文章的目的是让你知道怎么了解你正在运行的Mongdb是否健康。mongostat详解mongostat是mongdb自带的状态检测工具,在命令行下使用。它会间隔固定时间获取mongodb的当前运行状态,并输出。如果你发现数据库突然变慢或者有其他问题的话,你第一手的操作就考虑采用mongostat来查看mongo的状态。它的输出有以下几列:inserts/s 每秒插入次数转载 2012-03-10 14:04:32 · 424 阅读 · 0 评论 -
oracle深入Log Buffer
数据库在运行过程中,不可避免地要遇到各种能够导致数据库损坏的情况。比如突然断电、Oracle或者操作系统的程序bug导致数据库内部逻辑结构损坏、磁盘介质损坏等,都有可能造成数据库崩溃,从而导致数据丢失的现象发生。 为了避免,或者说为了修复这些状况所导致的数据丢失现象,Oracle引入了日志缓冲区和日志文件的概念。所谓日志,就是将数据库中所有改变数据块的操作,都原原本本地记录下来。这些改变转载 2012-01-02 15:22:07 · 650 阅读 · 0 评论 -
oracle解析SQL语句的过程
为了将用户写的SQL文本转化为Oracle认识的且可执行的语句,这个过程就叫做解析过程。解析分为硬解析和软解析。一条SQL语句在第一次被执行时必须进行硬解析。 当客户端发出一条SQL语句(也可以是一个存储过程或者一个匿名PL/SQL块)进入shared pool时(注意,我们从前面已经知道,Oracle对这些SQL不叫做SQL语句,而是称为游标。因为Oracle在处理SQL时,需要很多相关原创 2012-01-02 15:23:07 · 572 阅读 · 0 评论 -
Oracle 表级锁(TM锁)
假设某个用户(假设为A)发出如下的语句更新一条记录: SQL> update employees set last_name='HanSijie' where employee_id=100;上面的例子,这时A用户已经发出了更新employee_id为100的记录的SQL语句。当A还没有提交之前,另外一个用户D发出下面的语句:SQL> drop table employees;转载 2012-01-01 21:58:55 · 597 阅读 · 0 评论 -
Oracle 10G 新特性——RMAN
Oracle 10G 新特性——RMAN 作者:fuyuncat来源:WWW.HelloDBA.COM RMAN增量备份方案、增量备份的离线恢复、恢复预览、从resetlogs中恢复、文件压缩等被重新设计后变得更加强大了。大多数人都赞同RMAN就是Oracle事实上的数据库备份工具。尽管早期版本的RMAN已经很强大,但是人们对它的期待转载 2012-01-01 16:27:45 · 472 阅读 · 0 评论 -
Oracle 10g新特性——代码混淆,存储过程加密
Oracle 10g新特性——代码混淆作者: fuyuncat来源: www.HelloDBA.com Oracle 9i之前,提供了一个命令’warp’来加密代码。但它是命令行方式的,是针对脚本的。10g中,Oracle包DBMS_DDL提供了一个新的函数CREATE_WRAPPED来实现对代码的混淆。举例:SQL转载 2012-01-01 16:26:35 · 950 阅读 · 0 评论 -
Oracle的大表,小表与全表扫描
通常对于小表,Oracle建议通过全表扫描进行数据访问,对于大表则应该通过索引以加快数据查询,当然如果查询要求返回表中大部分或者全部数据,那么全表扫描可能仍然是最好的选择。从V$SYSSTAT视图中,我们可以查询得到关于全表扫描的系统统计信息:SQL> col name for a30 SQL> select name,value from v$sysstat2 w转载 2012-01-01 16:00:32 · 600 阅读 · 0 评论 -
热点块竞争和解决--cache buffers chains
热点块的定义 数据库的热点块,从简单了讲,就是极短的时间内对少量数据块进行了过于频繁的访问。定义看起来总是很简单的,但实际在数据库中,我们要去观察或者确定热点块的问题,却不是那么简单了。要深刻地理解数据库是怎么通过一些数据特征来表示热点块的,我们需要了解一些数据库在这方面处理机制的特性。 数据缓冲区的结构 我们都知道,当查询开始的时候,进程首先去数据缓冲区中查找是否转载 2012-01-01 15:58:57 · 388 阅读 · 0 评论 -
Oracle Connect By Start With 总结
Oracle 实在太强了,本篇文章详细介绍了Oracle的递归查询语法,利用此语法,可以方便地实现递归的双向查询:-- Tirle : Recursion query for TREE with "connect by/start with"-- Author : Rake Gao-- Create Date : 2005-08-22-- Version转载 2012-01-01 17:53:43 · 359 阅读 · 0 评论 -
plsql可执行别的用户对象,过程却不行(AUTHID CURRENT_USER)
问题描述:如表rm_circuit是a用户的,授予b用户select,insert,update,delete权限,在b用的存储过程中执行dbms_stats.gather_table_stats提示:ora-020000:unable to analyze table "a转载 2011-10-19 13:48:43 · 807 阅读 · 0 评论 -
cannot set autotrace
今天在PL/SQL DEVELOPER工具中,从Command窗口输入set autotrace on 报错:“cannot set autotrace” SQL> set autotrace on Cannot SET AUTOTRACE 可能是当转载 2011-10-19 13:40:19 · 614 阅读 · 0 评论 -
厚积薄发----Oracle SQL学习笔记
一、内连接(inner join) 内连接通过where语句的连接条件先把所有要连接的表一个个的拼接成一个“大表”,如果中间有别的条件限制,可以通过限制条件,缩减表的列数和行数后,继续和别的表连接。连接的最后,是一些查询条件,用来限制这个“大表”的行数。 如果连接中,有任何一原创 2011-08-12 12:54:35 · 436 阅读 · 0 评论 -
彻底实现BLOB字段保存到磁盘文件的方法,内有实例
经过数个不眠之夜,终于得出BLOB保存至磁盘文件的方法,以下代码经过测试成功。请大家见教!注意:各阶段使用的数据库用户名不一定相同。--==============================--创建JAVA程序源--=========================转载 2011-08-12 12:42:53 · 942 阅读 · 0 评论 -
数据备份与数据容灾全解析
数据备份与数据容灾全解析 一、数据容灾与数据备份的联系 企业关键数据丢失会中断企业正常商务运行,造成巨大经济损失。要保护数据,企业需要备份容灾系统。但是很多企业在搭建了备份系统之后就认为高枕无忧了,其实还需要搭建容灾系统。数据容灾与数据备份的联转载 2011-08-12 13:01:14 · 1261 阅读 · 0 评论 -
厚积薄发———jsp中读取blob字段&oracle
<% String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@192.168.100.169:1521:orcl10g"; String user = "te原创 2011-08-12 12:51:49 · 458 阅读 · 0 评论 -
PL/SQL Developer 使用笔记
1、PL/SQL Developer记住登陆密码 在使用PL/SQL Developer时,为了工作方便希望PL/SQL Developer记住登录Oracle的用户名和密码;设置方法:PL/SQL Developer 7.1.2 ->tools->Prefer原创 2011-09-08 12:43:28 · 298 阅读 · 0 评论 -
教你怎样配置MySQL数据库双机热备份
1、mysql 数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题。还好 mysql 数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数据库中。实现 mysql 数据库的热备份。 2、要想实现双机的热备首先要了解主从数据库服务器的版本原创 2011-08-11 13:14:00 · 398 阅读 · 0 评论 -
有惊无险——学习一下oracle误删除表数据后的恢复,适当时候可以躲过主管一劫
一、undo_retention参数的查询、修改:用show parameter undo;命令查看当时的数据库参数undo_retention设置。显示如下:undo_management string AUTOundo_原创 2011-07-15 13:03:04 · 408 阅读 · 0 评论 -
项目总结:ORACLE通过JOB定时创建表的运用
在项目中,经常会遇到需要定时完成的任务,比如定时更新数据,定义统计数据生成报表等等,其实这些事情都可以使用Oracle的Job来完成。下面考试大就结合我们实验室项目实际,简单介绍一下在Oracle数据库中通过Job完成自动创建表的方法。 整个过程总共分为两步。虽然整个过程都非常原创 2011-07-13 14:28:42 · 643 阅读 · 0 评论 -
物化视图定时指定时间点刷新
对于oracle10g简单方法:1. 先建立一个物化视图,不用指明刷新参数,只要create materialized view,如 CREATE MATERIALIZED VIEW mv_emp AS SELECT * FROM scott.emp;2. 建立一个用来刷转载 2011-07-13 16:23:05 · 3280 阅读 · 1 评论 -
回首当年我们犯下的错误——存在sql注入式攻击的最差实践代码(Java新手注意了)
下面是自己以前初学JDBC时候写的代码,存在sql注入漏洞。不安全因素:statement。。。应该用Preparedstatement来代替statement,这样我们就可以使用占位符作为实参来定义sql语句,从而避免sql注入的攻击。 当然也可以转载 2011-08-12 13:09:06 · 499 阅读 · 0 评论 -
浅谈数据库设计技巧
说到数据库,我认为不能不先谈数据结构。1996年,在我初入大学学习计算机编程时,当时的老师就告诉我们说:计算机程序=数据结构+算法。尽管现在的程序开发已由面向过程为主逐步过渡到面向对象为主,但我还是深深赞同8年前老师的告诉我们的公式:计算机程序=数据结构+算法。面向对象的程序开发转载 2011-09-12 15:08:19 · 411 阅读 · 0 评论 -
oracle中字符串的大小比较,字符串与数字的比较和运算
Oracle比较字符串是根据ASCII码来的,第一个字母的ASCII大小比较如果相等再比较下一个,类推。字符串和数字进行操作是会报异常的,因为类型不一样不能进行比较。Oracle在执行SQL的时候有些时候会自动转换,比如:select * from chan_customer原创 2011-09-16 09:13:06 · 9883 阅读 · 1 评论 -
定时自动操作数据库——Oracle JOB 用法小结
一、设置初始化参数 job_queue_processes sql> alter system set job_queue_processes=n;(n>0) job_queue_processes最大值为1000 查看job queue 后台进程转载 2011-10-19 13:38:28 · 291 阅读 · 0 评论 -
oracle循环语句小结
主要有以下五种循环:Exit When、Loop、While、For(普通循环)、For(游标循环),下面举例一一说明(均为存储过程)。1、Exit When循环:create or replace procedure proc_test_exit_when is原创 2011-10-19 13:31:26 · 311 阅读 · 0 评论 -
Oracle定时器(Job)各时间段写法汇总
对于DBA来说,数据库Job在熟悉不过了,因为经常要数据库定时的自动执行一些脚本,或做数据库备份,或做数据的提炼,或做数据库的性能优化,包括重建索引等等的工作。但是,Oracle定时器Job时间的处理上,千变万化,今天我把比较常用的写法汇总如下: 在总结之前,先把Job转载 2011-10-11 12:54:12 · 419 阅读 · 0 评论 -
Oracle 查询并删除重复记录的SQL语句
查询并删除重复记录的SQL语句 查询及删除重复记录的SQL语句1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in原创 2011-10-08 13:14:11 · 289 阅读 · 0 评论