10g升级至11g后数据库无法启动的问题解决

今天升级数据库碰到一个很郁闷的问题,把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上说,

CAUSE

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不足,有的可能是有一些进程没关掉。


上一篇:新零售效能机器人助力企业是怎样提效降本?


下一篇:胖子哥的大数据之路(9)-数据仓库金融行业数据逻辑模型FS-LDM