2009年3月25日星期三

EPM - Multi-language Installation

Before attempting to install Oracle EPM 11.1.1.2 Japanese version, user should set 'Region and Language' proper for displaying Japanese, including installing East language support, set region to Japan and something else like this.

Brent


2009年3月24日星期二

SW Concept - RTM

Just got an idea of RTM build. It's the short ab. of 'Release To Manufacturing'.

-------------Search Results-----------------------------------------------

(一)MSDN (Microsoft Developer Network)版

这是微软公司面向软件开发者的一种版本。MSDN 涵盖了所有的可以被开发扩充的平台和应用程序,因此如微软公司的百科全书 Encarta,或者是各种游戏,是不包括在 MSDN 之内的,因为这些产品直接面向最终用户,没有进行程序开发的必要。

(二) OEM(original equipment manufacturer)版

只能随机器出货,不能零售,所以叫做随机版。只能全新安装,不能从旧有操作系统升级。如果买笔记型计算机或品牌计算机就会有随机版软件。包装不像零售版精美,通常只有一片cd和说明书(授权书)。这种系统通常会少一些驱动,而且目前的oem版很少放在光盘里能给你安装,要么就是恢复盘,要么就是硬盘镜像.


(三) RTM(release.to.manufacturing)版(零售版)


正式在零售商店上架前,需要一段时间来压片,包装、配销,所以程序代码必须在正式发行前一段时间就要完成,这个完成的程序代码叫做final.code,程序代码开发完成之后,要将母片送到工厂大量压片,这个版本就叫做rtm版。rtm版的程序码和正式版一样。但是和正式版也有不一样的地方:例如正式版中的 oem不能升级安装,升级版要全新安装的话会检查旧版操作系统光盘等,这些就是rtm和正式版不同的地方,但是它们的主要程序代码都是一样的。严格的说这种版本还是属于fpp零售版,需要激活的那种.

RC:测试版
RTM:零售版
CTP:Community Test Preview 社区测试试用版

2009年3月19日星期四

Web - Oracle ADF框架介绍

http://blog.ccidnet.com/blog-htm-do-showone-uid-3388-type-blog-itemid-38627.html

ADF是(Application Development Framework)的简称,它的前身是BC4J。 光听这个名字就知道它是一个end-to-end的框架。和Spring一样它在企业应用架构的每一个层次都提供了它的支持。ADF的架构如下图所示:

在每一层ADF都有它的一些组件。我这次主要想讲讲ADF的data binding,因为它隔离了业务逻辑层和web层,使得两个层次的独立性更强。但是,ADF似乎做得过于复杂,使得很难上手使用。
ADF中关键的数据绑定概念如下:

Data Control:
Data Control是对业务接口的抽象,也就是说所有访问业务对象的方法现在都通过Data Control来进行,这样使得绑定层使用一种方式来访问数据,不论后台的数据对象是种实现。可以把Data Control看做是一种代理机制。

Iterator Bindings and Control Bindings:
Binding 是一种轻量级的对象,它的主要目的就是让后台数据和前台显示解藕,这是老生常谈的问题,让我们看看ADF是怎么做的。Iterator Binding 和提供集合对象数据的Data Control合作。 Control Bindings 则提供了一个标准的接口让用户界面可处理集合对象或者调用业务方法。

Binding Containers:
Binding Container 对象记录了某一个用户界面使用了哪些iterator binding、control binding。 有一个XML文件记录了这些内容,在运行时就会根据这个XML来生产一个Binding Container。

Binding Context:
Binding Context 则是比Binding Container更大的一个概念,它包含了所有的Binding Container以及Data Control的信息。
下面介绍一个简单的应用蓝图:

这 个应用是这样的, 现在有一个论坛,在这个论坛上有一个页面用来Review 一些Threads并指定一个team回复它,这个页面叫做ReviewThreads.jsp 。 这个页面需要从后台的ForumService来获得数据并指定回复的Team. ForumService是一个ADF的Application Module组件(Application module组件是对业务逻辑的一种抽象,它可以实现为java class,EJB,webservice等等,它也有自己的方法来调用View Object,这里大家只需要认为它是一种业务组件就行了)。另外,这个页面还需要一个所有可选Team的下拉框,这个下来框的数据来自一个web service LookupCodes。
对应每一个业务组件会有一个Data Control包装了该组件的业务方法。在该应用的Binding Context中包含了两个Binding Container, ReviewThreads和UnansweredPostings。前者提供给ReviewThreads.jsp使用,后者则同事支持uix页面 (uix是一种基于XML的界面语言),以及Jclient的一个Swing Panel。
ReviewThreads绑定容器包含了以下Binding:
1. 三个指向该应用使用的数据集合的iterator binding。两个由ForumService提供,一个由LookupCodes提供,如图所示
2. 三个支持了界面上元素的Control Binding
首先是一个Attribute control binding 用来在页面上Name输入框中显示Forum名字
其次是一个list binding来支持下拉框
最后是一个range binding用来支持JSTL的 显示Team对象。
3. 一个control binding用来调用ForumService的一个方法,用来指定Team答复Thread.

需 要注意的是,control value bindings 是需要通过iterator binding来获得他们的数据。特别是list value binding它同时需要使用两个iterator binding,一个用来取得所有的list中的值,另一个用来提供list中选择的值。

下图介绍了上述的组件在运行时是怎么样配合 的。一个Binding Context包含了一个或者多个Data Control和Binding Container。每一个Binding Container会有一个或者多个iterator binding 指定了一个页面使用的数据集合。每一个iterator binding从一个特定的Data control获取及更改数据。Binding Container也会有一个或多个control binding 来支持页面控制。当Control binding需要和数据绑定时,就要一个iterator binding相关联。如果是一个control action binding,比如说和页面上的submit健关联的binding则会要和一个data control 关联用来调用service 层的方法。

Hyperion 11.1.1.1.0 - Uninstallation

Symptom: Can't complete un-installation  process

Reproduce steps:

  1. Install products: Foundation Services, HFM successfully.
  2. Execute incremental installation for installing FDM. (Run the Installation program again, and choose the product FDM)
  3. Uninstall Hyperion(Run Uninstallation program, and choose to clear all folders of C:\Hyperion).  Results: The folder was not deleted as expected.
  4. Run Installation program of 11.1.1.2.0(Dickens). But it indicates that product Foundation Services is already installed and makes the product un-selectable on the step 'Production Selection'
  5. Run 11.1.1.1.0 installation program to install the product 'Foundation Services' and configure it.
  6. Run the un-installation program again to un-install 11.1.1.1.0. But the un-installation process can not be completed. It stays on the below step.

image

2009年3月18日星期三

Hyperion - 11.1.1.1.0平台支持

Platform Support

EPM System Release 11.1.1.1 supports both Windows and UNIX operating systems. If you are planning to install in a UNIX environment, be sure to carefully read the System Requirements chapter for details on which Windows and UNIX versions are supported for products (see System Requirements.)

At a high level, the following table lists components of products that may only be installed on Windows.

Note:

This does not cover any limitations within UNIX support such as support for certain UNIX versions.

Product CategoryProduct Products/Components Supported on Windows Only
Foundation ServicesSmart View Smart View Client

Remote Authentication ModuleIf using Remote Authentication Module, you must install Shared Services on Windows. Remote Authentication Module is part of the Shared Services installation.

Performance Management Architect
  • Dimension Server

  • File Generator

EssbaseEssbaseEssbase Client (Oracle Essbase Spreadsheet Add-in)

Administration ServicesEssbase Administration Services Console

Integration ServicesEssbase Integration Services Client 32 bit

Essbase StudioEssbase Studio Client

Application Builder for .NETHabNet Client

Oracle Essbase Visual ExplorerSmart View with Visual Explorer Client
Reporting and AnalysisInteractive Reporting
  • Interactive Reporting Studio Client

  • Interactive Reporting Dashboard Development Services


Financial Reporting
  • Financial Reporting Studio Client

  • Financial Reporting Print Server Service


Production ReportingAll Client components
Financial Performance Management ApplicationsFinancial ManagementAll Components

Strategic FinanceAll Components
Data ManagementFDMAll Components

2009年3月16日星期一

Linux - 磁盘分区和格式化

fdisk /dev/sdb 在设备sdb上运行fdisk
fdisk -p 查看某个设备上的分区情况
-d 删除分区
-n 新建分区

mkfs.ext3 /dev/sdb1 格式化sdb1成ext3格式

-----------------他山之石--------------------
预备知识

在我们添加硬盘前,首先要了解linux系统下对硬盘和分区的命名方法。在Linux下对IDE的设备是以hd命名的,第一个ide设备是hda,第二个是hdb。依此类推

我们一般主板上有两个IDE接口,一共可以安装四个IDE设备。主IDE上的两个设备分别对应hda和hdb,第二个IDE口上的两个设备对应hdc和hdd。

一般我们的硬盘安装在主IDE的主接口上,所以是hda,光驱一般安装在第二个IDE的主接口上,所以是hdc(应为hdb是用来命名主IDE上的从接口),SCSI接口设备是用sd命名的,第一个设备是sda,第二个是sdb。依此类推

分区是用设备名称加数字命名的。例如hda1代表hda这个硬盘设备上的第一个分区。每个硬盘可以最多有四个主分区,作用是1-4命名硬盘的主分区。逻辑分区是从5开始的,每多一个分区,数字加以就可以。

比如我们一般的系统都有一个主分区用来引导系统,这个分区对应我们常说的C区,在linux下命名是hda1。后面我们分三个逻辑分区对应常说的D、E、F,在linux下命名是hda5、hda6、hda7

给硬盘分区

在slackware下有两个分区软件fdisk和cfdisk,例如我们已经有一个硬盘了,现在添加另一个硬盘到系统,那么我们根据命名规则知道这个新添加的硬盘应该是hdb。我们用下面命令给硬盘分区


fdisk /dev/hdb

你也可以用cfdisk来分区,命令如下:


cfdisk /dev/hdb

格式化硬盘

格式化成ext3格式


mkfs.ext3 /dev/hdb1

格式化成reiserfs的格式

mkfs.reiserfs /dev/hdb1

让硬盘启动自动挂载

例如挂载/dev/hdb1分区到/mnt/hd目录下

用vi编辑/etc/fstab文件,加入如下内容


/dev/dhb1 /mnt/hd reiserfs defaults 1 1

Linux - 挂载光盘镜像文件、移动硬盘、U盘、Windows和NFS网络共享



挂接命令(mount)

  首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的。

  命令格式:

  mount [-t vfstype] [-o options] device dir

  其中:

  1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:

  光盘或光盘镜像:iso9660

  DOS fat16文件系统:msdos

  Windows 9x fat32文件系统:vfat

  Windows NT ntfs文件系统:ntfs

  Mount Windows文件网络共享:smbfs

  UNIX(LINUX) 文件网络共享:nfs

  2.-o options 主要用来描述设备或档案的挂接方式。常用的参数有:

  loop:用来把一个文件当成硬盘分区挂接上系统

  ro:采用只读方式挂接设备

  rw:采用读写方式挂接设备

  iocharset:指定访问文件系统所用字符集

  3.device 要挂接(mount)的设备。

  4.dir设备在系统上的挂接点(mount point)。

  挂接光盘镜像文件

  由于近年来磁盘技术的巨大进步,新的电脑系统都配备了大容量的磁盘系统,在Windows下许多人都习惯把软件和资料做成光盘镜像文件通过虚拟 光驱来使用。这样做有许多好处:一、减轻了光驱的磨损;二、现在硬盘容量巨大存放几十个光盘镜像文件不成问题,随用随调十分方便;三、硬盘的读取速度要远 远高于光盘的读取速度,CPU占用率大大降低。其实linux系统下制作和使用光盘镜像比Windows系统更方便,不必借用任何第三方软件包。

  1、从光盘制作光盘镜像文件。将光盘放入光驱,执行下面的命令。

   #cp /dev/cdrom /home/sunky/mydisk.iso 或

   #dd if=/dev/cdrom of=/home/sunky/mydisk.iso

   注:执行上面的任何一条命令都可将当前光驱里的光盘制作成光盘镜像文件/home/sunky/mydisk.iso

  2、将文件和目录制作成光盘镜像文件,执行下面的命令。

   #mkisofs -r -J -V mydisk -o /home/sunky/mydisk.iso /home/sunky/ mydir

   注:这条命令将/home/sunky/mydir目录下所有的目录和文件制作成光盘镜像文件/home/sunky/mydisk.iso,光盘卷标为:mydisk

  3、光盘镜像文件的挂接(mount)

   #mkdir /mnt/vcdrom

   注:建立一个目录用来作挂接点(mount point)

   #mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom

   注:使用/mnt/vcdrom就可以访问盘镜像文件mydisk.iso里的所有文件了。

   

  挂接移动硬盘

  对linux系统而言,USB接口的移动硬盘是当作SCSI设备对待的。插入移动硬盘之前,应先用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。

  [root at pldyrouter /]# fdisk -l

  Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

  255 heads, 63 sectors/track, 8924 cylinders

  Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot Start End Blocks Id System

  /dev/sda1 1 4 32098+ de Dell Utility

  /dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

  /dev/sda3 2555 7904 42973875 83 Linux

  /dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

  /dev/sda5 7905 8924 8193118+ 82 Linux swap

  在这里可以清楚地看到系统有一块SCSI硬盘/dev/sda和它的四个磁盘分区/dev/sda1 -- /dev/sda4, /dev/sda5是分区/dev/sda4的逻辑分区。接好移动硬盘后,再用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况

  [root at pldyrouter /]# fdisk -l

  Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

  255 heads, 63 sectors/track, 8924 cylinders

  Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot Start End Blocks Id System

  /dev/sda1 1 4 32098+ de Dell Utility

  /dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

  /dev/sda3 2555 7904 42973875 83 Linux

  /dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

  /dev/sda5 7905 8924 8193118+ 82 Linux swap

  Disk /dev/sdc: 40.0 GB, 40007761920 bytes

  255 heads, 63 sectors/track, 4864 cylinders

  Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot Start End Blocks Id System

  /dev/sdc1 1 510 4096543+ 7 HPFS/NTFS

  /dev/sdc2 511 4864 34973505 f Win95 Ext'd (LBA)

  /dev/sdc5 511 4864 34973473+ b Win95 FAT32

  大家应该可以发现多了一个SCSI硬盘/dev/sdc和它的两个磁盘分区/dev/sdc1?、/dev/sdc2,其中/dev/sdc5是/dev/sdc2分区的逻辑分区。我们可以使用下面的命令挂接/dev/sdc1和/dev/sdc5。

   #mkdir -p /mnt/usbhd1

   #mkdir -p /mnt/usbhd2

   注:建立目录用来作挂接点(mount point)

   #mount -t ntfs /dev/sdc1 /mnt/usbhd1

   #mount -t vfat /dev/sdc5 /mnt/usbhd2

   注:对ntfs格式的磁盘分区应使用-t ntfs 参数,对fat32格式的磁盘分区应使用-t vfat参数。若汉字文件名显示为乱码或不显示,可以使用下面的命令格式。

   #mount -t ntfs -o iocharset=cp936 /dev/sdc1 /mnt/usbhd1

   #mount -t vfat -o iocharset=cp936 /dev/sdc5 /mnt/usbhd2

  linux系统下使用fdisk分区命令和mkfs文件系统创建命令可以将移动硬盘的分区制作成linux系统所特有的ext2、ext3格式。这样,在linux下使用就更方便了。使用下面的命令直接挂接即可。

   #mount /dev/sdc1 /mnt/usbhd1

   

  挂接U盘

  和USB接口的移动硬盘一样对linux系统而言U盘也是当作SCSI设备对待的。使用方法和移动硬盘完全一样。插入U盘之前,应先用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。

  [root at pldyrouter root]# fdisk -l

  Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

  255 heads, 63 sectors/track, 8924 cylinders

  Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot Start End Blocks Id System

  /dev/sda1 1 4 32098+ de Dell Utility

  /dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

  /dev/sda3 2555 7904 42973875 83 Linux

  /dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

  /dev/sda5 7905 8924 8193118+ 82 Linux swap

  插入U盘后,再用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。

  [root at pldyrouter root]# fdisk -l

  Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

  255 heads, 63 sectors/track, 8924 cylinders

  Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot Start End Blocks Id System

  /dev/sda1 1 4 32098+ de Dell Utility

  /dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

  /dev/sda3 2555 7904 42973875 83 Linux

  /dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

  /dev/sda5 7905 8924 8193118+ 82 Linux swap

  Disk /dev/sdd: 131 MB, 131072000 bytes

  9 heads, 32 sectors/track, 888 cylinders

  Units = cylinders of 288 * 512 = 147456 bytes

  Device Boot Start End Blocks Id System

  /dev/sdd1 * 1 889 127983+ b Win95 FAT32

  Partition 1 has different physical/logical endings:

  phys=(1000, 8, 32) logical=(888, 7, 31)

  系统多了一个SCSI硬盘/dev/sdd和一个磁盘分区/dev/sdd1,/dev/sdd1就是我们要挂接的U盘。

  #mkdir -p /mnt/usb

  注:建立一个目录用来作挂接点(mount point)

  #mount -t vfat /dev/sdd1 /mnt/usb

  注:现在可以通过/mnt/usb来访问U盘了, 若汉字文件名显示为乱码或不显示,可以使用下面的命令。

  #mount -t vfat -o iocharset=cp936 /dev/sdd1 /mnt/usb

  挂接Windows文件共享

  Windows网络共享的核心是SMB/CIFS,在linux下要挂接(mount)windows的磁盘共享,就必须安装和使用samba 软件包。现在流行的linux发行版绝大多数已经包含了samba软件包,如果安装linux系统时未安装samba请首先安装samba。当然也可以到 www.samba.org网站下载......新的版本是3.0.10版。

  当windows系统共享设置好以后,就可以在linux客户端挂接(mount)了,具体操作如下:

  # mkdir –p /mnt/samba

  注:建立一个目录用来作挂接点(mount point)

  # mount -t smbfs -o username=administrator,password=pldy123 //10.140.133.23/c$ /mnt/samba

  注:administrator 和 pldy123 是ip地址为10.140.133.23 windows计算机的一个用户名和密码,c$是这台计算机的一个磁盘共享

  如此就可以在linux系统上通过/mnt/samba来访问windows系统磁盘上的文件了。以上操作在redhat as server 3、redflag server 4.1、suse server 9以及windows NT 4.0、windows 2000、windows xp、windows 2003环境下测试通过。

  挂接UNIX系统NFS文件共享

  类似于windows的网络共享,UNIX(Linux)系统也有自己的网络共享,那就是NFS(网络文件系统),下面我们就以SUN Solaris2.8和REDHAT as server 3 为例简单介绍一下在linux下如何mount nfs网络共享。

  在linux客户端挂接(mount)NFS磁盘共享之前,必须先配置好NFS服务端。

  1、Solaris系统NFS服务端配置方法如下:

   (1)修改 /etc/dfs/dfstab, 增加共享目录

      share -F nfs -o rw /export/home/sunky

   (2)启动nfs服务

      # /etc/init.d/nfs.server start

   (3)NFS服务启动以后,也可以使用下面的命令增加新的共享

      # share /export/home/sunky1

      # share /export/home/sunky2

   注:/export/home/sunky和/export/home/sunky1是准备共享的目录

  2、linux系统NFS服务端配置方法如下:

   (1)修改 /etc/exports,增加共享目录

  /export/home/sunky 10.140.133.23(rw)

  /export/home/sunky1 *(rw)

  /export/home/sunky2 linux-client(rw)

   注:/export/home/目录下的sunky、sunky1、sunky2是准备共享的目录,10.140.133.23、*、 linux-client是被允许挂接此共享linux客户机的IP地址或主机名。如果要使用主机名linux-client必须在服务端主机 /etc/hosts文件里增加linux-client主机ip定义。格式如下:

   10.140.133.23 linux-client

   (2)启动与停止NFS服务

   /etc/rc.d/init.d/portmap start (在REDHAT中PORTMAP是默认启动的)

   /etc/rc.d/init.d/nfs start 启动NFS服务

   /etc/rc.d/init.d/nfs stop 停止NFS服务

   注:若修改/etc/export文件增加新的共享,应先停止NFS服务,再启动NFS服务方能使新增加的共享起作用。使用命令exportfs -rv也可以达到同样的效果。

  3、linux客户端挂接(mount)其他linux系统或UNIX系统的NFS共享

   # mkdir –p /mnt/nfs

   注:建立一个目录用来作挂接点(mount point)

   #mount -t nfs -o rw 10.140.133.9:/export/home/sunky /mnt/nfs

   注:这里我们假设10.140.133.9是NFS服务端的主机IP地址,当然这里也可以使用主机名,但必须在本机/etc/hosts文件里增加服务端ip定义。/export/home/sunky为服务端共享的目录。

  如此就可以在linux客户端通过/mnt/nfs来访问其它linux系统或UNIX系统以NFS方式共享出来的文件了。以上操作在 redhat as server 3、redflag server4.1、suse server 9以及Solaris 7、Solaris 8、Solaris 9 for x86&sparc环境下测试通过。

权限问题:

假設 server 端的使用者 jack, user id 為 1818, gid 為 1818, client 端也有一個使用者 jack,但是 uid 及 gid 是 1818。client 端的 jack 希望能完全讀寫 server 端的 /home/jack 這個目錄。server 端的 /etc/exports 是

這樣寫的:

/home/jack *(rw,all_squash,anonuid=1818,anongid=1818)

這個的設定檔的意思是,所有 client 端的使用者存取 server 端 /home/jack 這

目錄時,都會 map 成 server 端的 jack (uid,gid=1818)。我 mount 的結果是

1. client 端的 root 可以完全存取該目錄, 包括讀、寫、殺……等

2. client 端的 jack (uid,gid=1818) 我可以做:

rm -rf server_jack/*

cp something server_jack/

mkdir server_jack/a