oracle11g memory_target,oracle11g MEMORY_MAX_TARGET设置成0 问题处理
linux 下 oracle11g MEMORY_MAX_TARGET設置成0 問題處理
yope(2017_08_08)
問題起因:
數據庫服務器由于業務原有內存不能夠滿足,所以增加了內存、CUP和硬盤,這就有了下面的oracle 性能調優的事。 在plsql中執行如下的調優方案,具體參數不做詳述
Alter system set memory_target=0 SCOPE=SPFILE;
Alter system set memory_max_target=0 SCOPE=SPFILE;
ALTER SYSTEM SET PGA_AGGREGATE_TARGET=10G SCOPE=SPFILE;
ALTER SYSTEM SET SGA_TARGET=32G SCOPE=SPFILE;
alter system set sga_max_size=36G scope=spfile;
重啟oracle 數據庫
報錯如下:
[root@ETLDB ~]# su - oracle
[oracle@ETLDB ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.4.0 Production on Tue Aug 8 15:36:56 2017
Copyright (c) 1982, 2013, Oracle. All rights reserved.
SQL> connect /as sysdba
Connected to an idle instance.
SQL> startup
ORA-00843: Parameter not taking MEMORY_MAX_TARGET into account
ORA-00849: SGA_TARGET 38654705664 cannot be set to more than MEMORY_MAX_TARGET 0.
……
經過漫長的查找,實際操作,記錄下來。
解決步驟如下:
本人采用xshell 開啟兩個終端登錄,目的是不用頻繁切換oracle用戶
1.終端1登錄系統創建pfile
[root@ETLDB ~]# su - oracle
[oracle@ETLDB ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.4.0 Production on Tue Aug 8 15:36:56 2017
Copyright (c) 1982, 2013, Oracle. All rights reserved.
SQL> connect /as sysdba
Connected to an idle instance.
SQL> shutdown immediate;
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
SQL> create pfile from spfile;
File created.
SQL>
2.終端2登錄系統修改initorcl.ora文件
[root@ETLDB ~]# su - oracle
[oracle@ETLDB ~]$ echo $ORACLE_HOME
/home/oracle/app/oracle/product/11.2.0/db_1
[oracle@ETLDB ~]$ cd /home/oracle/app/oracle/product/11.2.0/db_1
[oracle@ETLDB db_1]$ cd dbs/
[oracle@ETLDB dbs]$ ll
total 36
-rw-rw----. 1 oracle dba 1544 Aug 8 16:46 hc_orcl.dat
-rw-r--r--. 1 oracle dba 2851 May 15 2009 init.ora
-rw-r--r--. 1 oracle dba 2851 Apr 19 14:25 init.ora_bak
-rw-r--r--. 1 oracle dba 1136 Aug 8 16:45 initorcl.ora
-rw-r-----. 1 oracle dba 24 Sep 23 2016 lkORCL
-rw-r-----. 1 oracle dba 1536 Sep 23 2016 orapworcl
-rw-r-----. 1 oracle dba 3584 Aug 8 16:47 spfileorcl.ora
-rw-r-----. 1 oracle dba 3584 Aug 8 16:16 spfileorcl.ora-bak0808
發現這個目錄下多了這個文件 initorcl.ora 用vi編輯器編輯這個文件(initorcl.ora),編輯前先建議備份spfileorcl.ora下。
刪除如下兩行
*.memory_max_target=0
*.memory_target=0
保存退出
3.回到終端1重新創建spfile并重啟數據庫
SQL> create spfile from pfile;
File created.
SQL> startup
ORACLE instance started.
Total System Global Area 2.1379E+10 bytes
Fixed Size 2262656 bytes
Variable Size 3825207680 bytes
Database Buffers 1.7515E+10 bytes
Redo Buffers 36073472 bytes
Database mounted.
Database opened.
SQL>
4.回到終端2啟動監聽
lsnrctl start
好了,這個時候整個數據庫服務器就啟動完畢了,你可以繼續happy的使用了。
遇到問題,歡迎一同探討。
END
總結
以上是生活随笔為你收集整理的oracle11g memory_target,oracle11g MEMORY_MAX_TARGET设置成0 问题处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab 高维数组赋值,MATLAB
- 下一篇: oracle索引和同义词,关于Oracl