» 2008
raqu
o;
February 对于超大表的扫描,一般倾向于使用Parallel,让多个slave进程扫描,返回完整的结果集,ORACLE里面并行是可以手工模拟的,通过表的盘区分布,我们可以获得表的rowid的分布范围,然后启动多个会话,每个会话处理一个范围,如果表的盘区分布在多个磁盘上,CPU个数也允许的情况下,效果是非常好的,但是这种基于rowid范围搜索的机制,是不太适合用stripe的
比如一个表空间有4个datafile,存储正好是4个DISK组成的stripe,stripe size 为128K,那么这4个datafile 创建的时候就注定了以128K的分片散落在4个disk上,然后在表空间上创建表,假设是uniform的让盘区均衡在4个datafile,实际上他的单个extent也是跟随这他的datafile落在了4块DISK上,此时如果使用Parallel,多个slave进行rowid范围扫描来返回数据,逻辑上看到的从表的block1扫描到blockn是连续的,但硬件磁盘却是4个磁头在疯狂的交叉使用,每个slave都要4个磁头为他工作,为了真正的让多磁盘为Parallel服务,就要尽量的保证数据文件上的block在物理磁盘上是尽量连续的,每个磁盘上分一个大的范围,这样多进程扫描起来,每个关注自己的那个磁头,避免交叉调用,才是最优的
马上就要接手数据仓库了,管理的数据库从G变T,心里到真是有些惶惶的,以后关于大数据量的迁移,处理肯定不少,又是一个新的挑战
Thursday, February 28th, 2008
管理好自己的期望
做好自己的事情
Tuesday, February 26th, 2008
在utf8字符集的数据库中如何做数据订正.这个问题对我们DBA来说是比较现实的.
矛盾在于当数据库是UTF8时, 我们用Windows的操作系统如何input到数据库一个UTF8的文本.
经过多次的探索, 发现有三种方式.
1. 当Windows是简体中文操作系统时, 一个普通的txt文件(或者sql文件)都是ZHS16GBK格式的,
这个时候如果我们期望输入数据库的UTF8文本都是属于ZHS16GBK字符集时
(简单的说就是我们想输入简体中文或繁体中文时),
直接走SecureCRT 输入的中文都可以自动被转化为UTF8的格式.
与做普通字符集的数据订正没有区别.
2.当Windows是简体中文操作系统时, 如果我们期望输入数据库的UTF8文本不属于ZHS16GBK字符集时,
有两种方法把真正的UTF8字符输入给数据库
第一种:
把需要输入的文本保存为UTF8格式, 然后本机的NLS_LANG=AMERICAN_AMERICA.UTF8,
然后用SQLLDR到数据库中, 就可以了.
第二种:
把需要执行的SQL文件保存为UTF8格式, 然后SCP到对应的服务器上, 服务器的NLS_LANG=AMERICAN_AMERICA.UTF8,
然后在sqlplus里面用@操作符来调用这个SQL文件, 就可以了.
最后一种方法比较简便, 我举个例子说明一下:
‘アイウエオ’这串字符是半角的日文, 不属于ZHS16GBK字符集.
那把如下的语句保存为名为test.sql的文件
select ‘アイウエオ’, dump(’アイウエオ’,1016) from dual;
文件保存的格式选择为utf8.
然后scp到服务器上.
[admin@japan_db1 jonathan]$ env|grep NLS_L
NLS_LANG=AMERICAN_AMERICA.UTF8
ops$admin@JAPAN>l
1* select ‘アイウエオ’, dump(’アイウエオ’,1016) from dual
ops$admin@JAPAN>@test
SP2-0042: unknown command “” - rest of line ignored.
‘アイウエ�� DUMP(’アイウエオ’,1016)
アイウエオ Typ=96 Len=15 CharacterSet=UTF8: ef,bd,b1,ef,bd,b2,ef,bd,b3,ef,bd,b4,ef,bd,b5
Elapsed: 00:00:00.00
ops$admin@JAPAN>spool off
Tuesday, February 26th, 2008
承担更大的责任
体现更大的价值
获得更大的成长
Thursday, February 21st, 2008
在9i里面测试一下,create index/alter index rebuild 的同时,加上 compute statistics,表也会同时被分析。
这样就会比较矛盾:
如果这样做,新建的index统计信息会比较好,oracle会更好的判断是否走这个index。
但是表的统计信息此时也变了,因为和这表相关的sql还是比较多的,造成很多sql都重新解析,sql走错执行计划的机率也就变大。
如果不这样做,而是先create,然后再estimate statistics,然后再选择一个合适的sample再estiamte 一下。
这样对表的统计信息没有影响,相对影响较小。
o80 Superwhorevid He Secondspring 1 EDHealthcare Viagra Where Can I Buy Real Viagra Super Whore Vid Alibaba DBA Team
» 2008
raqu
o;
Februaryk Vid c c Super u u Whore Super
j80 Superwhorevid He Secondspring 1 EDHealthcare Viagra Where Can I Buy Real Viagra Super Whore Vid Alibaba DBA Team
» 2008
raqu
o;
Februaryc y y Vid Vid