上一页 1 2 3 4 5 6 ··· 20 下一页
摘要: 首先GDB是类unix系统下一个优秀的调试工具, 当然作为debug代码的工具, 肯定没有IDE来的直观了. 不过, 命令行自然有命令行的有点, 当你无法是使用IDE时, gdb有时会帮上很大的忙. 下面用1个例子来说明用法吧: 建立1个目录testgdb2 1. 编写c文件test.c可以见到在23行, call 了 test2.c的函数, 而且引用了头文件 test2.h 2. 编写头文件 ./headfiles/test2.h只声明了1个函数啦 3. 编写c文件test2.c 编写对应函数的内容啦. 4. 编写Makefile这里要注意, gcc 命令默认编译出来的可执行文件是不带... 阅读全文
posted @ 2013-04-02 00:57 Gateman 阅读(456) 评论(0) 推荐(0) 编辑
摘要: 这篇文章是参考甲骨论老相老师的教学视频 http://v.youku.com/v_show/id_XMzk0NjYxNzgw.html所做的学习笔记作为1个DBA, 需要学习许多数据库知识, 但是目的无非两大部分.1. 保持数据库数据的一致性2. 优化数据库性能而日志系统只对应第1点,日志系统就是用来保持数据的一致性的.我们先回顾下之前讲过的sql语句执行流程如上图.可以见到:1. 产生日志的原因是Buffer cache里发生的数据改动.2. buffer cache里数据改动产生的日志被写入Redo log buffer(日志缓存)里.3. 后台进程LGWR会将redo log buffe 阅读全文
posted @ 2013-04-02 00:57 Gateman 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 这篇文章是参考甲骨论老相老师的教学视频http://v.youku.com/v_show/id_XMzkyMjE3NTA0.html所做的学习笔记。1.什么是Rowid这里的Rowid,并不是1条数据行在表中的编号的意思.而是指Table中某一条数据行在数据文件中的物理地址, 而我们可以根据这个物理地址获得这一行数据行的数据在几号数据文件中的第几个block里面的的第几行等信息.可以用select rowid,* from Table语句来获得rowid的值.下面举个列子2.创建1张表语句如下:create table T_rowid ( a int, b varchar2(4000) def 阅读全文
posted @ 2013-04-02 00:57 Gateman 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 这篇文章是参照甲骨论老相老师的教学视频:http://v.youku.com/v_show/id_XMzkyMjE3NTA0.html所做的学习笔记1. 查看某个对象所占用buffer状态:上一章提过了, 使用如下语句:selecto.object_name,decode(state, 0, 'free', 1, 'xcur' , 2, 'scur', 3, 'cr', 4, 'read', 5, 'mrec' , 6, 'irec', 7, 'write', 8, 阅读全文
posted @ 2013-04-02 00:57 Gateman 阅读(632) 评论(0) 推荐(0) 编辑
摘要: 原地址:http://www.rjgc.net/control/content/content.php?nid=4418 1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co 2、往版本库中添加新的文件svn add file例如:svn addtest.php(添加test.php)svn add *.php(添加当前目录下所有的php文件) 3、将改动的文件提交到版本库svn commit -m “LogMessage“ [-N] [--n 阅读全文
posted @ 2013-04-02 00:57 Gateman 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 这篇文章是参考甲骨论老相老师的教学视频:http://v.youku.com/v_show/id_XMzkyMjA4NDM2.html所做学习笔记1. 什么是buffer之前提过很多次啦, 其实在oracle数据文件中最小的单位就是block, 而用户读取block数据时,oracle就会将block的数据放入缓存,那么缓存中对应block的单位就叫buffer了, block的大小与buffer大小是一样的.2. 关于buffer的动态数据字典x$dh Oracle有一个动态视图x$dh, 里面有很多个数据行, 其中每个数据行对应buffer_cache里的每1个buffer.. x$bh里 阅读全文
posted @ 2013-04-02 00:57 Gateman 阅读(442) 评论(0) 推荐(0) 编辑
摘要: 这篇文章是参考甲骨论老相老师的教学视频:http://v.youku.com/v_show/id_XMzkyMjA5NTEy.html所做的学习笔记1.介绍DBWR写进程.之前介绍过Database buffer cache的作用流程了,参考下图:具体可以参考我之前的学习笔记:http://nvd11.blog.163.com/blog/static/200018312201302695451760/但上面这个流程只提到了用户客户端读取数据的流程, 并没有提到修改数据..1.1 用户修改数据后, 对应buffer会变成1个脏buffer 当用户修改数据,并且提交后, 数据就会写入对应buffe 阅读全文
posted @ 2013-04-02 00:57 Gateman 阅读(1860) 评论(0) 推荐(0) 编辑
摘要: 这篇文章是参考甲骨论老相老师的教学视频:http://v.youku.com/v_show/id_XMzkyMjA0NDQ0.html所做的学习笔记其实之前已经介绍过shared pool的链式(chain)内存结构了..http://nvd11.blog.163.com/blog/static/200018312201301875752730/1.双向链表其实在Database buffer cache中, 也是用类似的chain结构, 只不过oracle一般是用双向链表.所谓单向链表, 就是指每个内存块(chunk)有1个尾部指针指向1个chunk的头部地址. 除了最后1个chunk,尾部 阅读全文
posted @ 2013-04-02 00:57 Gateman 阅读(516) 评论(0) 推荐(0) 编辑
摘要: 1. 折半查找法定义 折半查找法,也称为二分查找法, 二分搜索, 是一种在有序数组中查找某一特定元素的搜索算法.搜索过程中从数组的中间元素开始, 如果中间元素正好是要查找的元素, 则搜索过程结束;如果某一特定元素大于或者小于中间元素, 则在数组大于或小雨元素的那一半中查找, 而且跟开始一样从中间元素开始比较. 若某1个步骤中数组为空, 则代表找不到. 这种搜索算法每一次比骄傲都使搜索范围缩小一半. -- 摘自维基百科. 2. 折半查找法分析 从定义中可以看出折半查找法有几个特性. 2.1 先决条件: 要搜索的数据已经排好序 当然, 怎样将数据排序也是1个算法, 这里先不考究了, 但是要使用.. 阅读全文
posted @ 2013-04-02 00:57 Gateman 阅读(3310) 评论(0) 推荐(0) 编辑
摘要: 这篇文章是参考甲骨论老相老师的教学视频:http://v.youku.com/v_show/id_XMzk2MjQ5Mzc2.html所做的教学视频1. 触发LGWR 将log buffer里的数据写入日志文件的条件: 下图这个就是lgwr进程了~ 1.1 commit语句 1.2 每隔3秒 1.3 log buffer里面有大于1MB的数据未写入日志文件 1.4 log buffer里面有大于3分1的数据未写入日志文件. 1.5 DBWR需要写入数据的SCN大于LGWR记录的SCN, 就触发LGWR写入. 1 - 4点之前都提过啦,也很容易理解. 现在重点说下第5点: Oracle 有1个机 阅读全文
posted @ 2013-04-02 00:57 Gateman 阅读(775) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 20 下一页