ITPub博客

首页 > Linux操作系统 > Linux操作系统 > update基表sys.PROPS$修改数据库字符集“惹的祸”

update基表sys.PROPS$修改数据库字符集“惹的祸”

原创 Linux操作系统 作者:FishExpert 时间:2012-07-26 19:15:08 0 删除 编辑

实验环境说明:

  操作系统:OEL5.6 数据库版本11gR2

  emrep数据库原字符集:ZHS16GBK 

  update数据库字符集为:WE8MSWIN1252

故障再现:

SYS@emrep>SELECT userenv('language') FROM dual;

USERENV('LANGUAGE')

----------------------------------------------------

AMERICAN_AMERICA.ZHS16GBK

SYS@emrep>UPDATE sys.PROPS$ SET VALUE$='WE8MSWIN1252'

SYS@emrep>commit

SYS@emrep>shutdown immediate;

[oracle@ocm ~]$ export ORACLE_SID=emrep

[oracle@ocm ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Thu Jul 26 15:15:37 2012

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance. 

SYS@emrep>startup

ORACLE instance started.

Total System Global Area  626327552 bytes

Fixed Size                  2215944 bytes

Variable Size             192942072 bytes

Database Buffers          427819008 bytes

Redo Buffers                3350528 bytes

Database mounted.

ORA-01092: ORACLE instance terminated. Disconnection forced

ORA-12708: error while loading create database NLS parameter NLS_RDBMS_VERSION

Process ID: 915

Session ID: 1 Serial number: 5

SYS@emrep>

查看alert_emrep.log的信息

[oracle@ocm ~]$ cd  /u01/app/oracle/diag/rdbms/emrep/emrep/trace

[oracle@ocm trace]$ tail -100f alert_emrep.log

看到如下报错:

##################################

SMON: enabling tx recovery

Errors in file /u01/app/oracle/diag/rdbms/emrep/emrep/trace/emrep_ora_915.trc:

ORA-12708: error while loading create database NLS parameter NLS_RDBMS_VERSION

Errors in file /u01/app/oracle/diag/rdbms/emrep/emrep/trace/emrep_ora_915.trc:

ORA-12708: error while loading create database NLS parameter NLS_RDBMS_VERSION

Error 12708 happened during db open, shutting down database

USER (ospid: 915): terminating the instance due to error 12708

Instance terminated by USER, pid = 915

ORA-1092 signalled during: ALTER DATABASE OPEN...

opiodr aborting process unknown ospid (915) as a result of ORA-1092

Thu Jul 26 15:15:49 2012

ORA-1092 : opitsk aborting process

################################

官方文档的建议

ORA-12708: error while loading create database NLS parameter string

Cause: Internal error(内部错误)

Action: none

解决办法:

  如果有完整的备份,拿备份恢复!否则,用Dul抽取数据重新建库!

总结:

    看是很简单的一条update语句,但是,导致了oracle内部错误,而且很严重!有完整的备份还有救,否则,这套库就废掉了!DBA不仅需要对oracle深入理解,还需要养成细心和严谨的好习惯!

                                                                                 By  FishExpert

                                                                                              2012.07.26

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26857237/viewspace-737005/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-07-17

  • 博文量
    13
  • 访问量
    29550