变量绑定

摘要: 1. 当一个用户与数据库建立起链接以后,会向数据库发出操作请求,一条或者多条sql语句,Oracle接收到sql之后,首先将这个sql做一个hash函数运算,得到一个hash值,然后到共享池中寻找是否有和这个hash值匹配的sql,如果找到,oracle将直接使用已经存在的sql的执行计划去执行当前... 阅读全文
posted @ 2014-05-17 17:16 当时已枉然 阅读(362) 评论(0) 推荐(0) 编辑

分析及动态采样

摘要: CBO的机制是收集尽可能多的对象信息和系统信息,通过对这些信息进行计算,分析,评估,最终得出一个成本最低的执行计划。为了让CBO总是做出最正确的执行计划,就需要给CBO提供尽可能多的段对象(表,表分区,索引等)信息。1. 如果一个表没有做分析,数据库将自动对它做动态采样分析,如果想模拟在没有分析数据... 阅读全文
posted @ 2014-05-17 14:13 当时已枉然 阅读(640) 评论(0) 推荐(0) 编辑

Hint

摘要: Hint是Oracle提供的一种sql语法,它允许用户在sql中插入相关的语法来影响sql的执行方式。如果CBO(基于成本的优化器)认为使用Hint会导致错误的结果,Hint将被忽略1. 访问路径相关的Hint:FULL Hint: 告诉优化器对指定的表通过全表扫描的方式访问数据select /*+... 阅读全文
posted @ 2014-05-17 13:53 当时已枉然 阅读(622) 评论(0) 推荐(0) 编辑

Latch和等待

摘要: Latch是Oracle为了保护内存结构而发明的一种资源。就如同在SGA中,各种数据被反复从磁盘读取到内存,又重新写回到磁盘上,如果有并发用户做相同的事情,Oracle必须有一种机制,来保证数据在读取的时候,只能由一个会话来完成,这种保护机制就用到了Latch。Latch是一种轻量级锁,它不会引起阻... 阅读全文
posted @ 2014-05-16 22:45 当时已枉然 阅读(253) 评论(0) 推荐(0) 编辑

Oracle的锁和阻塞

摘要: 锁是由并发产生,并发(concurrency)指超过两个以上的用户对同样的数据做修改,可能包括插入,删除和修改。并行(parallel)指将一个任务分成很多小的部分,每一个部分同时执行,最后将执行结果汇总成最后的结果。查看数据库中是否存在锁:1. 查看会话SID:select sid from v$... 阅读全文
posted @ 2014-05-16 17:30 当时已枉然 阅读(882) 评论(0) 推荐(0) 编辑

Oracle表空间相关命令

摘要: Oracle表空间按存储数据类型可分为SYSTEM表空间,SYSAUX表空间,UNDO表空间,临时表空间和用户表空间,按存储空间方式可分为字典管理表空间和本地管理表空间,按是否支持大文件可分为大文件表空间和小文件表空间。创建临时表空间create temporary tablespace[temp_... 阅读全文
posted @ 2014-05-16 16:03 当时已枉然 阅读(173) 评论(0) 推荐(0) 编辑

Oracle用户相关命令

摘要: Oracle用户是一个数据库对象,用户所有的操作默认在自己的模式下进行,模式是一个用户所拥有的数据库对象的集合,每个用户都有自己的模式,用户和模式之间是一一对应的,模式的名字与用户名相同。例如,SCOTT用户的模式为SCOTT,在这个模式中包含了用户SCOTT拥有的所有数据库对象,包括表,视图,索引... 阅读全文
posted @ 2014-05-16 11:37 当时已枉然 阅读(318) 评论(0) 推荐(0) 编辑