今天升级数据库碰到一个很郁闷的问题,把10g的数据库升级到11g以后,结果有一个改动,需要重启数据库,就敲了shutdown immediate,结果再startup,数据库竟然起不来了。
$ORACLE_HOME,$ORACLE_SID等等变量都没有问题。
sqlplus / as sysdba
SQL> startup ORA-01012: not logged on
反复试了好几次,都是这样。这是准生产环境,汗马上就下来了。
1.sqlplus / as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on Mon Sep 23 19:44:01 2013
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected. ---这个登录信息貌似也少了点什么,
2.单纯敲sqlplus,直接报了ORA-01089的错误。
sqlplus
SQL*Plus: Release 11.2.0.2.0 Production on Mon Sep 23 19:44:30 2013
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Enter user-name: system Enter password: ERROR: ORA-01089: immediate shutdown in progress - no operations are permitted Process ID: 0 Session ID: 0 Serial number: 0
3.通过nolog方式登录,结果一startup就开始报错了。。。。
> sqlplus /nolog
SQL*Plus: Release 11.2.0.2.0 Production on Mon Sep 23 19:47:26 2013
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL> conn / as sysdba
Connected to an idle instance. SQL> startup ORA-01012: not logged on
4.最后再没办法了,只能startup force了。没想到这库一下子活过来了。
SQL> conn / as sysdba Connected to an idle instance. SQL> startup force ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance ORACLE instance started.
Total System Global Area 4042100736 bytes Fixed Size 2232688 bytes Variable Size 1879051920 bytes Database Buffers 2147483648 bytes Redo Buffers 13332480 bytes Database mounted. Database opened. SQL> show parameter insta
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ active_instance_count integer cluster_database_instances integer 1 instance_groups string instance_name string XXXXX instance_number integer 0 instance_type string RDBMS open_links_per_instance integer 4 parallel_instance_group string parallel_server_instances integer 1 SQL> exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options
测试登录也正常,万幸万幸。
> sqlplus system/xxxxx@xxxxx
SQL*Plus: Release 11.2.0.2.0 Production on Mon Sep 23 19:49:27 2013
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> exit
----------------------------问题根源---------------------------
因为后续的操作,需要重启数据库,结果停了库之后,再启,竟然又出现了上面的情况
mos上说,
An orphaned shared memory segment belonging to the ORACLE_SID still exists from a previous instance startup.
我看没有其他的进程,只有监听还起着。
> ps -ef|grep PETAEM
xxxxxx 4688 1 0 Sep23 ? 00:00:00 /opt/app/oracle/dbaemspt1/product/11.2.0/bin/tnslsnr LISTENER_xxxxx -inherit
oraaems1 28843 20949 0 09:00 pts/1 00:00:00 grep PETAEM
停了监听之后,启停就正常了。
> lsnrctl stop LISTENER_PETAEM1
LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 24-SEP-2013 09:01:03
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbaemspt1)(PORT=1583)))
The command completed successfully
> sqlplus / as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on Tue Sep 24 09:01:10 2013
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE instance started.
Total System Global Area 4042100736 bytes
Fixed Size 2232688 bytes
Variable Size 1879051920 bytes
Database Buffers 2147483648 bytes
Redo Buffers 13332480 bytes
Database mounted.
Database opened.
SQL> shutdown immediate
其实关于ORA-01012的问题原因有很多,有的可能是Process不足,有的可能是有一些进程没关掉。