- 浏览: 32447 次
- 性别:
- 来自: 北京
最新评论
-
irican:
反应真快的说,RSS用的炉火纯青啊。。。
以后在这里写写和技术相关的文章~~ -
xitianmansha:
好呀~你看我速度不?
以后在这里写写和技术相关的文章~~
文章列表
(算是半个转贴了,原帖找不到了)
在安装完oracle10g或11g后,经常会出现CPU占用率100%的问题。
其原因是enterprise manager(em)里有个用于统计信息的定时job一直不停的运行。也可以算是个bug吧。
baidu上搜到的办法一般是直接停止em,这这这。。。我不是牛人,不能只用sqlplus搞定一切,我还需要用em来管理数据库。。。
一个可行的解决办法:
emctl stop dbconsole
pafctl stop
pafctl start
emctl start dbconsole
试验成功。
上篇留下了Oracle 11gR2的OBE,由于OWB与Oracle绑定,所以OBE也是在一起的。
OWB11gR2 OBE包括以下篇章:
Oracle Warehouse Builder
Setting Up the Oracle Warehouse Builder 11g Release 2 Tutorial Environment
Improved User Interface, Usability, and Productivity With OWB 11g R2 Designing ETL Mappings
Handling Flat File and C ...
Oracle OBE 11gR2 release
http://www.oracle.com/technology/obe/11gr2_db_prod/index/index.htm
OWB set are under 'Business Intelligence and Data Warehousing' then 'Warehouse Builder'
顾名思义,OWB是用来建立数据仓库的工具。既然是工具,那么对于使用者来说,最重要的就是知道自己想要做什么,然后才是怎么去实现。就像使用word,最重要的是知道要写些什么,至于怎么使用word来完成我们心中的功能,则 ...
SQL注入,一个老掉牙的安全问题,有SQL的地方就会有SQL注入。一般做企业应用的只关注Java层面的编写规范,比如使用preparedStatement,或者干脆直接过滤掉危险字符等等。
其实在编写PL/SQL的function或procedure的时候,也存在注入的问题,我们来简单探讨一下。
例如有这样一个procedure,功能为禁用某个table的constraint:
CREATE OR REPLACE PROCEDURE Disable_Constraint ( p_constraint_name VARCHAR2, p_table VARCHAR2 )
AUTH ...
需要在文件中找到包含类似Name="some words/some other words", 但又不是Name="PL/SQL"的字符串。
这时使用的正则表达式为:(?!Name="PL/SQL")Name="[^\"]*/[^\"]*", 验证成功。
才发现居然官方有中文版的OWB 11gR1的教程啊,真好!
http://www.oracle.com/technology/global/cn/obe/11gr1_owb/index.htm
基本的功能和操作流程与11gR2类似。强烈建议感兴趣的同学完整的做一遍。
以前还以为只有英文版,准备翻译几篇重要的呢。现在不需要了,呵呵。
不过同学们第一次做完了OBE后,可能也会有和我一样的感觉——还是完全不懂!所谓知其然、不知其所以然。
以后我就写些really different的东东吧,我们一起深入研究些OBE里没有解释清楚、甚至没有提及的东东。
本来是想写写如何安装OWB repository的。但网上一搜发现一篇OWB 11gR1的:
http://tech.ddvip.com/2009-05/1242296514119157.html
OWB11gR2 repository的安装过程与11gR1类似,就不写了。感兴趣的同学请看上面的链接。
我在这里写点something different...
解释下什么是repository(也叫资料库)。所谓repository就是OWB自身所有数据和所有目标对象metadata(元数据)的存放点。什么是metadata?metadata简单的说就是描述数据的数据。orac ...
部分翻译自OWB官方博客: http://blogs.oracle.com/warehousebuilder/2009/11/owb_11gr2_a_new_user_interface_and_how_to_restore_factory_layouts.html
OWB伴随Oracle database一起release,所以现在还没有Windows版本的OWB 11gR2。我们只能在oracle官网上下载linux版本的Oracle ...
Oracle warehouse builder(OWB)是Oracle三大数据仓库工具之一,他与ODI和GoldenGate的主要不同有几点:
1.拥有Oracle的纯正血统,与RDBMS紧密结合
2.在ETL的功能和效率方面,尤其是transformation方面有些优势
3.在全球的用户量比其他两者多的多。
虽然OWB在11gR2发布后将会淡出,但下个版本的ODI其实是ODI和OWB合并之后的产物。从这个意义上看,研究并学习OWB是有些用处的。
另外,虽然国内的用户少的可怜,但直接用plsql做ETL的不在少数。OWB的ETL都是通过由mapping生成的sql/plsql script ...
Move Method
如果一个method与另一个class进行了更多的交流(调用或被调用),则需要把它Move到该class中。从而达到高内聚、低耦合的作用。在进行Move Method时需要注意的几点:
1.检查该method使用的一切feature(包括field, method等),如果需要的话,一并move多个method
2.检查该class是否有subclass或superclass,如果使用到了多态,则不能进行这项重构
3.如果method用到了field,则把该field当作method的参数传入新的method
4.如果method用到了其它的method,则把该class ...
- 2007-12-06 23:49
- 浏览 940
- 评论(0)
Extract Method
这个不难,用eclipse就可以解决大部分问题。需要注意的有几点:
1.有局部变量的情况,要作为参数传入目标函数
2.对局部变量再赋值,要将新值作为目标函数的返回值
3.如果目标函数需要返回多个值,则把它拆开,确保一个函数返回一个值
Inline Method
和Extract Method相反,在以下几种情况使用:
1.函数体极少(一行?),而且与函数名一样清晰易懂
2.有一堆组织不合理的小函数,需要inline到一个大函数中,然后在Extract Method
3.无用的间接层
Inline Temp
作为Replace Temp with Query的一部 ...
- 2007-12-05 23:11
- 浏览 891
- 评论(0)
两顶帽子
在开发软件时有两种行为:开发新功能和重构。绝不能在开发新功能的时候重构,应该在两顶帽子间不停交替。测试也包含在内。
何时重构
事不过三,三则重构。添加功能时、修补错误时、复审代码时。
何时不重构
完全重写时,项目到期时。
重构与设计
事先设计很重要,但是一定要避免过度设计。只要够用,而且比较容易重构成更灵活的设计就行。想想自己在做过的项目中确实有很多的过度设计,当时也主要是想学东西,现在看来是没有必要的。
重构与性能
系统的性能瓶颈是从一个整体的层面检测出来的,不是想当然感觉出来的,所以一般不必在意性能问题。一个结构良好的程序,在后期性能调整的时候也会有帮助。
小步前进、频繁 ...
- 2007-12-04 20:30
- 浏览 863
- 评论(0)
真的想一直坚持写下去,也不知道能不能做到。半年之后再回过头来看看效果吧。
2年前大略的看过一遍Refactoring,没坚持看完。当时就觉得获益颇丰,觉得自己平常整理代码的行为居然也还是一门学问,真是有点小爽。到了现在,看到师弟们慢慢在成长,自己却失去方向了,越来越觉得自己的编码水平也就很一般,有了进步的瓶颈。所以决定重新好好看一遍重构,这次是中文版的。
书里写的许多简单方法,在现在看来,至少我觉得,已经不是什么很难处理的事情了,eclipse可以带来很大的帮助。所以在看书的时候也就特别的注意和当前时代的结合,学习一个思想和原理。
想想也有些感慨,Fowler在写这本书时大家都还在用JDK ...
- 2007-12-04 20:09
- 浏览 1001
- 评论(0)
以前看书,看的时候还是很清除的,看过之后就慢慢的忘记了,很是郁闷。
觉得有些书还真不是随便看看理解了就完事了的。要慢慢的看、反复的看。
准备写点读书笔记啦,一来能把看过的东西简要的记下来免得以后忘记,二来也敦促自己不要停歇 ,最近太懒啦~~~
- 2007-12-04 19:44
- 浏览 947
- 评论(0)