FNDLOAD数据移植

来源:互联网 发布:淘宝开店认证无法拍照 编辑:程序博客网 时间:2024/04/30 14:11

简介

FNDLOAD是Oracle提供一个数据同步工具,并得到官方支持。

FNDLOAD通过下相关定义得到一个文本文件做中转,再上传到另一个实例中,通过此文件,可以方便地进行版本控制,同时了也方便进行安装、移植和克隆。

流程描述图

控制文件(lct)

控制文件一般位于$FND_TOP/admin/import下。

示例:

DEFINE EXECUTABLE

 KEY  EXECUTABLE  VARCHAR2(30)

  ……

END EXECUTABLE

……

DOWNLOAD EXECUTABLE

 "select v.EXECUTABLE_NAME,

  ……

  and a.APPLICATION_ID = v.APPLICATION_ID "

……

UPLOAD EXECUTABLE

 " begin

……

   end; "

 

控制文件由4部分组成:

1. 实体(entity) :说明控制文件是用来移植什么的,如“EXECUTABLE”就是一个实体,进行定义(DEFINE)、下载(DOWNLOAD)、上传(UPLOAD)。

2. 段(section) :定义实体的数据结构,移植时数据的结构和类型,如: KEY   EXECUTABLE_NAME  VARCHAR2(30)。

3. 下载(download) :定义了下载数据时所使用的SQL语句,SQL语句中以冒号(:)打头的变量是FNDLOAD的变量,在运行命令时可传入参数的值来显示数据的提取。

4. 上载(upload) :定义了上载数据时所执行的SQL语句或者PLSQL代码。

常用控制文件列表

模块

文件名

描述

FND

afcpprog.lct

可执行、并发程序、值集、弹性域

FND

afcpexec.lct

可执行程序

FND

afattach.lct

附件

FND

afcpreqg.lct

请求组

FND

afcprset.lct

请求集

FND

afffload.lct

值集、关键性弹性域和描述性弹性域及相关安全性设置

FND

aflvmlu.lct

Lookups

FND

afmdmsg.lct

消息

FND

afscprof.lct

profile options 预制文件

FND

afscursp.lct

Application users,User Responsibilities,Security groups,Applications,Application Responsibilities and Exclusion Functions

FND

afsload.lct

FORM, FUNCTION, MENU, ENTRY, OBJECT, OBJECT_INSTANCE_SET, GRANT

FND

affrmcus.lct

Form个性化定义

语法

FNDLOAD logon 0 Y mode configfile datafile[ entity [ param ... ] ]

logon:EBS用户/密码[@TNS连接别名]

mode:UPLOAD或DOWNLOAD

configfile:配置文件路径,用来控制上传和下载的控制文件(lct)

datafile:生成的数据文件(ldt)

entity:多个实体定义的控制文件选择需要操作的部分。

param:用来控制数据移植的参数,格式为NAME=Value 。

从DOWNLOAD部分中的sql语句中的参数来知道下载某个entity需要什么样的参数,其实参数都是可选的,如果不加控制,就会下载全部。

UPLOAD时,最后加上"- CUSTOM_MODE=FORCE"表示强制覆盖已存在的。

数据移植步骤

1.在测试环境下cd $FND_TOP/admin/import(可以用pwd查看路径)进入这个目录。

2.FNDLOAD apps/密码 0 Y DOWNLOAD $FND_TOP/patch/115/import/aflvmlu.lct ***.ldt VALUE_SET FLEX_VALUE_SET_NAME='***'。

例如:FNDLOAD apps/dw11apps O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct CUXGLBPUSH.ldt PROGRAMAPPLICATION_SHORT_NAME="CGL"CONCURRENT_PROGRAM_NAME="CUXGLBPUSH" NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"

3.用fxpflash从$FND_TOP/admin/import目录下载生成的ldt文件到本地。

4.在正式环境下用fxpflash上传ldt文件到cd$FND_TOP/admin/import目录下。

5. 在正式环境下cd $FND_TOP/admin/import(可以用pwd查看路径,一般都是这个目录)进入这个目录。

6.FNDLOAD apps/密码 0 Y UPLOAD $FND_TOP/patch/115/import/aflvmlu.lct ***.ldt。

例如:FNDLOAD APPS/APPS O Y UPLOAD $FND_TOP/patch/115/import/aflvmlu.lct CUX_GL_BALANCE_FTP.ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE

多语言数据移植

系统中存在很多数据的定义都是多语言的,而FNDLOAD一次只能移植一个语言的数据。因此如果移植多语言数据,需要按照语言环境进行多次移植,即生成不同语言环境数据文件(ldt)。大多数的控制文件(lct)是不区分语言环境的,多语言通用的。

当移植的为新数据,则移植的一个语言环境的数据将创建多语言的数据。如果移植是为了更新数据,那么只会更新对应语言环境的数据,其他语言环境不受影响。

NLS_LANG可以通过下面的SQL查询获得:

SELECT '"' || nls_language || '_' ||nls_territory || '.' || VALUE || '"' nls_lang

 FROM fnd_languages, v$nls_parameters

 WHERE language_code IN ('US', 'ZHS')

  AND parameter = 'NLS_CHARACTERSET'; 

只需在FNDLOAD命令执行前,使用

NLS_LANG="语言

exportNLS_LANG 

切换语言环境即可。

在DOWNLOAD操作的FNDLOAD语句后加上“NLS_LANG=语言”。

示例:

NLS_LANG="SIMPLIFIEDCHINESE_CHINA.ZHS16GBK"

export NLS_LANG 

FNDLOAD apps/$appspasswd 0 Y DOWNLOAD/ora1159/prod/prodappl/fnd/11.5.0/patch/115/import/afffload.lctPA_PROJECTS_DESC_FLEX.ldt DESC_FLEXDESCRIPTIVE_FLEXFIELD_NAME='PA_PROJECTS_DESC_FLEX' NLS_LANG= "SIMPLIFIEDCHINESE_CHINA.ZHS16GBK"

注意点

1.CUSTOM_MODE=FORCE 强制覆盖已有数据

这个属性好像只对菜单等数据有效

2.注意创建者OWNER等字段值是否在移植环境有效。

0 0
原创粉丝点击