第一章 编译时警告


1.4 oracle10g新功能

    1.4.2 编译时警告
        我们可以在开发实例中启用plsql_warnings参数,来了解plsql程序的性能。可以为会话或数据库设置
该参数。此参数在调试数据库对象的时候开启,在生产库就不需要开启,因为其会增加数据库的开销。使用如下命令开启:
alter session set plsql_warnings = 'enable:all'

-------------------由此问题延伸的知识点-----------------------------------------------------

--如果我们想查看plsql单元对象的
 all_plsql_objects_settings各个字段的大体意思
OWNER--拥有者
NAME--对象名称
TYPE--对象类型
PLSQL_OPTIMIZE_LEVEL--最佳编译:0无最佳编译,1中等最佳编译可以消除过剩代码和一场,2默认级别最佳编译设置方法,3自动子程序内联:alter session set plsql_optimize_level = 0;  Oracle的inline操作将调用操作直接替换为程序的代码,避免了调用的开销,获得了明显的性能提升,但是这种方法消耗更多的PGA内容也是显而易见的。
alter procedure procedure_name compile plsql_optimze_level = 0;
alter procedure procedure_name compile resue settings;--重用前面的设置
PLSQL_CODE_TYPE--代码类型native or INTERPRETED本地类型还是解释类型
如果我们想切换存储过程的编译方式
alter procedure procedure_name compile plsql_code_type = interpreted/native;
PLSQL_DEBUG--调试
PLSQL_WARNINGS--编译时警告
*plsql 编译警告 :plsql警告可以分为三类,severe用于检查可能出现的不可预料或者错误结果,例如参数的别名问题;performance用于检查可能引起的性能问题,例如执行insert操作时为number列提供了varchar2类型数据;informational用于检查子程序中的死代码;all用于检查所有警告。为了是的数据库可以在编译plsql子程序时发出警告信息,需要设置初始化参数plsql_warnings。这个参数不仅可以在系统级或者会话级设置,也可以在alter procedure命令中设置。Alter {system|session|procedure} set plsql_warnings=’{enable|disable:{all |performance|severe|informational}}’;为了检查是否存在对应警告信息,必须先激活警告检查,然后重新编译子程序,最后使用show errors命令显示警告错误。
NLS_LENGTH_SEMANTICS
PLSQL_CCFLAGS--oracle编译时变量标志 此变量只在会话级别设置
alter session set plsql_ccflags = 'name:value,name2:value';
举例
alter session set plsql_ccflags = 'debug:1';
begin
$if $$debug = 1 $then
dbms_output.put_line('hello');
$end
end;
这是会输出hello

PLSCOPE_SETTINGS


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26509390/viewspace-1398424/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26509390/viewspace-1398424/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值