描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302517207
统数据存储和转换技术相结合提供了技术参考,为促进大数据技术的发展,为数据库和ETL开发人员、
运维人员提供了技术支撑。
本书分为3篇,共5章,主要内容包括Oracle数据库应用、MySQL数据库应用、Informatica PowerCenter
工具应用、Kettle工具应用、数据库调优与ETL工具应用技巧。本书分别从数据存储软件、数据抽取与
清洗软件等方面,向读者展示了Oracle、MySQL、Informatica和Kettle的常见问题、优化与提升的技巧。
本书所涉及的内容均为生产实践中必要的过程和阶段,讲解由浅入深、通俗易懂,适合从事数据库
开发、维护、管理、优化任务和高可用设计的工程技术人员及从事ETL开发、优化的工程技术人员使用
或参考。
第1章 Oracle数据库应用 2
1.1 Oracle简介 ·3
1.1.1 产品历史 3
1.1.2 支撑的平台 4
1.1.3 数据库特点 4
1.2 安装配置 5
1.2.1 安装环境 5
1.2.2 系统配置 5
1.2.3 Oracle安装 ·8
1.3 数据库函数 20
1.3.1 常用函数 20
1.3.2 数字函数 21
1.3.3 预定义函数 22
1.3.4 字符函数 23
1.3.5 日期函数 26
1.4 常用查询命令 29
1.5 常见问题参考 47
1.5.1 事务处理 47
1.5.2 索引 49
1.5.3 触发器 53
大数据处理与存储技术
1.5.4 存储过程 53
1.5.5 参数设置 55
1.5.6 消息号 82
1.5.7 表级操作 86
1.5.8 锁操作 92
1.5.9 归档的开启与关闭 93
1.5.10 数据的导入与导出 94
1.5.11 其他 94
第2章 MySQL数据库应用102
2.1 MySQL简介 ·103
2.1.1 产品历史 103
2.1.2 应用环境 104
2.1.3 数据库特点 105
2.2 安装配置 106
2.3 数据库函数 107
2.3.1 数学函数 107
2.3.2 字符串函数 110
2.3.3 日期函数 114
2.3.4 条件判断函数 118
2.3.5 系统信息函数 119
2.3.6 加密函数 120
2.3.7 其他函数 121
2.4 常见问题参考 122
2.4.1 数据库创建 122
2.4.2 数据库删除 123
2.4.3 数据库连接 123
2.4.4 数据表操作 125
2.4.5 索引操作 127
2.4.6 其他 127
目 录
VII
第二篇 ETL工具篇
第3章 Informatica PowerCenter工具应用 132
3.1 Informatica简介 ·133
3.2 安装配置 133
3.2.1 准备安装环境 133
3.2.2 Informatica软件安装 ·137
3.3 常见问题参考 144
3.3.1 软件安装 144
3.3.2 软件启动 144
3.3.3 目标库表 145
3.3.4 数据库连接 147
3.3.5 组件应用 148
3.3.6 其他 149
第4章 Kettle工具应用 150
4.1 Kettle简介 151
4.2 安装配置 151
4.3 常见问题 152
4.3.1 连接资源库报错 152
4.3.2 日志级别设置 ·153
4.3.3 时间格式问题 153
4.3.4 打开资源库后页面空白 153
4.3.5 Kettle连接Oracle报错 ·153
第三篇 高级调优篇
第5章 数据库调优与ETL工具应用技巧 156
5.1 Oracle调优 157
5.1.1 限度使用索引 157
大数据处理与存储技术
5.1.2 SQL优化 162
5.1.3 hint用法 ·170
5.2 MySQL调优 ·175
5.2.1 限度使用索引 175
5.2.2 优化提升 179
5.3 Informatica应用技巧 194
5.3.1 元数据解析 194
5.3.2 资料库操作 209
附录A Oracle错误信息表 ·213
附录B MySQL错误信息表 ·287
附录C PowerCenter错误信息表 ·310
“大数据”是当前热门的话题之一,虽然其实现技术多种多样,但是其应用和实
践依然是基于大量实际业务数据的。本书从数据存储和数据清洗与转换的角度出发,针
对当前主流数据库软件(Oracle、MySQL)和主流ETL工具(Informatica PowerCenter、
Kettle)的常见问题、应用技巧进行归纳和总结,为大数据技术与传统数据存储技术和数
据转换技术相结合提供技术参考,促进大数据技术的发展,为数据库和ETL开发人员、运
维人员提供技术支撑。
本书内容主要来源于项目实践,如有不当之处,恳请读者批评指正,部分支撑材料来
源于网络,如涉及版权问题请相关作者及时联系沟通,联系方式:[email protected]。
本书的读者群体
本书的目标读者是从事数据库开发、维护、管理、优化任务和高可用设计的工程技术
人员和从事ETL开发、优化的工程技术人员。
从技术角度看,本书涉及的内容均为生产实践中必要的过程和阶段,因此本书的内容
精炼、通俗易懂,尤其适合作为开发人员的基础工具书。本书读者无须拥有非常深厚的专
业技术基础。
本书内容安排
本书共5章,分为数据库软件篇、ETL工具篇及高级调优篇,各章的内容分述如下。
数据库软件篇
第1章:Oracle数据库应用
该章从Oracle简介、安装配置、数据库函数、常用查询命令、常见问题参考
等方面,介绍了Oracle的产品特点、常见问题及解决技巧
第2章:MySQL数据库应用
该章从MySQL简介、安装配置、数据库函数、常见问题参考等方面,介绍了
MySQL的产品特点、常见问题及解决技巧
大数据处理与存储技术
IV
ETL工具篇
第3章:Informatica PowerCenter工具应用
该章从Informatica简介、安装配置及常见问题参考,介绍了Informatica的产品
特点、常见问题及解决办法
第4章:Kettle工具应用
该章从Kettle简介、安装配置及常见问题,介绍了Kettle的产品特点、常见问
题及解决办法
高级调优篇
第5章:数据库调优与ETL工具应用技巧
该章对Oracle和MySQL数据库的性能调优和Informatica PowerCenter工具的应
用技巧进行介绍
致谢
首先感谢国网辽宁省电力有限公司全业务统一数据中心分析域项目组全体技术人员对
本书的技术支撑,他们从项目实践的角度为本书提供数据库和ETL技术的实践支撑,他们
在工作和技术领域中的不断探索促进了本书内容的不断完善。
还要特别感谢本书的编辑,感谢他们审查书稿,并提出他们的观点和建议,他们的宝
贵意见为本书的成功出版提供了方向指引。
编 者
(续表)
数据库软件篇
第3章
Informatica PowerCenter工具应用
本章从Informatica PowerCenter简介、安装配置、常见问题参考等方面,介绍
Informatica PowerCenter的产品特点、常见问题及解决技巧。
●
Informatica PowerCenter简介
●
安装配置
●
常见问题参考
3.1 Informatica简介
Informatica PowerCenter是Informatica公司开发的的企业数据集成平台,也是业
界领先的ETL工具。Informatica PowerCenter使用户能够方便地从异构的已有系统和数据源
中抽取数据,用来建立、部署、管理企业的数据仓库,从而帮助企业做出快速、正确的决
策。此产品为满足企业级要求而设计,可以提供企业部门的数据和电子商务数据源之间的
集成,如XML、网站日志、关系型数据、服务器和遗留系统等数据源。此平台性能可以
满足企业分析严格的要求。
Informatica公司创立于1993年,总部位于Palo Alto , California of USA,作为电子商务
分析型软件市场的领先者,一直致力于通过自身的产品和服务提升企业的竞争性优势。其
拳头产品Informatica PowerCenter已被全球多家著名企业用来建设BI/DW系统,它可集成和
分析企业的关键商务信息,优化整个商务价值链的表现并提高响应速度。
Informatica公司作为业界领先的BI/DW系统方案提供商,拥有包括分析型应用软件、
广泛的支持服务和强大的数据集成平台在内的综合性产品家族。其产品系列有Informatica
PowerCenter(企业级数据集成平台)、Informatica PowerCenterRT(实时数据集成平
台)、Informatica PoweMart(部门级数据集成平台)、Informatica PowerChannel(远程数
据集成平台)、Informatica Metadata Exchange(元数据交换平台)等。Informatica的基础
设施产品以可伸缩的、可扩展的企业级数据集成平台为特点,并广泛支持来自Informatica
和其他的领先商务智能提供商的数据仓库基础设施和分析型应用软件的开发和管理。
3.2 安装配置
3.2.1 准备安装环境
1. 创建Oracle与infa用户
groupadd dba
大数据处理与存储技术
useradd –g dba oracle
useradd –g dba infa
–设置密码
passwd oracle
passwd infa
2. 配置yum源
将系统镜像挂载至服务器,将系统镜像内的package目录内的所有文件复制到指定
目录。
mkdir /rpm_directory
cp -rv media/Centos6.3_final/Packages/* /rpm_directory
通过rpm命令手工安装createrepo:
cd /rpm_directory
rpm –ivh createrepo* deltarpm* python-deltarpm*
创建repodata,用于存放索引信息:
cd /rpm_directory
createrepo –v /rpm_directory
在/etc/yum.repos.d增加repo配置文件:
cd /etc/yum.repos.d
vi myyum.repo
添加如下内容:
[myyum-repo]
name=myyum
baseurl=file:///rpm_directory
enabled=1
gpgcheck=0
清除yum缓存
yum clean all
3. 安装Oracle客户端(Linux_64位)
将Oracle 客户端上传至服务器,解压后使用xstart 或export DISPLAY=10.***.***.***:0.0
(本机IP )进入图形化安装。进行到check 步骤时,会提示缺失部分依赖包,这时需要按
照提示安装相应的依赖包,基本命令如下。
yum install unixODBC*
4. 配置tns
在Oracle用户下使用netca命令进行tns配置。确认jdk版本为1.70以上(64位),如果
没有jdk,可以从infa的安装介质中获取,并在infa用户的.bash_profile中配置INFA_JDK_
HOME即可(命令:java –version)。
环境变量为:
export INFA_JDK_HOME=/infa/media/961HF3_Server_Installer_linux-x64/source/
java/bin
export PATH=$INFA_JDK_HOME:$PATH
确认所需端口在服务器防火墙下可通过,端口如下:
●
6005至6010;
●
6013至6113。
确认ulimit –n 和 ulimit –u的值均为大于等于32000,修改方法如下:
●
以root身份vim /etc/security/limits.conf。
●
在该配置文件下方追加 ulimit –u 32000。
●
在该配置文件下方追加 ulimit –n 32000。
●
进入root目录,修改.bash_profile,追加ulimit –u 32000和ulimit –n 32000。
●
以infa身份修改infa的.bash_profile,追加ulimit –u 32000和ulimit –n 32000。
●
以infa身份运行 ulimit –a 查看值是否已经改为32000。
确认Oracle 64位客户端被正常安装,tns可以连通oracle server端。
确认Oracle用户的环境变量追加到infa用户中去,确保infa拥有/home/oracle的目录权限。
chmod 775 –R /home/oracle
以root身份,临时export DISPLAY=10.162.210.208:0.0,然后xhost ,再以infa身份,
临时export DISPLAY=10.162.210.208:0.0,然后xhost ,回显:access control disabled ,
clients can connect from any host表示可以进行安装。
安装完成infa server后,需要在infa用户的.bash_profile中追加环境变量如下。
##### infa server #####
export INFA_HOME=/home/infa/infa961
export INFA_CODEPAGENAME=”UTF-8″
export INFA_DOMAINS_FILE=$INFA_HOME/domains.infa
export PATH=$INFA_HOME/server/bin:$PATH
export LD_LIBRARY_PATH=$INFA_HOME/server/bin:$LD_LIBRARY_PATH
生效环境变量,然后重启infa主进程。启动|关闭 infa主进程的命令如下。
(1)infa用户。
cd $INFA_HOME/tomcat/bin
./infaservice.sh startup 【启动进程】
./infaservice.sh shutdown 【结束进程】
以infa身份cd到/home/oracle/app/oracle/product/11.2.0/client_1/lib,创建软连接到
$INFA_HOME/server/bin下。
ln -s libclntsh.so.10.1 $INFA_HOME/server/bin
大数据处理与存储技术
(2)Infa用户环境变量。
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export DISPALY=10.162.210.208:0.0
export LANG=C
export LC_ALL=C
ulimit -u 32000
ulimit -n 32000
export INFA_JDK_HOME=/infa/media/961HF3_Server_Installer_linux-x64/source/
java/bin
export PATH=$INFA_JDK_HOME:$PATH
##### oracle client #####
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/client_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
##### infa server #####
export INFA_HOME=/home/infa/infa961
export INFA_CODEPAGENAME=”UTF-8″
export INFA_DOMAINS_FILE=$INFA_HOME/domains.infa
export PATH=$INFA_HOME/server/bin:$PATH
export LD_LIBRARY_PATH=$INFA_HOME/server/bin:$LD_LIBRARY_PATH
(3)Oracle用户环境变量。
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
#export DISPALY=10.162.210.208:0.0
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/client_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
评论
还没有评论。