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

实验环境说明:

  操作系统: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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26857237/viewspace-737005/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值