分类: Oracle
2008-03-31 21:59:44
来源:赛迪网 作者:刘明昭 |
Set系统变量的功能和使用方法:
变量名 说明
脚本登陆到dbms_application_info这个管理用的package中。
是sql*plus从db取回数据是每次的list大小,但是这里有点需要声明,其实取回的时候第一次都是只取1条记录的,第二开始才会按照arraysize指定的数值来返回记录数,这个变量的设定范围是从1~5000的整数,默认为15,不建议取的太大,会影响hit的命中率,对于这点以后我将会在tuning的相关叙述中证明。
自动commit,可是设定开启,关闭,实时和多少条记录后commit
自动打印变量值,如果autoprint为on是那么在procedure的执行完是大家都将可以看到屏幕上有打印变量的值,关闭是则只显示“过程执行完毕”这样的提示,在调试的时候建议打开
设定为on时将以默认的文件名来记录REDO Log,当需要恢复时使用recover automatic database,否则只能使用recover database。
对正常执行完毕的sql dml语句自动生成报表信息,在tuning的时候比较有用,执行对象需要被赋予plustrace角色。在这里有的人可能会发现自己的对象集合中没有plan_table这张表(请用sys用户来建表),下面我给出建表的DDL,下面的几个命令请用sys用户来执行:
|
这样plan_table就生成了,但是系统里还是没有plustrace这个role,别急,create role的脚本在?sqlplusadminplustrce.sql,在这里我特别声明一下,我刚开始学oracle的时候总是不明白为什么前面是一个问号,后来才知道这个?号代表定位$ORACLE_HOME变量指定的路径,可能我比较菜吧。。。
言归正传,plustrace生成以后赋给public用于生成统计report,将plan_table的所有权限也赋予给public用于生成执行计划report
下面是关于autotrace参数的解释:
OPTION 说明
SET AUTOTRACE ON 同时输出执行结果以及统计信息和执行计划信息。
SET AUTOTRACE OFF 关闭执行计划和统计信息报表
SET AUTOTRACE ON EXPLAIN 只打开执行计划报销,显示命令结果,不显示统计信息。
SET AUTOTRACE ON STATISTICS 只打开统计信息报销,显示命令结果,不显示执行计划。
SET AUTOTRACE TRACEONLY 如果是这种形态的话不显示命令的执行结果,同时显示执行计划和统计信息,但是在traceonly的后面仍然可以追加explain或者statistics,等同于set autotrace on [explain|statistics]但是不显示执行结果
|
定义表示结束PL/SQL块结束的字符。
|
sqlplus的命令行区分字符,默认为off,也就是说只有回车才能输入下一条命令并开始执行,如果改为on状态的会自动设定成“;”, 就可以在一行内用“;”分隔多条sqlplus命令。类似于:
|
注释:列于列之间的分隔字符,可以用select语句来验证。