Max*_*axH 8 oracle oracle-11g memory
我决定减少本地开发人员实例的内存分配,并被告知以下命令完成了这项工作;
alter system set memory_max_target = 512M scope = spfile;
Run Code Online (Sandbox Code Playgroud)
我猜是这样,因为我无法再启动有问题的 Oracle 实例。这是我尝试以非 DBA 用户身份连接时遇到的错误;
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Run Code Online (Sandbox Code Playgroud)
以 SYSDBA 身份连接时,我得到以下信息;
Connected to an inactive instance.
SQL>startup nomount;
ORA-00837: Specified value of MEMORY_TARGET greater than MEMORY_MAX_TARGET
SQL>alter system set memory_max_target = 2G scope = spfile;
ORA-01034: ORACLE not available
Run Code Online (Sandbox Code Playgroud)
(“连接到非活动实例。”是我对本地化错误消息的翻译,可能不完全正确) 所以,我处于 catch 22 情况,我无法在不启动的情况下更改内存参数,我可以不启动。
有没有办法离线更改这些参数?
如果您使用服务器参数文件(初始化参数文件 spfile 的二进制版本)启动您的实例,您可以将初始化参数提取到纯文本初始化参数文件 (pfile) 中,更改它们,然后使用修改后的内存启动您的实例参数。
sql> create pfile='myinit.ora' from spfile='spfileORCL.ora';
Run Code Online (Sandbox Code Playgroud)
myinit.ora
使用此新配置修改您的内存相关参数并启动您的实例:
sql> startup pfile='myinit.ora';
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用以下命令将设置保存回 spfile:
sql> create spfile='spfileORCL.ora' from pfile='myinit.ora';
Run Code Online (Sandbox Code Playgroud)
并像往常一样启动您的数据库:
sql> startup;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19996 次 |
最近记录: |