oracle执行计划
oracle执行计划相关概念 http://blog.csdn.net/wh62592855/archive/2009/11/06/4778343.aspx
1. 什么是执行计划?为什么要了解执行计划?
为了执行一条sql语句,oracle可能必须要执行某些步骤的操作,每一步骤可能是从数据库中物理检索数据行,或者用某种方法准备数据行,供发出语句的用户使用。Oracle用来执行语句的这些步骤的组合即为执行计划。执行计划是sql优化中最为复杂也是最为关键的部分,只有知道了oracle在内部到底是如何执行该sql语句后,才能知道优化器选择的执行计划是否为最优的。
2. 什么是共享sql语句?
oracle在对sql语句进行一次解析之后,会将该sql语句以及解析后得到的执行计划存放在内存中(位于系统全局区域SGA的共享池)。当执行一个sql语句时,如果该语句和之前的执行过的某一语句完全相同,并且之前执行的该语句与其执行计划仍然在内存中存在,则oralce就不需要再进行分析,直接就可以得到该语句的执行路径。
之前对ORACLE中的变量一直没个太清楚的认识,比如说使用:、&、&&、DEIFINE、VARIABLE……等等。今天正好闲下来,上网搜了搜相关的文章,汇总了一下,贴在这里,方便学习。
==================================================================================
在oracle 中,对于一个提交的sql语句,存在两种可选的解析过程, 一种叫做硬解析,一种叫做软解析.
一个硬解析需要经解析,制定执行路径,优化访问计划等许多的步骤.硬解释不仅仅耗费大量的cpu,更重要的是会占据重要的们闩(latch)资源,严重的影响系统的规模的扩大(即限制了系统的并发行),而且引起的问题不能通过增加内存条和cpu的数量来解决。之所以这样是因为门闩是为了顺序访问以及修改一些内存区域而设置的,这些内存区域是不能被同时修改。当一个sql语句提交后,oracle会首先检查一下共享缓冲池(shared pool)里有没有与之完全相同的语句,如果有的话只须执行软分析即可,否则就得进行硬分析。
而唯一使得oracle 能够重复利用执行计划的方法就是采用绑定变量。绑定变量的实质就是用于替代sql语句中的常量的替代变量。绑定变量能够使得每次提交的sql语句都完全一样。
1.
sqlplus中如何使用绑定变量,可以通过variable来定义
view plaincopy to clipboardprint?
SQL&
相关文档:
备注:
本博内容是承接上期内容的延续,由于内容过长,因此采用分段说明,以免大家看起来疲倦,若了解更多详细的安装流程,请继续关注本博。参照原版安装手册对照安装。
4.Configure Oracle Installation Owner Shell Limits
<1>配置limits.conf文件,红色标注为增加的配置内容。
[root@myli ......
Oracle存储过程转成Sqlserver存储过程
1.日期转换
Oracle: TO_NUMBER(TO_CHAR(SYSDATE, 'YYYYMMDD'))
SqlServer:CAST(CONVERT(CHAR(8),GETDATE(), 112) AS INT)
注:其中‘YYYYMMDD’格式 对应112
2.ROWID转换
Oracle: ROWID
SqlServer: PRIMARY KEY(表主键)
3.ROWNUM ......
oracle当多表union时遇到nvarchar2类型时报错 字符集不匹配
对使用nvarchar的地方,加上 to_char( nvarchar 的变量或字段 )
如:
select to_char(name),price from aa
union all
select to_char(name),price from bb
3张表aa,bb,cc都有 name price 字段 查询价格最高的前3位姓名
select * from(select to_ch ......
Oracle中使用IMP Dos命令 导入DIC数据库备份过程
1.使用具有建立表空间和用户权限的用户登录Oracle;
2.建立需要的表空间;
3.建立需要的用户(用户名,密码,默认表空间,临时表空间,权限)
4.打开DOS窗口,在命令行中输入IMP;
5.用第三步中建立好的用户登录数据库;
6.输入DIC文件的完全路径,按照提示选 ......
ORACLE EXPDP/IMPDP
2010-01-22 17:07
调用EXPDP
使用EXPDP工具时,其转储文件只能被存放在DIRECTORY对象对应的OS目录中,而
不能直接指定转储文件所在的OS目录.因此,使用EXPDP工具时,必须首先建立DIRECTORY对象.并且需要为数据库用户授予使用
DIRECTORY对象权限.
CREATE DIRECTORY dump dir AS ‘DUMP’; ......