oracle修改memory,Oracle修改MEMORY_TARGET

Oracle 修改 MEMORY_TARGET,内存减小导致ORACLE启动不了,扩展内存后,按pfile启动,但sfile修改不了。

1.内存减小导致Oracle启动不了

Last login: Sun Nov 4 15:09:06 2012 from 192.168.5.222

[oracle@h1 ~]$ sqlplus "/as SYSDBA"

SQL*Plus: Release 11.2.0.1.0 Production on Sun Nov 4 15:26:59 2012

Copyright (c) 1982, 2009, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startup pfile=/app/oracle/admin/orcl/pfile/init.ora.103201271612

ORA-00845: MEMORY_TARGET not supported on this system

SQL> shutdown abort

ORACLE instance shut down.

SQL> startup pfile=/app/oracle/admin/orcl/pfile/init.ora.103201271612 force

ORA-00845: MEMORY_TARGET not supported on this system

SQL> exit

Disconnected

#---------解决:扩展内存

#--------pfile位置:$ORACLE_BASE/admin/[$ORACLE_SID]/pfile/init.ora.*

2.扩展内存后,按pfile启动,,但sfile修改不了

SQL*Plus: Release 11.2.0.1.0 Production on Sun Nov 4 16:00:25 2012

Copyright (c) 1982, 2009, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startup pfile=/app/oracle/admin/orcl/pfile/init.ora.103201271612 force

ORACLE instance started.

#----------按ORACLE PFILE 启动

Total System Global Area 1219260416 bytes

Fixed Size 2212856 bytes

Variable Size 738200584 bytes

Database Buffers 469762048 bytes

Redo Buffers 9084928 bytes

Database mounted.

Database opened.

SQL> alter system set memory_max_target=1258200M scope=both;

alter system set memory_max_target=1258200M scope=both

*

ERROR at line 1:

ORA-02095: specified initialization parameter cannot be modified

SQL> alter system set memory_max_target=1258200M scope=spfile;

alter system set memory_max_target=1258200M scope=spfile

*

ERROR at line 1:

ORA-32001: write to SPFILE requested but no SPFILE is in use//spfile文件可能不存在

#-------------/app/oracle/product/11.2.0/dbhome_2/dbs/----------------存放spfile

logo.gif 本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

配置 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、付费专栏及课程。

余额充值