动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息



本月文章推荐
.怎样才能dump Oracle数据库的内部.
.PL/SQL中使用or展开进行sql调整.
.oracle数据库java接口类.
.审计并报告Oracle用户活动.
.使自己暂时脱离 root 的身份.
.丢失归档日志文件后数据库应当如.
.Re: ORA-27101错误.
.清除Oracle中无用索引 改善DML性.
.oracle数据库优化基础.
.ORACLE常用傻瓜问题1000问(之十二.
.ORACLE问题,每天10问(十二).
.解决.NET连到Oracle的oci.dll加载.
.为数据库的表自动生成行号----为.
.2Gb or Not 2Gb.
.实例讲解Oracle的快速删除和快速.
.ora-02069 错误处理方法.
.Oracle9iAS刷新ECperf基准测试记.
.Oracle 9i的方案对象.
.IDE 磁盘性能调整及其测试方法.
.hot block的诊断案例.

更新系统表(props$)修改字符集

发表日期:2008-2-9 |


今天在Itpub上再次看到字符集变化导致的问题,作者给出的案例是这样的:
数据库为 9.2.0.7.0 ,OS : Solaris Operating System (SPARC 64-bit) 起因是这样的,我的一客户那里UPS出现故障导致系统宕机,
然后起来,大约过了10来分钟,忽然操作系统找不到磁盘又一次宕机,
然后再起来,有用户报一个SQL用不上索引. 这个SQL是这样的: select * from ww.test20060504 dg where dg.user_number='7290' 第一个想法是给那个索引做分析,但还是不行,我们就对这个表做了一次分析,但执行计划没有什么改变 。
我们尝试加提示(包括加 rule ),但也不行,用户反映是有一批这样类似的都用不到索引。
然后通过 10053 做 trace 居然发现优化器根本没有考虑索引。开始怀疑这个数据库的数据字典可能有问题。
我们只好用一个笨方法,将其中一个表导到测试库上去测试,在导出的过程中居然发现系统报错 EXP-00056: Oracle error 6552 encountered
ORA-06552: PL/SQL: Compilation unit analysis terminated
ORA-06553: PLS-553: character set name is not recognized 居然系统报字符集的错!
..... 真是晕呀!我们马上仔细检查了一个 alter 文件发现了一条信息,系统在第一次宕机起来后就自已将 controlfile 中的字符集给更改了。最后我们将系统中的字符集改回来系统就恢复正常了。
警告日志中的信息是这样的:
SMON: enabling tx recovery
Mon Jun 5 09:52:52 2006
Updating character set in controlfile to ZHS16CGB231280
replication_dependency_tracking turned off (no async multimaster replication found)
其实这个信息是手工更新过数据库字符集后,重新启动,数据库比较数据库和控制文件信息,根据数据库字符集修改控制文件字符集导致的. 我在以前作过这样的测试,参考: http://www.eygle.com/special/NLS_CHARACTER_SET_03.htm 通过更新props$的方式修改字符集是非常危险的,我在以上的文章中有过具体说明,在Oracle8i中,假如修改了错误的字符集,那么重新启动后数据库将无法启动. 假如需要提醒的话,我们需要再警世一次:
绝对不要用update系统表(props$)的方式来修改数据库字符集.
但是从Oracle9i开始,Oracle在启动时跳过了这个检查,即使修改了错误的字符集,也仍然可以启动,数据库启动时会将控制文件中的字符集更改为缺省的US7ASCII. 具体可以看看以下的测试: SQL> select value$ from props$ where name='NLS_CHARACTERSET'; VALUE$
----------------------------------------------------------
ZHS16GBK SQL> update props$ set value$='EYGLE'
2 where name='NLS_CHARACTERSET'; 1 row updated. SQL> commit; Commit complete. SQL> select value$ from props$ where name='NLS_CHARACTERSET'; VALUE$
-----------------------------------------
EYGLE SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started. Total System Global Area 126948772 bytes
Fixed Size 452004 bytes
Variable Size 92274688 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.
SQL> select value$ from props$ where name='NLS_CHARACTERSET';
VALUE$
----------------------------------------------
EYGLE 此时警告日志中会记录如下信息: Thu Jun 8 16:28:05 2006
SMON: enabling cache recovery
SMON: enabling tx recovery
Thu Jun 8 16:28:05 2006
Updating character set in controlfile to US7ASCII
replication_dependency_tracking turned off (no async multimaster replication found)
Completed: ALTER DATABASE OPEN 不同版本中,Oracle行为已经不同. 原文地址:http://www.eygle.com/archives/2006/06/dba_update_prop.Html
上一篇:关于自动PGA管理的进一步探讨 人气:373
下一篇:Oracle9i基于视图(view)的约束声名 人气:313
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-25 WikyBlog v1.7.0.1 多国语言版
2008-7-25 乐彼网上开店系统(56770 Eshop)
2008-7-25 赛特网站管理系统sitecms v3.6.0
2008-7-25 Modoer多功能点评系统 v1.0.1 Bu
2008-7-25 Shangducms Teamsuit! v1.1.0 开
2008-7-25 幻影动漫网视频系统(Ppdong) v1.
2008-7-25 acteecompany企业网站建设系统 v
2008-7-25 恒浪整合管理系统 ims v4.1 ACCE
2008-7-25 艺术图库系统 v1.0 beta
2008-7-19 UltraEdit 简体中文增强版 14.10
2008-7-19 CentOS 5.2 i386 LiveCD
2008-7-19 Snapture多功能相机 v1.4
2008-7-19 iAcces中文输入法 v1.0Build016
2008-7-19 Cookbook烹饪秘籍 v2.5
2008-7-19 苹果专用DVD转换工具 v1.1.59汉化
2008-7-19 Modem修复软件ZiPhone修改版04.0
2008-7-19 AgileMessenger即时通讯工具美化
2008-7-19 Sketches画图软件 v0.7b6破解版


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号