10g升级至11g后数据库无法启动的问题解决
公众号:杨建荣的学习笔记 · 作者:杨建荣 · 发布:2014-03-14 09:12:38 · 原文链接
今天升级数据库碰到一个很郁闷的问题,把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不足,有的可能是有一些进程没关掉。
