memory_target 设置太小,导致无法启动实例的解决办法

今天在做memory_target和sga_target,pga_aggregate_target之间的各个测试时。由于粗心,将memory_target的值设置的小于sga_target和pga_aggregate_target值的和,导致在启动实例时报错ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 412M。

解决办法:

(1) 根据spfile创建pfile文件来更改memory_target的值。

              create pfile='$ORACLE_HOME/dbs/spfileorcl_bak.ora' from spfile;

            vi  编辑pfile文件中memory_target的值。

 (2) 启动实例

             startup pfile=$ORACLE_HOME/dbs/spfileorcl_bak.ora;

            结果又报错

            ORA-00845: MEMORY_TARGET not supported on this system

(3) 解决这个错误,方法如下:

 [root@oraclelong ~]# vi /etc/fstab

tmpfs                   /dev/shm                tmpfs   defaults       0 0
更改为
tmpfs                   /dev/shm                tmpfs   defaults,size=569m        0 0   

保存退出
[root@oraclelong ~]# mount -o remount /dev/shm
[root@oraclelong ~]# df -h
文件系统              容量  已用 可用 已用% 挂载点
/dev/sda2              19G   16G  2.4G  88% /
/dev/sda1              99M   12M   83M  13% /boot
tmpfs                 569M  154M  416M  28% /dev/shm       这里需要注意可用值需要大于memory_target的值,测试如果两个相等还是报错。

(4)  重新启动实例,成功

(5) 需要记得将spfile再用pfile创建一次,方便直接启动。

 

配置 Oracle 数据库的 `MEMORY_TARGET` 参数通常在数据库的初始化参数文件(如 `init.ora` 或 `spfile.ora`)中完成。`MEMORY_TARGET` 是一个动态参数,它允许 Oracle 自动管理 SGA(System Global Area,系统全局区)和 PGA(Process Global Area,进程全局区)的内存分配。这个参数在 Oracle 11g 引入,并在后续版本中得到增强。 具体步骤如下: 1. 首先确定当前的 `SGA_TARGET` 和 `PGA_AGGREGATE_TARGET` 参数设置。因为设置 `MEMORY_TARGET` 后,这两个参数将被自动管理,所以应该检查它们的当前值。 2. 通过 SQL*Plus 或者 Oracle Enterprise Manager 连接到数据库,并以管理员身份登录。 3. 使用 `ALTER SYSTEM` 命令来修改 `MEMORY_TARGET` 参数。例如,如果你想设置 `MEMORY_TARGET` 为 4GB,可以使用如下命令: ```sql ALTER SYSTEM SET MEMORY_TARGET=4G SCOPE=BOTH; ``` `SCOPE=BOTH` 表示修改立即生效,并且会被写入到参数文件中,这样在数据库重启后,修改也会保留。 4. 修改完毕后,Oracle 会根据配置自动调整 SGA 和 PGA 的大小,以最优化数据库的性能。 5. 验证 `MEMORY_TARGET` 是否正确设置,可以查询 `V$MEMORY_TARGET_ADVICE` 视图,来查看不同内存目标下的数据库性能建议。 注意事项: - 修改 `MEMORY_TARGET` 参数前,确保服务器有足够的物理内存来支持设定的值,以避免内存不足的问题。 - 根据数据库的工作负载和运行状况,可能需要调整 `MEMORY_MAX_TARGET` 参数,它是 `MEMORY_TARGET` 参数可以增加到的最大值。 - 进行修改之前,最好先参考 Oracle 官方文档和最佳实践,确保参数调整对你的数据库环境是安全且合适的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值