本篇文章为大家展示了神谕调优中常用表保持到内存中的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
数据迁移后性能受到影响,需要将老数据库中保持到内存中的表在新库中保持到内存中,使用如下方法。
新库设置db_keep_cache_size为适当值,这个值的大小不能小于需要保持的表的大小。
查看老库中需要保持的表信息:
选择车主,
s.segment_name,
s.partition_name,
s.bytes/1024/1024为"大小(m)"
来自dba _ segments
其中所有者='XXX '
和段名
(从数据库管理员表中选择表名,其中所有者='XXX '和缓冲池='KEEP ')
4 desc的订单
查询老库中需要保持表总大小:
选择总和(字节/1024/1024/1024)作为"总保留大小(G)"
来自dba _ segments
其中段名在
(从数据库管理员表中选择表名,其中所有者='XXX '和缓冲池='KEEP ')
生成保持脚本:
选择"更改表格XXX"||s.segment_name|| "存储(buffer _ pool keep);""作为"脚本'
来自dba _ segments
其中所有者='XXX '
和段名
(从数据库管理员表中选择表名,其中所有者='XXX '和缓冲池='KEEP ')
保持表到内存中:
选择"更改表格XXX"||s.segment_name|| "缓存;""作为"脚本2'
来自dba _ segments
其中所有者='XXX '
和段名
(从数据库管理员表中选择表名,其中所有者='XXX '和缓冲池='KEEP ')
上两个脚本整合:
选择"更改表格XXX"||s.segment_name|| "存储(缓冲池保留)缓存;""作为"脚本'
来自dba _ segments
其中所有者='XXX '
和段名
(从数据库管理员表中选择表名,其中所有者='XXX '和缓冲池='KEEP ')
上述三个脚本输出结果放在plsql中执行即可。
附录:与隐藏物到内存相关的命令
-表缓存
更改表格.存储(buffer _ pool keep);
-查看哪些表被放在缓存区但并不意味着该表已经被缓存
从数据库管理员表中选择表名,其中buffer _ pool=" keep
-查询到该表是否已经被缓存
从用户_TABLES中选择表名,缓存、缓冲池,其中缓存类似于“% Y”;
-已经加入到保持区的表想要移出缓存,使用
alter table table _ name nocache
-查询当前用户下表的情况
从用户_TABLES中选择表名,缓存、缓冲池
-对于普通高球类型的段的隐藏物方法
更改表t2修改lob(c2)存储(缓冲池保留)缓存);
-取消缓存
更改表格测试修改lob(地址)(存储(buffer _ pool keep)无缓存);
-查询段
从用户段中选择段名、段类型、缓冲池;
-对基于泥炭田类型的对象的隐藏物方法
更改表lob1修改lob(c1.xmldata)(存储(缓冲池保留)缓存);
-查询该用户下所有表内的大字段情况
从用户_lobs中选择列名、段名
-取消表缓存
更改表三十存储(缓冲池)默认);
ps:
查看保持空间的剩余大小:
选择p.name,a.cnum_repl '总缓冲区,a . anam _ repl '空闲缓冲区'
来自x$kcbwds a,v$buffer_pool p
其中a.set_id=p.LO_SETID和p.name=' KEEP '
查看保持空间的大小:
从v $ sga _动态_组件中选择组件,当前大小
其中组件='KEEP '缓冲区缓存;
上述内容就是神谕调优中常用表保持到内存中的示例分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/157759.html