ORACLE多版本数据库实例共存启动关闭时ORA-01804&SP2-0152

简介:     今天,由于特殊原因,需要重启数据库,理论上应该是很简单的事;事实情况是,一台linux服务器上,有4个Oracle实例,3个实例是11.2.0.4的,1个实例是10.2.0.5的。
    今天,由于特殊原因,需要重启数据库,理论上应该是很简单的事;事实情况是,一台linux服务器上,有4个Oracle实例,3个实例是11.2.0.4的,1个实例是10.2.0.5的。
重启时,11g的三个实例很简单,但是10g的实例重启时,发现sys无法登陆,报错如下:
    设置10g的环境变量
[oracle@linux ~]$ ps -ef|grep _ora10|grep smon
1102      4306     1  0 08:39 ?        00:00:00 ora_smon_ora10g
[oracle@linux ~]$export ORACLE_SID=ora10g
[oracle@linux ~]$ echo $ORACLE_SID
ora10g
[oracle@linux ~]$ export ORACLE_HOME=/u02/app/oracle/10.2.0/db_1
[oracle@linux ~]$ export PATH=$PATH:$ORACLE_HOME/bin
[oracle@linux ~]$ sqlplus sys/'eh8#5pK6' as sysdba
ERROR:
ORA-01804: failure to initialize timezone information
SP2-0152: ORACLE may not be functioning properly
[oracle@linux ~]$ 
    关于ORA-01804&SP2-0152报错,有资料说是环境变量问题,如果有数据库版本升级过,不排除环境变量设置不当引起ORA-01804,但是,我再三核实确保环境变量没问题;
真实原因是:11g的数据库操作系统管理用户是oracle,而10g的数据库操作系统管理用户是oracle10g。
    排查过程如下:
[root@linux ~]# cat /etc/passwd
oracle:x:1101:1000::/home/oracle:/bin/bash
oracle10g:x: 1102:1000::/home/oracle10g:/bin/bash
[root@linux~]# ps -ef|grep smon
oracle    3856     1  0 08:35 ?        00:00:01 ora_smon_ora11a
oracle    3988     1  0 08:36 ?        00:00:00 ora_smon_ora11b
oracle    4119     1  0 08:37 ?        00:00:00 ora_smon_ora11c
1102      4306     1  0 08:39 ?        00:00:00 ora_smon_ora10g
root      5836  5758  0 09:50 pts/3    00:00:00 grep smon
[root@linux~]# 
    根据以上信息,可知3个11g的实例的管理用户是oracle,而10g的实例管理用户是oracle10g,但是很奇怪的是,查看进程启动的用户时,10g的却显示用户的主组、11g的显示用户名。
    找到原因,解决方法很简单,就是切换到oracle10g用户下,然后sys用户就可顺利登陆:
[root@linux ~]# su - oracle10g
[oracle10g@linux ~]$ sqlplus sys/eh8#5pK6 as sysdba
SQL*Plus: Release 10.2.0.5.0 - Production on Thu Jul 21 09:56:10 2016
Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> 
    附:通过如下命令,可以查看显示主组用户的用户名
[oracle10g@linux ~]$ cat /etc/passwd|grep 1102
oracle10g:x:1102:1000::/home/oracle10g:/bin/bash
[oracle10g@linux~]$
    问题解决!

目录
相关文章
|
1天前
|
SQL Oracle 关系型数据库
|
1天前
|
SQL Oracle 关系型数据库
关系型数据库Oracle并行查询
【7月更文挑战第12天】
28 15
|
1天前
|
SQL 监控 Oracle
关系型数据库Oracle并行执行
【7月更文挑战第12天】
29 14
|
1天前
|
SQL 监控 Oracle
|
1天前
|
Oracle 关系型数据库 数据处理
|
1天前
|
SQL 监控 Oracle
|
3天前
|
SQL 监控 Oracle
关系型数据库Oracle GoldenGate
【7月更文挑战第11天】
10 1
|
9天前
|
存储 关系型数据库 MySQL
探索MySQL:关系型数据库的基石
MySQL,作为全球最流行的开源关系型数据库管理系统(RDBMS)之一,广泛应用于各种Web应用、企业级应用和数据仓库中
|
6天前
|
关系型数据库 MySQL 网络安全
Mysql 数据库主从复制
在MySQL主从复制环境中,配置了两台虚拟机:主VM拥有IP1,从VM有IP2。主VM的`my.cnf`设置server-id为1,启用二进制日志;从VM设置server-id为2,开启GTID模式。通过`find`命令查找配置文件,编辑`my.cnf`,在主服务器上创建复制用户,记录二进制日志信息,然后锁定表并备份数据。备份文件通过SCP传输到从服务器,恢复数据并配置复制源,启动复制。检查复制状态确认运行正常。最后解锁表,完成主从同步,新用户在从库中自动更新。
915 6
Mysql 数据库主从复制
|
7天前
|
缓存 运维 关系型数据库
数据库容灾 | MySQL MGR与阿里云PolarDB-X Paxos的深度对比
经过深入的技术剖析与性能对比,PolarDB-X DN凭借其自研的X-Paxos协议和一系列优化设计,在性能、正确性、可用性及资源开销等方面展现出对MySQL MGR的多项优势,但MGR在MySQL生态体系内也占据重要地位,但需要考虑备库宕机抖动、跨机房容灾性能波动、稳定性等各种情况,因此如果想用好MGR,必须配备专业的技术和运维团队的支持。 在面对大规模、高并发、高可用性需求时,PolarDB-X存储引擎以其独特的技术优势和优异的性能表现,相比于MGR在开箱即用的场景下,PolarDB-X基于DN的集中式(标准版)在功能和性能都做到了很好的平衡,成为了极具竞争力的数据库解决方案。

推荐镜像

更多