摘要: 镜像是一个很好的灾难恢复手段,配置简单,切换快速。网上教如何配置的文章很多,这里介绍下如何处理LDF过大导致磁盘撑爆的情况。 阅读全文
posted @ 2011-03-15 15:46 xxd 阅读(1623) 评论(0) 推荐(0) 编辑
摘要: 首先先分析一下Alter Index Online的整个过程,只是一个分析思路而且这个行为是很有代表性的,其他的操作都是大同小异。 Technorati 标签: 10704,10046 阅读全文
posted @ 2011-03-15 14:01 xxd 阅读(986) 评论(0) 推荐(0) 编辑
摘要: 基础知识 -磁盘上每个sector大小为512byte -逻辑 Tablespace--Segment(最大1024不连续的Extent)--Extent(连续的Block)--Block(由DB_BLOCK_SIZE指定2|4|8|16|32|64kb) -Oracle为数据库中的所有数据分配逻辑结构空间.数据库空间的单位是数据块block,范围extent,段segment. -Oracle数据块block是Oracle使用和分配的最小存储单位.它是由数据库建立时设置的DB_BLOCK_SIZE决定的.一旦数据库生成了,数据块的大小不能改变.要想改变只能重新建立数据,不过可以建立新的不同块大小的表空间。修改方式为: ALTER system set db_16k_cache_size=10m; create tablespace tb_ca2 datafile 'd:\oracle\dbfile\tb_ca2. 阅读全文
posted @ 2011-02-16 18:01 xxd 阅读(2290) 评论(0) 推荐(0) 编辑
摘要: 首先复习下数据块的结构,一个0x06的block包含4个layer 1- Cache Layer 2- Transaction Layer 3- Data Layer 4- Tailchk 阅读全文
posted @ 2011-02-15 10:11 xxd 阅读(1829) 评论(0) 推荐(0) 编辑
摘要: Each Oracle database has a SYSTEM tablespace, and each SYSTEM tablespace has a Super Block which is file 1 block 1, the Super Block has it's struct KCVFH 676 bytes(10g) 阅读全文
posted @ 2011-02-14 15:28 xxd 阅读(1333) 评论(0) 推荐(0) 编辑
摘要: 曾经遇到过ORA-8103,01578的坏块错误记录下方法,以及一些方法的聚合。这里特别记录一下”神器BBED或者DD+UltraEdit“的使用方法: 大概说一下如果数据块的损坏应该是offset@18也就是seq_kcbh被标记成0xff。这时检查alert.log如果看到 computed block checksum那么使用BBED其实很容易,进入然后打开损坏的数据块,offset到16,sum apply后oracle会算出正确的checksum值并且写回去。具体算法就是 computed block checksum后边会有一个数值那么转换成二进制和现有的offset 16 17做异或运算就可以算出正确的值。我也是最近才弄明白这种算法,正好复习。 阅读全文
posted @ 2010-11-22 16:27 xxd 阅读(3079) 评论(0) 推荐(0) 编辑
摘要: 我们都知道data block的offset位置是16-17是Checksum Value,它属于data block的Cache Layer,作用是oracle在通过DBWn常规写或者User Process直接路径加载时通过checksum value用来得知由底层磁盘是否损坏,那么这个Checksum Value可以为0吗?, 这个value如果为0,岂不是oracle会把它认为是个坏块儿?(跟checksum值是否为0没有任何关系),主要为了是防止IO硬件和IO子系统的错误。 阅读全文
posted @ 2010-11-19 15:20 xxd 阅读(1500) 评论(0) 推荐(0) 编辑
摘要: 最近由于两节的原因,一些抓取服务器都频频报告CPU 100%,上去看了下,结果单个的查询和存储过程执行时间都是 阅读全文
posted @ 2010-09-25 15:33 xxd 阅读(5496) 评论(3) 推荐(0) 编辑
摘要: Oracle creates server processes to handle requests from connected user processes. A server process communicates with the user process and interacts with Oracle to carry out requests from the associated user process. For example, if a user queries some data not already in the database buffers of the SGA, then the associated server process reads the proper data blocks from the datafiles into the SGA. –10gR2 Co 阅读全文
posted @ 2010-09-08 11:00 xxd 阅读(827) 评论(0) 推荐(0) 编辑
摘要: 一下子4个月就过了,本来每月想写回顾,但是一直都没有实施. 先说说这几个月所碰到的问题和我的解决方法:1 零散没有主题,没有一条线紧紧地牵着,解答'你的工作其实并没有那么困难,说自己忙碌不是个借口,真正的原因在于你没有花时间把这项工作理清头绪,划分成确实可行的任务清单',2 关于列表,从开始GTD以来就从没有离开过列表,主要列表有两个 1)task list和future list (马拉松,补习... 阅读全文
posted @ 2010-06-30 20:15 xxd 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 新入手黑莓9000记录一下摸索过程 阅读全文
posted @ 2010-05-03 23:10 xxd 阅读(703) 评论(0) 推荐(0) 编辑
摘要: 这一节主要记录死锁的种类,以及死锁和阻塞出现后的检测方法.基本概念就不说了,直接进入主题.这节主要资料来源是以及一些网上的资源. 阅读全文
posted @ 2010-04-21 14:29 xxd 阅读(6582) 评论(1) 推荐(2) 编辑
摘要: MSSQL锁定-1.隔离级别 Isolation levelMSSQL锁定-2.TransactionMSSQL锁定-3.死锁与阻塞事务的ACID就不说了直接测试SQL Server嵌套交易中交易的处理 Isolation Level 都是 Read Commited--测试嵌套交易[代码]--Transaction Level Hint-- HOLDLOCK 将共享锁保留到事务完成,而不是在相应... 阅读全文
posted @ 2010-04-21 13:32 xxd 阅读(1410) 评论(0) 推荐(0) 编辑
摘要: 总结:知识保存的目的是为了在使用的时候能够迅速找到需要的内容,而如何能够做到这一点,就是需要有一个良好的架构体系,并且经常的回顾 阅读全文
posted @ 2010-04-16 23:32 xxd 阅读(570) 评论(0) 推荐(0) 编辑
摘要: 先说明这本书是市面上少得可怜的正式出版的讲SQL Server调优的且能让人能看的明白的读物之一.对初学者或者进阶的时候进行总体的整理还是很有帮助的. 好话就不说了,说说胡老师的不用心之处吧: 阅读全文
posted @ 2010-04-16 14:38 xxd 阅读(439) 评论(0) 推荐(1) 编辑
摘要: --Referencehttp://blogs.msdn.com/sqlserverstorageengine/archive/2008/03/30/sql-server-table-variable-vs-local-temporary-table.aspx走进SQL Server 2005 tempdb数据库 (一)Working with tempdb in SQL Server 2005S... 阅读全文
posted @ 2010-04-08 11:27 xxd 阅读(1618) 评论(0) 推荐(0) 编辑
摘要: 各个Isolation Level的测试 阅读全文
posted @ 2010-04-06 10:18 xxd 阅读(2825) 评论(0) 推荐(0) 编辑
摘要: 非得不得已不要轻易使用;使用上述查询计划,适用1,但用户又偏好2,则上述配置则反而有害了; 阅读全文
posted @ 2010-04-02 14:05 xxd 阅读(1358) 评论(0) 推荐(0) 编辑
摘要: 在.net里应用数据库SQL SERVER的调用,有时会出现message:拒绝了对对象 'sp_sdidebug'(数据库 'master',所有者 'dbo')的 EXECUTE 权限sp_sdidebug这个扩展存储过程是应用在调试时应用的存储过程,在查询分析器里做SQL调试有个前提就是要确保具有执行 sp_sdidebug扩展过程的权限。解决这个问题有2种解决方法1、在SQL SERVER... 阅读全文
posted @ 2010-04-01 17:29 xxd 阅读(4831) 评论(0) 推荐(1) 编辑
摘要: 主要总结一下Oracle是如何收集统计信息的是如何选择的,以及柱状图(Histogram),绑定变量,bind peeking,cursor_sharing 之间的关系 阅读全文
posted @ 2010-03-29 10:13 xxd 阅读(3186) 评论(0) 推荐(0) 编辑
摘要: 这篇文章解答了我的几个问题,笔记如下. 文章: http://technet.microsoft.com/zh-cn/magazine/2008.08.database.aspx 作者博客 http://sqlskills.com/blogs/paul/ 1 自动增长 2 碎片的问题 3 SQL Server的信息统计 4 损坏检测 阅读全文
posted @ 2010-03-12 10:54 xxd 阅读(510) 评论(0) 推荐(0) 编辑
摘要: 简介 SQL Server 05提供了动态管理视图Dynamic Management Views和函数 Functions,方便了我们对系统运行情况的监控,故障诊断和性能优化.配合Profiler,dashboard一起使用很不错. 常规服务器动态管理对象包括: dm_db_*:数据库和数据库对象 dm_exec_*:执行用户代码和关联的连接 --dm_exec_session:类似2k时的sysprocesses 返回:资源,账号等...... --dm_exec_connections:返回用户认证方式和IP --dm_exec_query_stats: dm_os_*:内存、锁定和时间安排 --dm_os_buffer_descriptors dm_tran_*:事务和隔离 --dm_tran_locks: 查看锁定 dm_ 阅读全文
posted @ 2010-03-10 14:46 xxd 阅读(2198) 评论(2) 推荐(1) 编辑
摘要: SARG的定义:用于限制搜索的一个操作,因为它通常是指一个特定的匹配,一个值得范围内的匹配或者两个以上条件的AND连接。形式如下: 阅读全文
posted @ 2010-03-09 18:13 xxd 阅读(791) 评论(0) 推荐(0) 编辑
摘要: 对比分析Cluster Index,Non-Cluster Index,Covering Index,Include Index,Primary Key,Unique Key的不同以及对OLTP系统的影响 阅读全文
posted @ 2010-03-09 18:03 xxd 阅读(1574) 评论(0) 推荐(0) 编辑
摘要: --精彩解释 不知道是从哪里转的了, 假设有张表,叫table1,里面有5000万行数据,假设预计全表扫描1次需要1个小时,我们从过程来看: 1、在1点钟,有个用户A发出了select * from table1;此时不管将来table1怎么变化,正确的结果应该是用户A会看到在1点钟这个时刻的内容。这个是没有疑问的。 2、在1点30分,有个用户B执行了update命令,更新了table1表中的第4000万行的这条记录,这时,用户A的全表扫描还没有到达第4000万条。毫无疑问,这个时候,第4000万行的这条记录是被写到了回滚段里去了的,我假设是回滚段RBS1,如果用户A的全表扫描到达了第4000万行,是应该会正确的从回滚段RBS1中读取出1点钟时刻的内容的。 3、这时,用户B将他刚才做的操作commit了,但是这时,系统仍然可以给用户A提供正确的数据,因为那第4 阅读全文
posted @ 2010-03-02 17:32 xxd 阅读(1957) 评论(0) 推荐(1) 编辑
摘要: 工作方式 首先FQpuff,chorme打开墙外,GDoc(晨间日记),找到今天的大石头和Boss任务(最多3个)然后inbox:纸笔->toodledo 可以和iphone同步focus booster,25分钟计时开始.我已经进入了链条,没有缝隙,哪怕会有一些闪失,我会在5分钟的break中得到恢复.所有着急的任务被三分钟法则分为马上做和放入inbox读书方式速读一边:尽量快,最好2-4... 阅读全文
posted @ 2010-02-26 17:14 xxd 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 想分离数据库,运行EXEC sp_detach_db 'ETMCDB_ONE', 'true';时出现错误不能分离数据库,因为它正用于复制解决方法:EXEC sp_removedbreplication 'DB_NAME' 阅读全文
posted @ 2010-02-25 11:30 xxd 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2010-02-17 00:56 xxd 阅读(803) 评论(0) 推荐(0) 编辑
摘要: 通过查询获得某个字段的合计值,如果这个值位null将给出一个预设的默认值select nvl(sum(t.dwxhl),1) from tb_jhde t where zydm=-1这里关心的nvl的用法,nvl(arg,value)代表如果前面的arg的值为null那么返回的值为后面的value另一个有关的有用方法declare i intenerselect nvl(sum(t.dwxhl),1) into i from tb_jhde t where zydm=-1这样就可以把获得的合计值存储到变量i中,如果查询的值为null就把它的值设置为默认的1 阅读全文
posted @ 2010-02-15 20:48 xxd 阅读(2084) 评论(0) 推荐(0) 编辑
摘要: SQL> startupORACLE instance started.Total System Global Area 1224736768 bytesFixed Size2020384 bytesVariable Size 318770144 bytesDatabase Buffers889192448 bytesRedo Buffers 14753792 bytesORA-01102:... 阅读全文
posted @ 2010-02-09 13:57 xxd 阅读(929) 评论(0) 推荐(0) 编辑