摘要:1. SQL*Plus登陆:在cmd中,使用sqlplus [usernam]/[pwd]或者sqlplus [usernam]/[pwd] as sysdba或者sqlplus [usernam]/[pwd]@[netsvr],netsvr是已定义的网络服务名。2. 获得帮助索引:help ind...
阅读全文
摘要:1. 优化器(Optimizer)是sql分析和执行的优化工具,它负责制定sql的执行计划,负责保证sql执行效率最高,比如决定oracle以什么方式访问数据,全表扫描(full table scan)还是索引范围(index range scan)扫描,还是全索引快速扫描(index fast f...
阅读全文
摘要:10053事件:将CBO如何做出这个执行计划的整个过程展示出来。10053同样会在$Oracle_base/admin/sid/udump下产生一个trace文件,这个trace文件不能用tkprof工具处理,tkprof工具只能处理sql_trace或者10046事件。windows系统在D:\O...
阅读全文
摘要:1. SQL_TRACE命令将sql的整个过程输出到一个trace文件,通过读取这个trace文件来了解这个sql执行过程中oracle究竟做了什么事情。设置SQL_TRACE生成的trace文件标识:alter session set tracefile_identifier='mytest';在...
阅读全文
摘要:在oracle中,和用户有关的表有三种:用户自己创建的表,数据字典视图,动态性能视图。在后2种视图中,用户可以查询自己关心的信息。数据字典是一种系统表,它在数据库被创建时自动产生,由数据库服务器进行维护和更新。有三类主要的数据字典视图,这些视图名称分别以以下标识符开始:user_ : 存储当前用户所...
阅读全文
摘要:1. 当一个用户与数据库建立起链接以后,会向数据库发出操作请求,一条或者多条sql语句,Oracle接收到sql之后,首先将这个sql做一个hash函数运算,得到一个hash值,然后到共享池中寻找是否有和这个hash值匹配的sql,如果找到,oracle将直接使用已经存在的sql的执行计划去执行当前...
阅读全文
摘要:CBO的机制是收集尽可能多的对象信息和系统信息,通过对这些信息进行计算,分析,评估,最终得出一个成本最低的执行计划。为了让CBO总是做出最正确的执行计划,就需要给CBO提供尽可能多的段对象(表,表分区,索引等)信息。1. 如果一个表没有做分析,数据库将自动对它做动态采样分析,如果想模拟在没有分析数据...
阅读全文
摘要:Hint是Oracle提供的一种sql语法,它允许用户在sql中插入相关的语法来影响sql的执行方式。如果CBO(基于成本的优化器)认为使用Hint会导致错误的结果,Hint将被忽略1. 访问路径相关的Hint:FULL Hint: 告诉优化器对指定的表通过全表扫描的方式访问数据select /*+...
阅读全文
摘要:Latch是Oracle为了保护内存结构而发明的一种资源。就如同在SGA中,各种数据被反复从磁盘读取到内存,又重新写回到磁盘上,如果有并发用户做相同的事情,Oracle必须有一种机制,来保证数据在读取的时候,只能由一个会话来完成,这种保护机制就用到了Latch。Latch是一种轻量级锁,它不会引起阻...
阅读全文
摘要:锁是由并发产生,并发(concurrency)指超过两个以上的用户对同样的数据做修改,可能包括插入,删除和修改。并行(parallel)指将一个任务分成很多小的部分,每一个部分同时执行,最后将执行结果汇总成最后的结果。查看数据库中是否存在锁:1. 查看会话SID:select sid from v$...
阅读全文
摘要:Oracle表空间按存储数据类型可分为SYSTEM表空间,SYSAUX表空间,UNDO表空间,临时表空间和用户表空间,按存储空间方式可分为字典管理表空间和本地管理表空间,按是否支持大文件可分为大文件表空间和小文件表空间。创建临时表空间create temporary tablespace[temp_...
阅读全文
摘要:Oracle用户是一个数据库对象,用户所有的操作默认在自己的模式下进行,模式是一个用户所拥有的数据库对象的集合,每个用户都有自己的模式,用户和模式之间是一一对应的,模式的名字与用户名相同。例如,SCOTT用户的模式为SCOTT,在这个模式中包含了用户SCOTT拥有的所有数据库对象,包括表,视图,索引...
阅读全文