Oracle学习系列—数据仓库部分—目录管理和外部表
目录和外部表是Oracle数据仓库中获取外部文件数据一个比较重要的管理.[@more@]创建外部目录并赋予相应的读写权限 SQL>CREATE OR REPLACE DIRECTORY source_dir as 'C:/UserDefine/oracle/oradata/source'; Directory created. SQL>CREATE OR REPLACE DIRECTORY target_dir as 'C:/UserDefine/oracle/oradata/target'; Directory created. SQL>CREATE OR REPLACE DIRECTORY log_dir as 'C:/UserDefine/oracle/oradata/log'; Directory created. SQL>grant read on directory
关于ETL工具的思考
阅读<DataStage企业版产品白皮书>有感![@more@]通常认为ETL就是数据抽取,转换,加载的过程,完全正确.就像数据库就是存储和管理数据的工具一样,然而数据库并不全部是数据的存储,最重要的是管理,即数据的并发性一致性可恢复性管理,包括一系列的进程和内存的管理等等.ETL工具本身也是同样的问题.如果只是抽取转换加载,相信通过PowerBuilder的数据管道技术并加以封装或者一系列的语言工具编码可以做到,并非很难的事情. 之所以思考,是因为阅读了一下<DataStage企业版产品白皮书>,当然也只是粗略的看了一下,其实所有成熟的ETL工具
ITPUB电子杂志-数据仓库专刊
印象中ITPUB第一次推出数据仓库专刊,做为斑竹,还是挺骄傲的,应该宣传一下,:) 呵呵,有自己几篇文章,不敢说纯粹都是自己的东西,毕竟天下文章一大抄. itpub电子期刊第十五期.pdf [@more@]
五一节纪事
五一节马上就结束了,当我带着笔记本和一本Oracle书籍回到海南自己的家中,想象着自己看完几本名著就变成所谓的高手,可到头来却是一无所获,呵呵,借用biti的一句话:人生也许就是如此. 很多事情从来都是在想象中度过的,也许大多数人都是在想象中不断的欺骗自己麻痹自己,所以我们才最终一无所获,碌碌无为. 也许连自己都不知道自己能够做什么,能够做好什么,想达到什么样的目标,幸福是什么,生活到底是什么?人生总是一连串的问号和一堆的省略号.当然省略号是指我们什么都没做,就在浑浑噩噩中度过的岁月. BLOG已经连续半个月都没有更
Oracle学习系列—数据库优化—Collect Statistics
虽然提倡使用DBMS_STATS包,估计ANALYZE使用还是会多一些吧,毕竟方便...[@more@]收集统计信息,收集分区对象的全局信息,调整你的统计信息. 但是,以下情况下,你必须使用ANALYZE语句,而不是DBMS_STATS来收集统计信息(这些信息与CBO优化无关): n To use the VALIDATE or LIST CHAINED ROWS clauses n To collect information on freelist blocks Table 3–1 Statistics Gathering Procedures in the DBMS_STATS Package Procedure Collects GATHER_INDEX_STATS Index statistics GATHER_TABLE_STATS Table, column,
Oracle学习系列—数据库优化—Statistics Summary
关于统计中表字段索引所搜集的相关信息有那些....[@more@]Statistics generated include the following: n Table statistics – Number of rows – Number of blocks – Average row length n Column statistics – Number of distinct values (NDV) in column – Number of nulls in column – Data distribution (histogram) n Index statistics – Number of leaf blocks – Levels – Clustering factor n System statistics – I/O performance and utilization – CPU
Oracle学习系列—数据库优化—Sort Operation
虽然知道其适用场合,但是确实不太清楚对COST的影响...[@more@]Ø SORT UNIQUE 假如用户指定Distinct语法或者下一步操作需要唯一值,将会导致Sort Unique Ø SORT AGGREGATE Sort Aggregate不一定涉及到排序,当聚合用来计算所有行值时,会使用到Sort Aggregates Ø SORT GROUP BY 当聚合用来计算不同组的数据时将会使用Sort Group By,排序需要将把行值分成不同的组 Ø SORT JOIN 假如行按照连接键排序,在排序合并连接时将会发生Sort Join Ø
Oracle学习系列—数据库优化—Full Scans和Fast Full Index Scans
两个好像都是直接读取索引块,而无需读取数据块的情况.前提是待查询字段已经包含在该组合索引中. 不过看Oracle9i Database Performance Tuning Guide and Reference,好像没太多区别[@more@]Full Scans A full scan is available if a predicate references one of the columns in the index. The predicate does not need to be an index driver. A full scan is also available when there is no predicate, if both the following conditions are met: n All of the columns in the table referenced in the query are inc
Oracle学习系列—数据库优化—Access Path和join学习
呵呵,边学习边翻译,权当笔记了...[@more@] CBO的访问路径(Access Path) 访问路径是从数据库中查询数据的方式.主要包括 Ø 全表扫描 Ø ROWID扫描 Ø 索引扫描 Ø 聚簇扫描 Ø HASH扫描 Ø 样例表扫描 全表扫描 全表扫描时,读取该表所有的记录,然后过滤掉不满足要求的数据.仅扫描和读取高水平线一下的块. 全表扫描时,所有块被顺序读取.因为块一半都是毗邻的,为了加速处理,通常I/O调用比单块要大些.每次块读取的数量是由DB_FILE_MULTIBLOC
Oracle学习系列—数据库优化—Analyze语句和数据字典
执行Analyze语句后,系统会把表索引统计记入相应数据字典表,CBO依据这些统计进行执行计划分析.下面是几个简单的例子,黄颜色部分是执行分析后,数据字典发生的变化[@more@] CREATE TABLE MainTable AS SELECT * FROM ALL_ALL_TABLES; CREATE TABLE Owner AS SELECT DISTINCT Owner FROM MainTable; CREATE INDEX MainTable_Owner ON MainTable (Owner); CREATE INDEX Owner_Owner ON Owner (Owner); ANALYZE TABLE MainTable Compute STATISTICS; S
Oracle学习系列—数据库优化—CBO介绍
CBO(Cost-based optimizer)是根据系统统计信息并以系统吞吐为最佳优化目标的Oracle优化方式。边学边翻译,边翻译边体会..[@more@]通常情况下,CBO是缺省的 假如数据字典中包括至少一个待访问表的统计信息,那么优化器将选择基于成本的优化方式,以获取最大吞吐量的目标。假如数据字典仅包含部分统计信息,仍将使用CBO方式,但是优化器不得不猜测那些没有任何统计信息的表的统计。这可能会导致次优化的执行计划。假如数据字典没有包含任何待访问表的统计信息,优化器将选择RBO方式 以下是要必须使用CBO进行优化的内容 分区表和
关于数据仓库-Inmon-企业信息工厂(CIF)概览
翻译总是一件很痛苦的事情,看着别人翻译的很烂,心里总是会暗暗骂上几句,当自己翻译的时候,才了解翻译的痛苦。。。关于DW2.0和CIF,我没什么直观的感觉,数据仓库终究还是数据仓库。。。[@more@]Corporate Information Factory (CIF) Overview 企业信息工厂(CIF)概览 摘要描述 Operational Systems are the internal and external core systems that support the day-to-day business operations. They are accessed through appli
Oracle学习系列—数据库备份—RMAN备份
RMAN(Recovery Manager,恢复管理器)是数据的备份工具,是一个与操作系统无关的数据库备份工具,可以跨越不同操作系统进行数据库备份。 以前从来不敢使用这玩意,也不太清楚到底有何用途,只知道很难使用;经过3天的实践总算硬着头皮把例子一个个做了一遍,对RMAN的基本命令和用途有了基本的了解。。。 唉,其实我还是没太搞明白,也许等冷静一段时间研究一下恢复的时候,才知道RMAN的真正用途。。。[@more@] --Create RMAN enviroment --Create RMAN default tablespace --Create RMAN User -
Oracle学习系列—关于字符数字混合排序和中文排序的问题
关于汉字排序的问题源于曾经做过的114号码百事通查询,当时要求提供按笔画、部首、拼音的多种查询方式,拼音排序直接按名称字段进行排序时总有些是是而非的错误,百思不得其解;同时笔画、部首排序也摸不着头脑。。。 数字和英文混合排序 1,3,A,B,101,301,AB,BA 要求按照数字,字符分别进行排序,同时在统一类别数据中,首先按数字ASC,再次按长度排序,要求结果如下 1,101,3,301,A,AB,B,BA 或者 1,3,101,301,A,B,AB,BA 但是很奇怪,第一个排序似乎在合并两个视图之后,排序规则有点乱了。。。[@more@]
ChinaByt:孙振耀离职内部邮件披露(转载)
中国北京HP公司今天宣布,HP公司全球副总裁、中国惠普有限公司总裁孙振耀先生已加入“HP提前退休计划”,将于2007年5月31日起卸任。2007年4月16日起,符标榜将接替孙振耀先生担任中国惠普有限公司总裁。。。。。。。[@more@]天极ChinaByte 4月6日消息 中国北京HP公司今天宣布,HP公司全球副总裁、中国惠普有限公司总裁孙振耀先生已加入“HP提前退休计划”,将于2007年5月31日起卸任。2007年4月16日起,符标榜将接替孙振耀先生担任中国惠普有限公司总裁。 孙振耀在对员工的内部邮件中写到,“我很高兴以退休的方式向各位说‘再见’。也
Oracle学习系列—数据库备份—热备份
热备份一般采用数据库命令和操作系统的物理拷贝来完成文件系统的备份。 热备份的内容主要包括数据库物理文件。 热备份仅适用于归档状态。 热备份可以根据业务需求,在应用不繁忙的时候进行灵活备份,不会影响用户的正常使用。比较适合做为7×24小时运行的数据库备份策略[@more@]热备份的操作步骤: 1、 查看数据库归档状态 2、 查看要备份的表空间和数据文件 3、 启用alter tablespace XXX begin backup;命令开始备份 4、 操作系统命令拷贝改表空间的数据文件 5、 启用alter tablespace XXX end backup;命
一封经典的辞职报告(转载)!
人生充满了很多无奈,就业也好,离职也好,都是一种无法解脱的抉择。。。同时借此怀念一位刚刚离职的同事,一路走好![@more@]尊敬的公司领导: 您们好! 首先祝公司在新的一年中蓬勃发展,取得更加优异的成绩;祝愿公司上下所有领导和员工身体健康,万事如意!我为能在****工作过感到无比的荣幸和自豪,我 会怀念在这里的每时每刻,感谢公司给了我这么一个机会。在公司这一年多里,公司领导和周围同事给了我无比的照顾和关怀,让我深切的感受到了公司倡导的人情 化管理给我们带来的亲切和温馨。我深信,公司将沿着通往胜利彼岸的高
Oracle学习系列—数据库备份—脱机备份
脱机备份一般均采用操作系统的物理拷贝来完成文件系统的备份。 脱机备份的内容包括数据库物理文件、联机日志文件、控制文件。 脱机备份对归档和非归档无特别要求,不需要对归档日志进行备份。 脱机备份耗时可能比较长,备份的关闭数据库的要求,影响用户的正常使用。不适合做为7×24小时运行的数据库备份策略[@more@]脱机备份的操作步骤: 1、 通过数据字典获取文件备份列表 2、 Shutdown正常关闭数据库 3、 通过操作系统拷贝物理文件 4、 启动数据库。 Microsoft Windows [Version 5.2.3
Oracle学习系列—Oracle表空间和用户的手工创建
尝试以手工方式的形式创建用户表空间及其数据文件,创建用户,分配权限,并以用户身份登陆,进行验证。同时复习了一下数据库的归档(手工创建数据库后,默认为非归档方式)[@more@] 数据库的归档重新复习,关于归档的参数设置可以通过alter system参数直接完成。 以系统管理员身份登陆数据库 关闭数据库 启动数据库到mount状态 更改归档方式 查看归档状态 修改归档目录 修改归档启动方式 关闭数据库 重新启动数据库 查看归档状态 归档联机日志 SQL*Plus: Release 9.2.0.1.0 - Prod
关于数据仓库 —lookup表的一点看法
对于搞数据仓库的人来说,面试的时候总会问及到lookup表的概念。。。。。。[@more@]对于搞数据仓库的人来说,面试的时候总会问及到lookup表的概念,这个概念一开始对我而言也是很莫名其妙的;明明基础表和事实表的一个关联就可以完成的事情需要什么lookup表。 通常的做法 SELECT A.ID,SUM(Measure1) as Measure1,SUM(Measure2) as Measure2 FROM table_original A,table_dimension B WHERE A.ID = B.ID 为了严谨起见,我们的处理最多是加以NULL值或者未匹配