软硬件需求

3.1 硬件需求

如下:

设备

说明

CPU

2个以上

内存

1G以上

硬盘

两个以上,有阵列更好。每个磁盘40G以上

网卡

10M以上

3.2 软件需求

如下:

软件

说明

操作系统

Ubuntu (版本应为10.0.0.4及以上)

编译器

RPGCLSQL编译环境

FTP CLIENT

跟随相应操作系统的版本

REXEC CLIENT

跟随相应操作系统的版本

ssl共享库文件

libssl0.9.8ssllib0.9.8-dbg

Linux硬件检测文件

dmidecode

Oracle

需安装有Oracle服务器或客户端,可为8i9i10g11g任意版本

 

系统安装

4.1 空间准备

Sota所需要的空间:sota程序大小加上日志文件的大小,推荐至少60M以上磁盘空间。

sotaData所需的空间:按照作业量分配大小,为作业INIT数据加上日志增量,如:每天产生数据200M,运行一年,则磁盘大小至少200*365M 

4.2 环境准备

 

4.2.1 检查源库和备库的TNS信息

1.找到存放tnsnames.ora的路径

****/network/admin/tnsnames.ora

2.编辑更改tnsnames.ora文件

EBS =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.88)(PORT = 10010))

<!----描述配置客户端信息,PROTOCOL是协议,HOST主机IP地址,PORT端口号oracle 默认1521EBS系统server端设置的是10010,端口号必须与服务端设置相同------->

<!----客户端名由用户自定义命名----->

(CONNECT_DATA =

(SERVER = DEDICATED)         <!----连接模式:DEDICATED专用服务器连接,shared共享服务器连接---->

(SERVICE_NAME = PORCLI)   <!---服务端数据库名字-----必须是安装数据库起的名字一致>

)

)

 

 


4.2.2 检查到源库和备库的网络是否联通

打开终端,利用ping+IP地址,查看网络是否连通。例如,“ping 192.168.8.8 ”,返回结果:


PING 192.168.8.8 (192.168.8.8) 56(84) bytes of data. 

64 bytes from 192.168.8.8: icmp_req=1 ttl=64 time=44.9 ms 

64 bytes from 192.168.8.8: icmp_req=2 ttl=64 time=44.9 ms 

64 bytes from 192.168.8.8: icmp_req=3 ttl=64 time=43.0 ms

则连通,否则未连通。


 

4.2.3 检查SQLPLUS程序是否存在

     查看是否有sqlplus,并且能连接数据库。用“which sqlplus”命令显示:

/.../sqlplus ,则有sqlplus

4.2.4 检测源库和备库是否可以连接

然后用“tnsping  odb10g ”或者“sqlplus  scott/tiger@odb10g”得到结果: 

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Mar 21 17:03:04 2013 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to: 

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production 

With the Partitioning, OLAP and Data Mining options  

则连上数据库,反之,则没连上。

4.2.5 检查SOTA需要的SSL共享库

     在终端中输入“locate libcrypt | grep crypt.so”查看ssl库是否在。

例如,locate libcrypt | grep crypt.so,返回结果: 

/home/buddi/ora10g_l/lib/stubs/libcrypt.so 

/home/buddi/ora10g_l/lib/stubs/libcrypt.so.1 

/lib/i386-linux-gnu/libcrypt.so.1 

/usr/lib/i386-linux-gnu/libcrypt.so 

 

则存在,反之则不存在。

4.2.6 检查是否有dmidecode文件

查看是否有dmidecode.用“whereis  dmidecode”查看返回结果dmidecode: /usr/sbin/dmidecode/usr/share/man/man8/dmidecode.8.gz.则有该文件,反之,则无。

4.3 目录规划

sota不能安装在/home目录下。

强烈建议在rootopt目录下放 sota文件夹与sotadata文件夹。

sota文件夹:/opt/sota

sotaData文件夹及子目录如下:/opt/sotaData/作业名/,并在其下依次建立9个文件夹:batDataconferridxDatalogmetaDatarowDataruntxnData.

 

4.4 sota安装

安装过程应在Oracle安装用户下进行,参照目录规划的内容,将sotasotaData复制到该目录下。如打包文件名为 

sota2.2.tar.gz.命令如下:   

cd  /opt 

cp  sota2.2.tar.gz   .

tar zxvf  sota2.2.tar.gz      //解压sata2.2

mkdir sotaData 

cd  /sotaData

mkdir 作业名

cd  /作业名

mkdir batData                

…                            //重复”mkdir  ***”创建目录规划的9文件夹。

完成后如下图所示:

spacer.gif

注:初次安装者可直接将sotaData目录下example改为作业名。

4.5 安装配置

为了能够顺利进行安装验证,必须配置oplannerConfig文件。

启动oBus之前不需要配置任何文件,但启动oPlanner则不一样,它有Config文件。在启动前要配置好所需的Config文件,另外还需要License.datJobList.xml。为什么还要这两个文件呢?License.dat文件包含了名字,使用SOTA系统的开始时间,有效使用期限和KEY这些内容,根据有效使用期限和使用的开始时间来决定使用者能使用哪些模块。JobList.xml文件是用来配置作业名,作业的个数,源数据库和目标数据库的情况,有了作业的相关信息才能决定组件的情况。JobLoadFilter.xml文件有用来配置的作业名。

OPlanner配置这四个文件的顺序是:oPlanner.cfg-->License.dat   -->JobList.xml-->jobloadFilter.xmloPlanner的运行必须需要这四个文件,这四个文件是相辅相成,缺一不可。

2.5.1 配置oPlanner.cfg文件

oPlanner.cfg文件是oPlannerConfig文件,主要是设置oPlanner的工作路径/ip地址和端口号。图oPlanner.cfg_1是对oPlanner.cfg文件的解释。oPlanner工作路径根据实际情况而定,这里的工作路径以/opt/sotaData 为例来配置oPlanner.cfg文件请参考图oPlanner.cfg_2

 

oPlanner.cfg文件内容

变量描述

变量类型

变量值

ip

ip地址

字符类型

127.0.0.1 

port

端口号

数值类型

6379

jobDir

oPlanner工作路径

字符类型

     视实际情况而定

                           图oPlanner.cfg_1

oPlanner.cfg所在目录

./sota/conf

Ip=127.0.0.1                                                      <!--      设置IP地址     -->

port=6379                                                          <!--      设置端口号    -->

jobDir=/opt/sotaData            <!--       工作路径必须填写,否则Oplanner无法运行    -->

                       图oPlanner.cfg_2

4.5.2 license.dat详解

License.dat文件无须配置是运行oLic程序后自动产生,包含了名字,使用SOTA系统的开始时间,有效使用期限和KEY这些内容。决定了使用者使用该SOTA系统的程度 ,根据有效使用期限和使用的开始时间来决定使用者能使用哪些模块。普通用户使用该SOTA系统默认有效期为1个月,这段期间可以使用SOTA的全部功能,逾期后将不再拥有数据迁移的权限。

注意:第一次使用SOTA系统,要使用SOTACC程序运行start  OPlanner产生相应的license.dat文件(备注:每个安装SOTA系统的主机都有相对的license.dat文件,license.dat文件根据安装SOTA系统的主机的主板及网卡等信息来产生key)。

4.6 安装验证

检查哪些文件存在并且有执行权限,命令: 

cd  /opt/sota

ll

cd  /opt/sotaData

ll 

命令行启动oBusSvr测试,命令: 

cd  /opt/sota/bin

./oBusSvr

 

另开启新终端,命令: 

ps -ef | grep oBusSvr

 

 

查看oBus进程是否存在,若存在,则成功,反之,则失败。

命令行启动oPlanner测试,oBus启动后才能启动oPlanner,命令:

cd  /opt/sota/bin

./oPlanner

另开启新终端,命令: 

ps -ef | grep oPlanner 

查看oPlanner进程是否存在,若存在,则成功,反之,则失败。

创建作业

5.1 SOTA作业概念

SOTA将数据从源库同步到目的库的过程抽象为一个作业。 

一个作业包含了对操作目标(数据库)和操作流程(抽取/分析/装载)的定义。

这些定义分布和存放在不同目录下的不同文件中,这些文件整体构成一个作业的描述和定义。

   这些描述信息包含:

1) 数据库描述和定义 

 

文件名

路径

文件作用

JobList.xml

Sota/run

设置作业名,设置源数据库名称,设置目标数据库的个数,设置目标数据库的编号,设置目标数据库的名称,设置目标数据库的装载个数

JobLoadFilter.xml

Sota/run

源数据库中允许和不允许哪些用户及用户下的表同步到目标数据库的设置

2)组件的描述和定义 

 oSucker/oParser/oLoader三个组件通过oBus来交换信息,所以在各个组件的配置文件中包含IP地址和端口号的设置。每个作业都有对应的抽取组件/分析组件/装载组件,即这三个组件的配置文件中都设置了作业名。

文件名

路径

文件作用

E_Config.xml

SotaData/作业名/conf

oSucker配置信息,除了配置以上信息外还配置了源数据库名称,以及源数据库中的那个用户和密码登录源数据库,oSucker 程序运行的所在目录和抽取过滤文件(Filter.xml文件)

L_Config_**.xml

SotaData/作业名/conf

oLoader配置信息,除了配置以上信息外还包含了从源数据库的哪个用户装载到目标数据库的那个用户下,目标数据库的名字,以目标数据库的那个用户和密码登录目标数据库,oLoader的工作路径和与之相关的oSucker/oParser的工作路径

P_Config.xml

SotaData/作业名/conf

oParser配置文件,除了配置以上信息外还包含了oParseroLoader的工作路径

Filter.xml

SotaData/作业名/conf

允许/不允许源数据库中的哪些用户及用户下的表被提取的设置

 

5.2 创建第一个作业

SOTA默认没有作业配置信息。利用SOTA完成数据同步的首要工作是建立一个作业!

在创建作业之前首先要确认目标库和备库的名称,数据库SYS用户的密码,需要同步的用户或表名。

下面仔细说明创建一个作业的基本流程!

job name为 Job001, 源数据库名为ODB10G ,目标数据库的个数为1,目标数据库的编号为1,目标数据库的名称为ODB11G,装载的个数为1为例来设置。

 

5.2.1 设置作业列表基本信息 –JobList.xml

格式:参考图JobList.xml_1

注意: 该文件必须有,里面的各个信息必须正确,否则将创建错误的作业信息。具体怎样配置JobList.xml文件如下:1)进入JobList.xml所在目录  2)查看/编辑JobList.xml文件。如果不知道怎样配置JobList.xml文件请参考图JobList.xml_1

 

JobList.xml所在目录

./sota/run

<jobList>

<job name="Job001" >                                  <!--      设置作业名     -->

<srcdb name="ODB10G " />                 <!--      设置源数据库名     -->

<tgtdb num="1" >                                  <!--      设置目标数据库个数     -->

<attr id="1" name="ODB11G" LdrNum="1" />

                                                              <!--      设置目标数据库名,装载个数     -->

</tgtdb>

</job>

</jobList>

                   图JobList.xml_1

 

5.2.2 配置作业oSucker组件信息 – E_Config.xml

格式:参见图E_Config.xml   

注意:该文件必须有,里面的各个信息必须正确,否则oSucker组件无法运行。具体怎样配置E_Config.xml文件如下:1)进入E_Config.xml所在目录 2)查看/编辑E_Config.xml文件。如果不知道怎样配置E_Config.xml文件请参考图E_Config.xml

 

E_Config.xml文件目录

./sotaData/Job001/conf

<LogConfig>

   <oracle>

      <dbname>ODB10G</dbname>         <!--      设置源数据库名     -->

      <user>sys</user>                               <!--      设置源库用户名  必须SYSDBA权限     -->

      <password>sys</password>              <!--      设置源库用户密码     -->

   </oracle>

   <busIP>127.0.0.1</busIP>                   <!--      设置BUSIP地址     -->

   <busPort>6379</busPort>                    <!--       设置BUS端口号      -->

   <jobID>Job001</jobID>                      <!--     作业名,  必须是jobList.xml文件中存在    -->

   <workdir>/opt/sotaData/Job001</workdir>   

                                                    <!--      这个必须正确否则无法启动SUCKER    -->

   <filterFile>/opt/sotaData/Job001/conf/Filter.xml</filterFile> 

      <!--      这个文件必须存在否则SUCKER无法工作,参看FILTER文件配置章节  -->

</LogConfig>

                         图E_Config.xml_2

5.2.3 配置Filter.xml信息 – Filter.xml

格式:参见图Filter.xml_2

注意:该文件必须有,里面的各个信息必须正确,否则抽取的数据可能不是想要的结果。具体怎样配置Filter.xml文件如下:1)进入Filter.xml所在目录 2)用vi编辑Filter.xml文件或者使用其他编辑工具编辑文件。

1) owner模式进行限制,例:用户模式下允许oSucker抽取的用户是SCOTTJQD,不允许oSucker抽取的表为SCOTT.DUMMYJQD.OBJ

.

Filter所在目录

./sotaData/Job001/conf

<filter>

   <mode>owner</mode>

   <omode>

  <list>SCOTT</list>                           <!--      允许SUCKER抽取的源库用户    -->

  <list>JQD</list>

  <deny>SCOTT.DUMMY</deny>     <!--      不允许SUCKER抽取的源库用户下的表    -->

  <deny>JQD.OBJ</deny>

   </omode>

</filter>

2) table模式进行限制,例:在表模式下允许oSucker抽取的表是JQD.DEPT.

Filter所在目录

./sotaData/Job001/conf

<filter>

   <mode>table</mode>

<tmode>

  <list>JQD.DEPT</list>                     <!--      允许SUCKER抽取的源库用户的表    -->

   </tmode>

</filter>

3) all模式限制,例: 在用户及表模式下不允许oSucker抽取的用户有'SYS', 'SYSTEM', 'SYSMAN', 'CTXSYS', 'DBSNMP', 'DMSYS', 'MDSYS', 'ORDSYS', 'RMAN', 'WKSYS', 'WMSYS'.

Filter所在目录

./sotaData/Job001/conf

<filter>

   <mode>all</mode>

<all>

  <deny>'SYS', 'SYSTEM', 'SYSMAN', 'CTXSYS', 'DBSNMP', 'DMSYS', 'MDSYS', 'ORDSYS', 'RMAN', 'WKSYS', 'WMSYS'</deny> <!--      不允许SUCKER抽取的源库用户  -->

   </all>

</filter>

 

5.2.4 配置作业oParser 组件信息 – P_Config.xml

格式:参见图P_Config.xml_2

注意:该文件必须有,里面的各个信息必须正确,否则oParser组件无法运行。具体怎样配置P_Config.xml文件如下:1)进入P_Config.xml所在目录  2)查看/编辑P_Config.xml文件。

oBusip地址为 127.0.0.1oBus的端口号为6379,根据以上内容为例编写P_Config.xml文件。详细内容请参考图P_Config.xml_2

P_Config.xml文件目录

./sotaData/Job001/conf

<PsrConfig>

   <workdir>/opt/sotaData/Job001</workdir>

                                                    <!--      这个必须正确否则无法启动Parser   -->

   <suckerdir>/opt/sotaData/Job001</suckerdir>

<!--      这个必须正确否则无法被SUCKER驱动    -->

   <busIP>127.0.0.1</busIP>                   <!--      设置BUSIP地址     -->

   <busPort>6379</busPort>                    <!--       设置BUS端口号      -->

   <jobID>Job001</jobID>                      <!--     作业名,  必须是jobList.xml文件中存在    -->

</PsrConfig>

                   图P_Config.xml_2

5.2.5 配置作业oLoader组件信息 –L_Config_**.xml

格式:参见图L_Config_**.xml_2.**为目标库名

注意:该文件必须有,里面的各个信息必须正确,否则oLoader组件无法运行。

L_Config_**.xml文件目录

./sotaData/Job001/conf

<LoadConfig>

   <workdir>/opt/sotaData/Job001</workdir>

                                                      <!--      这个必须正确否则无法启动   -->    

   <suckerdir>/opt/sotaData/Job001</suckerdir>

                                                 <!--      这个必须正确否则无法被SUCKER驱动    -->

   <parserdir>/opt/sotaData/Job001</parserdir>

<!--      这个必须正确否则无法被Parser驱动    -->

   <busIP>127.0.0.1</busIP>                     <!--      设置BUSIP地址     -->

   <busPort>6379</busPort>                      <!--      设置BUS端口号      -->

   <jobID>Job001</jobID>                        <!--      作业名,  必须是jobList.xml文件中存在    -->

   <oracle>

      <dbname>ODB11G</dbname>         <!--      设置目标数据名     -->

      <user>sys</user>                               <!--      设置目标库用户名  必须SYSDBA权限     -->

      <password>sys</password>              <!--      设置目标库用户密码     -->

   </oracle>

   <ownermap>

  <from>scott</from>                       <!--      设置从个用户下的表同步     -->

  <to>jqd</to>                                  <!--      设置同步到个用户下     -->

   </ownermap>

</LoadConfig>

              图L_Config_**.xml_2

5.2.6 配置作业装载组件信息 – JobLoadFilter.xml

格式:参见图JobLoadFilter.xml_1

注意:该文件必须有,里面的各个信息必须正确,否则Loader组件无法运行。

每个不同作业中,目标数据库名字严禁相同,否则在处理作业信息时会出错。

具体怎样配置JobLoadFilter.xml文件如下:1)进入JobLoadFilter.xml所在目录 2)查看/编辑JobLoadFilter.xml文件。

下面以允许装载的源数据库中的SCOTT用户及不允许装载该用户下的dummytest这两张表,根据以上内容为例编写JobLoadFilter.xml文件。详细内容请参考图JobLoadFilter.xml_1

 

JobLoadFilter.xml文件目录

./sota/run

<LoadFilter jobName="Job001" tgtDbName="ODB11G" >   

                                                       <!--      设置作业名,目标数据库名    -->

<allowOwner name="SCOTT">          <!--      设置允许的源库用户名    -->

<denyTable name="dummy" />   <!--      设置不允许装载的表名    -->

<denyTable name="test" />         <!--      设置不允许装载的表名    -->

</allowOwner>

</LoadFilter>

                    图JobLoadFilter.xml_1