PLS-00201: identifier 'SYS.DBMS_SHARED_POOL' must be declared

1 what is DBMS_SHARED_POOL

Mos 解释

The DBMSSHAREDPOOL package provides access to the shared pool, which is the shared memory area where cursors and PL/SQL objects are stored. DBMSSHAREDPOOL enables you to display the sizes of objects in the shared pool, and mark them for keeping or unkeeping in order to reduce memory fragmentation.

DBMS_SHARED_POOL包提供存储过程来将PL/SQL对象或SQL游标固定到Oracle 共享池。一旦这些对象固定之后,将不再参与paged out,而是常驻内存,即便是使用alter system flush shared_pool也不会将对象清除出共享池(当然重启数据库相关对象还是会被清除掉),这样的好处是可以避免大值对象装载进共享池导致ORA-04031错误或系统性能问题

2 安装 DBMS_SHARED_POOL

说明:DBMS_SHARED_POOL缺省不会随系统安装 ,必须先安装才可以使用。对应的sql脚本为:dbmspool.sql

SQL> show user;
USER is "SYS"
SQL> @?/rdbms/admin/dbmspool.sql

3 非sys用户如何使用包: DBMS_SHARED_POOL

用户使用该包首先需要sys授予执行权限:
grant EXECUTE DBMS_SHARED_POOL to <USERNAME>;

4 DBMS_SHARED_POOL 包常用的存储过程

1)DBMSSHAREDPOOL.KEEP 存储过程

作用:用于将对象固定到共享池

参数解释:

PROCEDURE DBMS_SHARED_POOL.KEEP (name IN VARCHAR2 ,flag IN CHAR DEFAULT 'P');Flag标志                      Description
----------                   --------------
C                              cursor
JC                             java class
JD                             java shared data
JR                             java resource
JS                             java source
P                              Package, procedure, or function name
Q                              sequence
R                              trigger
T                              type
Any other character             Cursor specified by address and hash value

示例:

 exec sys.dbms_shared_pool.keep('TRADE.TRG_KEEP_SEQ');exec sys.dbms_shared_pool.keep('scott.city','T')

2).DBMSSHAREDPOOL.UNKEEP 存储过程

作用:用于将对象从清出保留池

参数解释:参考1)

示例:

exec sys.dbms_shared_pool.unkeep('TRADE.TRG_KEEP_SEQ','P')

3)DBMSSHAREDPOOL.SIZES 存储过程

作用:该过程显示在共享池中超过指定值大小的对象,包括游标以及匿名的PL/SQL块。(指定值的大小的单位为kbytes)

参数解释:

PROCEDURE DBMS_SHARED_POOL.SIZES (minsize IN NUMBER);

示例: execute sys.dbmssharedpool.sizes(70);

4)ABORTED_REQUEST_THRESHOLD

作用:设定一个阙值尺寸,当该阙值被设定后,一个大于该设定值的对象被装载到共享池时。避免在共享池没有足够的空间时,未固定内存对象被清理的情况。可能产生的问题:ORA-4031

取值范围:该值在5000 - 2147483647之间,

示例:

PROCEDURE DBMS_SHARED_POOL.ABORTED_REQUEST_THRESHOLD (threshold_size IN NUMBER); execute SYS.DBMS_SHARED_POOL.ABORTED_REQUEST_THRESHOLD(50000);

5 与此相关的一起sql语句

1)查找需要常驻共享池的对象

SELECT *
FROM v$db_object_cache
WHERE sharable_mem > 10000      /*此参数为占住内存的大小,可自行设定大小*/
AND (TYPE='PACKAGE' OR TYPE='PACKAGE BODY' OR TYPE='FUNCTION' OR TYPE='PROCEDURE')
AND kept='NO';

2)sql语句常驻内存

SQL> select count(*) from all_objects;COUNT(1)--------40793SQL> select address,hash_value,sql_text from v$sqlarea where sql_text='select count(*) from all_objects';ADDRESS       HASH_VALUE SQL_TEXT
-------- --------------- ----------------------------------------
2D33FF58      789896629 select count(*) from all_objects SQL> exec sys.dbms_shared_pool.keep('2D33FF58,789896629','C');PL/SQL procedure successfully completed.如果我们要取消固定到内存的话,则调用DBMS_SHARED_POOL.UNKEEP即可,该过程的参数与KEEP相同。

3)清空share pool的命令(如果在使用包keep对象没有可用空间时,可以flush shared_pool)

ALTER SYSTEM FLUSH SHARED_POOL;    --此操作不会清除常驻内存的对象

4)查看当前已经常驻内存的对象

select * from v$db_object_cache where kept='YES';

5)寻找较大匿名的PL/SQL 块将其分割为小的PL/SQL块,以提高共享池的利用率

SELECT sql_text
FROM v$sqlarea
WHERE command_type=47
AND LENGTH(sql_text)>500;

7.解决开头问题

SQL> show user;
USER is "SYS"
SQL> @?/rdbms/admin/dbmspool.sql
SQL> exec sys.dbms_shared_pool.sizes(0)

8.解决问题时碰到其它的错误

报错:ORA-20000: ORU-10027: buffer overflow, limit of 2000 bytes解决方法:PL/SQL: DBMS_OUTPUT.ENABLE (buffer_size => NULL);
SQL*Plus: set serveroutput on size unlimited

转载于:https://blog.51cto.com/woquer/1825319

PLS-00201: ORA-20000:相关推荐

  1. oracle plsql异常,【Oracle篇】异常处理和PLSQL

    一.所有的PL/SQL异常都具有以下几个基本特征: 错误类型:表示了错误是ORA错误还是PLS错误 错误代号:一串表示错误代号的数字 错误文本:错误消息文本,包括错误代号 二.PL/SQL会产生两种类 ...

  2. listener.ora、sqlnet.ora、tnsnames.ora 详解

    三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora,都是放在$oracle_home\network\admin目录下. 重点:三个文件的作用和使用 sqlnet. ...

  3. oracle rac ora 12537,解决11gR2 Rac ORA-12537: TNS:connection closed 一例

    Solaris 10, oracle 11.2.0.3, RAC, 非ASM, 使用SCAN和DNS 状况: # tnsping ISUITE TNS Ping Utility for Solaris ...

  4. startup mount报错:invalid value given for the diagnostic_dest init.ora parameter

    问题描述 解决思路 找到错误控制信息输出路径下的init文件 (我的不知道为什么叫做initORCL.ora) 将其中的ORACLE_BASE修改为正确路径 解决过程 输入指令 vi /db/app/ ...

  5. [20170914]tnsnames.ora的管理.txt

    [20170914]tnsnames.ora的管理.txt --//昨天朋友讲tnsnams.ora的内容太长了,而且许多不需要的.管理不方便.我记得以前写[20150409]tnsnames.ora ...

  6. 首场见习挑战赛倒计时3天!20000元奖学金瓜分就等你了!

    CSDN软件开发精英赛是基于"C认证-软件工程师能力认证考试"而设立的编程比赛,大赛联合广大科技企业设置丰厚礼品及30万元奖学金.从7月22日官宣到今日,短短一个月内,大赛已经吸引 ...

  7. GitHub 标星 20000+,国产 AI 开源从算法开始突破 | 专访商汤联合创始人林达华

    作者 | 阿司匹林 责编 | 李雪敬 封图 | CSDN 下载自视觉中国 作为已经有4000多名员工的AI独角兽,商汤的一举一动备受关注. 从2018年开始,奔着"开源.统一.可复现&quo ...

  8. Failed to register Grid Infrastructure type ora.mdns.type

    安装11g的集群软件的时候,在最后运行root.sh脚本时候,没有执行成功,最后提示如下错误: [root@r2 ~]# /u01/app/11.2.0/grid_1/root.sh Performi ...

  9. 论坛第20000名幸运儿是谁?

    2006年的5月,51CTO.COM的论坛正在逐步走向收获.虽然有个"五一"长假,但并没有阻碍论坛的持续发展,尤其到了5月下旬,论坛以平均每天300人左右的注册量持续走高:5月28 ...

  10. 交叉分解(Cross decomposition)、典型关联分析(Canonical Correlation Analysis,CCA)、偏最小二乘回归PLS

    交叉分解(Cross decomposition).典型关联分析(Canonical Correlation Analysis,CCA).偏最小二乘回归PLS 目录 交叉分解.典型关联分析(Canon ...

最新文章

  1. 商汤提基于贪心超网络的One-Shot NAS,达到最新SOTA | CVPR 2020
  2. 获得AndroidManifest.xml文件中meta-data的value值
  3. Codeforces Round #515 (Div. 3)【未完结】
  4. java金字塔等边三角形_java99乘法表的小练习 正三角 倒三角 正金字塔 倒金字塔...
  5. OPPO正式公布ColorOS 6系统:Reno新机4月10日首发适配
  6. TOP100summit:【分享实录-QQ空间】10亿级直播背后的技术优化
  7. 【Baltic2003】【BZOJ1370】Gang团伙(并查集,拆点)
  8. 解决windows下使用pycharm的anaconda安装numpy或tensorflow不成功的问题
  9. 基于PCA降维实现人脸识别
  10. ubuntu下输入法突然崩溃(只能选择第一个预选词,选择其他预选词会变成数字)的解决办法
  11. python3帮助文档-中文
  12. linux上复制文件命令是什么,Linux复制文件用什么命令怎么用
  13. linux端口映射到内网机器,linux如何将公网IP映射到局域网IP?
  14. UE4 引擎 package 可执行文件过程中碰到fatal error的常见解决方法
  15. IOS 编程初体验 第一篇:自学和培训的选择
  16. javaweb大全:地址来自 孤傲苍狼
  17. Unity官方案例——Roll a ball
  18. 斑马打印机(zebraZT410R-203dpi)打印RFID标签流程
  19. linux安装ifconfig
  20. linux gpio喂狗驱动

热门文章

  1. ubuntu下80端口无权限问题
  2. oracle官网免登录下载jdk8
  3. Python - JS逆向破解实现翻译软件
  4. AWD 线下攻防生存之道(Web 方向)
  5. 最新主流大数据技术分类大全(持续更新)
  6. [CVPR2018](SMALR)Lions and tigers and bears: Capturing non-rigid, 3d, articulated shape from images
  7. 2019年—可能是我们Java程序员离危机感最近的一年!
  8. 让智能更落地,让中台更智能
  9. mcafee杀毒软件编写规则时通配符使用方法
  10. Web页面显示随机签名