hadoop HDFS 用户指南

本文是官方文档的翻译  本文固定链接是:https://www.askmac.cn/archives/hadoop-hdfs-user-guide.html

原文链接:http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html

1.目的

这个文档的出发点是为了那些使用HDFS的用户,不管是集群环境或者是作为独立的通用分布式文件系统。当在许多环境中使用HDFS时,HDFS的工作知识帮助对一个特定的群集上的配置进行改进和诊断

2.综述:

 

HDFS是Hadoop应用程序使用的主要分布式存储。一个HDFS集群只要包括一个NameNode 来管理文件系统的元数据,dataNode来存储实际数据。HDFS构架指导详细的描述了HDFS。这个用户指导主要用于处理HDFS集群中的用户和管理者的交互。HDFS构架图标描述了NameNode,DataNode和客户端之间的基本交互。客户端为了文件远数据或者修改文件描述而联系nameNode,直接通过DataNode来执行实际的文件I/O。

下面的一些特征,很多用户可能会感兴趣。

  • Hadoop,包括HDFS,非常适用于使用标准硬件来进行分布式存储和分布式处理。它是容错的,可扩展的,并且扩展非常简单。分布式计算(MapReduce),众所周知,它非常简单的适用于大型分布式应用程序,它是hadoop的一个组成部分。
  • HDFS是高度可配置的,作为默认的配置对于很多安装来说是非常合适的。大多数时候,仅仅对于大型集群需要对配置进行调整。
  • Hadoop是JAVA写的,支持所有的平台。
  • Hadoop支持类型shell的命令来直接和HDFS进行交互。
  • NameNode和Datanode内置web服务器,这样便于检查集群当前状态。
  • 在HDFS中会定期的实施新特性和改进。以下是HDFS的一个有用功能的子集:

.文件权限和验证。

. 构架意识(rack awareness):在调度任务和分配存储时,将节点的物理位置考虑在内。

.安全模块(safemode):一个维护的管理模块。

.fsck:一个诊断文件系统健康的工具,用来找出丢失的文件或块。

.fetchd:一个获得Delegation token的工具,并且存储到本地文件系统的一个文件中。

.平衡(blancer):当DataNodes中的数据是不均衡分布时,一个平衡集群的工具。

.第二个 NameNode(secondary namenode):执行定期的命名空间检查点,并且在NameNode中,有助于保持HDFS修改日志文件大小在一定限额内。

.检查点节点(checkpoint node): 执行定期的命名空间检查点,并且在NameNode中,有助于保持HDFS修改日志的最小的大小。以往这个角色由secondary namenode所替代,虽然它还没有被增强。NameNode允许同时多个检查点节点,只要没有备份的节点注册到系统中。

.备份节点(backup node):检查点节点的延伸。除此之外,它也从NameNode接受编辑流,并且维护自己再命名空间的内存副本,其总是与活跃的NameNode命名空间状态一致。只有一个备份节点可以与NameNode进行一次注册。

 

[Read more…]

葭葭的香港迪士尼之旅

15年9月8日 2大一小,葭葭 13个月。 来去都是香港航空, 2个航班HX237 HX246 准点率都非常低 ,平均延误在2个小时左右。

抵达赤腊角机场后乘坐机场大巴S1到东涌线,在东涌站下车并购物,我们是提了2个大行李所以先到的B2层去寄存行李,结果把证件包放在小家伙的推车上了,一个没注意葭葭把证件包扔地上了我们也没看见,到要乘地铁拿八达通卡的时候才发现通行证和信用卡什么的全没了。

2个大人急地双脚跳, 我按照原路线回去找了2次毫无收获。 抱着希望去询问台做失物登记,结果有好心人捡到证件包已经在哪里了。我绷紧的心一下放松了,照例登记和核对丢失物品清单,在这里再次感谢捡到东西的好心人!!

 

由于一惊一乍导致我和老婆都累极了,所以原计划乘地铁去迪士尼站之后再换乘酒店巴士到酒店的计划被放弃,在东涌站直接打的去迪士尼乐园酒店。这个路线打的大概200港币左右。 同时路过的还有hollywood disneyland hotel

 

 

 

 

迪士尼乐园酒店住2晚价格是人民币3364 不包含早餐,迪士尼乐园酒店的早餐有三个餐厅, 早餐有卡通人物例如 米奇、高飞过来合影的餐厅最贵,大约是350港币/人, 小童也要收费, 葭葭没满2岁 所以不收钱。

酒店标间就是双床房, 给带小孩的一家设计的。

 

 

 

葭葭入镜, 酒店是偏西式古典装修的,对孩子来说还是比较梦幻的。

吃早饭中

 

 

葭葭看到高飞表示很莫名

葭葭看到米奇很害怕

 

 

酒店门口的迷宫

 

 

 

 

 

 

 

麻雀们觊觎葭葭手上的奶奶

 

冰雪奇缘

 

迪士尼晚上的烟火:

 

还没等得及看烟花,葭葭已经抵不住睡意了。

 

橱窗

 

来看看美国最大电信公司AT&T的Oracle数据库备份策略

​ 
AT&T公司是美国最大的固网电话服务供应商及第一大的行动电话服务供应商,此外还提供宽频及收费电视服务。合共1.5亿户提供服务,当中8,510万户为无线用户 。
AT&T是Oracle数据库的重度用户,从oracle的官方网站上可以了解到  AT&T 采用的产品不仅仅是Oracle Database ,还有Oracle EBS 、Peoplesoft和Siebel等等。
http://www.oracle.com/us/products/applications/att-170685.html
 ​
作为Oracle数据库的重度用户,且数据是十分重要的巨无霸级电信运营商而言数据库备份策略十分重要。
 ​
由于AT&T的维护人员运维着成百上千套Oracle数据库,    他们把数据库按照不同的可用性要求划分为三个可用性/恢复级别,分别为低、中、高。低是应用程序可以承受的在任何类型的介质失败后需要最长的平均恢复时间,高是应用程序有很少的停机时间或不允许停机。
下列是对上述三个级别的数据库备份的保存策略。推荐的保存周期取决于硬件的限制和用户描述的平均恢复时间。说明一些磁盘备份和恢复文件可能存储在FRA外面。FRA以外的磁盘存储空间应该通过OS 和RMAN命令手动管理
 ​

以下是AT&T的最优备份方法和策略

 

  • 使用闪回区作为归档日志的存放位置

 

使用闪回区作为归档位置,因为归档日志被数据库自动管理,因此归档空间不足的风险大大降低,要发挥闪回区(FRA)的最大优势,尽可能的依赖磁盘的可用性存储和管理许多不同的文件。

 

  • 多重归档日志记录

 

通过实现硬盘镜像(有归档日志区域的镜像)保存归档日志的多个副本,或者通过设置LOG_ARCHIVE_DEST_n初始化参数为一个FRA 以外的位置。

 

  • 在磁盘上保存归档的redo日志

一般来说,归档日志文件保存在磁盘至少48小时或者你可以取决于存储的可用性。这将保证在介质失败后更快恢复,因为日志不能存储在慢的磁带机上,在闪回区达到83%或93%时,信息将放到告警日志。不再被恢复所需要(或者备份到磁带机上)的日志将被自动删除。记住在闪回数据库操作时归档日志如果不在磁盘上,他们必须从磁带上转储来“倒回”数据库 。

  • 备份控制文件

在每一次关键备份时,获得数据库控制文件的二进制和文本类型的副本。这对数据库结构改变后尤其重要。

 

为了RMAN 在每次备份和数据库结构改变后可以自动备份控制文件和服务器参数文件,需要开启自动备份 AUTOBACKUP ON (默认为OFF)。自动备份特点使得RMAN 转储自动备份的控制文件,在你不能访问数据库,甚至控制文件丢失/破坏后恢复数据库。

  • 备份参数文件和密码文件

RMAN 工具不支持ORACLE_HOME, init.ora 和密码文件备份。然而,所有的这些文件必须使用系统命令备份或者第三方备份工具。如果你的实例使用spfile代替init.ora 文件,你可以用RMAN 自动备份spfile 或者使用BACKUP SPFLE 命令。

 

  • 增量备份的改变跟踪文件

这个特点是允许RMAN 只备份上次全备份以来改变的数据块,减少了执行备份所需的时间,只备份很少的数据块,

size of change tracking file = # of redo threads * (# of old backups + 2) * (size of db/250000)

 

  • 备份归档日志时不要指定DELETE ALL INPUT

DELETE ALL INPUT 会在目标备份然后删除归档日志和其副本,“delete  input”会在目标备份后删除已经备份的归档。下一次将从位置1备份来作为位置2的新日志备份,然后删除备份过的日志。这意味着你可以有自从上次磁盘上位置2 的可用备份(只要备份过一次)和上次备份之前的两个备份副本。查看说明443814.1-用RMAN管理多个归档日志目录的详细内容。

 

  • RAC 环境下备份所有的CRS资源

 

RAC 数据库需要OCR 的备份和Voting 磁盘文件。RMAN 不支持这个,因此使用系统命令定期执行备份。

阅读 Metalink 说明: 279793.1 How to Restore a Lost Voting Disk in 10g and Note: 268937.1 Repairing or Restoring an Inconsistent OCR in RAC regarding backup and restore a lost Voting/OCR.

 

  • 考虑使用增量更新备份

增量更新备份使用合并数据库镜像复制和增量备份,来提供快速且有效的数据库恢复。使用RMAN具有数据高可用性需求的特点,保证少的平均恢复时间并且能消除全库备份的需要。

 

  • 设置RMAN 恢复目录

使用恢复目录数据库作为备份和转储操作的仓库。恢复目录提供了与RMAN数据保存在每个目标数据库的控制文件中的以下几种另外的功能:

  • 在恢复目录里存储RMAN脚本
  • 一个节点的备份能转储到另一个节点
  • 没有控制文件的空间限制并且能储存更多关于备份的历史数据
  • 在恢复和维护操作期间提高性能
  • 备份物理备库需要恢复目录

 

备份过程

计划实现三个独立标准备份程序,这将适用于上述相应的可用性和恢复要求。

 

MTTR的数据库备份过程

 

对于有高可用需求和低容忍恢复时停机的的数据库,保证在磁盘上的0级增量备份并且每天用1级增量备份增量更新这个副本,然后把所有其他的文件转移到DSU/磁带 。

FRA DISK QUOTA =  Size of 1 full copy of database
+ size of 1 day’s level 1 incremental backup
+ size of (Y+1) days of archived logs
+ size of flshback logs

Y是脚本里 BACKUP RECOVERY AREA执行的时间。

FRA 设置以下步骤用来执行备份

  • 备份控制文件
    • 文本复制用RMAN 命令 BACKUP CURRENT CONTROLFILE;
    • SQL: ‘alter database backup control file to trace’;
    • SET CONTROL FILE AUTOBACKUP ON.
  • 每天执行1级增量备份和用前一天的1级备份前滚0级备份
  • 把所有的闪回区文件备份到DSU/磁带上,这将备份所有不存在于磁带上的备份集,以及自上次备份以来所有已归档的重做日志。。
  • 删除DSU/磁带上过期的备份。
  • 如果是RAC 环境,通过OS 命令从CRS复制OCR和卷文件

 

中等MTTR的数据库备份过程

每周执行一次完全压缩的0级增量备份到FRA以外的磁盘,并且每天执行1级压缩增量备份到FRA。每天把闪回区备份到DSU/磁带,因此保证备份集和归档日志可以被删除,以满足更新需求的空间。

FRA DISK QUOTA =   size of X day’s level 1 incremental backup
+ size of (Y+1) days of archived redologs
+ size of  flashback logs x 2

X是你想要 保存在FRA中的增量备份的数量,Y是在备份脚本中执性BACKUP RECOVERY AREA所用的天数。

如果FRA和外部的磁盘存储区被配置, 用下列步骤完成备份

  • 一周一次
    • 备份控制文件
    • 备份上周的0级压缩备份到磁带并且用OS命令从磁盘中删除
    • 执行检查并从磁盘删除过期的0级备份
    • 每周执行0级增量备份到FRA以外的磁盘
    • 从磁带删除过期的备份
    • 备份闪回区
  • 每天执行1级增量备份到FRA
    • 备份所有的闪回区文件到DSU/磁带。这将备份所有磁带上没有的备份集以及上一次任何类型的备份以来所有的归档日志
    • 执行1级增量备份到FRA
  • 如果是RAC环境,通过OS命令从CRS 复制OCR和卷文件

 

MTTR的数据库存储过程

 

对于能承受足够的时间来恢复和磁盘存储限制,使用FRA仅仅作为归档的目的地。磁盘配额规则将自动从FRA删除不再被恢复所需要的日志。

FRA DISK QUOTA =   size of 1 day’s level 1 incremental backup
+ size of (1 days of archived logs) * 2
+ size of  flashback logs x 2

按下列步骤设置FRA,用来执行备份

  • 归档日志文件在FRA里
  • 每周执行0级全增量备份到磁带作为压缩备份集。
    • 备份控制文件
    • 执行0级备份到磁带
    • 删除磁带上的过期备份
    • 备份恢复文件目的地到磁带
  • 一周内的其他天
    • 备份恢复文件目录到磁带
    • 执行1级增量备份到FRA

【MySQL学生手册】mysqladmin、mysqlimport、mysqldump客户端程序

本文地址:https://www.askmac.cn/archives/mysql-client-tools-desc.html

 

 

 

4.4 mysqladmin客户端程序

mysqladmin命令行程序被设计用于特定的管理操作。它可实现以下功能:

 

  • ping服务端以查看服务是否仍在运行并接受客户端连接
  • 关闭数据库服务
  • 建立或删除数据库
  • 显示服务配置和版本信息
  • 显示或重新初始化(reset)服务状态变量
  • 设置密码
  • 重倒入授权表
  • 将日志文件或各种服务缓冲刷出
  • 启动和关闭从库复制(replication)
  • 显示客户端连接信息或中止连接

 

[Read more…]

Oracle RMAN与Fuzzy模糊位

模糊位和恢复

 

ALTER SESSION SET EVENTS 'immediate trace name file_hdrs level 10';
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(From Oracle 11.2.x)
*DUMP OF DATA FILES: 209 files in database
*DATA FILE #1: ------------ NB: Here down is the control file info ---------
name #7: /grdbms/64bit/app/oracle/oradata/S112W6/system01.dbf
creation size=0 block size=8192 status=0xe head=7 tail=7 dup=1
==> ^^^^(kcc3.h)
KCCFEFDB 0x0001 /* file read-only, plugged from foreign DB */
KCCFEONL 0x0002 /* file is ONLine */
KCCFERDE 0x0004 /* ReaDing is Enabled */
KCCFECGE 0x0008 /* ChanGing is Enabled */
KCCFEMRR 0x0010 /* Media Recovery Required */
KCCFEGEM 0x0020 /* Generate End hot backup Marker at next open */
KCCFECKD 0x0040 /* File record generated by check dictionary */
KCCFESOR 0x0080 /* Save Offline scn Range at next checkpoint */
KCCFERMF 0x0100 /* Renamed Missing File */
KCCFEGOI 0x0200 /* Generate Off-line Immediate marker */
KCCFECUV 0x0400 /* Checkpoint by instance where UnVerified */
KCCFEDRP 0x0800 /* offline to be DRoPped */
KCCFEODC 0x2000 /* Online at Dictionary Check if read/only tblspc */
KCCFEDBR 0x4000 /* entry created by DBMS_BACKUP_RESTORE */
KCCFETRO 0x8000 /* Transition Read Only */define KCCFEWCC 0x1000 /*
tablespace 0, index=1 krfil=1 prev_file=0
unrecoverable scn: 0x0000.00000000 01/01/1988 00:00:00
Checkpoint cnt:254 scn: 0x0008.2fc2fcfc 05/29/2012 08:38:57
Stop scn: 0xffff.ffffffff 05/28/2012 22:12:14
==> ^^^Stop=ffff implies OPEN,ABORT or WARM
Creation Checkpointed at scn: 0x0000.00000007 09/05/2010 05:49:14
thread:0 rba:(0.0.0)
enabled threads: 00000000 00000000 00000000 00000000 00000000 00000000 ...
Offline scn: 0x0000.000edcac prev_range: 0
Online Checkpointed at scn: 0x0000.000edcad 04/19/2012 12:47:48
thread:1 rba:(0x1.2.0)
enabled threads: 01000000 00000000 00000000 00000000 00000000 00000000
Hot Backup end marker scn: 0x0000.00000000
aux_file is NOT DEFINED
Plugged readony: NO
Plugin scnscn: 0x0000.00000000
Plugin resetlogs scn/timescn: 0x0000.00000000 01/01/1988 00:00:00
Foreign creation scn/timescn: 0x0000.00000000 01/01/1988 00:00:00
Foreign checkpoint scn/timescn: 0x0000.00000000 01/01/1988 00:00:00
Online move state: 0
* V10 STYLE FILE HEADER: ------------Here down is from the file header------------------
Compatibility Vsn = 186647040=0xb200200
^^^ Oldest Usable Oracle Vers
Db ID=4057569686=0xf1d99996, Db Name='S112W6'
Activation ID=0=0x0
Control Seq=4800=0x12c0, File size=129280=0x1f900
==> ^^^ Should be <= to Seq# in control file. File Number=1, Blksiz=2048, File Type=3 ==> ^^^^^^^^^^^(kcc4.h)
KCCTYPCF 1 /* control file */
KCCTYPRL 2 /* redo log file */
KCCTYPDF 3 /* vanilla db file */
KCCTYPBC 4 /* backup control file */
KCCTYPBP 5 /* backup piece */
KCCTYPTF 6 /* temporary db file */
KCCTYPCT 7 /* change tracking file */
KCCTYPFL 8 /* flashback database log file */
KCCTYPAL 9 /* archivelog file */
KCCTYPDC 10 /* datafile copy file */
KCCTYPIR 11 /* incompletely restored db file */
KCCTYPEL 12 /* foreign archivelog file */
KCCTYPLB 13 /* LOB */
Tablespace #0 - SYSTEM rel_fn:1
Creation at scn: 0x0000.00000007 09/05/2010 05:49:14
Backup taken at scn: 0x0000.00000000 01/01/1988 00:00:00 thread:0
==>^^^^^ Last ALTER TABLESPACE BEGIN BACKUP
reset logs count:0x2e8d5a74 scn: 0x0000.000edcad
==>^^^^^ Last ALTER DATABASE OPEN RESETLOGS
prev reset logs count:0x2b920186 scn: 0x0000.000ed5f2
recovered at 05/14/2012 07:41:07
status:0x2004 root dba:0x00400208 chkpt cnt: 254 ctl cnt:253
==>^^^^^ (kcv3.h)
KCVFHHBP 0x01 /* hotbackup-in-progress on file (fuzzy file) */
KCVFHOFZ 0x04 /* Online FuZzy because it was online and db open */
KCVFHMFZ 0x10 /* Media recovery FuZzy - file in media recovery */
KCVFHAFZ 0x40 /* Absolutely FuZzy - fuzzyness from file scan */
KCVFH_FUZZY (KCVFHHBP|KCVFHOFZ|KCVFHMFZ|KCVFHAFZ|KCVFHPCP|KCVFHSBY)
KCVFH_OOFUZZY (KCVFHHBP|KCVFHMFZ|KCVFHAFZ|KCVFHPCP|KCVFHSBY)
KCVFH_NMFUZZY (KCVFH_FUZZY^KCVFHMFZ^KCVFHSBY) /* non-MR fuzzy */
KCVFHBCP 0x100 /* Bad Checkpoint - no enabled thread bitvec */
KCVFHFMH 0x200 /* Freshly Munged Header. resetlogs not finished */
KCVFHXCH 0x400 /* eXternally CacHed by operating system */
KCVFHZBA 0x800 /* Zeroed Blocks Allowed */
KCVFHPCP 0x1000 /* Proxy Copy in Progress */
KCVFHRBS 0x2000 /* does kcvfhrdb point to bootstrap$ ? */
KCVFHSBY 0x4000 /* media rcv fuzzy due to standby apply */
KCVFHL0C 0x8000 /* Incremental level 0 copy */
begin-hot-backup file size: 0
Checkpointed at scn: 0x0008.2fc2fcfc 05/29/2012 08:38:57
==>^^^^^ Last Datafile checkpoint & its REDO address.
thread:1 rba:(0x2e.34cb.10)
enabled threads: 01000000 00000000 00000000 00000000 00000000 00000000
==>^^^^^^ Threads of redo - thread 1 in use here
External cache id: 0x0 0x0 0x0 0x0
Absolute fuzzy scn: 0x0000.00000000
Recovery fuzzy scn: 0x0000.00000000 01/01/1988 00:00:00
Terminal Recovery Stamp 01/01/1988 00:00:00
Platform Information: Creation Platform ID: 13
Current Platform ID: 13 Last Platform ID: 13
==> ^^^^^^^^^ Check whether datafile has been transported from another platform
(splatform.h)
1 Solaris 32-bit
2 Solaris 64-bit
3 HP-UX (64-bit)
4 HP-UX IA (64-bit)
5 HP Tru64 UNIX
6 AIX-Based Sysetms (64-bit)
7 Microsoft Windows IA (32-bit)
8 Microsoft Windows IA (64-bit)
9 IBM zSeries Based Linux
10 Linux IA (32-bit)
11 Linux IA (64-bit)
12 Microsoft Windows x86 64-bit)
13 Linux x86 64-bit
14 IBM z/OS
15 HP Open VMs
16 Apple Mac OS
17 Solaris Operating System (x86)
18 IBM Power Based Linux
19 HP IA Open VMS
20 Solaris Operating System (x86-64)
21 Apple Mac OS (x86-64)

在数据文件头中的任何模糊位意味着,这个数据文件包含了SCN大于检查点的SCN的块。下面有4类型的模糊位存在于数据文件头。

1.在线 模糊(online fuzzy)
这个位被设置当数据库文件在正常数据库打开时。其被设置是因为DBWR可以写块从SGA到数据文件。这样会导致SCN可能在某些场合高于检查点SCN。其会在下面场景清理:
–数据文件关闭
–热备 fuzzy设置
–结束灾难恢复或结束结束恢复达到时
2.Hotbackup-Fuzzy

当执行alter tablespace begin backup命令的时候被设置。数据库文件头将被冻结并且块中包含SCN高于检查点SCN
当下面场景时清理:
–alter tablespace end backup或
Alter database end backup或
Alter database datafile 发布 end backup。结束灾难恢复或结束结束恢复达到时
3.介质恢复-Fuzzy

这个位在每个文件经历恢复开始恢复时被设置,并且其表明随着介质恢复进行,文件将包含当前头检查点后来的变更。
一般情况下,介质恢复模糊位可以在介质恢复检查点推荐到数据文件头时清理。
它们会在介质恢复会话成功完成或取消时被清理。

4.绝对模糊

当数据库是open状态,并且使用RMAN进行备份时,块发生变化时,绝对模糊位和绝对模糊SCN会被设置(热备)。在其他情况下的备份不会设置绝对模糊。
在文件头设置绝对模糊位和绝对模糊SCN

让RMAN在线备份进程从数据文件读取每个块时。它们从块缓存的头部获取到SCN,和当前绝对模糊SCN对比,这个SCN将被在文件头结构初始化设置为0,如果块的SCN更大,那么将拷贝块的SCN来作为文件头的绝对SCN。

这样的话,到文件结束时,这个绝对模糊SCN在文件头结构中包含的是整个数据文件块中的最高的SCN。

如果绝对模糊SCN高于数据文件的检查点SCN,那么其将维持绝对模糊SCN并且设置绝对模糊位。否则将简单的清理绝对模糊SCN,因为文件不需要应用redo来保证一致性。

所有的事情都由RMAN在目标实例上在通道中完成。

清理绝对模糊SCN

在恢复时,检查点将在日志边界处和结束介质恢复标记处发生。

在这个情况下,如果绝对模糊位设置了,并且如果检查点SCN大于或等于绝对模糊SCN,那么其将清理绝对模糊SCN并且清理绝对模糊位。在数据文件头中的绝对模糊SCN将被设置为0

Tom只是离职和去休息一段时间,人家还有写Oracle 12cR2新书的计划呢 Tom Kyte:Time-out and Thanks

Time-out and Thanks

再见和感谢

Tom Kyte

我们的技术专家用一些时间分享历史。

 

作为一名职员,我已经在Oracle度过了22年的职业生涯,使用Oracle数据库的时间已达29年。我人生另一个重要里程碑,是在美国联合航空公司的飞行长度达到了200万英里(而在走过的里程中这只是一小部分,因为我的旅行包括了多家航空公司)。此外,我最近又达到了 “神奇”时代的里程碑之一。

 

随着里程碑的增加,是时候做些变化了。我会从2015年八月底开始休一个长假,期限未知。

 

我其实有一些短期计划。这些不包括超过一半的用餐时间在餐馆中进行,半年多都睡在酒店,和一年飞行250,000多英里(在一年中,超过10个工作周我是在35,000英尺的高空)。这个计划包括写一些书,我一直打算写的书,当然是基于Oracle技术。希望你会在2016年中期至后期某个时候开始看到成果,主题可能包括Oracle数据库12c的第2版(Oracle数据库的下一个版本)的新功能,分析函数,你想知道的关于binds的一切,解释说明计划,也许更多。时间会说明一切。从我的短期计划回头看我过去的成果,在IT界过去的30年无疑是有趣的。我见过许多的变化,一些是变得更好。有时,事物变化越多,它们就越来越相似。我知道这很俗套,但也很有道理!

 

例如,我首先学会了使用PL / I语言– IBM高级,大型机编程语言–进行编程。它有点像Pascal,有点像COBOL,有点像C,而且可能仍然是我用过最酷的过程语言。在上世纪80年代我会用ISPF(交互式系统生产设施)编写屏幕,屏幕将显示在一个“哑终端”,用户在字段间tab填写​​数据。一旦屏幕“满”了,用户就按键盘上的F8将数据发送到TPM(事务处理监视器)如CICS(客户信息控制系统)或Tuxedo。然后,该TPM将使用少量连接到数据库,请求处理事务。一旦交换完成,在TPM运行的代码将决定送回什么,下一个画面显示什么。

 

这与今天的“三层”架构相比肯定不够灵活,但是非常相似,极其相似。而且它在三十年前就有了!不仅如此,在LPAR(逻辑分区),即虚拟机运行的大型机程序几十年前也有了。还有,我经常使用一个“数据库”叫做VSAM(虚拟存储访问方法),使用索引的VSAM文件与使用NoSQL的数据库也非常类似。

 

是的,在上世纪80年代我就在使用NoSQL数据库在虚拟机中操作三层应用服务器程序!技术只是经历了三十年重新回到这里。名称变了,语言已经变了,硬件真的变了,但许多的基础是当时的,在今天仍然是这样。

 

在PL / I后我学的第二个语言是SQL。我开始用SQL编程,在一个曾经叫做SQL / DS,现在称为DB2的数据库。我学会了IBM大型机的SQL,使用VM / CMS作为操作系统,我在PL / I中编写嵌入式SQL。 在SQL / DS后的第二个数据库,其实是Oracle数据库。我在IBM AT计算机使用Oracle数据库版本5.1.5c,这个计算机有286芯片组和高达1MB的内存。不管你信不信,那时有许多运行Oracle数据库,Oracle Forms和Oracle报告,要购买Oracle数据库也很容易。我从一本杂志的一页广告上,提供包括Oracle数据库,Oracle窗体,Oracle报表,甚至是SQL *网络,只用$ 199就买下了所有!那时候在广告中Oracle较劲的不是IBM公司;不是微软;不是Informix,甚至Sybase。而是Ashton-Tate的dBASE!从那以后,情况真的变了。

 

在那之后,我编程学了一系列的语言:Rexx,EXEC 2,JCL,Ada,C,C ++,PL / SQL,T-SQL,各种UNIX脚本语言等等。

 

[Read more…]

hadoop大数据教程 hadoop 集群安装实验

1.实验环境

虚拟机环境 VMBOX 5.0 ubuntu 15

java 1.80 hadoop 2.7.1

之前安装好的单机hadoop 虚拟机 *5

设置好各个主机的ip地址和主机名(/etc/hosts)

各个节点分布如下:

10.0.0.22                   dbdao  #NameNode

10.0.0.23             dbdao2      #ResourceManager

10.0.0.24         dbdao3       # web app proxy and MR Jobhistory server

10.0.0.25            dbdao4  #DataNode

10.0.0.26            dbdao5  #DataNode

10.0.0.27          dbdao6  #DataNode

 

 

 

2.先决条件:

  • 安装JAVA
  • 从apache镜像上下载稳定的hadoop版本

请参考单机安装hadoop(https://www.askmac.cn/archives/hadoop-single-install.htm)

 

 

3.安装:

 

本次试验总共是6节点的hadoop集群:

将NameNode和resource Mangager 分不同2个节点安装。DataNode为3台。还有一个节点上部署web app proxy 和 MR Jobhistory server

注意:如果虚拟机不够的话,可以将NameNode 和resourceMangager放在一起,本身也作为DataNode,这样最少需要2台虚拟机。

安装用户使用dbdao 用户:

以下操作除了配置/etc/hosts和/etc/profile。以及传递着2个文件需要sudo外,其他均使用dbdao用户操作。

useradd dbdao

su – dbdao

 

[Read more…]

【MySQL学生手册】mysql客户端程序使用

本文地址:https://www.askmac.cn/archives/mysql-client-prog-using.html

mysql是一种用于执行查询获取结果等通用目的的客户端程序。它可以进行交互式使用,也可以通过读取文件中的查询来批量执行命令。

 

4.3.1 mysql交互式使用

 

mysql客户端程序使你能将查询发送到MySQL Server并接收到查询结果。它可以进行交互式使用,也可以通过以批量模式读取文件中的查询命令:

  • 交互模式一般对于日常的使用,一次性查询,或测试查询工作等。
  • 批量模式则对运行已经预先存放于一个文件中的查询有帮助。它对于很难进行手工录入的一系列复杂查询的执行特别方便。在进行无用户干预的计划任务调度时,使用批量模式可以进行自动执行。

 

MySQL命令如版本查询,在下图中命令在mysql客户端中执行,它也可以作为mysql启动时命令的一部分一起在shell命令窗口中执行:

你可以直接在shell命令行中使用 -e或 --execute项:

除非 -e之后所要执行的命令有多个,否则不需要使用命令终止符。如果有多个命令,你需要使用分号对语句进行分隔。

[Read more…]

Oracle认证考试预约操作流程简介

 

Oracle认证考试预约操作流程简介

1. 创建Pearson Vue账号并登录http://www.pearson.com/oracle

 

[Read more…]

Oracle数据库监控和使用建议程序

Oracle数据库监控和使用建议程序

 

10.1 目标

通过本节,您应该能:

  • 描述Oracle自我监控架构
  • 使用性能建议程序来最优化数据库性能

 

10.2 主动式的数据库监控

您可以使用Oracle Enterprise Manager (EM)主动监控数据库的状态性能。透过主动监视这些测量结果,例如数据库所花费的CPU时间或是每天、没小时的磁盘空间使用方式,您就可以采取必要的更正步骤,以避免将来发生性能问题。

主动式监控包括下列工作:

  • 监视一般数据库状态与工作负载
  • 监视性能
  • 使用警示

 

Oracle数据库具有可自行诊断的程序引擎,称为【自动数据诊断监视器(Automatic Database Diagnostic Monitor, ADDM)】。ADDM让Oracle数据库能够诊断自己的性能,并且判断要如何解决找到的问题。

 

10.3 监控一般数据库状态与工作负载

您可以使用Enterprise Manager的【数据库(Database)】首页来监控数据库的状况。这个页面会提供一般数据库状态信息,以及报告有助于监控数据库状态与工作负载的信息。这些信息会定期更新。

[Read more…]

沪ICP备14014813号-2

沪公网安备 31010802001379号