`
itspace
  • 浏览: 978742 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

关于修改memory_target的值后数据库无法启动的问题

 
阅读更多
操作系统:RHEL6.5

数据库版本:11.2.0.4



我在安装could control软件的时候修改了数据库的部分参数,其中就有memory_target的值。



然后数据库就起不来了

SQL> startup;

ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 3072M

ORA-01078: failure in processing system parameters



报错原因是MEMORY_TARGET的值太小,至少需要3072M

修改MEMORY_TARGET的值在数据库里面已经不可操作

所以我在参数文件里修改



首先生成pfile

SQL>create pfile from pfile;





[oracle@hzmcorcl dbs]$ vi /oracle/app/product/11.2.0/db_1/dbs/initorcl.ora

修改memory_target的值:

*.memory_target=3221225472





然后使用pfile启动试试:

SQL> startup pfile='/oracle/app/product/11.2.0/db_1/dbs/initorcl.ora';

ORA-00845: MEMORY_TARGET not supported on this system



又变成了一个新的报错,这个MEMORY_TARGET的值超过的系统最大内存。

查看系统的内存后发现系统内存为2GB



因为我是虚拟机上的,所以把操作系统关闭后在虚拟机里修改内存为4.5GB

然后启动操作系统,再次进行尝试:

SQL> startup pfile='/oracle/app/product/11.2.0/db_1/dbs/initorcl.ora';

ORA-00845: MEMORY_TARGET not supported on this system



依旧报这个错误,在搜索引擎上查询知道

MEMORY_TARGET的值要小于/dev/shm内的值。

所以我想把/dev/shm的值改大可能就可以启动

[root@hzmcorcl ~]# cd /etc/

[root@hzmcorcl etc]# vi fstab

# /etc/fstab

# Created by anaconda on Mon Nov 21 10:19:33 2016

#

# 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/vg_hzmcorcl-lv_root /                       ext4    defaults        1 1

UUID=5845465a-e313-4337-865c-c87853677c49 /boot                   ext4    defaults        1 2

/dev/mapper/vg_hzmcorcl-lv_swap swap                    swap    defaults        0 0

tmpfs                   /dev/shm                tmpfs   defaults,size=3072M        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0

/dev/sdb1               /sdb                    ext4    defaults        1 2

/dev/vg1/data           /agent                  ext4    defaults        1 2



增加参数size=3072M

重新挂载:

[root@hzmcorcl etc] mount -o remount /dev/shm

[root@hzmcorcl ~]# mount -l

/dev/mapper/vg_hzmcorcl-lv_root on / type ext4 (rw)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts (rw,gid=5,mode=620)

tmpfs on /dev/shm type tmpfs (rw,size=3072M)

/dev/sda1 on /boot type ext4 (rw)

/dev/sdb1 on /sdb type ext4 (rw)

/dev/mapper/vg1-data on /agent type ext4 (rw)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)



可以看到/dev/shm的值已经变成3072M(当然重启也可以生效修改的/dev/shm的内存值)



再次尝试启动数据库:

SQL> startup pfile='/oracle/app/product/11.2.0/db_1/dbs/initorcl.ora';

ORACLE instance started.



Total System Global Area 3206836224 bytes

Fixed Size                  2257520 bytes

Variable Size            1996492176 bytes

Database Buffers         1191182336 bytes

Redo Buffers               16904192 bytes

Database mounted.

Database opened.





至此,数据库修复完成。



生成新的参数文件即可。
分享到:
评论

相关推荐

    Oracle 报错ORA-00845 MEMORY_TARGET not supported on this system

    如果是在使用spfile(服务器参数文件)的情况下出现的问题,你可以尝试使用pfile(文本参数文件)来启动数据库实例,然后手动编辑参数文件,移除或调整MEMORY_TARGET参数。 7. 查阅官方文档和社区。如果问题仍未解决...

    memory_target 解决方案

    2. **确认系统全局区大小**:在成功启动后,用户通过查询数据库的状态,确认了Total System Global Area (SGA) 的大小达到了预期值。 #### 五、总结 通过上述步骤,用户成功解决了“ORA-00845: MEMORY_TARGET not ...

    oracle11G调整物理内存提示ORA-00845 MEMORY_TARGET

    为了解决这个问题,我们需要增加 /dev/shm 的大小,以便满足 MEMORY_TARGET 的要求。 aumentar /dev/shm 的大小可以通过修改 /etc/fstab 文件来实现。我们可以增加以下两行代码: tmpfs /dev/shm tmpfs ...

    oracle memory manage

    - 修改后,需要重启数据库实例使设置生效。 #### 六、动态调整 MEMORY_TARGET 1. **设置 MEMORY_TARGET**: - 使用 SQL 语句更新 `MEMORY_TARGET` 的值: ```sql ALTER SYSTEM SET MEMORY_TARGET = nM; ALTER...

    ora-00845 ora-00845

    ### ORA-00845 错误详解与解决方案 #### 错误代码与含义 ORA-00845 错误是指 Oracle 数据库中的一个错误代码,该...此外,还可以参考 Oracle 的官方文档和社区资源获取更多关于 MEMORY_TARGET 参数及其兼容性的信息。

    Oracle 12C In-Memory Column Store特性

    修改`memory_target`为大于1GB的值,然后创建新的SPFILE并重启数据库。 2. **MEMORY_TARGET不支持**: 某些系统可能不支持`MEMORY_TARGET`,此时可以通过调整其他相关参数来满足内存需求。 3. **临时文件系统...

    Oracle数据库常见维护问题手册-精典

    **数据库启动方式** Oracle数据库启动通常通过`SQL*Plus`工具来进行。首先确保已经安装并配置了正确的Oracle客户端环境,然后通过以下命令来启动数据库: ```bash sqlplus / as sysdba ``` 输入上述命令后,系统...

    C#调用bat和sql文件实现修改oracle数据库的内存大小

    本文将深入探讨如何使用C#编程语言,通过调用批处理(bat)文件和SQL脚本来实现对Oracle数据库内存大小的动态修改。 首先,我们要理解Oracle数据库的内存结构。Oracle主要包含两种类型的内存:System Global Area ...

    SNE_Oracle11gR2_数据库常用操作和运维指南

    ### SNE_Oracle11gR2_数据库常用操作和运维指南 #### 一、查看数据库db_name名称 **操作目的:** 查看数据库的逻辑名称。 **操作步骤:** 1. **登录到数据库:** - 使用命令 `sqlplus / as sysdba` 登录到...

    linux下手工创建数据库

    - 数据库启动时,会按照特定的顺序查找参数文件:`spfileORACLE_SID.ora -> spfile.ora -> initORACLE_SID.ora`。 2. **创建参数文件** - 首先,使用以下命令创建一个基础参数文件: ```bash cat init.ora | ...

    Oracle常用操作手册

    - `MEMORY_TARGET`是Oracle实例能够使用的最大内存量,可以通过动态调整来改变,但是不得超过`MEMORY_MAX_TARGET`的值。 #### 二、限制用户连接数 - **查看资源限制参数**: - 命令:`show parameter resource_...

    更改ORACLE SGA的详细步骤

    修改参数后,需要立即关闭并重新启动数据库实例以应用更改: ``` shutdown immediate; start up; ``` 4. **恢复初始设置**(如果遇到问题): - 当修改 SGA 参数导致数据库无法启动时,可以通过以下步骤恢复...

    oracle9i初始化参数中文说明

    5. **数据库启动与关闭参数** - `DB_NAME`: 数据库的名称,启动时必须匹配。 - `DB_DOMAIN`: 数据库域,标识数据库的全局唯一性。 - `INSTANCE_NAME`: 实例名称,与数据库连接有关。 6. **安全性与审计参数** -...

    oracle常用命令

    - **修改 memory_target**: 例如 `ALTER SYSTEM SET MEMORY_TARGET=33024M;` 调整内存目标。 - **禁用 SGA 和 PGA**: 通过 `ALTER SYSTEM SET SGA_TARGET=0;` 和 `ALTER SYSTEM SET PGA_AGGREGATE_TARGET=0;` 禁用 ...

    oracle 数据库的事实同步

    - **启动数据库到mount模式并开启归档模式**: ```sql ALTER DATABASE MOUNT; ALTER DATABASE ARCHIVELOG; ``` - **查询当前日志组**: ```sql SELECT * FROM v$logfile ORDER BY group#; ``` - **添加备用...

    windows+oracle9i数据库安装配置指导手册.rar

    Oracle 9i是一款由甲骨文公司(Oracle Corporation)开发的关系型数据库管理系统,它在2001年发布,提供了高效能、可扩展性和安全性。本指南将详细讲解如何在Windows操作系统上安装和配置Oracle 9i数据库。 一、...

    Oracle12C调优

    **原因**:初始化参数 MEMORY_TARGET 或 MEMORY_MAX_TARGET 的值不能超过共享内存的限制。 **解决办法**: - **临时解决方案**:作为临时解决方案,可以增大 `/dev/shm` 的大小。 ```bash mount -o remount,size=...

Global site tag (gtag.js) - Google Analytics