Tip: 看不到本站引用 Flickr 的图片? 下载 Firefox Access Flickr 插件 | AD: 订阅 DBA notes -- ![]()
2010-03-04 Thu
网购以及网络支付已经成为网民日常生活的一部分,正如马云所言,电子支付的发展可以不让老太太去银行排队缴费,我们也希望通过自己的努力让更多的人享受到支付发展带来的价值,通过提升用户体验,降低使用门槛,并以此逐步提高整个行业的水平。
为了方便聋哑的客户遇到问题时可以第一时间找到我们的小二解决问题,近日,支付宝特别开通聋哑客户旺旺绿色通道。只要客户通过邮件提交申请,附上证明材料,经支付宝小二审核后,即可开通与支付宝客服小二的旺旺绿色通道。
在线服务时间:
周一到周五,早上9点到下午6点。
报名方法:
发送申请邮件至green@alipay.com
邮件中请写明您的淘宝会员ID,对应的支付宝账户名(邮箱 /手机),同时请附上您本人的身份证原件扫描件及残疾人证明原件的扫描件。
在收到您的申请邮件后,我们将不会回复邮件。客服小二会在三个工作日内完成审核,审核通过后,我们将为您开通旺旺绿色通道。
该申请方法长期有效。
绿色通道的定义:
支付宝绿色通道是指支付宝通过在线旺旺的形式专门为聋哑客户提供咨询的服务。
聋哑客户可以通过绿色通道咨询支付宝业务以及本人支付宝账户的问题,小二将竭力为您解答;如果涉及账户问题的处理,支付宝仍需按照现有流程受理。
PS:如果您已经是淘宝绿色通道的客户,支付宝在收到淘宝反馈后为您开通绿色通道服务。同时支付宝绿色通道客户信息也将提供给淘宝。让我们沟通方便起来!
开通聋哑客户绿色通道是支付宝庞大的用户体验提升计划的一部分,此前已经相继开放全新设计的“个人版”用户平台等项目。
No related posts.
The presentation given by Andrew Pavlo “MapReduce and Parallel DBMSs”, embedded below for reference, identifies the following 3 sweet spots for MapReduce:
- Extract-Transform-Load
- “Read Once” data sets
- Allows for quick-and-dirty data analysis
- Semi-Structured Data
- Can easily store semi-structured data which would otherwise be awkward to be stored in RDBMS
- Limited Budget Operations
- the alternative, parallel DBMSs are expensive
When speaking about the possible MapReduce and RDBMS integration, something that for example Oracle has already been considering, Andrew and his colleagues mention the following advantages:
What can MapReduce learn from Databases?
- Fast query times.
- Schemas.
- Supporting tools.
What can Databases learn from MapReduce?
- Ease of use, “out of box” experience.
- Attractive fault tolerance properties.
- Fast load times.
We’ve been covering tons of Redis usecases, not to mention this amazing list of ideas. Lately, it looks like there is a new emerging usecase that Redis can be proud of: queues.
Now if that already sounds interesting then I guess you could just take a look at QR, a Python ☞ GitHub hosted project that makes it easy to create queues, stacks and deques on top of Redis. For some help on using it you could check Ted Nyman’s posts on ☞ queues and ☞ deques and stacks. Another option would be to head to Resque, a Ruby ☞ GitHub hosted library for creating and processing jobs using Redis queues.
Anyway, if you don’t have yet an idea on how this can be useful, then I hope these following posts will wet your appetite. David Czarnecki’s ☞ article covers a very simple Redis-based queue scenario: inter-application communication (basically the two apps will get an easy way to pass from one to another any kind of messages). If this is still not enough, then Paull Gross’s ☞ post is introducing you to a web proxy built using node.js and Redis queues for high availability.
Last, but not least, I should emphasize the fact that what sets aside Redis as a good tool for this sort of things is not the fact that Redis is a extremely fast, persistent key-value store, but rather Redis native support for ☞ data structures like lists, sets and ordered sets and a set of specific ☞ commands to deal with these.
Author: AnySQL, published on dbatools.net, Oracle Data Recovery, Tools, WebChart Report, etc.
Supposed that we are creating a report of the top 3 highest salary employees for every department (check the Oracle demo table : SCOTT.EMP). If the table is stored in Oracle database, we could generate the report with one Oracle SQL query as following.
SELECT * FROM (
SELECT DEPTNO, EMPNO, ENAME, SAL,
RANK() OVER (PARTITION BY DEPTNO ORDER BY SAL DESC) RNK
FROM EMP ) WHERE RNK <= 3
But if we store this employee table in MySQL or SQLLite database, generating the top n salary employee report will be very complex or difficult. It's hard for us to know different SQL syntax on different database systems. With the feature of the WebChart, you can generate the report with very simple SQL query.
webchart.query_1=select deptno, empno, ename, sal from emp
webchart.express_1=rank|x|rnk::sal|deptno
webchart.filter_1=3.5-x|rank
webchart.sort_1=deptno,rank
webchart.group_1=1
If the result of filter express for specific row is negative, the specific row is removed from the result set. For example, if the salary rank is large than 3, the result will be negative number, and the employee record is removed by the program, and just keep the top 3 employees for every department as we required, and we will get a result page as following.
deptno empno ename sal rank 10 7839 KING 5000.0 1 7782 CLARK 2450.0 2 7934 MILLER 1300.0 3 20 7788 SSCOTT 3000.0 1 7902 FORD 3000.0 2 7566 JONESS 2975.0 3 30 7698 BLAKE 2850.0 1 7499 ALLEN 1600.0 2 7844 TURNER 1500.0 3
By doing the computation at application side, we make the SQL very simple. If the report is accessed very frequently, we also reduce the load of database server.
Related Posts
Twitter Me? | Leave New Comment(Current: 0)
Link: http://www.dbatools.net/mytools/webchart-rows-filter.html
These are the slides Tobias Ivarsson (@thobe) presented at PyCon to introduce Neo4j with a Python flavor.
I really liked this slide in particular:
Python code starts at slide 23. A couple of my comments:
- I am not really sure I understand how the Python scripts are accessing the Neo4j storage when using CPython (Neo4j is supposed to run in a JVM)
- traversals in graph databases are somewhat synonymous to queries
- having the traversal implemented like classes extending
neo4j.Traversaldoesn’t really look Pythonic - Django and Neo4j can work together
Just a quick announcements…
If you didn’t manage to attend my presentation, Oracle 11g ASM — The Evolution, during RMOUG or other conferences, you have a chance to see it online today. I’m doing it a web-cast at RAC SIG. It’s today, 4-Mar-10 at 12:00pm EST (9:00am PST).
为了查询出保存在员工表(SCOTT.EMP)中, 每个部门工资最高的三个人, 如果是Oracle数据库, 大家可以使用Windows分组汇总函数来轻松地实现, 如下所示.
SELECT * FROM (
SELECT DEPTNO, EMPNO, ENAME, SAL,
RANK() OVER (PARTITION BY DEPTNO ORDER BY SAL DESC) RNK
FROM EMP ) WHERE RNK <= 3
但如果员工表存放在MySQL数据库, 或其他数据库, 如SQLLite中, 要实现同样的功能, 就比较复杂了, 至少我现在都还不会. 但利用DataReport以前开发的功能, 及刚增加的条件过滤功能, 就可以轻松实现这个需求.
webchart.query_1=select deptno, empno, ename, sal from emp
webchart.express_1=rank|x|rnk::sal|deptno
webchart.filter_1=3.5-x|rank
webchart.sort_1=deptno,rank
webchart.group_1=1
如果Filter中的公司算出来的值小于0, 那么这条记录就会被删除, 在这个例子中, 如果排名这一列的值大于3, 这个公式算出来的值就为负数, 所以只保留了前三名, 达到了我们的业务要求. 页面输出如下所示的表格:
deptno empno ename sal rank 10 7839 KING 5000.0 1 7782 CLARK 2450.0 2 7934 MILLER 1300.0 3 20 7788 SSCOTT 3000.0 1 7902 FORD 3000.0 2 7566 JONESS 2975.0 3 30 7698 BLAKE 2850.0 1 7499 ALLEN 1600.0 2 7844 TURNER 1500.0 3
将这些处理放在应用服务器端实现, 不仅让SQL变得通用, 如果访问频率极高, 还可以减轻数据库端的压力.
Relative Posts:
Votedisk can’t be add & remove while CRS is running, or else it would corrupt something.
OCR can be added & replaced while CRS is running.
ENV: Oracle Clusterware 10.2.0.4
Detailed logfile:
While CRS is still running…
# ./crsctl add css votedisk /dev/rdsk/ c4t60060E80056F160000006F1600000669d0s1
Cluster is not in a ready state for online disk addition
# ./crsctl add css votedisk /dev/rdsk/ c4t60060E80056F160000006F1600000669d0s1 -force
Now formatting voting disk: /dev/rdsk/ c4t60060E80056F160000006F1600000669d0s1
successful addition of votedisk /dev/rdsk/c4t60060E80056F160000006F1600000669d0s1.
# ./crsctl query css votedisk
0. 0 /dev/rdsk/c4t60060E80056F160000006F1600000469d0s1
1. 0 /dev/rdsk/c4t60060E80056F160000006F1600000669d0s1
located 2 votedisk(s).
Looks good, continue add another one.
# ./crsctl add css votedisk /dev/rdsk/c4t60060E80056F160000006F1600000869d0s1
Cluster is not in a ready state for online disk addition
# ./crsctl add css votedisk /dev/rdsk/c4t60060E80056F160000006F1600000869d0s1 -force
Now formatting voting disk: /dev/rdsk/c4t60060E80056F160000006F1600000869d0s1
successful addition of votedisk /dev/rdsk/c4t60060E80056F160000006F1600000869d0s1.
It’s corrupted. Entry 1 and entry 2 both point to “*869d0s1”.
# ./crsctl query css votedisk
0. 0 /dev/rdsk/c4t60060E80056F160000006F1600000469d0s1
1. 0 /dev/rdsk/c4t60060E80056F160000006F1600000869d0s1
2. 0 /dev/rdsk/c4t60060E80056F160000006F1600000869d0s1
located 3 votedisk(s).
Has to stop CRS on all nodes.
# ./crsctl stop crs
Stopping resources. This could take several minutes.
Successfully stopped CRS resources.
Stopping CSSD.
Shutting down CSS daemon.
Shutdown request successfully issued.
Then I want to delete corrupted entry 1 and entry 2.
# ./crsctl delete css votedisk /dev/rdsk/c4t60060E80056F160000006F1600000869d0s1
Cluster is not in a ready state for online disk removal
# ./crsctl delete css votedisk /dev/rdsk/c4t60060E80056F160000006F1600000869d0s1 -force
no votedisk found matching path specified /dev/rdsk/c4t60060E80056F160000006F1600000869d0s1.
It shows “0” for entry 1 and entry 2.
# ./crsctl query css votedisk
0. 0 /dev/rdsk/c4t60060E80056F160000006F1600000469d0s1
1. 0 0
2. 0 0
Add another 2 votedisk while CRS is down.
# ./crsctl add css votedisk /dev/rdsk/c4t60060E80056F160000006F1600000669d0s1 -force
Now formatting voting disk: /dev/rdsk/c4t60060E80056F160000006F1600000669d0s1
successful addition of votedisk /dev/rdsk/c4t60060E80056F160000006F1600000669d0s1.
# ./crsctl add css votedisk /dev/rdsk/c4t60060E80056F160000006F1600000869d0s1 -force
Now formatting voting disk: /dev/rdsk/c4t60060E80056F160000006F1600000869d0s1
successful addition of votedisk /dev/rdsk/c4t60060E80056F160000006F1600000869d0s1.
# ./crsctl query css votedisk
0. 0 /dev/rdsk/c4t60060E80056F160000006F1600000469d0s1
1. 0 0
2. 0 0
3. 0 /dev/rdsk/c4t60060E80056F160000006F1600000669d0s1
4. 0 /dev/rdsk/c4t60060E80056F160000006F1600000869d0s1
located 5 votedisk(s).
Delete “0” votedisk. Looks good.
# ./crsctl delete css votedisk 0 -force
successful deletion of votedisk 0.
# ./crsctl query css votedisk
0. 0 /dev/rdsk/c4t60060E80056F160000006F1600000469d0s1
1. 0 0
2. 0 /dev/rdsk/c4t60060E80056F160000006F1600000669d0s1
3. 0 /dev/rdsk/c4t60060E80056F160000006F1600000869d0s1
located 4 votedisk(s).
# ./crsctl delete css votedisk 0 -force
successful deletion of votedisk 0.
# ./crsctl query css votedisk
0. 0 /dev/rdsk/c4t60060E80056F160000006F1600000469d0s1
1. 0 /dev/rdsk/c4t60060E80056F160000006F1600000669d0s1
2. 0 /dev/rdsk/c4t60060E80056F160000006F1600000869d0s1
located 3 votedisk(s).
Want to add mirrored OCR while CRS is down. It reports error “PROT-1”.
# ./ocrconfig -replace ocrmirror /dev/rdsk/c4t60060E80056F160000006F1600000669d0s5
PROT-1: Failed to initialize ocrconfig
After start CRS on all nodes. Mirrored OCR can be added.
# ./ocrconfig -replace ocrmirror /dev/rdsk/c4t60060E80056F160000006F1600000669d0s5
# ./ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 2
Total space (kbytes) : 1151724
Used space (kbytes) : 4608
Available space (kbytes) : 1147116
ID : 1986342521
Device/File Name : /dev/rdsk/c4t60060E80056F160000006F1600000469d0s5
Device/File integrity check succeeded
Device/File Name : /dev/rdsk/c4t60060E80056F160000006F1600000669d0s5
Device/File integrity check succeeded
Cluster registry integrity check succeeded
# cat /var/opt/oracle/ocr.loc
#Device/file getting replaced by device /dev/rdsk/c4t60060E80056F160000006F1600000669d0s5
ocrconfig_loc=/dev/rdsk/c4t60060E80056F160000006F1600000469d0s5
ocrmirrorconfig_loc=/dev/rdsk/c4t60060E80056F160000006F1600000669d0s5
local_only=false#
[detached]
2010-03-03 Wed
最近又遇到类似错误,错误出现在INSERT操作时,错误出现,进程crash,任务失败,重新执行可以通过。
kcbgtcr 是Oracle数据库最重要的函数之一,其含义为:Kernal Cache Buffer GeT Cosistents Read,也就是数据库的一致性读操作,后面的代码有很多种,代表在不同的层面上出现问题。
Metalink 的 Note 415773.1 - Diagnostics and Solutions for kcbgtcr() Related Internal Errors记录了与此相关的很多问题。
不讨论具体的问题,根据代码的含义实际上可以知道,出现这类错误,基本上都是由于CR读异常导致的,CR读涉及的各个层面出现问题,如DataBlock,Undo Header,Undo Block出问题,都可能导致异常。
kcbgtcr_13号错误是指在构造一个CR读时,检查Buffer时发现其SCN不可用,判断出错导致代码异常,进程Crash掉,这类错误可能是Buffer过小,重用过快导致的,也可能是数据变更过于频繁导致。
这类错误极其少见,一旦出现要非常慎重的处理,有些Bug与此有关,需要通过Metalink确认,数据库在部署时最好应用最新的PSU。
下面是这次故障的错误堆栈摘要:
*** 2010-03-03 14:15:04.436
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [kcbgtcr_13], [], [], [], [], [], [], []
Current SQL statement for this session:
INSERT INTO CT_INFO (RPT_DATE, RGN_CODE, .......
----- PL/SQL Call Stack -----
object line object
handle number name
700000206d666a0 338 procedure CT_INFO_S
7000001a89a3f30 3 anonymous block
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
ksedst+001c bl ksedst1 FFFFFFFFFFED73C ? 000000006 ?
ksedmp+0290 bl ksedst 104A48040 ?
ksfdmp+0018 bl 03F326DC
kgerinv+00dc bl _ptrgl
kgeasnmierr+004c bl kgerinv 000000000 ? 10566823C ?
100000013 ? 225D0C00130000 ?
000000000 ?
kcbassertbd+0074 bl kgeasnmierr 1101955E0 ? 110450040 ?
105668AC4 ? 000000000 ?
000000000 ? 700000206F807C0 ?
000000000 ? 000000051 ?
kcbgtcr+2a68 bl kcbassertbd 105668AC0 ? FFFFFFFFFFEC608 ?
ktspgfbs+0144 bl kcbgtcr 102147B38 ? 000000000 ?
70000002EB3F448 ? 000000001 ?
ktspfsrch+00b8 bl ktspgfbs FFFFFFFFFFEE028 ? 000000000 ?
000000000 ? 000000000 ?
1101FFEF8 ? FFFFFFFFFFEDA78 ?
000000000 ?
ktspscan_bmb+021c bl ktspfsrch 700000010018078 ?
FFFFFFFFFFEE028 ?
ktspgsp_cbk1+07c4 bl ktspscan_bmb 1FE800000001 ?
ktspgsp_cbk+00a8 bl ktspgsp_cbk1 1130D0A00 ? 000000000 ?
1028F3668 ? FFFFFFFFFFEDF40 ?
11022A548 ? 110266D40 ?
000000000 ? 000000014 ?
kdtgsp+0504 bl ktspgsp_cbk 000000000 ? 000000000 ?
000000000 ? 000000000 ?
000000000 ? 000000000 ?
000000000 ? 000000000 ?
kdtgsph+02f8 bl kdtgsp 10500E820 ? 110195760 ?
kdtFlushBuf+0288 bl kdtgsph 1105F8E40 ? 000000000 ?
insflush+0348 bl kdtFlushBuf 1105F8E40 ?
insrow+0384 bl insflush 1105F8E40 ? 000000000 ?
1101BECF0 ? FFFFFFFFFFF13E0 ?
2C000100000004 ?
insdrv+0428 bl insrow 1105F8E40 ? FFFFFFFFFFF13E0 ?
000000000 ?
inscovexe+02b8 bl insdrv 1105F8E40 ?
insExecStmtExecIniE bl 01FA0954
ngine+005c
insexe+02f8 bl insExecStmtExecIniE FFFFFFFFFFF2318 ?
ngine FFFFFFFFFFF2310 ? 110527020 ?
opiexe+2738 bl insexe 1105942B8 ? FFFFFFFFFFF2978 ?
opipls+185c bl opiexe FFFFFFFFFFF3CC0 ?
FFFFFFFFFFF3DA8 ?
FFFFFFFFFFF3C60 ?
opiodr+0ae0 bl _ptrgl
rpidrus+01bc bl opiodr 66FFFF5A80 ? 6025E14E0 ?
FFFFFFFFFFF6B80 ? CE9A84B20 ?
skgmstack+00c8 bl _ptrgl
rpidru+0088 bl skgmstack 10233AE20 ? 000000000 ?
000000002 ? 000000000 ?
FFFFFFFFFFF6348 ?
rpiswu2+034c bl _ptrgl
rpidrv+095c bl rpiswu2 70000020458E188 ? 11052E3A0 ?
11046AA58 ? 000000000 ?
FFFFFFFFFFF6120 ?
3C00000000 ? 000000000 ?
000000000 ?
psddr0+02bc bl 03F32174
psdnal+01d0 bl psddr0 CFFFF6DB8 ? 6600000000 ?
FFFFFFFFFFF6B80 ?
30100BA3A8 ?
pevm_EXECC+01f8 bl _ptrgl
pfrinstr_EXECC+0070 bl pevm_EXECC 70000019DB5AC60 ? 000000000 ?
7000001C12D897A ?
pfrrun_no_tool+005c bl _ptrgl
pfrrun+1014 bl pfrrun_no_tool FFFFFFFFFFF6EE0 ?
7000001A89A3F30 ? 3100EAA30 ?
plsql_run+06b4 bl pfrrun 11048A228 ?
peicnt+0224 bl plsql_run 11048A228 ? 1000000000418 ?
000000000 ?
kkxexe+0250 bl peicnt FFFFFFFFFFF81F8 ? 11048A228 ?
opiexe+2ef8 bl kkxexe 110483218 ?
kpoal8+0edc bl opiexe FFFFFFFFFFFB814 ?
FFFFFFFFFFFB588 ?
FFFFFFFFFFF99E8 ?
opiodr+0ae0 bl _ptrgl
ttcpip+1020 bl _ptrgl
opitsk+1124 bl 01FA3344
opiino+0990 bl opitsk 000000000 ? 000000000 ?
opiodr+0ae0 bl _ptrgl
opidrv+0484 bl 01FA2198
sou2o+0090 bl opidrv 3C02DB56BC ? 44065F000 ?
FFFFFFFFFFFF750 ?
opimai_real+01bc bl 01F9FAB4
main+0098 bl opimai_real 000000000 ? 000000000 ?
__start+0098 bl main 000000000 ? 000000000 ?
--------------------- Binary Stack Dump ---------------------
-The End-
相关文章|Related Articles
- ORA-00600 3020 错误案例一则
- ORA-600 kcbzpbuf_1 坏块的恢复案例一则
- ORA-600 17285 错误 与 PL/SQL Developer
- Oracle HowTo: How to deal with Ora-600 4193 error
- Oracle Diag:如何处理ORA-600 2662错误
评论数量(0)|Add Comments
本文网址:http://www.eygle.com/archives/2010/03/kcbgtcr.html
2010-03-02 Tue
AnySQL.net
Oracle & Starcraft
Give you some color to see see!
Oracle Scratchpad
Oracle Life
Chanel [K]
Oracle Security Blog
MySQL Performance Blog
The Tom Kyte Blog
Delicious/Fenng/oracle
O'Reilly Databases
Red Hat Magazine
车东[Blog^2]
blue_prince
玉面飞龙的BLOG
木匠 Creative and Flexible
生活帮-LifeBang
Hey!! Sky!
dba on unix
Brotherxiao's Home
jametong's shared items in Google Reader
DBA Tools
Inside the Oracle Optimizer - Removing the black magic
DBA@Taobao
存储部落
OracleBlog.cn
知道分子
支付宝官方 Blog - 支付志
木匠的天空 Oracle Architect and Developer
Hello DBA
OS与Oracle
Cary Millsap
Guy Harrison's main page
eagle's home
dbthink
DBA Notes
OracleDBA Blog---三少个人涂鸦地!
The Pythian Blog
MyNoSQL