memory - 如何增加 Oracle 19c DB 使用的内存
问题描述
我最近在具有 54GB 内存的 Windows 服务器上创建了一个 19c Enterprise DB。我为数据库分配了 48GB。今天我将物理内存增加到 116GB。我想将内存利用率增加到 106GB。
在调查内存参数时,我发现 SGA_LIMIT 和 MEMORY_MAX_TARGET 设置为 0。pga_aggregate_target 设置为 12205M。按照 Oracle 文档的指导,我进行了以下更改;
alter system set memory_max_target = 104G scope=spfile;
重新启动数据库
alter system set SGA_TARGET = 0 scope=both;
alter system set PGA_AGGREGATE_TARGET = 0 scope=both;
任务管理器显示内存利用率为 41GB。所以我运行了一些类似的查询;
select * from table_with_over_30M_rows order by 1,2,3,4;
select * from table_with_over_30M_rows t1 inner join other_table_with_45M_rows t2 on t2.id=t1.id;
这导致任务管理器内存利用率增加到 48GB。我已允许用户重新启动,并且内存利用率没有增加到 48GB 以上。
我相信有一些东西限制了记忆。我已经检查了我能想到的所有参数,没有任何问题。我的问题;
关于参数我应该寻找什么?
如何尝试强制消耗额外的内存?
我还可以采取哪些其他故障排除步骤?
解决方案
推荐阅读
- android - 在使用 FirebaseRecyclerPagingAdapter 时,第二次单击 RecyclerView 中的项目时,片段显示为空
- javascript - Vue.js 焦点输入在 v-if 内 v-for 内
- reactjs - 对于只接受文本和 falsy 的组件,React 子类型应该是什么?
- typescript - Typescript 实用程序“记录”和“部分”不适用于受约束的泛型
- html - 如何在 Bootstrap 5 中将文本环绕在图像周围
- ios - 购买完成后显示主屏幕
- c# - 如何将列表数据发送到下一页
- php - 从 Codeigniter 中的同一个表单注册中获取数据
- graphql - 在 type-graphql 突变中传递多个参数以及 `GraphQLUpload`
- html - Angular - CSS Grid - 按索引对齐列