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
 
[oracle@h1 ~]$ oerr ORA 00845
#------------查看oracle错误号
00845, 00000, "MEMORY_TARGET not supported on this system"
// *Cause: The MEMORY_TARGET parameter was not supported on this operating system or /dev/shm was not sized correctly on Linux.
// *Action: Refer to documentation for a list of supported operating systems. Or, size /dev/shm to be at least the SGA_MAX_SIZE on each Oracle instance running on the system.
#---------解决:扩展内存
#--------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
 
3.临时建立SPFILE
[oracle@h1 dbs]$ ls
hc_orcl.dat  init.ora  lkORCL  orapworcl
 
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down
SQL> startup nomount
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/app/oracle/product/11.2.0/dbhome_2/dbs/initorcl.ora'
#------------------------------spfile不存在
#-----------------------------spfile位置:$ORACLE_HOME/dbs/init[ORACLE_SID].ora
#-----------------------------名字格式为:initORACLE_SID.ora
[oracle@h1 dbhome_2]$ cd /app/oracle/admin/orcl/pfile/
[oracle@h1 pfile]$ ls
init.ora.103201271612
 
[oracle@h1 pfile]$echo $ORACLE_SID
orcl
#-------------------查看环境变量$ORACLE_SID
[oracle@h1 pfile]$ cp init.ora.103201271612 /app/oracle/product/11.2.0/dbhome_2/dbs
[oracle@h1 pfile]$ cd /app/oracle/product/11.2.0/dbhome_2/dbs
[oracle@h1 dbs]$ mv init.ora.103201271612   initorcl.ora
#------------------------------更改名字格式为:initORACLE_SID.ora
 
4.mount数据库
 
[oracle@h1 dbs]$ sqlplus "/as SYSDBA"
SQL*Plus: Release 11.2.0.1.0 Production on Sun Nov 4 16:59:09 2012
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
Connected to an idle instance.
SQL> startup mount
ORACLE instance started.
Total System Global Area 1219260416 bytes
Fixed Size                  2212856 bytes
Variable Size             738200584 bytes
Database Buffers          469762048 bytes
Redo Buffers                9084928 bytes
Database mounted.
SQL>
 
SQL> show parameter memory_target;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
memory_target                        big integer 1168M
SQL> show parameter memory_max_target;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
memory_max_target                    big integer 1168M
SQL>        
SQL>  alter system set memory_max_target=1G scope=spfile;
alter system set memory_max_target=1G scope=spfile
*
ERROR at line 1:
ORA-32001: write to SPFILE requested but no SPFILE is in use

SQL> show parameter spfile;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string
#------------------重建spfile
SQL> create spfile from pfile;
File created.

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>  startup
ORACLE instance started.
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> show parameter spfile;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /app/oracle/product/11.2.0/dbh
                                                 ome_2/dbs/spfileorcl.ora
 
SQL> alter system set memory_max_target=1G scope=spfile;
System altered.
 
SQL> alter system set memory_target=1G scope=both;
System altered.
 
SQL> alter system set memory_max_target=1332M scope=both;
alter system set memory_max_target=1332M scope=both
                 *
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified
 
SQL> alter system set memory_max_target=1332M scope=spfile;
 
System altered.
-------------------------------
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 1402982400 bytes
Fixed Size                  2213296 bytes
Variable Size             922749520 bytes
Database Buffers          469762048 bytes
Redo Buffers                8257536 bytes
Database mounted.
Database opened.
SQL> show parameter memory_max_target;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
memory_max_target                    big integer 1344M
 

SQL> show parameter memory_target;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
memory_target                        big integer 1G
SQL>
-----------------------finish