oracle 如何修改字符集 update prop,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 Area626327552 bytes

Fixed Size2215944 bytes

Variable Size192942072 bytes

Database

Buffers427819008 bytes

Redo Buffers3350528 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深入理解,还需要养成细心和严谨的好习惯!

ByFishExpert

2012.07.26

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值