调节内存结构
调节共享池(SHARED POOL)SHARE_POOL_SIZE决定共享池的大小共享池由四部分组成:库缓存、数据字典缓存、控制结构、用户全局区(UGA)n 库缓存包括:共享SQL区:SQL语句的解析代码及执行计划。PL/SQL程序区:编译好的PL/SQL程序。锁区:防止多个程序在同一时间操作同一个资源。n 数据字典缓存存储从数据字典中得来的内容,这样Oracle可以快速存取数据字典中的数据n 用户全局区(UGA); 在共享服务器下有的.调节数据库高速缓存区(BUFFER CACHE)DB_CACHE_SIZE数据库高速缓存区大小数据库高速缓存中的数据块为下面三
sql语句的一些规则
1。在条件语句中使用exists而不是in SQL> select a.deptno,a.ename from emp a 2 where a.deptno in (select deptno from dept); 改为: SQL> select a.deptno,a.ename from emp a 2 where exists (select b.deptno from dept b where a.deptno = b.deptno); 原因:使用'exists'的执行计划要比'in'的要好。 2。在where子句中最好不要在索引列上使用函数和使用运算 SQL> select deptno,ename from emp where deptno=20; 最好不要使用: SQL> select deptno,ename from emp where deptno+10=20; 原因:在where子句中,如果对索引
关于ORACLE AUTOTRACE
1。问题 今天在执行启动自动跟踪功能报错,如下:SQL> set autotrace traceonly explainSP2-0613: 无法验证 PLAN_TABLE 格式或实体SP2-0611: 启用EXPLAIN报告时出错2。原因 从网上查到一些资料记录下来,主要原因是由于当前用户没有PLAN_TABLE这张表以及相应的PLUSTRACE角色权限。3。解决办法 以sysdba身份登录执行 SQL> @?rdbmsadminutlxplan.sql (该脚本是创建表PLAN_TABLE)执行 SQL> @?sqlplusadminplustrce.sql (该脚本是将v$视图伤得选择权限授予该角色,并将plustrace角色授予dba角色)将plustrace角色授予当前角色[@mo