今天测试数据库所在主机关机,重新启动数据库的时候出现 ORA-00845: MEMORY_TARGET not supported on this system SYS@sjpt110>startup ORA-00845: MEMORY_TARGET not supported on this system 我的处理过程是:切换至root用户执行 [root@BJODSDB0110 ~]# sudo mount -o remount,size=20G /dev/shm [root@BJODSDB0110 ~]# su - oracle [oracle@BJODSDB0110 ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Tue Nov 27 22:32:26 2018 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to an idle instance. SYS@sjpt110>startup ORACLE instance started. Total System Global Area 5227814912 bytes Fixed Size 2262368 bytes Variable Size 3103787680 bytes Database Buffers 2113929216 bytes Redo Buffers 7835648 bytes Database mounted. Database opened. 具体原理参考以下文章: 修改Oracle的memory_max_target和memory_target 最初安装Orale11g时,采用默认自动内存管理,使用1/2Mem。后来想增大最大内存使用值。 系统内存16G Mem,想修改为3/4Mem: 16*3/4=12G=12288M。 # vim /etc/sysctl.conf kernel.shmmax = 12884901888 # sysctl -p 再修改ORACLE 参数 sql> show parameter target; sql> alter system set memory_max_target=12288M scope=spfile; sql> alter system set memory_target=12288M scope=spfile; 需要重启数据库才能生效。 sql> startup 时报错: ORA-00845: MEMORY_TARGET not supported on this system 查找资料后发现在oracle 11g中新增的内存自动管理的参数MEMORY_TARGET,它能自动调整SGA和PGA, 这个特性需要用到/dev/shm共享文件系统,而且要求/dev/shm必须大于MEMORY_TARGET,如果/dev/shm比MEMORY_TARGET小,就会报错。 解决方案: 1.初始化参数MEMORY_TARGET或MEMORY_MAX_TARGET不能大于共享内存(/dev/shm),为了解决这个问题,可以增大/dev/shm # mount -t tmpfs shmfs -o size=12288M /dev/shm 但如果之前已经mount过了,则执行remount # mount -o remount,size=12288M /dev/shm 2.为了确保操作系统重启之后能生效,需要修改/etc/fstab文件 tmpfs /dev/shm tmpfs defaults,size=12288M 0 0 3.如果/dev/shm没有挂载也会报上面的错,所认需要确保已经挂载,执行目录查看: # df -h 下面是我的操作流程: [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 184G 24G 160G 13% / devtmpfs 7.8G 0 7.8G 0% /dev tmpfs 7.8G 80K 7.8G 1% /dev/shm tmpfs 7.8G 8.8M 7.8G 1% /run tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup /dev/sda1 497M 109M 389M 22% /boot tmpfs 1.6G 12K 1.6G 1% /run/user/42 tmpfs 1.6G 0 1.6G 0% /run/user/0 [root@localhost ~]# [root@localhost ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Wed Feb 22 19:26:05 2017 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/centos-root / xfs defaults 0 0 UUID=2fafd7f5-0ceb-46ea-9d57-165f82e04dfe /boot xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 [root@localhost ~]# [root@localhost ~]# mount -o remount,size=12288M /dev/shm [root@localhost ~]# [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 184G 24G 160G 13% / devtmpfs 7.8G 0 7.8G 0% /dev tmpfs 12G 80K 12G 1% /dev/shm tmpfs 7.8G 8.8M 7.8G 1% /run tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup /dev/sda1 497M 127M 370M 26% /boot tmpfs 1.6G 12K 1.6G 1% /run/user/42 tmpfs 1.6G 0 1.6G 0% /run/user/0 [root@localhost ~]# [root@localhost ~]# vim /etc/fstab # # /etc/fstab # Created by anaconda on Wed Feb 22 19:26:05 2017 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/centos-root / xfs defaults 0 0 UUID=2fafd7f5-0ceb-46ea-9d57-165f82e04dfe /boot xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults,size=12288M 0 0 ~ 启动数据库还是报错: $ sqlplus / as sysdba SQL> startup ORA-00845: MEMORY_TARGET not supported on this system SQL> 网上搜索,发现是/dev/shm还是不够大,/dev/shm必须大于MEMORY_TARGET,等于也会报错。 所以继续调整/dev/shm为13G: # mount -o remount,size=13G /dev/shm 启动数据库成功。 持久化修改 # vim /etc/fstab tmpfs /dev/shm tmpfs defaults,size=13G 0 0 修改成功,查看: SQL> show parameter target; NAME TYPE ------------------------------------ --------------------------------- VALUE ------------------------------ archive_lag_target integer db_flashback_retention_target integer 1440 fast_start_io_target integer fast_start_mttr_target integer memory_max_target big integer NAME TYPE ------------------------------------ --------------------------------- VALUE ------------------------------ 12G memory_target big integer 12G parallel_servers_target integer 32 pga_aggregate_target big integer sga_target big integer SQL> 已经变成12G了。 ---------------------
ORA-00845: MEMORY_TARGET not supported on this system
来源:这里教程网
时间:2026-03-03 12:16:09
作者:
编辑推荐:
- 怎么查看word字数的两种方法03-03
- ORA-00845: MEMORY_TARGET not supported on this system03-03
- ogg破案之内存设置使replicat进程abended03-03
- 怎么恢复误删word的两种方法03-03
- 怎么将word设为横向03-03
- 怎么破解word密码保护03-03
- [20181128]toad连接数据库的问题(补充).txt03-03
- oracle数据库逻辑备份03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 案发现场:被注入的软件及 ORA-600 16703 灾难的恢复
案发现场:被注入的软件及 ORA-600 16703 灾难的恢复
26-03-03 - rac上的sequence
rac上的sequence
26-03-03 - 应用改字符集小记
应用改字符集小记
26-03-03 - 变与不变: Undo构造一致性读的例外情况
变与不变: Undo构造一致性读的例外情况
26-03-03 - 删除UNDO表空间并处理ORA-01548问题
删除UNDO表空间并处理ORA-01548问题
26-03-03 - Oracle二号人物将出任谷歌云CEO,或首拿AWS开刀!
Oracle二号人物将出任谷歌云CEO,或首拿AWS开刀!
26-03-03 - Oracle 程序员吐槽:永远不会再为 Oracle 工作了 !
Oracle 程序员吐槽:永远不会再为 Oracle 工作了 !
26-03-03 - Debian strings命令详解(从二进制文件中提取可读文本的实用指南)
- Linuxwwwwjs777netPHPWindows13094391112
- SQL优化案例-单表分页语句的优化(八)
SQL优化案例-单表分页语句的优化(八)
26-03-03
