<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>happydba</title>
	<atom:link href="http://www.orablogger.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.orablogger.com</link>
	<description>Enjoy your work, and your life!</description>
	<lastBuildDate>Fri, 02 Jul 2010 08:04:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Oracle10GR2 中的RESTORE POINT</title>
		<link>http://www.orablogger.com/?p=463</link>
		<comments>http://www.orablogger.com/?p=463#comments</comments>
		<pubDate>Fri, 02 Jul 2010 08:04:41 +0000</pubDate>
		<dc:creator>happydba</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[备份与恢复]]></category>
		<category><![CDATA[RESTORE POINT]]></category>

		<guid isPermaLink="false">http://www.orablogger.com/?p=463</guid>
		<description><![CDATA[RESTORE POINT 还原点是10GR2新增加的一个功能,它是建立在数据库层面上的, 跟savepoint不同. 必须在数据库处于ARCHIVELOG模式下才可以使用,主题思想是在数据库的某个时间点创建一个restore point,在随后的某个时间点可以将表或数据库falshback 到这个restore point.那么能否真正的完成flashback,依赖于创建的restore point类型和flashback要操作的对象.flashback database需要SYSDBA权限,flashback table需要 FLASHBACK ANY TABLE的权限. guarantee restore point for flashback database guarantee restore point必须在数据库处于flashback on 的状态下，才可以定义的一中restore point,它的主题思想是保证数据库能够准确完整的flashback 到定义的 restore point. 操作依赖于flashback log和archivelog, 如果定义了guarantee restore point,那么flashback logs将不受db_recovery_retention_target参数的限制,oracle不会删除flashback log,只要flashback arae有足够的磁盘空间,oracle就会保存足够的flashback logs,满足flashback database to restore point. 如果数据库没有处于flashback on,那么定义一个guarantee restore point必须在database mount状态下进行.其实这个也可以理解,oracle根据定义的restore point,可以个保证database open后的归档可以不被删除.但有一点必须明确的是,guarantee restore point是针对flashback database而言的,不对flashback table起作用，为什么呢, 因为flashback table依赖于undo,如果在guarantee时间范围内,undo过期了, [...]]]></description>
			<content:encoded><![CDATA[<p>    RESTORE POINT</p>
<p>    还原点是10GR2新增加的一个功能,它是建立在数据库层面上的, 跟savepoint不同. 必须在数据库处于ARCHIVELOG模式下才可以使用,主题思想是在数据库的某个时间点创建一个restore point,在随后的某个时间点可以将表或数据库falshback 到这个restore point.那么能否真正的完成flashback,依赖于创建的restore point类型和flashback要操作的对象.flashback database需要SYSDBA权限,flashback table需要 FLASHBACK ANY TABLE的权限.</p>
<p>    guarantee restore point for flashback database  </p>
<p>    guarantee restore point必须在数据库处于flashback on 的状态下，才可以定义的一中restore point,它的主题思想是保证数据库能够准确完整的flashback 到定义的 restore point. 操作依赖于flashback log和archivelog, 如果定义了guarantee restore point,那么flashback logs将不受db_recovery_retention_target参数的限制,oracle不会删除flashback log,只要flashback arae有足够的磁盘空间,oracle就会保存足够的flashback logs,满足flashback database to restore point. </p>
<p>    如果数据库没有处于flashback on,那么定义一个guarantee restore point必须在database mount状态下进行.其实这个也可以理解,oracle根据定义的restore point,可以个保证database open后的归档可以不被删除.但有一点必须明确的是,guarantee restore point是针对flashback database而言的,不对flashback table起作用，为什么呢, 因为flashback table依赖于undo,如果在guarantee时间范围内,undo过期了, 那么flatable table 还是不能还原到定义的guarantee restore point.</p>
<p>    Normal restore point </p>
<p>    普通的restore point 非常简单, 如果要flashback database,那么数据库必须处于flashback on 状态,但这个时候不一定可以flashback database到定义的restore point,oracle会根据db_recovery_retention_target自动维护创建的restore ponit和flashback logs,如果超过db_recovery_retention_target 定义的restore point,oracle会自动删除 , 无论是flashback table或者flashback database都不能完成.</p>
<p>    简单的流水帐记录,为了试自己更加明确restore point的原理.</p>
<p>    创建一个guarantee restore point</p>
<p>SQL> create restore point a guarantee flashback database;<br />
    创建一个普通的restore point</p>
<p>SQL> create restore point b;<br />
    flashback dtaase to restore point:(必须在guarantee restore point for flashback database的情况)</p>
<p>SQL> startup mount<br />
  ORACLE instance started.</p>
<p>Total System Global Area  209715200 bytes</p>
<p>Fixed Size                  1266632 bytes</p>
<p>Variable Size             134220856 bytes</p>
<p>Database Buffers           71303168 bytes</p>
<p>Redo Buffers                2924544 bytes</p>
<p>Database mounted.</p>
<p>SQL> flashback database to restore point a;</p>
<p>Flashback complete.</p>
<p>SQL> alter database open resetlogs;</p>
<p>Database altered.</p>
<p>    falshback table</p>
<p>SQL> alter table test_histogram enable row movement;</p>
<p>Table altered.</p>
<p>SQL> flashback table test_histogram to restore point a;</p>
<p>Flashback complete.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.orablogger.com/?feed=rss2&amp;p=463</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>man vmstat on HP-UX</title>
		<link>http://www.orablogger.com/?p=461</link>
		<comments>http://www.orablogger.com/?p=461#comments</comments>
		<pubDate>Tue, 22 Jun 2010 14:25:35 +0000</pubDate>
		<dc:creator>happydba</dc:creator>
				<category><![CDATA[hp-ux]]></category>
		<category><![CDATA[vmstat]]></category>

		<guid isPermaLink="false">http://www.orablogger.com/?p=461</guid>
		<description><![CDATA[   vmstat(1)                                                         vmstat(1)  NAME       vmstat &#8211; report virtual memory statistics  SYNOPSIS       vmstat [-dnS] [interval [count]]       vmstat -f &#124; -s &#124; -z  DESCRIPTION       The vmstat command reports certain statistics kept about process,       virtual memory, trap, and CPU activity.  It also can clear the       accumulators in the kernel sum structure.]]></description>
			<content:encoded><![CDATA[<p> </p>
<p> vmstat(1)                                                         vmstat(1)</p>
<p> NAME</p>
<p>      vmstat &#8211; report virtual memory statistics</p>
<p> SYNOPSIS</p>
<p>      vmstat [-dnS] [interval [count]]</p>
<p>      vmstat -f | -s | -z</p>
<p> DESCRIPTION</p>
<p>      The vmstat command reports certain statistics kept about process,</p>
<p>      virtual memory, trap, and CPU activity.  It also can clear the</p>
<p>      accumulators in the kernel sum structure.<br />
<!--more><br />
    Options</p>
<p>      vmstat recognizes the following options:</p>
<p>           -d        Report disk transfer information as a separate section,</p>
<p>                     in the form of transfers per second. <strong>(</strong><strong>增加显示每个磁盘的每秒传输率)</strong></p>
<p>           -n        Provide an output format that is more easily viewed on</p>
<p>                     an 80-column display device.  This format separates the</p>
<p>                     default output into two groups: virtual memory</p>
<p>                     information and CPU data.  Each group is displayed as a</p>
<p>                     separate line of output.  On multiprocessor systems,</p>
<p>                     this display format also provides CPU utilization on a</p>
<p>                     per CPU basis for the active processors.</p>
<p>【<strong> -n </strong><strong>以80</strong><strong>列显示模式，分两部分显示：vm</strong><strong>信息和每个cpu</strong><strong>数据，如下：</strong></p>
<p>&gt;vmstat -n 3 2                                                                                                                                           </p>
<p><strong>VM</strong></p>
<p>       memory                     page                          faults</p>
<p>     avm    free   re   at    pi   po    fr   de    sr     in     sy    cs </p>
<p> 3178506  994304    0    0     3    0     0    0     0   6294  56247  2062</p>
<p><strong>CPU</strong></p>
<p>    cpu          procs</p>
<p> us sy id    r     b     w</p>
<p>  4  1 95    3     0     0</p>
<p>  4  1 95</p>
<p>  4  2 95</p>
<p>  4  2 95</p>
<p>】</p>
<p>           -S        Report the number of processes swapped in and out (si</p>
<p>                     and so) instead of page reclaims and address</p>
<p>                     translation faults (re and at).</p>
<p>【- <strong>S </strong><strong>报告si/so</strong><strong>信息，而不是re/at</strong><strong>信息</strong></p>
<p>&gt;vmstat -S</p>
<p>         procs           memory                   page                              faults       cpu</p>
<p>    r     b     w      avm    free   si   so    pi   po    fr   de    sr     in     sy    cs  us sy id</p>
<p>1     0     0  3159434  1005232    0    0     3    0     0    0     0   6294  56249  2063   2  1 97</p>
<p>】</p>
<p>           interval  Display successive lines which are summaries over the</p>
<p>                     last interval seconds.  The first line reported is for</p>
<p>                     the time since a reboot and each subsequent line is for</p>
<p>                     the last interval only.  If interval is zero, the</p>
<p>                     output is displayed once only.  If the -d option is</p>
<p>                     specified, the column headers are repeated.  If -d is</p>
<p>                     omitted, the column headers are not repeated.</p>
<p>                     The command vmstat 5 prints what the system is doing</p>
<p>                     every five seconds.  This is a good choice of printing</p>
<p>                     interval since this is how often some of the statistics</p>
<p>                     are sampled in the system; others vary every second.</p>
<p>           count     Repeat the summary statistics count times.  If count is</p>
<p>                     omitted or zero, the output is repeated until an</p>
<p>                     interrupt or quit signal is received.  From the</p>
<p>                     terminal, these are commonly ^C and ^\, respectively</p>
<p>                     (see stty(1)).</p>
<p>           -f        Report on the number of forks and the number of pages</p>
<p>                     of virtual memory involved since boot-up.</p>
<p>【&gt;vmstat -f</p>
<p>68092569 forks, 4170099806676 pages, average=  61241.63 】</p>
<p>           -s        Print the total number of several kinds of paging-</p>
<p>                     related events from the kernel sum structure that have</p>
<p>                     occurred since boot-up or since vmstat was last</p>
<p>                     executed with the -z option.</p>
<p>【&gt;vmstat <strong>–s </strong><strong>自系统启动以来的累积paging</strong><strong>信息，-z</strong><strong>是自上次vmstat</strong><strong>执行以来的累积信息</strong></p>
<p>0 swap ins</p>
<p>0 swap outs</p>
<p>0 pages swapped in</p>
<p>0 pages swapped out</p>
<p>6274277458 total address trans. faults taken</p>
<p>1829303083 page ins</p>
<p>334 page outs</p>
<p>29737060 pages paged in</p>
<p>231 pages paged out</p>
<p>4607410940 reclaims from free list</p>
<p>0 total page reclaims</p>
<p>98789 intransit blocking page faults</p>
<p>2838038078424 zero fill pages created</p>
<p>9126773909 zero fill page faults</p>
<p>82503219875 executable fill pages created</p>
<p>15320876 executable fill page faults</p>
<p>0 swap text pages found in free list</p>
<p>0 inode text pages found in free list</p>
<p>167 revolutions of the clock hand</p>
<p>4347065 pages scanned for page out</p>
<p>2708823 pages freed by the clock daemon</p>
<p>17034954764 cpu context switches</p>
<p>53631522710 device interrupts</p>
<p>8334721720 traps</p>
<p>464471608504 system calls</p>
<p>654638208 Page Select Size Successes for Page size 4K</p>
<p>722151587 Page Select Size Successes for Page size 8K</p>
<p>1500141225 Page Select Size Successes for Page size 16K</p>
<p>292213775 Page Select Size Successes for Page size 64K</p>
<p>8210386 Page Select Size Successes for Page size 256K</p>
<p>5504193 Page Select Size Successes for Page size 1M</p>
<p>1168360 Page Select Size Successes for Page size 4M</p>
<p>761 Page Select Size Successes for Page size 16M</p>
<p>135 Page Select Size Successes for Page size 64M</p>
<p>1056 Page Select Size Successes for Page size 128M</p>
<p>654638208 Page Select Size Failures for Page size 8K</p>
<p>1215788126 Page Select Size Failures for Page size 16K</p>
<p>119694774 Page Select Size Failures for Page size 64K</p>
<p>19010270 Page Select Size Failures for Page size 256K</p>
<p>6761292 Page Select Size Failures for Page size 1M</p>
<p>5947041 Page Select Size Failures for Page size 4M</p>
<p>2984011 Page Select Size Failures for Page size 16M</p>
<p>2966867 Page Select Size Failures for Page size 64M</p>
<p>5934286 Page Select Size Failures for Page size 128M</p>
<p>1666451549 Page Allocate Successes for Page size 4K</p>
<p>626532779 Page Allocate Successes for Page size 8K</p>
<p>1352517747 Page Allocate Successes for Page size 16K</p>
<p>867564268 Page Allocate Successes for Page size 64K</p>
<p>8130004 Page Allocate Successes for Page size 256K</p>
<p>6106471 Page Allocate Successes for Page size 1M</p>
<p>2027256 Page Allocate Successes for Page size 4M</p>
<p>594 Page Allocate Successes for Page size 16M</p>
<p>1484 Page Allocate Successes for Page size 64M</p>
<p>480 Page Allocate Successes for Page size 128M</p>
<p>2761002041 Page Allocate Failures for Page size 4K</p>
<p>2264697395 Page Allocate Failures for Page size 8K</p>
<p>6114689303 Page Allocate Failures for Page size 16K</p>
<p>2149876393 Page Allocate Failures for Page size 64K</p>
<p>64214019 Page Allocate Failures for Page size 256K</p>
<p>86494940 Page Allocate Failures for Page size 1M</p>
<p>34049285 Page Allocate Failures for Page size 4M</p>
<p>354294 Page Allocate Failures for Page size 16M</p>
<p>6991 Page Allocate Failures for Page size 64M</p>
<p>78130 Page Allocate Failures for Page size 128M</p>
<p>10885603 Page Demotions for Page size 8K</p>
<p>3901281 Page Demotions for Page size 16K</p>
<p>599439 Page Demotions for Page size 64K</p>
<p>3739984 Page Demotions for Page size 256K</p>
<p>324867 Page Demotions for Page size 1M</p>
<p>1465 Page Demotions for Page size 4M</p>
<p>6 Page Demotions for Page size 16M</p>
<p>1 Page Demotions for Page size 64M</p>
<p>】</p>
<p>           -z        Clear all accumulators in the kernel sum structure.</p>
<p>                     This option is restricted to the super user.</p>
<p>      If none of these options is given, vmstat displays a one-line summary</p>
<p>      of the virtual memory activity since boot-up or since the -z option</p>
<p>      was last executed.</p>
<p>【<strong>只显示一行汇总信息</strong>】</p>
<p>    Column Descriptions</p>
<p>      The column headings and the meaning of each column are:</p>
<p>           procs       Information about numbers of processes in various</p>
<p>                       states.</p>
<p>                            r      In run queue  （在运行队列中）</p>
<p>                            b      Blocked for resources (I/O, paging, etc.) （<strong>因资源阻塞中，如等待</strong><strong>io</strong><strong>或者paging</strong><strong>等）</strong></p>
<p>                            w      Runnable or short sleeper (&lt; 20 secs) but</p>
<p>                                   swapped <strong>（可运行的或者sleep</strong><strong>小于20</strong><strong>秒的，但是被swap</strong><strong>的）</strong></p>
<p>           memory      Information about the usage of virtual and real</p>
<p>                       memory.  Virtual pages are considered active if they</p>
<p>                       belong to processes that are running or have run in</p>
<p>                       the last 20 seconds.</p>
<p>（包括虚拟内存和真实内存的使用情况，虚拟page考虑运行中的进程或者在最后20秒内运行的进程使用情况）</p>
<p>                            avm     Active virtual pages <strong>（活动的虚拟内存页）</strong></p>
<p>                            free    Size of the free list <strong>（free list</strong><strong>的size</strong><strong>）</strong></p>
<p>           page        Information about page faults and paging activity.</p>
<p>                       These are averaged each five seconds, and given in</p>
<p>                       units per second. <strong>（五秒内的平均值，每秒给出）</strong></p>
<p>                            re      Page reclaims (without -S)</p>
<p>                            at      Address translation faults (without -S)</p>
<p>                            si      <strong>Processes</strong> swapped in (with -S)  <strong>（swap-in</strong><strong>的进程数）</strong></p>
<p>                            so      Processes swapped out (with -S) <strong>（swap-out</strong><strong>的进程数）</strong></p>
<p>                            pi      Pages paged in   <strong>（换入的页数）</strong></p>
<p>                            po      Pages paged out  <strong>（换出的页数）</strong></p>
<p>                            fr      Pages freed per second <strong>（每秒释放的页数）</strong></p>
<p>                            de      Anticipated short term memory shortfall  （预期的短期内存差额）</p>
<p>                            sr      Pages scanned by clock algorithm, per <strong>（每秒scan</strong><strong>的页数）</strong></p>
<p>                                    second</p>
<p>           faults      Trap/interrupt rate averages per second over last 5</p>
<p>                       seconds.</p>
<p>                            in      Device interrupts per second (nonclock)</p>
<p>                            sy      System calls per second</p>
<p>                            cs      CPU context switch rate (switches/sec)</p>
<p>           cpu         Breakdown of percentage usage of CPU time for the</p>
<p>                       active processors</p>
<p>                            us      User time for normal and low priority</p>
<p>                                    processes</p>
<p>                            sy      System time</p>
<p>                            id      CPU idle</p>
<p> EXAMPLES</p>
<p>      The following examples show the output for various command options.</p>
<p>      For formatting purposes, some leading blanks have been deleted.</p>
<p>      1.   Display the default output.</p>
<p>      vmstat</p>
<p>                procs           memory                   page</p>
<p>                       faults       cpu</p>
<p>           r     b     w      avm    free   re   at    pi   po    fr   de    sr</p>
<p>                in     sy    cs  us sy id</p>
<p>           0     0     0     1158     511    0    0     0    0     0    0     0</p>
<p>               111     18     7   0  0 100</p>
<p>      2.   Add the disk tranfer information to the default output.</p>
<p>      vmstat -d</p>
<p>                procs           memory                   page</p>
<p>                       faults       cpu</p>
<p>           r     b     w      avm    free   re   at    pi   po    fr   de    sr</p>
<p>                in     sy    cs  us sy id</p>
<p>           0     0     0     1158     511    0    0     0    0     0    0     0</p>
<p>               111     18     7   0  0 100</p>
<p>           Disk Transfers</p>
<p>             device    xfer/sec</p>
<p>             c0t6d0        0</p>
<p>             c0t1d0        0</p>
<p>             c0t3d0        0</p>
<p>             c0t5d0        0</p>
<p>      3.   Display the default output in 80-column format.</p>
<p>      vmstat -n</p>
<p>           VM</p>
<p>               memory                     page                          faults</p>
<p>             avm    free   re   at    pi   po    fr   de    sr     in     sy    cs</p>
<p>            1158     430    0    0     0    0     0    0     0    111     18     7</p>
<p>           CPU</p>
<p>               cpu          procs</p>
<p>            us sy id    r     b     w</p>
<p>             0  0 100    0     0     0</p>
<p>      4.   Replace the page reclaims and address translation faults with</p>
<p>           process swapping in the default output.</p>
<p>      vmstat -S</p>
<p>                procs           memory                   page</p>
<p>                       faults       cpu</p>
<p>           r     b     w      avm    free   si   so    pi   po    fr   de    sr</p>
<p>                in     sy    cs  us sy id</p>
<p>           0     0     0     1158     430    0    0     0    0     0    0     0</p>
<p>               111     18     7   0  0 100</p>
<p>      5.   Display the default output twice at five-second intervals.  Note</p>
<p>           that the headers are not repeated.</p>
<p>      vmstat 5 2</p>
<p>                procs           memory                   page</p>
<p>                       faults       cpu</p>
<p>           r     b     w      avm    free   re   at    pi   po    fr   de    sr</p>
<p>                in     sy    cs  us sy id</p>
<p>           0     0     0     1158     456    0    0     0    0     0    0     0</p>
<p>               111     18     7   0  0 100</p>
<p>           0     0     0     1221     436    5    0     5    0     0    0     0</p>
<p>               108     65    18   0  1 99</p>
<p>      6.   Display the default output twice in 80-column format at five-</p>
<p>           second intervals.  Note that the headers are not repeated.</p>
<p>      vmstat -n 5 2</p>
<p>           VM</p>
<p>              memory                     page                          faults</p>
<p>            avm    free   re   at    pi   po    fr   de    sr     in     sy    cs</p>
<p>           1221     436    0    0     0    0     0    0     0    111     18     7</p>
<p>           CPU</p>
<p>               cpu          procs</p>
<p>            us sy id    r     b     w</p>
<p>             0  0 100    0     0     0</p>
<p>           1221     435    2    0     2    0     0    0     0    109     35    17</p>
<p>             0  1 99    0     0     0</p>
<p>      7.   Display the default output and disk transfers twice in 80-column</p>
<p>           format at five-second intervals.  Note that the headers are</p>
<p>           repeated.</p>
<p>      vmstat -dn 5 2</p>
<p>           VM</p>
<p>              memory                     page                          faults</p>
<p>            avm    free   re   at    pi   po    fr   de    sr     in     sy    cs</p>
<p>           1221     435    0    0     0    0     0    0     0    111     18     7</p>
<p>           CPU</p>
<p>               cpu          procs</p>
<p>            us sy id    r     b     w</p>
<p>             0  0 100    0     0     0</p>
<p>           Disk Transfers</p>
<p>             device    xfer/sec</p>
<p>             c0t6d0        0</p>
<p>             c0t1d0        0</p>
<p>             c0t3d0        0</p>
<p>             c0t5d0        0</p>
<p>           VM</p>
<p>              memory                     page                          faults</p>
<p>            avm    free   re   at    pi   po    fr   de    sr     in     sy    cs</p>
<p>           1219     425    0    0     0    0     0    0     0    111     54    15</p>
<p>           CPU</p>
<p>               cpu          procs</p>
<p>            us sy id    r     b     w</p>
<p>             1  8 92    0     0     0</p>
<p>           Disk Transfers</p>
<p>             device    xfer/sec</p>
<p>             c0t6d0        0</p>
<p>             c0t1d0        0</p>
<p>             c0t3d0        0</p>
<p>             c0t5d0        0</p>
<p>      8.   Display the number of forks and pages of virtual memory since</p>
<p>           boot-up.</p>
<p>      vmstat -f</p>
<p>           24558 forks, 1471595 pages, average=  59.92</p>
<p>      9.   Display the counts of paging-related events.</p>
<p>      vmstat -s</p>
<p>           0 swap ins</p>
<p>           0 swap outs</p>
<p>           0 pages swapped in</p>
<p>           0 pages swapped out</p>
<p>           1344563 total address trans. faults taken</p>
<p>           542093 page ins</p>
<p>           2185 page outs</p>
<p>           602573 pages paged in</p>
<p>           4346 pages paged out</p>
<p>           482343 reclaims from free list</p>
<p>           504621 total page reclaims</p>
<p>           124 intransit blocking page faults</p>
<p>           1460755 zero fill pages created</p>
<p>           404137 zero fill page faults</p>
<p>           366022 executable fill pages created</p>
<p>           71578 executable fill page faults</p>
<p>           0 swap text pages found in free list</p>
<p>           162043 inode text pages found in free list</p>
<p>           196 revolutions of the clock hand</p>
<p>           45732 pages scanned for page out</p>
<p>           4859 pages freed by the clock daemon</p>
<p>           36680636 cpu context switches</p>
<p>           1497746186 device interrupts</p>
<p>           1835626 traps</p>
<p>           87434493 system calls</p>
<p> WARNINGS</p>
<p>      Users of vmstat must not rely on the exact field widths and spacing of</p>
<p>      its output, as these will vary depending on the system, the release of</p>
<p>      HP-UX, and the data to be displayed.</p>
<p> AUTHOR</p>
<p>      vmstat was developed by the University of California, Berkeley and HP.</p>
<p> SEE ALSO</p>
<p>      iostat(1).</p>
<p> Hewlett-Packard Company            &#8211; 6 -       HP-UX 11i Version 3 Feb 2007</p>
]]></content:encoded>
			<wfw:commentRss>http://www.orablogger.com/?feed=rss2&amp;p=461</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>man vmstat on AIX</title>
		<link>http://www.orablogger.com/?p=457</link>
		<comments>http://www.orablogger.com/?p=457#comments</comments>
		<pubDate>Tue, 22 Jun 2010 14:16:41 +0000</pubDate>
		<dc:creator>happydba</dc:creator>
				<category><![CDATA[ibm aix]]></category>
		<category><![CDATA[aix]]></category>
		<category><![CDATA[vmstat]]></category>

		<guid isPermaLink="false">http://www.orablogger.com/?p=457</guid>
		<description><![CDATA[                                        Commands Reference, Volume 6, v &#8211; z vmstat Command Purpose        Reports virtual memory statistics. Syntax        vmstat [ -f ] [ -i ] [ -s  ] [ -I ] [ -t ] [ -v ] [ -w] [ -l ] [ PhysicalVolume ... ] [ Interval [ Count        ] ] Description [...]]]></description>
			<content:encoded><![CDATA[<p> </p>
<p>                                      Commands Reference, Volume 6, v &#8211; z</p>
<p>vmstat Command</p>
<p>Purpose</p>
<p>       Reports virtual memory statistics.</p>
<p>Syntax</p>
<p>       vmstat [ -f ] [ -i ] [ -s  ] [ -I ] [ -t ] [ -v ] [ -w] [ -l ] [ PhysicalVolume ... ] [ Interval [ Count</p>
<p>       ] ]</p>
<p>Description</p>
<p>       The vmstat command reports statistics about kernel threads, virtual memory, disks, traps and CPU</p>
<p>       activity. Reports generated by the vmstat command can be used to balance system load activity. These</p>
<p>       system-wide statistics (among all processors) are calculated as averages for values expressed as</p>
<p>       percentages, and as sums otherwise.<br />
<!--more><br />
       If the vmstat command is invoked without flags, the report contains a summary of the virtual memory</p>
<p>       activity since system startup. If the -f flag is specified, the vmstat command reports the number of</p>
<p>       forks since system startup. The PhysicalVolume parameter specifies the name of the physical volume.</p>
<p>       The Interval parameter specifies the amount of time in seconds between each report. If the Interval</p>
<p>       parameter is not specified, the vmstat command generates a single report that contains statistics for</p>
<p>       the time since system startup and then exits. The Count parameter can only be specified with the</p>
<p>       Interval parameter. If the Count parameter is specified, its value determines the number of reports</p>
<p>       generated and the number of seconds apart. If the Interval parameter is specified without the Count</p>
<p>       parameter, reports are continuously generated. A Count parameter of 0 is not allowed.</p>
<p>       AIX 4.3.3 and later contain enhancements to the method used to compute the percentage of CPU time spent</p>
<p>       waiting on disk I/O (wio time). The method used in AIX 4.3.2 and earlier versions of the operating</p>
<p>       system can, under certain circumstances, give an inflated view of wio time on SMPs.</p>
<p>       The method used in AIX 4.3.2 and earlier versions is as follows: At each clock interrupt on each</p>
<p>       processor (100 times a second per processor), a determination is made as to which of the four categories</p>
<p>       (usr/sys/wio/idle) to place the last 10 ms of time. If the CPU was busy in usr mode at the time of the</p>
<p>       clock interrupt, then usr gets the clock tick added into its category. If the CPU was busy in kernel</p>
<p>       mode at the time of the clock interrupt, then the sys category gets the tick. If the CPU was not busy, a</p>
<p>       check is made to see if any I/O to disk is in progress. If any disk I/O is in progress, the wio category</p>
<p>       is incremented. If no disk I/O is in progress and the CPU is not busy, the idle category gets the tick.</p>
<p>       The inflated view of wio time results from all idle CPUs being categorized as wio regardless of the</p>
<p>       number of threads waiting on I/O. For example, systems with just one thread doing I/O could report over</p>
<p>       90 percent wio time regardless of the number of CPUs it has. The wio time is reported by the commands</p>
<p>       sar (%wio), vmstat (wa) and iostat (% iowait).</p>
<p>       The method used in operating system AIX 4.3.3 and later is as follows: The change in operating system</p>
<p>       AIX 4.3.3 is to only mark an idle CPU as wio if an outstanding I/O was started on that CPU. This method</p>
<p>       can report much lower wio times when just a few threads are doing I/O and the system is otherwise idle.</p>
<p>       For example, a system with four CPUs and one thread doing I/O will report a maximum of 25 percent wio</p>
<p>       time. A system with 12 CPUs and one thread doing I/O will report a maximum of 8 percent wio time. NFS</p>
<p>       client reads/writes go through the VMM, and the time that biods spend in the VMM waiting for an I/O to</p>
<p>       complete is now reported as I/O wait time.</p>
<p>       The kernel maintains statistics for kernel threads, paging, and interrupt activity, which the vmstat</p>
<p>       command accesses through the use of the the perfstat kernel extension. The disk input/output statistics</p>
<p>       are maintained by device drivers. For disks, the average transfer rate is determined by using the active</p>
<p>       time and number of transfers information. The percent active time is computed from the amount of time</p>
<p>       the drive is busy during the report.</p>
<p>       Beginning with AIX 5.3, the vmstat command reports the number of physical processors consumed (pc), and</p>
<p>       the percentage of entitlement consumed (ec), in Micro-Partitioning environments. These metrics will only</p>
<p>       be displayed on Micro-Partitioning environments.</p>
<p>       Reports generated by the vmstat command contains the following column headings and their description:</p>
<p>       <strong>kthr: information about kernel thread states. (</strong><strong>内核线程状态)</strong></p>
<p>      <strong> r</strong></p>
<p>            Average number of runnable kernel threads over the sampling interval. <strong>Runnable refers to threads</strong></p>
<p><strong>            that are ready but waiting to run and to those threads already running.</strong><strong>（可运行的：准备好运行的和已经在运行的。）</strong></p>
<p>     <strong>  b</strong></p>
<p>            Average number of kernel threads placed in the VMM wait queue (awaiting resource, awaiting</p>
<p>            input/output) over the sampling interval.  <strong>（在vmm</strong><strong>等待队列中的）</strong></p>
<p>       Memory: information about the usage of virtual and real memory. Virtual pages are considered active if</p>
<p>       they have been accessed. A page is 4096 bytes.</p>
<p>       avm</p>
<p>            Active virtual pages. <strong>（活动的虚拟页数）</strong></p>
<p>       fre</p>
<p>            Size of the free list. Note: A large portion of real memory is utilized as a cache for file system</p>
<p>            data. It is not unusual for the size of the free list to remain small. <strong>（free list</strong><strong>的size</strong><strong>，由于文件系统的cache</strong><strong>使用，通常会使free list</strong><strong>保持较小的数值）</strong></p>
<p>       Page: information about page faults and paging activity. These are averaged over the interval and given</p>
<p>       in units per second.</p>
<p>       re</p>
<p>            Pager input/output list.</p>
<p>       pi</p>
<p>            Pages paged in from paging space.</p>
<p>       po</p>
<p>            Pages paged out to paging space.</p>
<p>       fr</p>
<p>            Pages freed (page replacement).</p>
<p>       sr</p>
<p>            Pages scanned by page-replacement algorithm.</p>
<p>       cy</p>
<p>            Clock cycles by page-replacement algorithm.</p>
<p>       Faults: trap and interrupt rate averages per second over the sampling interval.</p>
<p>       in</p>
<p>            Device interrupts.</p>
<p>       sy</p>
<p>            System calls.</p>
<p>       cs</p>
<p>            Kernel thread context switches.</p>
<p>       Cpu: breakdown of percentage usage of CPU time.</p>
<p>       us</p>
<p>            User time.</p>
<p>       sy</p>
<p>            System time.</p>
<p>       id</p>
<p>            CPU idle time.</p>
<p>       wa</p>
<p>            CPU idle time during which the system had outstanding disk/NFS I/O request(s). See detailed</p>
<p>            description above.</p>
<p>       <strong>pc</strong></p>
<p><strong> </strong></p>
<p><strong>            Number of physical processors consumed. Displayed only if the partition is running with shared</strong></p>
<p><strong>            processor.</strong></p>
<p>       ec</p>
<p>            The percentage of entitled capacity consumed. Displayed only if the partition is running with</p>
<p>            shared processor.</p>
<p>       Disk: Provides the number of transfers per second to the specified physical volumes that occurred in the</p>
<p>       sample interval. The PhysicalVolume parameter can be used to specify one to four names. Transfer</p>
<p>       statistics are given for each specified drive in the order specified. This count represents requests to</p>
<p>       the physical device. It does not imply an amount of data that was read or written. Several logical</p>
<p>       requests can be combined into one physical request. If the PhysicalVolume parameter is used, the</p>
<p>       physical volume names are printed at the beginning of command execution.</p>
<p>       If the -I flag is specified, an I/O oriented view is presented with the following column changes.</p>
<p>       <strong>kthr</strong></p>
<p>            The column p will also be displayed besides columns r and b.</p>
<p>            <strong>  P   </strong><strong>（每秒等待在raw</strong><strong>设备IO</strong><strong>的进程数，当使用 –I</strong><strong>参数时）</strong></p>
<p><strong>                   Number of threads waiting on I/O to raw devices per second.</strong></p>
<p>       <strong>Page      </strong><strong>（-I</strong><strong>）</strong></p>
<p>            New columns fi and fo will be displayed instead of re and cy columns.</p>
<p>              <strong>fi</strong></p>
<p>                   File page-ins per second.   （<strong>每秒文件的</strong><strong>page-ins</strong><strong>数）</strong></p>
<p>              <strong>fo</strong></p>
<p>                   File page-outs per second.  <strong>（每秒的文件page_outs</strong><strong>数）</strong></p>
<p>       If, while the vmstat command is running, there is a change in system configuration that will affect the</p>
<p>       output, <strong>vmstat prints a warning message about the configuration change.</strong> It then continues the output,</p>
<p>       after printing the updated system configuration information and the header.</p>
<p>       If the <strong>-l </strong>flag is specified, an additional &#8220;l<strong>arge-page</strong>&#8221; section is displayed with the following columns:</p>
<p>       alp</p>
<p>            Indicates the number of large pages currently in use.  （当前使用的大页数）</p>
<p>       flp</p>
<p>            Indicates the number of large pages on the large page freelist. （大页freelist上的大页数）</p>
<p>Flags</p>
<p>       Note: If the -f (or -s) flag is entered on the command line, then the system will only accept the -f (or</p>
<p>       -s) flag and will ignore other flags. If both -f and -s flags are specified, the system will accept only</p>
<p>       the first flag and ignore the second flag.</p>
<p>       -f</p>
<p>            Reports the number of forks since system startup.</p>
<p>       -i</p>
<p>            Displays the number of interrupts taken by each device since system startup.</p>
<p>       -I</p>
<p>            Displays <strong>I/O oriented view</strong> with the new columns of output, p under heading kthr,and columns fi and</p>
<p>            fo under heading page instead of the columns re and cy in the page heading.</p>
<p>       -l</p>
<p>            Displays an additional &#8220;large-page&#8221; section with the alp and flp columns.</p>
<p>       -s</p>
<p>            Writes to standard output the contents of the sum structure, which contains an absolute count of</p>
<p>            paging events since system initialization. The -s flag can only be used with the -v flag. These</p>
<p>            events are described as follows:</p>
<p>              address translation faults</p>
<p>                   Incremented for each occurrence of an address translation page fault. I/O may or may not be</p>
<p>                   required to resolve the page fault. Storage protection page faults (lock misses) are not</p>
<p>                   included in this count.</p>
<p>              page ins</p>
<p>                   Incremented for each page read in by the virtual memory manager. The count is incremented</p>
<p>                   for page ins from page space and file space. Along with the page out statistic, this</p>
<p>                   represents the total amount of real I/O initiated by the virtual memory manager.</p>
<p>              page outs</p>
<p>                   Incremented for each page written out by the virtual memory manager. The count is</p>
<p>                   incremented for page outs to page space and for page outs to file space. Along with the page</p>
<p>                   in statistic, this represents the total amount of real I/O initiated by the virtual memory</p>
<p>                   manager.</p>
<p>              paging space page ins</p>
<p>                   Incremented for VMM initiated page ins from paging space only.</p>
<p>              paging space page outs</p>
<p>                   Incremented for VMM initiated page outs to paging space only.</p>
<p>              total reclaims</p>
<p>                   Incremented when an address translation fault can be satisfied without initiating a new I/O</p>
<p>                   request. This can occur if the page has been previously requested by VMM, but the I/O has</p>
<p>                   not yet completed; or if the page was pre-fetched by VMM&#8217;s read-ahead algorithm, but was</p>
<p>                   hidden from the faulting segment; or if the page has been put on the free list and has not</p>
<p>                   yet been reused.</p>
<p>              zero-filled page faults</p>
<p>                   Incremented if the page fault is to working storage and can be satisfied by assigning a</p>
<p>                   frame and zero-filling it.</p>
<p>              executable-filled page faults</p>
<p>                   Incremented for each instruction page fault.</p>
<p>              pages examined by the clock</p>
<p>                   VMM uses a clock-algorithm to implement a pseudo least recently used (lru) page replacement</p>
<p>                   scheme. Pages are aged by being examined by the clock. This count is incremented for each</p>
<p>                   page examined by the clock.</p>
<p>              revolutions of the clock hand</p>
<p>                   Incremented for each VMM clock revolution (that is, after each complete scan of memory).</p>
<p>              pages freed by the clock</p>
<p>                   Incremented for each page the clock algorithm selects to free from real memory.</p>
<p>              backtracks</p>
<p>                   Incremented for each page fault that occurs while resolving a previous page fault. (The new</p>
<p>                   page fault must be resolved first and then initial page faults can be backtracked.)</p>
<p>              free frame waits</p>
<p>                   Incremented each time a process is waited by VMM while free frames are gathered.</p>
<p>              extend XPT waits</p>
<p>                   Incremented each time a process is waited by VMM due to a commit in progress for the segment</p>
<p>                   being accessed.</p>
<p>              pending I/O waits</p>
<p>                   Incremented each time a process is waited by VMM for a page-in I/O to complete.</p>
<p>              start I/Os</p>
<p>                   Incremented for each read or write I/O request initiated by VMM. This count should equal the</p>
<p>                   sum of page-ins and page-outs.</p>
<p>              iodones</p>
<p>                   Incremented at the completion of each VMM I/O request.</p>
<p>              CPU context switches</p>
<p>                   Incremented for each CPU context switch (dispatch of a new process).</p>
<p>              device interrupts</p>
<p>                   Incremented on each hardware interrupt.</p>
<p>              software interrupts</p>
<p>                   Incremented on each software interrupt. A software interrupt is a machine instruction</p>
<p>                   similar to a hardware interrupt that saves some state and branches to a service routine.</p>
<p>                   System calls are implemented with software interrupt instructions that branch to the system</p>
<p>                   call handler routine.</p>
<p>              decrementer interrupts</p>
<p>                   Incremented on each decrementer interrupt.</p>
<p>              mpc send interrupts</p>
<p>                   Incremented on each mpc send interrupt</p>
<p>              mpc receive interrupts</p>
<p>                   Incremented on each mpc receive interrupt</p>
<p>              phantom interrupts</p>
<p>                   Incremented on each phantom interrupt</p>
<p>              traps</p>
<p>                   Not maintained by the operating system.</p>
<p>              syscalls</p>
<p>                   Incremented for each system call.</p>
<p>       -t</p>
<p>            Prints the time-stamp next to each line of output of vmstat. The time-stamp is displayed in the</p>
<p>            HH:MM:SS format. Note: Time stamp will not be printed if -f, -s, or -i flags are specified.</p>
<p>     <strong>  -v</strong></p>
<p>            Writes to standard output various statistics maintained by the Virtual Memory Manager. The -v flag</p>
<p>            can only be used with the -s flag.</p>
<p>              memory pages</p>
<p>                   Size of real memory in number <strong>of 4 KB pages.   </strong><strong>（以4KB</strong><strong>页大小的真实内存页数）</strong></p>
<p>              lruable pages</p>
<p>                   Number of 4 KB pages considered for replacement. This number excludes the pages used for VMM</p>
<p>                   internal pages, and the pages used for the pinned part of the kernel text.</p>
<p>              free pages</p>
<p>                   Number of free 4 KB pages.</p>
<p>              memory pools</p>
<p>                   Tuning parameter (managed using vmo) specifying the number of memory pools.</p>
<p>              pinned pages</p>
<p>                   Number of pinned 4 KB pages.</p>
<p>              maxpin percentage</p>
<p>                   Tuning parameter (managed using vmo) specifying the percentage of real memory which can be</p>
<p>                   pinned.</p>
<p>              minperm percentage</p>
<p>                   Tuning parameter (managed using vmo) in percentage of real memory. This specifies the point</p>
<p>                   below which<strong> file pages</strong> are protected from the re-page algorithm.</p>
<p>              maxperm percentage</p>
<p>                   Tuning parameter (managed using vmo) in percentage of real memory. This specifies the point</p>
<p>                   above which the page stealing algorithm steals only file pages.</p>
<p>              numperm percentage</p>
<p>                   Percentage of memory currently used by the file cache.</p>
<p>              file pages</p>
<p>                   Number of 4 KB pages currently used by the file cache.</p>
<p>              compressed percentage</p>
<p>                   Percentage of memory used by compressed pages.</p>
<p>              compressed pages</p>
<p>                   Number of compressed memory pages.</p>
<p>              numclient percentage</p>
<p>                   Percentage of memory occupied by client pages.</p>
<p>              maxclient percentage</p>
<p>                   Tuning parameter (managed using vmo) specifying the maximum percentage of memory which can</p>
<p>                   be used for client pages.</p>
<p>              client pages</p>
<p>                   Number of client pages.</p>
<p>              remote pageouts scheduled</p>
<p>                   Number of pageouts scheduled for client filesystems.</p>
<p>              pending disk I/Os blocked with no pbuf</p>
<p>                   Number of pending disk I/O requests blocked because no pbuf was available. Pbufs are pinned</p>
<p>                   memory buffers used to hold I/O requests at the logical volume manager layer.</p>
<p>              paging space I/Os blocked with no psbuf</p>
<p>                   Number of paging space I/O requests blocked because no psbuf was available. Psbufs are</p>
<p>                   pinned memory buffers used to hold I/O requests at the virtual memory manager layer.</p>
<p>              filesystem I/Os blocked with no fsbuf</p>
<p>                   Number of filesystem I/O requests blocked because no fsbuf was available. Fsbuf are pinned</p>
<p>                   memory buffers used to hold I/O requests in the filesystem layer.</p>
<p>              client filesystem I/Os blocked with no fsbuf</p>
<p>                   Number of client filesystem I/O requests blocked because no fsbuf was available. NFS</p>
<p>                   (Network File System) and VxFS (Veritas) are client filesystems. Fsbuf are pinned memory</p>
<p>                   buffers used to hold I/O requests in the filesystem layer.</p>
<p>              external pager filesystem I/Os blocked with no fsbuf</p>
<p>                   Number of external pager client filesystem I/O requests blocked because no fsbuf was</p>
<p>                   available. JFS2 is an external pager client filesystem. Fsbuf are pinned memory buffers used</p>
<p>                   to hold I/O requests in the filesystem layer.</p>
<p>【&gt;vmstat -v 5 2</p>
<p>              5275647 memory pages</p>
<p>              4998806 lruable pages</p>
<p>              1667066 free pages</p>
<p>                    6 memory pools</p>
<p>               611164 pinned pages</p>
<p>                 80.0 maxpin percentage</p>
<p>                 10.0 minperm percentage</p>
<p>                 25.0 maxperm percentage</p>
<p>                 24.6 numperm percentage</p>
<p>              1230706 file pages</p>
<p>                  0.0 compressed percentage</p>
<p>                    0 compressed pages</p>
<p>                 24.8 numclient percentage</p>
<p>                 25.0 maxclient percentage</p>
<p>              1243884 client pages</p>
<p>                    0 remote pageouts scheduled</p>
<p>                    0 pending disk I/Os blocked with no pbuf</p>
<p>                    0 paging space I/Os blocked with no psbuf</p>
<p>                 2740 filesystem I/Os blocked with no fsbuf</p>
<p>                    7 client filesystem I/Os blocked with no fsbuf</p>
<p>                    0 external pager filesystem I/Os blocked with no fsbuf</p>
<p>】</p>
<p>       -w</p>
<p>            Display the report in wide mode  （宽模式显示）</p>
<p>&gt;vmstat -w -I</p>
<p>System configuration: lcpu=22 mem=20607MB</p>
<p>   kthr            memory                         page                       faults           cpu   </p>
<p>&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8211;</p>
<p>  r   b   p        avm        fre    fi    fo    pi    po    fr     sr    in     sy    cs us sy id wa</p>
<p> 1   1   0    2369790    1666981    41    38     0     0    53    255   154   2599   814  2  0 95  3</p>
<p>Examples</p>
<p>       1    To display a summary of the statistics since boot, type:</p>
<p>            vmstat</p>
<p>       2    To display five summaries at 2-second intervals, type:</p>
<p>            vmstat 2 5</p>
<p>            The first summary contains statistics for the time since boot.</p>
<p>       3    To display a summary of the statistics since boot including statistics for <strong>logical</strong> disks scdisk13</p>
<p>            and scdisk14, type:</p>
<p>            vmstat scdisk13 scdisk14</p>
<p>       4    To display fork statistics, type:</p>
<p>            vmstat  -f</p>
<p>       5    To display the count of various events, type:</p>
<p>            vmstat -s</p>
<p>       6    To display time-stamp next to each column of output of vmstat, type:</p>
<p>            vmstat -t</p>
<p>       7    To display the I/O oriented view with an alternative set of columns, type:</p>
<p>            vmstat -I</p>
<p>       8    To display all the VMM statistics available, type:</p>
<p>            vmstat -vs</p>
<p>       9    To display the large-page section with the alp and flp columns at 8-second intervals, type:</p>
<p>            vmstat -l 8</p>
<p>Files</p>
<p>       /usr/bin/vmstat</p>
<p>            Contains the vmstat command.</p>
<p>Related Information</p>
<p>       The iostat and vmo command.</p>
<p>       Monitoring and Tuning Memory Use in AIX 5L Version 5.3 Performance Management Guide.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.orablogger.com/?feed=rss2&amp;p=457</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>远程图形界面工具&#8211;全面替代VNC和XMANAGER</title>
		<link>http://www.orablogger.com/?p=454</link>
		<comments>http://www.orablogger.com/?p=454#comments</comments>
		<pubDate>Mon, 17 May 2010 12:38:21 +0000</pubDate>
		<dc:creator>happydba</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[远程]]></category>

		<guid isPermaLink="false">http://www.orablogger.com/?p=454</guid>
		<description><![CDATA[一个替代VNC的好工具NOMACHINE,它的官方网址是：http://www.nomachine.com/ 这里面有各种操作系统的安装包,有server端的也有client端的。 server端我们一般用linux版本的,主要下3个文件 nxserver-3.4.0-12.i386.rpm nxnode-3.4.0-11.i386.rpm nxclient-3.4.0-7.i386.rpm 安装如下:     后面的安装结束介绍就不贴了。安装完了服务就启动了。啥也不用配~~ 在win端安装客户端，运行并进行配置：   取个名字，并输入IP地址   选择系统，我们用的是LINUX 就选UNIX，图形界面按实际情况来，KDE就选KDE，GONE就下拉选GONE   配置完了就能按下面界面登陆啦~~   全屏就不截图了，太大，看看这个就知道是否清楚了~HOHO    ]]></description>
			<content:encoded><![CDATA[<div>
<div>
<div>一个替代VNC的好工具NOMACHINE,它的官方网址是：<a href="http://www.nomachine.com/" target="_blank">http://www.nomachine.com/</a></div>
</div>
<div>这里面有各种操作系统的安装包,有server端的也有client端的。</div>
<div>server端我们一般用linux版本的,主要下3个文件</div>
<div>nxserver-3.4.0-12.i386.rpm</div>
<div>nxnode-3.4.0-11.i386.rpm</div>
<div>nxclient-3.4.0-7.i386.rpm</div>
<div>安装如下:</div>
<p> </p>
<div><img src="http://home.oracle.com.cn/image/zoom.gif" alt="" width="23" height="23" /><img title="点击图片，在新窗口显示原始尺寸" src="http://home.chinaoug.org/attachment/201005/14/2859_1273842545Zq1F.jpg" alt="" /></div>
<p> </p>
<div>后面的安装结束介绍就不贴了。安装完了服务就启动了。啥也不用配~~</div>
<div>在win端安装客户端，运行并进行配置：</div>
<div><img src="http://home.chinaoug.org/attachment/201005/14/2859_1273842542zLO5.jpg" alt="" /></div>
<div> </div>
<div>取个名字，并输入IP地址</div>
<div><img src="http://home.chinaoug.org/attachment/201005/14/2859_12738425431V53.jpg" alt="" /></div>
<div> </div>
<div>选择系统，我们用的是LINUX 就选UNIX，图形界面按实际情况来，KDE就选KDE，GONE就下拉选GONE</div>
<div><img id="uchomelocalimg[]" src="http://home.chinaoug.org/attachment/201005/14/2859_12738425434SfM.jpg" alt="" /></div>
<div> </div>
<div>配置完了就能按下面界面登陆啦~~</div>
<div><img id="uchomelocalimg[]" src="http://home.chinaoug.org/attachment/201005/14/2859_127384254477tz.jpg" alt="" /></div>
<div> </div>
<div>全屏就不截图了，太大，看看这个就知道是否清楚了~HOHO</div>
<div> </div>
<div><img src="http://home.chinaoug.org/attachment/201005/14/2859_1273842938Gv8M.jpg" alt="" /></div>
<p> </p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.orablogger.com/?feed=rss2&amp;p=454</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>F5与Oracle联袂推出优化解决方案</title>
		<link>http://www.orablogger.com/?p=452</link>
		<comments>http://www.orablogger.com/?p=452#comments</comments>
		<pubDate>Sun, 11 Apr 2010 01:52:48 +0000</pubDate>
		<dc:creator>happydba</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[f5]]></category>
		<category><![CDATA[gridcontrol]]></category>

		<guid isPermaLink="false">http://www.orablogger.com/?p=452</guid>
		<description><![CDATA[2010年3月2日，全球领先的应用交付网络厂商及Oracle金牌认证合作伙伴宣布推出一款与Oracle合作开发的解决方案。该方案集成了Oracle企业管理器，对F5® BIG-IP®应用交付控制器的使用进行了优化。F5和Oracle共同为BIG-IP开发了Oracle ®企业管理器插件。该插件在F5 DevCentral及Oracle技术网提供给用户下载。此外，用户可在Oracle网站获得《Oracle最高可用性架构白皮书》，在F5网站获得《F5 部署指南》。　　2010年3月2日，全球领先的应用交付网络厂商及Oracle金牌认证合作伙伴宣布推出一款与Oracle合作开发的解决方案。该方案集成了Oracle企业管理器，对F5® BIG-IP®应用交付控制器的使用进行了优化。F5和Oracle共同为BIG-IP开发了Oracle ®企业管理器插件。该插件在F5 DevCentral及Oracle技术网提供给用户下载。此外，用户可在Oracle网站获得《Oracle最高可用性架构白皮书》，在F5网站获得《F5 部署指南》。 　　Oracle公司业务发展部高级总监Will Scelzo表示：“支持F5 BIG-IP的Oracle企业管理器插件是Oracle合作伙伴对Oracle企业管理器进行扩展的良好范例。借助这个插件，我们共同的用户可以通过在一个中心位置管理其全部环境来提高应用的可用性。我们与F5的长期合作不仅丰富了Oracle企业管理器，还将继续为双方共同的用户带来切实利益。” 　　Oracle企业管理器为用户部署Oracle应用提供一个全面统一的监测和管理控制平台。这款联合开发的解决方案为用户通过F5 BIG-IP解决方案部署Oracle企业管理器，以获得高可用性、性能和安全性提供了详细、规范的指南。通过支持直接由Oracle企业管理器监控F5 BIG-IP解决方案，该插件将Oracle软件(如数据库、中间件、应用等)和F5应用交付网络都纳入其管理范围内，扩展了管理Oracle部署的能力。 　　该联合管理解决方案为客户提供以下功能： 　　通过集中监控功能降低总拥有成本–该插件为Oracle系统和BIG-IP解决方案管理员提供整个企业的统一视图，使他们能够从一个中心位置监控和管理所有组成部分。该集成解决方案使用户无需人工编译来自几种不同工具的重要信息，并更容易识别基础架构的可用性和性能问题，从而能够降低总拥有成本。 　　通过自动追踪配置更改节省时间 &#8211; 追踪配置是管理员日常工作中最费时耗力的任务之一。能够快速查看详细的配置快照，分析历史变化并实施系统之间的标准化是执行诊断、审计和合规任务，做出明智的业务决策的关键。 　　通过预设阈值警报简化操作 &#8211; 该插件能够自动收集一套完整的预定义阈值的可用性和性能指标，并即时提醒管理员潜在的问题。这使得管理员能够根据具体业务需求灵活调整阈值，实现其工作价值。 　　通过便捷的即时可用的报告提升管理可视性 – 该插件提供八份即时可用的报告，以进一步帮助管理员处理问题诊断、趋势分析和容量规划等关键任务。这些报告总结了有关 BIG-IP 本地流量管理器™可用性、性能和配置的关键信息，管理员可以从 Oracle ® 企业管理器网格控件控制台轻松获取、计划、共享并定制报告。 　　F5公司应用合作伙伴计划副总裁Calvin Rowland表示：“我们很高兴与Oracle公司合作开发这一款颇具价值的解决方案，帮助用户管理、整合和优化Oracle企业管理器和BIG-IP系统的部署。以前，用户只能使用不同的工具管理Oracle应用和BIG &#8211; IP系统。我们的新产品为用户提供Oracle软件的整体可视性和F5应用交付基础架构以提高运营效率并简化管理。” 　　企业战略集团首席分析师Jon Oltsik表示：“F5和Oracle之间的合作表明当今业务应用和网络之间的紧密整合。此次合作将使IT组织能够更好地应对变化管理、问题隔离和应用性能等问题，最终能提高企业的生产力和IT效率。”]]></description>
			<content:encoded><![CDATA[<p>2010年3月2日，全球领先的应用交付网络厂商及Oracle金牌认证合作伙伴宣布推出一款与Oracle合作开发的解决方案。该方案集成了Oracle企业管理器，对F5® BIG-IP®应用交付控制器的使用进行了优化。F5和Oracle共同为BIG-IP开发了Oracle ®企业管理器插件。该插件在F5 DevCentral及Oracle技术网提供给用户下载。此外，用户可在Oracle网站获得《Oracle最高可用性架构白皮书》，在F5网站获得《F5 部署指南》。　　2010年3月2日，全球领先的应用交付网络厂商及Oracle金牌认证合作伙伴宣布推出一款与Oracle合作开发的解决方案。该方案集成了Oracle企业管理器，对F5® BIG-IP®应用交付控制器的使用进行了优化。F5和Oracle共同为BIG-IP开发了Oracle ®企业管理器插件。该插件在F5 DevCentral及Oracle技术网提供给用户下载。此外，用户可在Oracle网站获得《Oracle最高可用性架构白皮书》，在F5网站获得《F5 部署指南》。 　　Oracle公司业务发展部高级总监Will Scelzo表示：“支持F5 BIG-IP的Oracle企业管理器插件是Oracle合作伙伴对Oracle企业管理器进行扩展的良好范例。借助这个插件，我们共同的用户可以通过在一个中心位置管理其全部环境来提高应用的可用性。我们与F5的长期合作不仅丰富了Oracle企业管理器，还将继续为双方共同的用户带来切实利益。” 　　Oracle企业管理器为用户部署Oracle应用提供一个全面统一的监测和管理控制平台。这款联合开发的解决方案为用户通过F5 BIG-IP解决方案部署Oracle企业管理器，以获得高可用性、性能和安全性提供了详细、规范的指南。通过支持直接由Oracle企业管理器监控F5 BIG-IP解决方案，该插件将Oracle软件(如数据库、中间件、应用等)和F5应用交付网络都纳入其管理范围内，扩展了管理Oracle部署的能力。 　　该联合管理解决方案为客户提供以下功能： 　　通过集中监控功能降低总拥有成本–该插件为Oracle系统和BIG-IP解决方案管理员提供整个企业的统一视图，使他们能够从一个中心位置监控和管理所有组成部分。该集成解决方案使用户无需人工编译来自几种不同工具的重要信息，并更容易识别基础架构的可用性和性能问题，从而能够降低总拥有成本。 　　通过自动追踪配置更改节省时间 &#8211; 追踪配置是管理员日常工作中最费时耗力的任务之一。能够快速查看详细的配置快照，分析历史变化并实施系统之间的标准化是执行诊断、审计和合规任务，做出明智的业务决策的关键。 　　通过预设阈值警报简化操作 &#8211; 该插件能够自动收集一套完整的预定义阈值的可用性和性能指标，并即时提醒管理员潜在的问题。这使得管理员能够根据具体业务需求灵活调整阈值，实现其工作价值。 　　通过便捷的即时可用的报告提升管理可视性 – 该插件提供八份即时可用的报告，以进一步帮助管理员处理问题诊断、趋势分析和容量规划等关键任务。这些报告总结了有关 BIG-IP 本地流量管理器™可用性、性能和配置的关键信息，管理员可以从 Oracle ® 企业管理器网格控件控制台轻松获取、计划、共享并定制报告。 　　F5公司应用合作伙伴计划副总裁Calvin Rowland表示：“我们很高兴与Oracle公司合作开发这一款颇具价值的解决方案，帮助用户管理、整合和优化Oracle企业管理器和BIG-IP系统的部署。以前，用户只能使用不同的工具管理Oracle应用和BIG &#8211; IP系统。我们的新产品为用户提供Oracle软件的整体可视性和F5应用交付基础架构以提高运营效率并简化管理。” 　　企业战略集团首席分析师Jon Oltsik表示：“F5和Oracle之间的合作表明当今业务应用和网络之间的紧密整合。此次合作将使IT组织能够更好地应对变化管理、问题隔离和应用性能等问题，最终能提高企业的生产力和IT效率。”</p>
]]></content:encoded>
			<wfw:commentRss>http://www.orablogger.com/?feed=rss2&amp;p=452</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NirCmd v2.41 &#8211; Freeware Windows command-line tool</title>
		<link>http://www.orablogger.com/?p=451</link>
		<comments>http://www.orablogger.com/?p=451#comments</comments>
		<pubDate>Sun, 04 Apr 2010 06:40:26 +0000</pubDate>
		<dc:creator>happydba</dc:creator>
				<category><![CDATA[OS & 小型机]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.orablogger.com/?p=451</guid>
		<description><![CDATA[Copyright (c) 2003 &#8211; 2010 Nir Sofer Description NirCmd is a small command-line utility that allows you to do some useful tasks without displaying any user interface. By running NirCmd with simple command-line option, you can write and delete values and keys in the Registry, write values into INI file, dial to your internet account [...]]]></description>
			<content:encoded><![CDATA[<p>Copyright (c) 2003 &#8211; 2010 Nir Sofer  </p>
<p>Description<br />
NirCmd is a small command-line utility that allows you to do some useful tasks without displaying any user interface. By running NirCmd with simple command-line option, you can write and delete values and keys in the Registry, write values into INI file, dial to your internet account or connect to a VPN network, restart windows or shut down the computer, create shortcut to a file, change the created/modified date of a file, change your display settings, turn off your monitor, open the door of your CD-ROM drive, and more&#8230; </p>
]]></content:encoded>
			<wfw:commentRss>http://www.orablogger.com/?feed=rss2&amp;p=451</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DataStage为整个 ETL 过程提供了一个图形化的开发环境</title>
		<link>http://www.orablogger.com/?p=449</link>
		<comments>http://www.orablogger.com/?p=449#comments</comments>
		<pubDate>Thu, 01 Apr 2010 13:37:19 +0000</pubDate>
		<dc:creator>happydba</dc:creator>
				<category><![CDATA[ETL]]></category>

		<guid isPermaLink="false">http://www.orablogger.com/?p=449</guid>
		<description><![CDATA[http://baike.baidu.com/view/1098055.html?fromTaglist 数据整合的核心内容是从数据源中抽取数据，然后对这些数据进行转化，最终加载的目标数据库或者数据仓库中去，这也就是我们通常所说的 ETL 过程(Extract,Transform, Load)。 IBM WebSphere DataStage（下面简称为DataStage）为整个 ETL 过程提供了一个图形化的开发环境,它是一套专门对多种操作数据源的数据抽取、转换和维护过程进行简化和自动化，并将其输入数据集或数据仓库的集成工具。 通常数据抽取工作分抽取、清洗、转换、装载几个步骤: 抽取主要是针对各个业务系统及不同网点的分散数据，充分理解数据定义后，规划需要的数据源及数据定义，制定可操作的数据源，制定增量抽取的定义。 清洗主要是针对系统的各个环节可能出现的数据二义性、重复、不完整、违反业务规则等问题，允许通过试抽取，将有问题的纪录先剔除出来，根据实际情况调整相应的清洗操作。 转换主要是针对数据仓库建立的模型，通过一系列的转换来实现将数据从业务模型到分析模型，通过内建的库函数、自定义脚本或其他的扩展方式，实现了各种复杂的转换，并且支持调试环境，清楚的监控数据转换的状态。 装载主要是将经过转换的数据装载到数据仓库里面，可以通过数据文件直接装载或直连数据库的方式来进行数据装载，可以充分体现高效性。在应用的时候可以随时调整数据抽取工作的运行方式，可以灵活的集成到其他管理系统中。 一．数据源连接能力： 数据整合工具的数据源连接能力是非常重要的，这将直接决定它能够应用的范围。DataStage 能够直接连接非常多的数据源，包括： 1、 文本文件 2、 XML 文件 3、 企业应用程序，比如 SAP、PeopleSoft、Siebel、Oracle Application 4、 几乎所有的数据库系统，比如 DB2、Oracle、SQL Server、Sybase ASE/IQ、Teradata、Informix等以及可通过ODBC连接的数据库 5、 Web Services 6、 SAS、WebSphere MQ 二．多国语言支持(NLS): DataStage能够支持几乎所有编码，以及多种扩展编码(IBM、NEC、富士通、日立等)，可以添加编码的支持，DataStage内部为UTF8编码。 三．并行运行能力: ETL Job的控件大多数都支持并行运行，此外DataStage企业版还可以在多台装有DataStage Server的机器上并行执行，这也是传统的手工编码方式难以做到的。这样，DataStage就可以充分利用硬件资源。而且，当你的硬件资源升级的时候也不用修改已经开发好的ETL Job，只需要修改一个描述硬件资源的文件即可。并行执行能力是DataStage所能处理数据的速度可以得到趋近于线性的扩展，轻松处理大量数据。 四．便捷的开发环境: DataStage 的开发环境是基于 C/S 模式的，通过 DataStage Client 连接到DataStage Server 上进行开发。这里有一点需要注意，DataStage [...]]]></description>
			<content:encoded><![CDATA[<p>http://baike.baidu.com/view/1098055.html?fromTaglist</p>
<p>  数据整合的核心内容是从数据源中抽取数据，然后对这些数据进行转化，最终加载的目标数据库或者数据仓库中去，这也就是我们通常所说的 ETL 过程(Extract,Transform,  Load)。<br />
    IBM WebSphere DataStage（下面简称为DataStage）为整个 ETL 过程提供了一个图形化的开发环境,它是一套专门对多种操作数据源的数据抽取、转换和维护过程进行简化和自动化，并将其输入数据集或数据仓库的集成工具。<br />
    通常数据抽取工作分抽取、清洗、转换、装载几个步骤:<br />
    抽取主要是针对各个业务系统及不同网点的分散数据，充分理解数据定义后，规划需要的数据源及数据定义，制定可操作的数据源，制定增量抽取的定义。<br />
    清洗主要是针对系统的各个环节可能出现的数据二义性、重复、不完整、违反业务规则等问题，允许通过试抽取，将有问题的纪录先剔除出来，根据实际情况调整相应的清洗操作。<br />
    转换主要是针对数据仓库建立的模型，通过一系列的转换来实现将数据从业务模型到分析模型，通过内建的库函数、自定义脚本或其他的扩展方式，实现了各种复杂的转换，并且支持调试环境，清楚的监控数据转换的状态。<br />
    装载主要是将经过转换的数据装载到数据仓库里面，可以通过数据文件直接装载或直连数据库的方式来进行数据装载，可以充分体现高效性。在应用的时候可以随时调整数据抽取工作的运行方式，可以灵活的集成到其他管理系统中。 </p>
<p>一．数据源连接能力：<br />
数据整合工具的数据源连接能力是非常重要的，这将直接决定它能够应用的范围。DataStage 能够直接连接非常多的数据源，包括：<br />
1、 文本文件<br />
2、 XML 文件<br />
3、 企业应用程序，比如 SAP、PeopleSoft、Siebel、Oracle Application<br />
4、 几乎所有的数据库系统，比如 DB2、Oracle、SQL Server、Sybase ASE/IQ、Teradata、Informix等以及可通过ODBC连接的数据库<br />
5、 Web Services<br />
6、 SAS、WebSphere MQ </p>
<p>二．多国语言支持(NLS):<br />
    DataStage能够支持几乎所有编码，以及多种扩展编码(IBM、NEC、富士通、日立等)，可以添加编码的支持，DataStage内部为UTF8编码。 </p>
<p>三．并行运行能力:<br />
ETL Job的控件大多数都支持并行运行，此外DataStage企业版还可以在多台装有DataStage Server的机器上并行执行，这也是传统的手工编码方式难以做到的。这样，DataStage就可以充分利用硬件资源。而且，当你的硬件资源升级的时候也不用修改已经开发好的ETL Job，只需要修改一个描述硬件资源的文件即可。并行执行能力是DataStage所能处理数据的速度可以得到趋近于线性的扩展，轻松处理大量数据。 </p>
<p>四．便捷的开发环境:<br />
DataStage 的开发环境是基于 C/S 模式的，通过 DataStage Client 连接到DataStage Server 上进行开发。这里有一点需要注意，DataStage Client 只能安装在 Windows 平台上面(在Win2000/XP上运行过)。而 DataStage Server 则支持多种平台，比如 Windows、Solaris、Redhat Linux、AIX、HP-UNIX。(在WinXP/Solaris8上运行过)<br />
DataStage Client 有四种客户端工具。分别是 DataStage Administrator、DataStage Designer、DataStage Manager、DataStage Director。下面介绍这几种客户端工具在 DataStage 架构中所处的位置以及它们如何协同工作来开发 ETL Job 的。<br />
(1) DataStage Administrator<br />
DataStage Administrator 的主要功能有以下几个：<br />
1． 设置客户端和服务器连接的最大时间。<br />
以管理员的身份登陆 DataStage Administrator(默认安装下管理员为dsadm)。你可以设置客户端和服务器的最大连接时间，默认的最大连接时间是永不过期。最大连接时间的意思就是如果客户端和服务器的连接时间超过了最大连接时间，那么客户端和服务器之间的连接将被强行断开。 </p>
<p>2． 添加和删除项目<br />
在 Projects标签中，可以新建或者删除项目，以及设置已有项目的属性。要用 DataStage 进行 ETL 的开发，首先就要用 DataStage Administrator 新建一个项目，然后在这个项目里面进行 ETL Job 的开发。<br />
在Property里,能够设置该Project全局设置、用户权限以及License的管理 </p>
<p>(2) DataStage Designer<br />
DataStage Designer是ETL Job开发的核心环境。值得注意的是，登陆DataStage Designer 的时候，不仅要指定DataStage Server 的IP或Server名，而且要指定连接到这个DataStage Server上的哪个项目上面，上面已经提到DataStage的项目是由DataStage Administrator 来创建的。 </p>
<p>DataStage Designer的主要功能可以概括为以下三个方面：<br />
1． ETL Job的开发<br />
DataStage Designer里面包含了DataStage为ETL开发已经构建好的组件, 主要分为两种，一种是用来连接数据源的组件，另一种是用来做数据转换的组件。此外DataStage还提供自定义函数(Basic)，利用这些组件，开发人员可以通过图形化的方式进行ETL Job的开发，此外ETL Job支持参数的传递。 </p>
<p>2． ETL Job的编译<br />
开发好ETL Job后，可以直接在DataStage Designer里面进行编译。如果编译不通过，编译器会帮助开发人员定位到出错的地方。 </p>
<p>3． ETL Job的执行<br />
编译成功后，ETL Job就可以执行了，在DataStage Designer里面可以运行ETL Job。ETL Job的运行情况可以在DataStage Director中看到，这方面的内容将在介绍DataStage Director的时候提到。 </p>
<p>4. ETL Job的DEBUG<br />
ETL Job可以在Designer中设置断点，跟踪监视Job执行时的中间变量。 </p>
<p>5. ETL Job Report的生成<br />
可以为ETL Job生成文档报告，该报告非常详细，只通过该报告，就可以完全了解该Job的结构与处理过程，非常便于分析。 </p>
<p>DataStage提供很多实用的控件，常用的控件有:<br />
1. DB操作控件<br />
主要用于各种DB的连接，连接方式有多种，有面向厂家的Native方式，如Sybase的OpenClient方式,也有通用的ODBC等方式,此外也有些比较特别的DB操作控件，如Sybase的IQ Load、BCP控件,主要用于数据的快速导入和导出。 </p>
<p>2. 文件操作控件<br />
常用的有Sequential File、Hashed File, Sequential File是可指定编码形式和格式的CSV文件,Hashed File主要是为了加快检索效率，而替代DB控件的一种比较好的选择,这两种控件可用于输入或输出。 </p>
<p>3．处理控件<br />
主要的处理空间有Transformer、Aggregator, Transformer是负责数据转换的关键控件，在该控件中可以调用一些自定义函数，Aggregator是用于统计的控件，非常类似于SQL中的 GROUP BY，也提供Count、Max、Min、Sum的统计操作，还支持如First、Last、Average等操作。 </p>
<p>DataStage的ETL Job分类:<br />
1. Server Job<br />
最为常用的Job类型，Job可以组合使用，Server Job是Job的最小单位。 </p>
<p>2. Job Sequence<br />
Job Sequence主要用于Job间的协作工作控制，如各Job的实行流程，出错处理，文件监控等。<br />
3. Job Control<br />
Job Control是一种特殊的Server Job，这种Server Job不是通过Designer来设计的，而是直接通过DataStage内嵌支持的Basic语言来开发，因此方式更为灵活，完全可以利用Job Control替代Job Sequence，至少在出错处理和Log输出等方面要灵活很多。（我参与开发的一个项目中完全用Job Control替代了Job Sequence，做出了更为详细的Log输出） </p>
<p>(3) DataStage Manager<br />
DataStage Manager主要用来管理项目资源。一个项目可能包含多个ETL Job，可以用DataStage Manager把一个项目里面的ETL Job导出来。然后再用DataStage Manager导入到另外一个项目中去，利用这个功能一方面可以实现ETL Job的备份，另一方面就是可以在多个项目之间来重复使用开发好的ETL Job。在DataStage Manager里面可以把数据库中的表结构直接导入到项目中来，供这个项目中的所有ETL Job使用。DataStage Designer也提供了从数据库中直接导入表结构的功能。 </p>
<p>(4) DataStage Director<br />
DataStage Director 主要有以下两个功能：<br />
1． 监测ETL Job的运行状态<br />
ETL Job在DataStage Designer中编译好后，可以通过DataStage Director来运行它。前面在介绍DataStage Designer的时候提到在DataStage Designer中也可以运行ETL Job，但是如果要监测ETL Job的运行情况还是要登陆到DataStage Director中。在这里，你可以看到ETL Job运行的详细的日志文件，还可以查看一些统计数据，比如ETL Job每秒所处理的数据量。 </p>
<p>2． 设置何时运行ETL Job<br />
ETL Job开发完成后，我们可能希望ETL Job在每天的某个时间都运行一次。DataStage Director为这种需求提供了解决方案。在DataStage Director中可以设置在每天、每周或者每月的某个时间运行ETL Job。(Windows平台下需要打开的Task Scheduler服务,此外,在Unix等平台下,更常用的是用Cron结合dsjob命令来定时运行ETL Job) </p>
<p>五．命令行形式的运行:<br />
ETL Job支持在DataStage Server侧用命令行形式的调用,可以用dsadmin命令来管理DataStage的Project，包括Project的新建，删除以及一些环境变量的增删(DataStage 7.5.1下未能通过dsadmin来设置全局NLS和一些项目属性)。使用dsjob命令，能够同步或非同步的运行DataStage的Job，并传递需要的Job参数，能够检查Job运行的状态，并能恢复Job的运行状态。 </p>
<p>六. DataStage的不足:<br />
以上都是说DataStage优点，但实际上DataStage也有不少缺点和不足,这些不足点，会直接影响到能否采用DataStage来达到我们的客户或设计要求。下面就谈一下，最近利用DataStage7.5.1来开发一个项目中遇到的问题。<br />
1．缺点:<br />
存在一个Bug,在利用DB控件的参照功能时，如果指定的SQL文有错误的话，那可能会直接造成DataStage出错，然后客户端会和服务端直接断开，需要关闭客户端，重新连接服务端，并且更为严重的是，DB连接将不会被释放（可能是服务器端的执行进程并没有停掉的缘故）<br />
DataStage的表定义的使用，可以通过PlugIn的方式导入，但是导入后基本就只起一个模版的作用，当表结构发生改变而需要修改表定义时，使用该表定义的地方并不能同步，需要手动修改，容易出现遗漏。<br />
2．不足:<br />
一些高级控件的功能不够全面，在实际应用时，会出现不能完全利用DataStage提供的控件来满足要求，如:Sybase的BCP， DataStage的Sybase BCP控件只支持导出，无法支持导入。当然这些不足，后来我都使用JAVA API来实现了Sybase BCP和Sybase IQ Load。<br />
错误处理功能不够，DataStage对业务错误，如:检索0件等错误，很难捕获和处理。<br />
某些应用要求无法满足，如需要对DB某表的某数据进行状态监视，这时，由于DataStage只有监视文件的功能，DB访问也只有DB控件才可以，因此该应用最后也是用JAVA来实现。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.orablogger.com/?feed=rss2&amp;p=449</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EZCONNECT</title>
		<link>http://www.orablogger.com/?p=442</link>
		<comments>http://www.orablogger.com/?p=442#comments</comments>
		<pubDate>Tue, 23 Mar 2010 13:19:48 +0000</pubDate>
		<dc:creator>happydba</dc:creator>
				<category><![CDATA[连接]]></category>
		<category><![CDATA[EZCONNECT]]></category>

		<guid isPermaLink="false">http://www.orablogger.com/?p=442</guid>
		<description><![CDATA[From Oracle FAQ Jump to: navigation, search EZCONNECT is Oracle&#8217;s easy connect naming method. EZCONNECT eliminates the need for service name lookups in tnsnames.ora files when connecting to an Oracle database across a TCP/IP network. In fact, no naming or directory system is required when using this method as it provides out-of-the-box connectivity. It extends [...]]]></description>
			<content:encoded><![CDATA[<div id="content">
<p><a id="top" name="top"></a></p>
<div id="bodyContent">
<h3 id="siteSub">From Oracle FAQ</h3>
<div id="jump-to-nav">Jump to: <a href="http://www.orablogger.com/wp-admin/post-new.php#column-one">navigation</a>, <a href="http://www.orablogger.com/wp-admin/post-new.php#searchInput">search</a></div>
<p><!-- start content --><strong>EZCONNECT</strong> is Oracle&#8217;s <strong>easy connect naming method</strong>. EZCONNECT eliminates the need for service name lookups in <a title="Tnsnames.ora" href="http://www.orafaq.com/wiki/Tnsnames.ora">tnsnames.ora</a> files when connecting to an <a title="Oracle database" href="http://www.orafaq.com/wiki/Oracle_database">Oracle database</a> across a <a title="TCP/IP" href="http://www.orafaq.com/wiki/TCP/IP">TCP/IP</a> network. In fact, no naming or directory system is required when using this method as it provides out-of-the-box connectivity. It extends the functionality of the host naming method by enabling clients to connect to a database with an optional port and service name in addition to the host name of the database.</p>
<table id="toc" summary="Contents">
<span id="more-442"></span></p>
<tbody>
<tr>
<td>
<div id="toctitle">
<h2>Contents</h2>
<p>[<a id="togglelink" href="javascript:toggleToc()">hide</a>]</p>
<ul><a href="http://www.orablogger.com/wp-admin/post-new.php#Syntax">1 Syntax</a> <a href="http://www.orablogger.com/wp-admin/post-new.php#Examples">2 Examples</a> <a href="http://www.orablogger.com/wp-admin/post-new.php#Using_Easy_Connect_Naming_on_the_Client">3 Using Easy Connect Naming on the Client</a> <a href="http://www.orablogger.com/wp-admin/post-new.php#Verify_if_Easy_Connect_Naming_is_configured">4 Verify if Easy Connect Naming is configured</a> <a href="http://www.orablogger.com/wp-admin/post-new.php#Enable_Easy_Connect_Naming">5 Enable Easy Connect Naming</a></ul>
</div>
</td>
</tr>
</tbody>
</table>
<p><script type="text/javascript">// <![CDATA[
  if (window.showTocToggle) { var tocShowText = "show"; var tocHideText = "hide"; showTocToggle(); }
// ]]&gt;</script><a name="Syntax"></a></p>
<h2>[<a title="Edit section: Syntax" href="http://www.orafaq.com/wiki/index.php?title=EZCONNECT&amp;action=edit&amp;section=1">edit</a>] Syntax</h2>
<p>Syntax of the connect string:</p>
<pre>CONNECT username/password@[//]host[:port][/service_name]</pre>
<p>where:</p>
<ul>
<li>//</li>
</ul>
<dl>
<dd>Optional. Specify // for a URL. </dd>
</dl>
<ul>
<li>host</li>
</ul>
<dl>
<dd>Required. Specify the host name or IP address of the database server computer. The host name is domain-qualified if the local operating system configuration specifies a domain. </dd>
</dl>
<ul>
<li>port</li>
</ul>
<dl>
<dd>Optional. Specify the listening <a title="Port" href="http://www.orafaq.com/wiki/Port">port</a>. The default is 1521. </dd>
</dl>
<ul>
<li>service_name</li>
</ul>
<dl>
<dd>Optional. Specify the service name of the database. The default is the host of the database server computer. Note that this might not be the same value that you entered in the connect string for the host. For example, for the host emp, the service name might be emp.acme.com. </dd>
</dl>
<dl>
<dd>If the host does not match the database service name, then enter a valid service name value rather than accepting the default. </dd>
</dl>
<p>The connect identifier converts into the following connect descriptor:</p>
<pre>(DESCRIPTION=
  (ADDRESS=(PROTOCOL=tcp)(HOST=host)(PORT=port))
  (CONNECT_DATA=
    (SERVICE_NAME=service_name)))</pre>
<p>For <a title="URL" href="http://www.orafaq.com/wiki/URL">URL</a> or <a title="JDBC" href="http://www.orafaq.com/wiki/JDBC">JDBC</a> connections, prefix the connect identifier with a double-slash (//):</p>
<pre>CONNECT username/password@[<strong>//</strong>][host][:port][/service_name]</pre>
<p><a name="Examples"></a></p>
<h2>[<a title="Edit section: Examples" href="http://www.orafaq.com/wiki/index.php?title=EZCONNECT&amp;action=edit&amp;section=2">edit</a>] Examples</h2>
<p>For example, the following connect strings connect the client to database service <em>sales.us.acme.com</em> with a listening endpoint of 1521 on database server sales-server.</p>
<pre>CONNECT username/password@sales-server:1521/sales.us.acme.com
CONNECT username/password@//sales-server/sales.us.acme.com
CONNECT username/password@//sales-server.us.acme.com/sales.us.oracle.com</pre>
<p>These connect strings convert into the following connect descriptor:</p>
<pre>(DESCRIPTION=
  (ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521))
  (CONNECT_DATA=
    (SERVICE_NAME=sales.us.acme.com)))</pre>
<p>If you performed a &#8220;typical&#8221; Oracle database server installation, the default service name for the instance will be ORCL. Use the following easy connect syntax to connect to that instance:</p>
<pre>CONNECT username/password@host/ORCL</pre>
<p><a name="Using_Easy_Connect_Naming_on_the_Client"></a></p>
<h2>[<a title="Edit section: Using Easy Connect Naming on the Client" href="http://www.orafaq.com/wiki/index.php?title=EZCONNECT&amp;action=edit&amp;section=3">edit</a>] Using Easy Connect Naming on the Client</h2>
<p>Clients can connect to a database server using easy connect naming if the following conditions are met:</p>
<ul>
<li>Oracle Database 10g Net Services software installed on the client;</li>
<li>Oracle TCP/IP protocol support on both the client and database server; and</li>
<li>No features requiring a more advanced connect descriptor are required.</li>
</ul>
<p>For large or complex environments where advanced features, such as connection pooling, external procedure calls, or Heterogeneous Services, which require additional connect information, are desired, easy connect naming is not suitable. In these cases, another naming method is recommended.</p>
<p>Easy connect naming is automatically configured at installation. Prior to using it, you may want to ensure that EZCONNECT is specified by the NAMES.DIRECTORY_PATH parameter in the <a title="Sqlnet.ora" href="http://www.orafaq.com/wiki/Sqlnet.ora">sqlnet.ora</a> file. This parameter specifies the order of naming methods Oracle Net can use to resolve connect identifiers to connect descriptors.</p>
<p><a name="Verify_if_Easy_Connect_Naming_is_configured"></a></p>
<h2>[<a title="Edit section: Verify if Easy Connect Naming is configured" href="http://www.orafaq.com/wiki/index.php?title=EZCONNECT&amp;action=edit&amp;section=4">edit</a>] Verify if Easy Connect Naming is configured</h2>
<p>To verify that the easy connect naming method is configured:</p>
<ul>
<li>Start Oracle <a title="Net Manager" href="http://www.orafaq.com/wiki/Net_Manager">Net Manager</a>.</li>
<li>In the navigator pane, expand Local &gt; Profile.</li>
<li>From the list in the right pane, select Naming.</li>
<li>Click the Methods tab.</li>
<li>Check that EZCONNECT listed in the Selected Methods list.</li>
</ul>
<p><a name="Enable_Easy_Connect_Naming"></a></p>
<h2>[<a title="Edit section: Enable Easy Connect Naming" href="http://www.orafaq.com/wiki/index.php?title=EZCONNECT&amp;action=edit&amp;section=5">edit</a>] Enable Easy Connect Naming</h2>
<p>To enable Easy Connect Naming from <a title="Net Manager" href="http://www.orafaq.com/wiki/Net_Manager">Net Manager</a>:</p>
<ul>
<li>From the Available Methods list, select EZCONNECT, and then click the right-arrow button.</li>
<li>From the Selected Methods list, select EZCONNECT, and then use the Promote button to move the selection to the top of the list.</li>
<li>Choose File &gt; Save Network Configuration.</li>
</ul>
<p>The <a title="Sqlnet.ora" href="http://www.orafaq.com/wiki/Sqlnet.ora">sqlnet.ora</a> file will be updated with the NAMES.DIRECTORY_PATH parameter (listing ezconnect first):</p>
<pre>NAMES.DIRECTORY_PATH=(ezconnect, tnsnames)</pre>
<p>This can also be done by updating the sqlnet.ora file manually.</p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.orablogger.com/?feed=rss2&amp;p=442</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java程序员的知识架构浅析</title>
		<link>http://www.orablogger.com/?p=438</link>
		<comments>http://www.orablogger.com/?p=438#comments</comments>
		<pubDate>Thu, 25 Feb 2010 13:11:06 +0000</pubDate>
		<dc:creator>happydba</dc:creator>
				<category><![CDATA[编程]]></category>
		<category><![CDATA[建模]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.orablogger.com/?p=438</guid>
		<description><![CDATA[http://www.it168.com 2010年02月25日 来源：Chinaunix论坛 作者：Chinaunix论坛 编辑：覃里 评论：0条 本文Tag： IT业界 Java开发 Java 程序员 【IT168 评论】作为Java程序员来说，最痛苦的事情莫过于可以选择的范围太广，可以读的书太多，往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些，按照学习的先后顺序，推荐给大家，特别是那些想不断提高自己技术水平的Java程序员们。 一、Java编程入门类 对于没有Java编程经验的Java程序员要入门，随便读什么入门书籍都一样，这个阶段需要你快速的掌握Java基础语法和基本用法，宗旨就是“囫囵吞枣不求甚解”，先对Java熟悉起来再说。用很短的时间快速过一遍Java语法，连懵带猜多写写代码，要“知其然”。 1、《Java编程思想》 在有了一定的Java编程经验之后，你需要“知其所以然”了。这个时候《Java编程思想》是一本让你知其所以然的好书，它对于基本的面向对象知识有比较清楚的交待，对Java基本语法，基本类库有比较清楚的讲解，可以帮你打一个良好的Java编程基础。这本书的缺点是实在太厚，也比较罗嗦，不适合现代人快节奏学习，因此看这本书要懂得取舍，不是每章每节都值得一看的，挑重点的深入看就可以了。 2、《Agile Java》中文版 这本书是出版社送给我的，我一拿到就束之高阁，放在书柜一页都没有翻过，但是前两天整理书柜的时候，拿出来一翻，竟然发现这绝对是一本好书!这本书一大特点是以单元测试和TDD来贯穿全书的，在教你Java各种重要的基础知识的过程中，潜移默化的影响你的编程思维走向敏捷，走向TDD。另外这本书成书很新，以JDK5.0的语法为基础讲解，要学习JDK5.0的新语法也不错。还有这本书对于内容取舍也非常得当，Java语言毕竟类库庞大，可以讲的内容太多，这本书选择的内容以及内容的多寡都很得当，可以让你以最少的时间掌握Java最重要的知识，顺便培养出来优秀的编程思路，真是一本不可多得的好书。 虽然作者自己把这本书定位在入门级别，但我不确定这本书用来入门是不是稍微深了点，我自己也准备有空的时候翻翻这本书，学习学习。 二、Java编程进阶类 打下一个良好的Java基础，还需要更多的实践经验积累，我想没有什么捷径。有两本书值得你在编程生涯的这个阶段阅读，培养良好的编程习惯，提高你的代码质量。 1、《重构 改善既有代码的设计》 这本书名气很大，不用多介绍，可以在闲暇的时候多翻翻，多和自己的实践相互印证。这本书对你产生影响是潜移默化的。 2、《测试驱动开发 by Example》 本书最大特点是很薄，看起来没有什么负担。你可以找一个周末的下午，一边看，一边照做，一个下午就把书看完，这本书的所有例子跑完了。这本书的作用是通过实战让你培养TDD的思路。 三、Java程序员架构师之路 到这个阶段，Java程序员应该已经非常娴熟的运用Java编程，而且有了一个良好的编程思路和习惯了，但是你可能还缺乏对应用软件整体架构的把握，现在就是你迈向架构师的第一步。 1、《Expert One-on-One J2EE Design and Development》 这本书是Rod Johnson的成名著作，非常经典，从这本书中的代码诞生了springframework。但是好像这本书没有中译本。 2、《Expert One-on-One J2EE Development without EJB》 这本书由gigix组织翻译，多位业界专家参与，虽然署名译者是JavaEye，其实JavaEye出力不多，实在是忝居译者之名。 以上两本书都是Rod Johnson的经典名著，Java架构师的必读书籍。在我所推荐的这些书籍当中，是我看过的最仔细，最认真的书，我当时读这本书几乎是废寝忘食的一气读完的，有小时候挑灯夜读金庸武侠小说的劲头，书中所讲内容和自己的经验知识一一印证，又被无比精辟的总结出来，读完这本书以后，我有种被打通经脉，功力爆增的感觉。 但是后来我看过一些其他人的评价，似乎阅读体验并没有我那么high，也许是因为每个人的知识积累和经验不同导致的。我那个时候刚好是经验知识积累已经足够丰富，但是还没有系统的整理成型，让这本书一梳理，立刻形成完整的知识体系了。 3、《企业应用架构模式》 Martin的又一本名著，但这本书我只是泛泛的看了一遍，并没有仔细看。这本书似乎更适合做框架的人去看，例如如果你打算自己写一个ORM的话，这本书是一定要看的。但是做应用的人，不看貌似也无所谓，但是如果有空，我还是推荐认真看看，会让你知道框架为什么要这样设计，这样你的层次可以晋升到框架设计者的角度去思考问题。Martin的书我向来都是推崇，但是从来都没有像Rod Johnson的书那样非常认真去看。 4、《敏捷软件开发原则、模式与实践》 Uncle [...]]]></description>
			<content:encoded><![CDATA[<p>http://www.it168.com 2010年02月25日 来源：Chinaunix论坛 作者：Chinaunix论坛 编辑：覃里 评论：0条</p>
<p>本文Tag： IT业界 Java开发 Java 程序员</p>
<p>【IT168 评论】作为Java程序员来说，最痛苦的事情莫过于可以选择的范围太广，可以读的书太多，往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些，按照学习的先后顺序，推荐给大家，特别是那些想不断提高自己技术水平的Java程序员们。<br />
<span id="more-438"></span><br />
一、Java编程入门类</p>
<p>对于没有Java编程经验的Java程序员要入门，随便读什么入门书籍都一样，这个阶段需要你快速的掌握Java基础语法和基本用法，宗旨就是“囫囵吞枣不求甚解”，先对Java熟悉起来再说。用很短的时间快速过一遍Java语法，连懵带猜多写写代码，要“知其然”。</p>
<p>1、《Java编程思想》</p>
<p>在有了一定的Java编程经验之后，你需要“知其所以然”了。这个时候《Java编程思想》是一本让你知其所以然的好书，它对于基本的面向对象知识有比较清楚的交待，对Java基本语法，基本类库有比较清楚的讲解，可以帮你打一个良好的Java编程基础。这本书的缺点是实在太厚，也比较罗嗦，不适合现代人快节奏学习，因此看这本书要懂得取舍，不是每章每节都值得一看的，挑重点的深入看就可以了。</p>
<p>2、《Agile Java》中文版</p>
<p>这本书是出版社送给我的，我一拿到就束之高阁，放在书柜一页都没有翻过，但是前两天整理书柜的时候，拿出来一翻，竟然发现这绝对是一本好书!这本书一大特点是以单元测试和TDD来贯穿全书的，在教你Java各种重要的基础知识的过程中，潜移默化的影响你的编程思维走向敏捷，走向TDD。另外这本书成书很新，以JDK5.0的语法为基础讲解，要学习JDK5.0的新语法也不错。还有这本书对于内容取舍也非常得当，Java语言毕竟类库庞大，可以讲的内容太多，这本书选择的内容以及内容的多寡都很得当，可以让你以最少的时间掌握Java最重要的知识，顺便培养出来优秀的编程思路，真是一本不可多得的好书。</p>
<p>虽然作者自己把这本书定位在入门级别，但我不确定这本书用来入门是不是稍微深了点，我自己也准备有空的时候翻翻这本书，学习学习。</p>
<p>二、Java编程进阶类</p>
<p>打下一个良好的Java基础，还需要更多的实践经验积累，我想没有什么捷径。有两本书值得你在编程生涯的这个阶段阅读，培养良好的编程习惯，提高你的代码质量。</p>
<p>1、《重构 改善既有代码的设计》</p>
<p>这本书名气很大，不用多介绍，可以在闲暇的时候多翻翻，多和自己的实践相互印证。这本书对你产生影响是潜移默化的。</p>
<p>2、《测试驱动开发 by Example》</p>
<p>本书最大特点是很薄，看起来没有什么负担。你可以找一个周末的下午，一边看，一边照做，一个下午就把书看完，这本书的所有例子跑完了。这本书的作用是通过实战让你培养TDD的思路。</p>
<p>三、Java程序员架构师之路</p>
<p>到这个阶段，Java程序员应该已经非常娴熟的运用Java编程，而且有了一个良好的编程思路和习惯了，但是你可能还缺乏对应用软件整体架构的把握，现在就是你迈向架构师的第一步。</p>
<p>1、《Expert One-on-One J2EE Design and Development》</p>
<p>这本书是Rod Johnson的成名著作，非常经典，从这本书中的代码诞生了springframework。但是好像这本书没有中译本。</p>
<p>2、《Expert One-on-One J2EE Development without EJB》</p>
<p>这本书由gigix组织翻译，多位业界专家参与，虽然署名译者是JavaEye，其实JavaEye出力不多，实在是忝居译者之名。</p>
<p>以上两本书都是Rod Johnson的经典名著，Java架构师的必读书籍。在我所推荐的这些书籍当中，是我看过的最仔细，最认真的书，我当时读这本书几乎是废寝忘食的一气读完的，有小时候挑灯夜读金庸武侠小说的劲头，书中所讲内容和自己的经验知识一一印证，又被无比精辟的总结出来，读完这本书以后，我有种被打通经脉，功力爆增的感觉。</p>
<p>但是后来我看过一些其他人的评价，似乎阅读体验并没有我那么high，也许是因为每个人的知识积累和经验不同导致的。我那个时候刚好是经验知识积累已经足够丰富，但是还没有系统的整理成型，让这本书一梳理，立刻形成完整的知识体系了。</p>
<p>3、《企业应用架构模式》</p>
<p>Martin的又一本名著，但这本书我只是泛泛的看了一遍，并没有仔细看。这本书似乎更适合做框架的人去看，例如如果你打算自己写一个ORM的话，这本书是一定要看的。但是做应用的人，不看貌似也无所谓，但是如果有空，我还是推荐认真看看，会让你知道框架为什么要这样设计，这样你的层次可以晋升到框架设计者的角度去思考问题。Martin的书我向来都是推崇，但是从来都没有像Rod Johnson的书那样非常认真去看。</p>
<p>4、《敏捷软件开发原则、模式与实践》</p>
<p>Uncle Bob的名著，敏捷的经典名著，这本书比较特别，与其说是讲软件开发过程的书，不如说讲软件架构的书，本书用了很大篇幅讲各种面向对象软件开发的各种模式，个人以为看了这本书，就不必看GoF的《设计模式》了。</p>
<p><span style="font-family: SimSun; line-height: 23px; font-size: 14px;"> </span></p>
<p><strong>四、<a class="nounderline" style="text-decoration: none; color: #000000; border-bottom-width: 1px; border-bottom-style: dashed; border-bottom-color: #666666; padding-bottom: 1px;" title="软件" href="http://software.it168.com/" target="_blank">软件</a>开发过程</strong></p>
<p>了解软件开发过程不单纯是提高程序员个人的良好编程习惯，也是增强团队协作的基础。</p>
<p>1、《UML精粹》</p>
<p>UML其实和软件开发过程没有什么必然联系，却是软件团队协作沟通，撰写软件文档需要的工具。但是UML真正实用的图不多，看看这本书已经足够了，完全没有必要去啃《UML用户指南》之类的东西。要提醒大家的是，这本书的中译本翻译的非常之烂，建议有条件的看英文原版。</p>
<p>2、《解析极限编程 拥抱变化》XP</p>
<p>这是Kent Beck名著的第二版，中英文对照。没什么好说的，必读书籍。</p>
<p>3、《统一软件开发过程》UP</p>
<p>其实UP和敏捷并不一定冲突，UP也非常强调迭代，测试，但是UP强调的文档和过程<a class="nounderline" style="text-decoration: none; color: #000000; border-bottom-width: 1px; border-bottom-style: dashed; border-bottom-color: #666666; padding-bottom: 1px;" title="驱动" href="http://driver.it168.com/" target="_blank">驱动</a>却是敏捷所不取的。不管怎么说，UP值得你去读，毕竟在中国真正接受敏捷的企业很少，你还是需要用UP来武装一下自己的，哪怕是披着UP的XP。</p>
<p>4、《敏捷建模》AM</p>
<p>Scott Ambler的名著，这本书非常的progmatic，告诉Java程序员怎么既敏捷又UP，把敏捷和UP统一起来了，又提出了很多progmatic的建议和做法。你可以把《解析极限编程拥抱变化》、《统一软件开发过程》和《敏捷建模》这三本书放在一起读，看XP和UP的不同点，再看AM是怎么统一XP和UP的，把这三种理论融为一炉，形成自己的理论体系，那么你也可以去写书了。</p>
<p><strong>五、软件项目管理</strong></p>
<p>如果你突然被领导提拔为项目经理，而你完全没有项目管理经验，你肯定会心里没底;如果你觉得自己管理项目不善，很想改善你的项目管理能力，那么去考PMP肯定是远水不解近渴的。</p>
<p>1、《快速软件开发》</p>
<p>这也是一本名著。可以这样说，有本书在手，你就有了一个项目管理的高级参谋给你出谋划策，再也不必担心自己不能胜任的问题了。这本书不是讲管理的理论的，在实际的项目管理中，讲这些理论是不解决问题的，这本书有点类似于“软件项目点子大全”之类的东西，列举了种种软件项目当中面临的各种问题，以及应该如何解决问题的点子，你只需要稍加变通，找方抓药就行了。</p>
<p><strong>六、总结</strong></p>
<p>在这份推荐阅读书籍的名单中，我没有列举流行的软件框架类学习书籍，例如Struts，Hibernate，Spring之类，也没有列举AJAX方面的书籍。是因为这类书籍容易过时，而上述的大半书籍的生命周期都足够长，值得你去购买和收藏。</p>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;"><span style="font-family: SimSun; line-height: normal; font-size: 12px;"></span></p>
<div class="t1" style="border-bottom: #e1e1e1 1px solid; text-align: center; padding-bottom: 8px; margin: 0px auto; padding-left: 0px; width: 600px; padding-right: 0px; font: bold 20px/20px SimSun; height: auto; color: #000000; padding-top: 28px;">
<h1 style="font-size: 20px; line-height: 20px; font-weight: bold; padding: 0px; margin: 0px;">Java程序员的知识架构浅析</h1>
</div>
<div class="t2" style="text-align: center; height: auto; font-size: 12px; padding-top: 11px;"><a style="text-decoration: none; color: #333333;" href="http://www.it168.com/" target="_blank">http://www.it168.com</a> <a style="text-decoration: none; color: #333333;" href="http://archive.it168.com/100004/2010/2010-02-25.shtml" target="_blank">2010年02月25日</a> 来源：<a style="text-decoration: none; color: #333333;" href="http://bbs.chinaunix.net/" target="_blank">Chinaunix论坛</a> 作者：Chinaunix论坛 编辑：<a style="text-decoration: none; color: #333333;" href="http://archive.it168.com/user/%f1%fb%c0%ef/" target="_blank">覃里</a> 评论：<a style="text-decoration: none; color: #333333;" href="http://comment.it168.com/view/1/853370-all-1.html" target="_blank"><span id="page_CommentCount" style="font-weight: bold;">0</span>条</a></div>
<div class="tag" style="text-align: left; padding-bottom: 5px; line-height: 20px; background-color: #ffffff; margin: 8px auto 0px; padding-left: 10px; width: 580px; padding-right: 10px; height: auto; font-size: 14px; padding-top: 5px; -webkit-background-clip: initial; -webkit-background-origin: initial; border: #e1e1e1 1px solid;">本文Tag： <a style="text-decoration: none; color: #000099;" href="http://tech.it168.com/lists/8575/0/8575.shtml" target="_blank">IT业界</a> <a style="text-decoration: none; color: #000099;" href="http://tech.it168.com/lists/6044/0/6044.shtml" target="_blank">Java开发</a> <a style="text-decoration: none; color: #000099;" href="http://tech.it168.com/lists/6138/0/6138.shtml" target="_blank">Java</a> <a style="text-decoration: none; color: #000099;" href="http://tech.it168.com/lists/5983/0/5983.shtml" target="_blank">程序员</a></div>
<div id="detailWord" class="word" style="border-bottom: #e1e1e1 1px solid; text-align: left; padding-bottom: 20px; line-height: 23px; margin: 0px auto; padding-left: 0px; width: 600px; padding-right: 0px; height: auto; font-size: 14px; padding-top: 10px;">
<p>【<strong>IT168 评论</strong>】作为Java程序员来说，最痛苦的事情莫过于可以选择的范围太广，可以读的书太多，往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些，按照学习的先后顺序，推荐给大家，特别是那些想不断提高自己技术水平的Java程序员们。</p>
<p><strong>一、Java编程入门类</strong></p>
<p>对于没有Java编程经验的Java程序员要入门，随便读什么入门书籍都一样，这个阶段需要你快速的掌握Java基础语法和基本用法，宗旨就是“囫囵吞枣不求甚解”，先对Java熟悉起来再说。用很短的时间快速过一遍Java语法，连懵带猜多写写代码，要“知其然”。</p>
<p>1、《Java编程思想》</p>
<p>在有了一定的Java编程经验之后，你需要“知其所以然”了。这个时候《Java编程思想》是一本让你知其所以然的好书，它对于基本的面向对象知识有比较清楚的交待，对Java基本语法，基本类库有比较清楚的讲解，可以帮你打一个良好的Java编程基础。这本书的缺点是实在太厚，也比较罗嗦，不适合现代人快节奏学习，因此看这本书要懂得取舍，不是每章每节都值得一看的，挑重点的深入看就可以了。</p>
<p>2、《Agile Java》中文版</p>
<p>这本书是出版社送给我的，我一拿到就束之高阁，放在书柜一页都没有翻过，但是前两天整理书柜的时候，拿出来一翻，竟然发现这绝对是一本好书!这本书一大特点是以单元测试和TDD来贯穿全书的，在教你Java各种重要的基础知识的过程中，潜移默化的影响你的编程思维走向敏捷，走向TDD。另外这本书成书很新，以JDK5.0的语法为基础讲解，要学习JDK5.0的新语法也不错。还有这本书对于内容取舍也非常得当，Java语言毕竟类库庞大，可以讲的内容太多，这本书选择的内容以及内容的多寡都很得当，可以让你以最少的时间掌握Java最重要的知识，顺便培养出来优秀的编程思路，真是一本不可多得的好书。</p>
<p>虽然作者自己把这本书定位在入门级别，但我不确定这本书用来入门是不是稍微深了点，我自己也准备有空的时候翻翻这本书，学习学习。</p>
<p><strong>二、Java编程进阶类</strong></p>
<p>打下一个良好的Java基础，还需要更多的实践经验积累，我想没有什么捷径。有两本书值得你在编程生涯的这个阶段阅读，培养良好的编程习惯，提高你的代码质量。</p>
<p>1、《重构 改善既有代码的设计》</p>
<p>这本书名气很大，不用多介绍，可以在闲暇的时候多翻翻，多和自己的实践相互印证。这本书对你产生影响是潜移默化的。</p>
<p>2、《测试<a class="nounderline" style="text-decoration: none; color: #000000; border-bottom-width: 1px; border-bottom-style: dashed; border-bottom-color: #666666; padding-bottom: 1px;" title="驱动" href="http://driver.it168.com/" target="_blank">驱动</a>开发 by Example》</p>
<p>本书最大特点是很薄，看起来没有什么负担。你可以找一个周末的下午，一边看，一边照做，一个下午就把书看完，这本书的所有例子跑完了。这本书的作用是通过实战让你培养TDD的思路。</p>
<p><strong>三、Java程序员架构师之路</strong></p>
<p>到这个阶段，Java程序员应该已经非常娴熟的运用Java编程，而且有了一个良好的编程思路和习惯了，但是你可能还缺乏对应用<a class="nounderline" style="text-decoration: none; color: #000000; border-bottom-width: 1px; border-bottom-style: dashed; border-bottom-color: #666666; padding-bottom: 1px;" title="软件" href="http://software.it168.com/" target="_blank">软件</a>整体架构的把握，现在就是你迈向架构师的第一步。</p>
<p>1、《Expert One-on-One J2EE Design and Development》</p>
<p>这本书是Rod Johnson的成名著作，非常经典，从这本书中的代码诞生了springframework。但是好像这本书没有中译本。</p>
<p>2、《Expert One-on-One J2EE Development without EJB》</p>
<p>这本书由gigix组织翻译，多位业界专家参与，虽然署名译者是JavaEye，其实JavaEye出力不多，实在是忝居译者之名。</p>
<p>以上两本书都是Rod Johnson的经典名著，Java架构师的必读书籍。在我所推荐的这些书籍当中，是我看过的最仔细，最认真的书，我当时读这本书几乎是废寝忘食的一气读完的，有小时候挑灯夜读金庸武侠小说的劲头，书中所讲内容和自己的经验知识一一印证，又被无比精辟的总结出来，读完这本书以后，我有种被打通经脉，功力爆增的感觉。</p>
<p>但是后来我看过一些其他人的评价，似乎阅读体验并没有我那么high，也许是因为每个人的知识积累和经验不同导致的。我那个时候刚好是经验知识积累已经足够丰富，但是还没有系统的整理成型，让这本书一梳理，立刻形成完整的知识体系了。</p>
<p>3、《企业应用架构模式》</p>
<p>Martin的又一本名著，但这本书我只是泛泛的看了一遍，并没有仔细看。这本书似乎更适合做框架的人去看，例如如果你打算自己写一个ORM的话，这本书是一定要看的。但是做应用的人，不看貌似也无所谓，但是如果有空，我还是推荐认真看看，会让你知道框架为什么要这样设计，这样你的层次可以晋升到框架设计者的角度去思考问题。Martin的书我向来都是推崇，但是从来都没有像Rod Johnson的书那样非常认真去看。</p>
<p>4、《敏捷软件开发原则、模式与实践》</p>
<p>Uncle Bob的名著，敏捷的经典名著，这本书比较特别，与其说是讲软件开发过程的书，不如说讲软件架构的书，本书用了很大篇幅讲各种面向对象软件开发的各种模式，个人以为看了这本书，就不必看GoF的《设计模式》了。</p>
</div>
<div class="w600" style="text-align: left; padding-bottom: 0px; margin: 0px auto; padding-left: 0px; width: 600px; padding-right: 0px; height: auto; font-size: 12px; padding-top: 25px;">
<div class="cont1" style="text-align: left; height: auto; font-size: 12px;">
<div class="t" style="text-align: left; height: auto; color: #333333; font-size: 14px; font-weight: bold;">相关</div>
</div>
</div>
<p> </p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.orablogger.com/?feed=rss2&amp;p=438</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>namespace in the library cache</title>
		<link>http://www.orablogger.com/?p=435</link>
		<comments>http://www.orablogger.com/?p=435#comments</comments>
		<pubDate>Sat, 20 Feb 2010 14:33:29 +0000</pubDate>
		<dc:creator>happydba</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[namespace]]></category>

		<guid isPermaLink="false">http://www.orablogger.com/?p=435</guid>
		<description><![CDATA[HTML clipboard Namespace is just the namespace number of the namespace in the library cache in which the required object lives: 0 SQL Area 1 Table / Procedure / Function / Package Header 2 Package Body 3 Trigger 4 Index 5 Cluster 6 Object 7 Pipe 13 Java Source 14 Java Resource 32 Java Data]]></description>
			<content:encoded><![CDATA[<p>HTML clipboard</p>
<p><!-- font {         font-family: inherit !important; } table { 	 	font-family: Arial, Helvetica, sans-serif !important; 		font-size: 10pt !important; }        .style1 { 				background-color: #00FF00; } .style2 { 				background-color: #66FF66; } .style3 { 				color: #FF0000; 				font-weight: bold; } .style4 { 				color: #FF0000; } --><a name="P3"><code>Namespace</code> is just the  								namespace number of the namespace in the library  								cache in which the required object lives:</p>
<ul>
<li>0 SQL Area</li>
<li>1 Table / Procedure /  												Function / Package Header</li>
<li>2 Package Body</li>
<li>3 Trigger</li>
<li>4 Index</li>
<li>5 Cluster</li>
<li>6 Object</li>
<li>7 Pipe</li>
<li>13 Java Source</li>
<li>14 Java Resource</li>
<li>32 Java Data</li>
</ul>
<p></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.orablogger.com/?feed=rss2&amp;p=435</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
