搜档网
当前位置:搜档网 › TimesTen在LINUX下的安装和使用

TimesTen在LINUX下的安装和使用

TimesTen在LINUX下的安装和使用
TimesTen在LINUX下的安装和使用

Oracle TimesTen 内存数据库在Linux下的安装和使用

(依据TimesTen版本11.2.1)

作者:秦诺

thor.qin@https://www.sodocs.net/doc/1a12973380.html,

2010年10月8日

内容目录

1 TimesTen简介 (3)

1.1 内存数据库 (3)

1.2 In-Memory Database Cache (4)

2 TimesTen的安装 (5)

2.1 创建数据库管理员用户 (5)

2.2 下载TimesTen安装包 (5)

2.3 用数据库管理员用户安装TimesTen (6)

3 配置和创建数据库 (9)

3.1 配置Oracle数据库的连接(In-Memory Database Cache) (9)

3.1.1 配置Instant Client (9)

3.2 在oracle数据库端配置缓存信息 (10)

3.2.1 创建独立的缓存用户表空间 (10)

3.2.2 创建TimesTen 架构 (11)

3.2.3 创建缓存管理员(数据库用户) (11)

3.2.4 授予缓存管理员必要的系统权限 (11)

3.2.5 授予缓存管理员表权限(需要被缓存的表) (11)

3.3 配置TimesTen需要的环境变量 (11)

3.4 配置ODBC数据源信息 (12)

3.4.1 服务器数据源的配置 (12)

3.4.2 客户端数据源的配置 (12)

3.5 创建TimesTen缓存数据库 (13)

3.5.1 添加一个ODBC信息 (14)

3.5.2 Linux上启动数据库之前需要完成的一些动作 (14)

3.5.3 启动数据库 (14)

3.5.4 在TimesTen 数据库中创建用户 (15)

3.5.5 关联Oracle 中的cacheadm和TimesTen中的cacheadm用户 (15)

3.5.6 创建缓存网格 (15)

3.5.7 启动缓存代理 (16)

3.5.8 创建缓存组 (16)

3.5.9 启动数据复制代理 (16)

3.5.10 加载数据到缓存中 (17)

4 使用Sql Developer访问TimesTen数据库 (17)

5 OCI编程需要注意的问题 (17)

5.1 Oracle数据库功能限制 (17)

5.2 附加的TimesTen OCI限制 (18)

5.3 附加的TimesTen OCI 区别 (18)

5.4 使用ttSrcScan工具 (19)

1 TimesTen简介

Oracle 内存数据库 TimesTen 是一个针对内存进行了优化的关系数据库,它为应用程序提供了当今实时企业和行业(如电信、资本市场和国防)所需的即时响应性和非常高的吞吐量。Oracle 内存数据库 TimesTen 作为独立或嵌入式数据库部署在应用层中,利用标准的 SQL 接口对完全位于物理内存中的数据库进行操作。它也可以用作 Oracle 数据库的内存中数据库缓存,以改进用户应用程序的响应时间和吞吐量。

1.1 内存数据库

Oracle 内存数据库 TimesTen 是一个优化内存的关系数据库,提供了响应时间极短且吞吐量极高的应用程序,可满足各行业应用程序的需求。

Oracle 内存数据库 TimesTen (TimesTen) 通过改变数据在运行时驻留位置的假设来提供实时性能。通过在内存中管理数据,并相应地优化数据结构和访问算法,数据库操作能够以最大效率执行,从而大大提高响应速度和吞吐量,甚至能够与完全使用缓存磁盘的 RDBMS 相媲美。TimesTen 是一个可嵌入到应用程序中的数据库,通过消除了进程间通信和网络开销,进一步提高数据库操作的性能。

Oracle 内存数据库 TimesTen 使用行级锁定和提交后读取 (committed-read) 隔离,通常与多用户和多线程应用程序一起部署。应用程序通过 JDBC、ODBC、Oracle 调用接口、Pro*C/C++ 和 Oracle

PL/SQL 编程接口,使用标准 SQL 访问 TimesTen 数据库。通过运行 TimesTen 实现了应用程序的最佳响应时间后,如果运行在不同服务器上的多个应用程序共享一个数据库时,会使用常规的客户端/服务器访问。

Oracle TimesTen 数据库是持久的且可恢复。通过事务日志记录与数据库检查点相结合实现了磁盘的持久性。

TimesTen Re p lication 支持 TimesTen 数据库之间的实时事务复制。由于应用程序的任务关键特性,大多数部署都添加了 TimesTen Re p lication 选件以实现高可用性和负载平衡。可用性是大多数实时应用程序的一项必需要求。全天候运营的行业(如电信业)和可以通过 W e b 访问的全球系统(如旅行和预订网站)不容许服务中断。证券交易系统在金融市场开放时必须持续保持可用状态。

TimesTen Re p lication 提供了以下性能和一致性方面的功能:

?灵活的体系结构支持在 L AN 和 WAN 上可用的各种配置选项。

?基于事务日志的复制模式可以实现高效率和低开销。

?异步复制可提供最佳性能,且应用程序将与用户数据库中复制元素的接收过程完全分离。

?同步复制提供了活动数据库和备用数据库之间更高可信度的数据一致性;将一直锁定应用程序,直至在备用数据库上接收到事务并将其提交。

?备用数据库使用可用于读取;可以通过配置其他的只读用户来提供更多的读取容量。

?与 Oracle 集群件无缝集成可实现故障检测和到备用数据库的故障切换。

?联机升级允许单个服务器脱机升级软件,而无需中断其他服务器。

对于现有数据已存在于 Oracle 数据库中的应用程序,将数据的性能关键子集缓存到内存数据库 TimesTen 是一个缩短应用程序事务响应时间的实用解决方案。请参阅此处的 Oracle I n-Memor y

Data b ase Cac h e 概述。

1.2I n-Memor y Data b ase Cac h e

Oracle I n-Memor y Data b ase Cac h e 是一个数据库选件,它为 Oracle 数据库提供了实时、可更新的缓存。Oracle I n-Memor y Data b ase Cac h e 将来自数据库的对性能极其关键的一系列表和表碎片缓存到应用程序层,从而缩短应用程序事务响应时间。

企业数据库中的大部分数据都是历史数据,并且很少有人访问。但是,掩藏在这些数据下面的信息应该能够在被请求时可即时访问。您的最佳客户、未完成的订单、最近的事务以及产品目录都是很好的示例。通过内存缓存和 Oracle 数据库之间的自动数据同步,I n-Memor y Data b ase Cac h e 能够在 Oracle 内存数据库 TimesTen 中自动复制和管理这些信息,以供他人实时访问。

I n-Memor y Data b ase Cac h e 使用“缓存组”的概念,来描述一组映射到 Oracle 数据库中的所有表或部分表的缓存表。缓存组可以包含这些表的所有或部分行和列。可以使用多个缓存组来缓存 Oracle 数据库中不同的相关表集合。在内存数据库 TimesTen 中管理内存缓存表的方式与管理普通的关系型数据库表类似。因此,Oracle I n-Memor y Data b ase Cac h e 为应用程序提供了关系数据库的所有共性和功能、缓存和 Oracle 数据库的一致性透明维护以及内存数据库的实时性能。内存缓存表是持久保存且可恢复的。通过事务日志记录与数据库检查点相结合实现了磁盘的持久性。

大多数缓存产品都是只读的,因此只限于一组很少的功能。由于 I n-Memor y Data b ase Cac h e 支持完全的 SQL 读/写操作,因此可以用于众多不同种类的应用程序。对 I n-Memor y Data b ase Cac h e 中缓存表的更新可以同步或异步方式直写到 Oracle 数据库中,这取决于性能和一致性之间的折衷。 对于只读缓存组,Oracle 数据库的增量更新只能按照用户指定的时间间隔异步刷新到内存缓存中的缓存表。

对于缓存数据集不能预先确定的应用程序,其数据可以按需加载到内存缓存中。例如,呼叫中心应用程序在将呼叫路由至限定的呼叫代理时,可能选择加载呼叫方的当前结算单,而不是将所有客户的整套计费信息预先加载到内存缓存中。自动数据老化特性对动态数据加载进行了补充,可以将旧数据或最近最少使用的 (LR U) 数据从缓存中删除。数据老化使应用程序可以在保持内存中“热”数据可用的同时,为新数据释放空间。

I n-Memor y Data b ase Cac h e 的设计为即使在 Oracle 数据库服务器或网络连接丢失的情况下也能继续运行。 系统可以跟踪向缓存表提交的事务,并在连接恢复时立即将其传送回 Oracle 数据库。 同样,系统还可以跟踪向 Oracle 数据库中的缓存表提交的事务,并在与 Oracle 数据库的连接重新建立时立即将其刷新到内存数据库 TimesTen。

支持内存缓存之间的复制以实现高可用性。可以使用活动-备用配置部署 Oracle I n-Memor y

Data b ase Cac h e,活动-备用配置中的缓存表在内存缓存间进行实时复制。

2TimesTen的安装

本文中的安装和配置都是基于Ub untu 10.04系统 (包括但不限于X u b untu、K u b untu E tc.) (包括但不限于 Des k to p E dition、Ser v er E dition E tc.) (包括但不限于x86-32、amd64E tc.),在编写本文的时候

Ub untu 10.10正式版即将放出,可以预知本文同样适用于10.10及其以后的版本。

2.1 创建数据库管理员用户

建议为计算机建立单独的数据库管理员用户,该用户对数据库拥有全部管理权限,该用户需要隶属于root组,而主组不必是root组。如果是仅安装客户端组件,则不需要单独创建一个用户,使用当前登录用户即可。

?在系统中建立一个timesten用户,主组是root:

2.2 下载TimesTen安装包

?这里选择安装包的时候注意查看本机是64位系统还是32位系统,下载对应的安装包,查看本机安装的是64位还是32位:

如果显示64表是使用的是64位系统,否则是32位系统。

?进入用户目录,下载TimesTen安装包,这里要访问 Oracle 主页,选择对应版本的安装包:https://www.sodocs.net/doc/1a12973380.html,/technology/global/cn/software/products/timesten/index. html

由于我们的机器是64位的,所以我们选择:适用于 Linux x86 (64 位)的 TimesTen I n-Memor y

Data b ase 11.2.1.6.1 (297,385,980字节)

2.3 用数据库管理员用户安装TimesTen

?使用数据库用户登录,或在终端中切换到该用户身份:

?解压缩安装包(这里下载是Linux 64位安装包):

?进入安装包目录:

?执行setu p.s h进行安装:

?安装过程的提示:

回答:Y继续

询问安装实例名称,输入希望命名的实例名,我们这里使用默认值,所以直接回车继续

确认实例名称,回答:Y继续

询问要安装哪些组件,如果是安装服务器,则输入1,如果只安装客户端则选择3,回车继续

(只安装客户端的情况一般用在客户端/服务器模式,这种情况下,数据库和应用程序不在同一台计算机上,此时安装客户端的计算机通过TCP连接与服务器交互。)

询问安装位置的时候我们使用用户的主目录作为安装目标目录(也是默认值),直接回车继续

询问默认的守护进程配置文件的路径,接受默认值回车继续

询问默认的守护进程日志文件的位置,接受默认值回车继续

询问哪些用户有直接连接和管理TimesTen数据库的权利,默认情况下,安装程序会让执行安装用户的主组具有管理数据库的权利,用户也可以指定一个不同的组,或者设置成全局可以访问,这样所有系统帐号都可以直接管理TimesTen数据库。我们这里选择默认值,让 root 组拥有管理权限(timesten用户的主组),直接回车继续

TimesTen提示我们使用的g++编译器是4.1(g++的版本号是4.4.3),而TimesTen为不同的编译器准备了两套二进制库,一个是兼容于g++3.4.6的,另一套是兼容于4.1.0的(g++ 3 使用的是 stdc++5 而g++ 4 使用的是 stdc++6 如果混用不同的编译器会导致库冲突,不是很好解决),当前为4.1.0的库建立了符号链接,如果想使用g++3开发程序的话,需要手工重新建立正确的符号链接。

询问是否安装快速入门和文档,直接回车继续

询问是否不安装快速入门而只安装文档,直接回车继续

询问文档的安装路径,接受默认值,回车继续

到此,TimesTen数据库的安装就结束了。

3配置和创建数据库

安装好TimesTen后并不能让数据库马上运行起来(最起码还要创建一个数据库实例),下面用搭建一个大型Oracle业务数据库的前端缓存数据库为例来介绍如何配置和创建TimesTen数据库并让TimesTen缓存Oracle数据库(独立运行TimesTen也是可以的,省掉了和Oracle的同步,配置起来更加简单,如果能掌握缓存服务器的搭建,那么搭建一个独立的TimesTen是很容易的事情)。

3.1 配置Oracle数据库的连接(I n-Memor y Data b ase Cac h e)

为了能缓存Oracle数据库,首先安装TimesTen的机器必须能访问到Oracle数据库,如果TimesTen 和Oracle安装在同一台服务器上,那么默认就可以访问到Oracle了,如果Oracle数据库安装在不同的服务器上,那么可以通过安装Oracle客户端或I nstant Client组件库来访问Oracle,在安装

TimesTen11g 的时候,TimesTen自带了一个I nstant Client 库目录,省去了自己下载I nstant Client的麻烦。

3.1.1 配置 I nstant Client

这里以使用自带的I nstant Client为例,首先要

把/h ome/timesten/TimesTen/tt1121/ttoracle_h ome/instantclient_11_1加入ld搜索目录:

然后设置timesten用户的环境变量,编辑 /h ome/timesten/.b as h rc 文件,加入:

然后让改动生效:

创建T N S_A DM IN目录:

最后在 T N S_A DM IN指向的目录里创建 tnsnames.ora 文件,用来指定 oracle 服务器,tnsnames.ora 的例子:

修改后用自带的$OR A CL E_H OM E/s q l p lus 登录测试一下,看看能否正确连接。如果连接正常,则可以开始配置Oracle数据库端。

3.2 在oracle数据库端配置缓存信息

为了让TimesTen能够缓存Oracle数据库中的数据,Oracle数据库中必须要做一些设置,下面具体介绍需要有哪些动作。以下假设我们已经配置了一个Oracle数据库的连接,T N S名成为 t h or。

3.2.1 创建独立的缓存用户表空间

首先使用S q lPlus连接到Oracle,这里需要用户拥有DB A的权限或者拥有创建表空间的权限:

3.2.2创建 TimesTen 架构

在 s q l p lus 中运行

会要求指定表空间的名字:这里输入ttusers

3.2.3创建缓存管理员(数据库用户)

3.2.4授予缓存管理员必要的系统权限

会要求输入用户名,这里输入:cac h eadm

3.2.5授予缓存管理员表权限(需要被缓存的表)

3.3 配置TimesTen需要的环境变量

TimesTen 本身需要的环境变量很少,如果需要访问Oracle数据库(做成I n-Memor y Data b ase Cac h e)则需要配置一个 T N S_A DM IN环境变量(参考:配置 I nstant Client)

如果为了让Ja v a程序能访问到TimesTen(比如S q l De v elo p er),则还需要添加如下变量到用户的环境变量表中:

3.4 配置ODBC数据源信息

TimesTen 数据库使用 ODBC数据源来定义数据库,无论是服务器还是客户端都要拥有 ODBC 数据源定义才能建立和访问数据库。对于服务器来说,数据源中一般要指定Dri v er, DataStore, PermSi z e,

Tem p Si z e, PLSQL等参数,如果是前端缓存库,还要指定Data b aseC h aracterSet和

Oracle N etSer v ice N ame参数,一般连接数据库采用直连的方式连接到数据库(共享内存模式):

Dri v er=/h ome/timesten/TimesTen/tt1121/li b/li b tten.so 。对于客户机则只需要指定TTC_S E R V E R和TTC_S E R V E R_DS N参数即可。

系统数据源配置文件一般存在于/h ome/timesten/TimesTen/tt1121/in f o 下面,名字是

s y s.od b c.ini,数据源配置文件还可以是用户数据源配置文件,用户数据源配置文件会优先被查找,它存放在用户家目录下,命名为:“.od b c.ini”,根据我的观察,似乎如果只安装TimesTen客户端的话,似乎TimesTen只会查找用户数据源配置,而系统数据源文件估计需要添加环境变量指定后才能被找到。

3.4.1 服务器数据源的配置

数据源文件是个INI文件,[ODBC Data Sources] 片段指定了当前存在哪些数据源,是一个总列表,比如:

这里列出了4个数据源,前面是数据源的名字,后面是描述,而使用数据源名字作为片段名字的片段,则是某个数据库的具体配置信息,比如:

这里指定了一个数据库,名字是sampledb_1121 采用直连方式访问,数据文件位置是:

/home/timesten/TimesT en/tt1121/info/DemoDataStore/sampledb_1121,总占用内存大小是

40M,临时内存是32M,支持PLSQL语法,数据库字符集是 US7ASCII。

3.4.2客户端数据源的配置

客户端数据源的配置和服务器类似,但是配置客户端数据源之前还要配置主机连接信息,说白了就是要指定服务器的I P地址和端口号,这个配置文件命名为:s y s.ttconnect.ini,也存放在 in f o 目录下,以

s y s 开头可见也表示系统配置,如果是用户配置则也存在于用户主目录下,命名为 .ttconnect.ini。该配置文件内容很简单,就是为每个主机+端口号的组合命名,比如:

这里命名了一个叫 ttLocal H ost_1121 的连接名,网络地址是 ttLocal H ost 和 local h ost 同意,TCP端口号是:53389

配置完主机信息,就可以配置客户端数据源信息了,客户端数据源配置和服务器的没有区别,也需要由列表区和详细信息区组成,不同的是详细信息中不在描述驱动和数据源存储等信息,取而代之的是只有主机配置文件中的主机名信息和服务器数据源名称信息,比如:

这里描述了一个客户端数据源名字是 sam p led b CS_1121,主机名是 ttLocal H ost_1121,服务器数据源名称是 sam p led b_1121

客户端数据源用来在只安装了TimesTen客户端组件的机器上访问远程主机的数据源,比如使用S q l De v elo p er 在工作站上访问服务器中的数据库就要指定客户度数据源。

3.5 创建TimesTen缓存数据库

了解了ODBC数据源的编写规则,我们以前面的实例为基础继续创建一个缓存数据库。和Oracle等传统数据库不同,TimesTen不是首先连接到启动的数据库引擎中在建立数据库,而是首先定义好数据库配置,然后尝试启动它,在启动的时候数据库存储文件就被自动创建了。所以建立数据库也可以简单的说等同于编写ODBC数据源信息。

3.5.1 添加一个ODBC信息

这里定义了个一个叫M y DB的数据源,存储的位置是/h ome/timesten/TimesTen/tt1121/d b/M y DB,注意在启动之前,先要创建/h ome/timesten/TimesTen/tt1121/d b 目录。

3.5.2Linux上启动数据库之前需要完成的一些动作

TimesTen 依赖共享内存来工作,如果d b的PermSi z e大小超过系统设置的共享内存最大值,则启动会失败,需要修改共享内存限制,u b untu 下共享内存大小:32M,远远不够,加大共享内存数量:

加一行(改为最大2G):

如果是临时修改大小:(重启后会恢复原状)

3.5.3启动数据库

首先要确保 TimesTen 的主服务已经启动,如果没有启动的话,运行:

主服务启动后,运行:

此时如果数据库是第一次启动的话,会在存储空间创建数据库文件,并且把数据文件装入内存。数据库的启动是自动的,如果有连接进来就会启动数据库,而当所有连接都断开的时候,数据库将会从内存中

卸载,这是可以配置的,可以配置为自动启动并且永远驻留内存,由于启动数据库的时间比较长,所以配置为永远驻留是很有用的,另外还可以配置为延时卸载。本命令运行成功的话则已经连接到数据库,可以执行数据库语句了。

3.5.4在TimesTen 数据库中创建用户

为了能够同步Oracle数据库中的数据,需要在TimesTen数据库中建立缓存管理员用户,今后只有该用户可以远程访问数据库执行建立、更新或删除数据缓等动作。

然后创建一个和oracle数据库中需要同步的表的所有者同名的timesten用户,这句话有点绕口,比如说:我要缓存 oracle 中 h r 用户的 em p lo y ee 表,那么我就要在 timesten 中创建一个 h r 用户:

3.5.5关联 Oracle 中的cac h eadm和TimesTen中的cac h eadm用户

也就是说要告诉 timesten 我们前面在oracle中创建的 cac h eadm 用户的用户名和密码,这个操作需要使用cac h eadm 用户登录:

3.5.6创建缓存网格

首先解释一下缓存网格和缓存组的概念,当然这是我自己的理解,缓存网格是一个逻辑容器,这个容器中可以存放多个数据库,缓存组中定以了一到多张数据表,缓存组其实可以看成一个视图,因为它里面的表必须是父子关联的,如果是没有关系的表就必须单独放在不同的组中,所以有可能一个组就是一张表(这也是说它象视图的原因),一个主机上可以创建多个缓存网格,一个网格中可以管理多个数据库,但是一个数据库只能关联到一个网格,如果一个网格中存在多个数据库(不管是远程的,还是本机的),那么该网格中的缓存组在存储数据的时候有可能会进行分布式存储(对于用户来说是透明的)。所以网格可以用来很方便的扩张缓存的容量。创建缓存表格的操作需要使用cac h eadm 用户登录,如果前面的登录没有退出则可以继续操作:

如果该网格存在的话,只需要执行关联动作:

查看cac h e网格的信息:(验证动作是否都成功执行)

3.5.7启动缓存代理

仍然需要cac h eadm用户操作:

3.5.8创建缓存组

缓存组里可以有多张表,但如果是多张表的话,必须是父子关联的,缓存组可以是只读或者可以变更的,只读的缓存组会在oracle数据库数据修改的时候自动更新缓存信息,而可变更的组会在缓存表中的数据修改的时候自动更新到oracle数据库。缓存组中的数据可以设置为预加载,或设置为按需加载。我们的需要是创建按需加载的动态异步写缓存组:

看看是否成功:

3.5.9启动数据复制代理

3.5.10加载数据到缓存中

由于我们创建的是动态缓存组,所以只要用s q l语句(select, insert, u p date,delete) 进行操作就会导致数据被加载,这里要注意要想缓存被同步的话,S q l语句中必须带有主键,否则数据操作只会在内存中完成,不会去同步数据库: 所以如果使用 select count(*) f rom u_state 的话,只会返回内存中被缓存的记录数。

4使用S q l De v elo p er访问TimesTen数据库

使用 S q l De v elo p er 可以以图形化的方式访问和管理数据库,但想使用S q l De v elo p er连接到TimesTen 的话,还有一些基本需求必须满足:

1)使用 S q l De v elo p er 建议安装 Sun Ja v a Jd k6 (不是j re)如果实在不愿意安装sun j d k 也可以使用 O p enJD K替代,经实验也没有什么问题。但是要在 S q l De v elo p er 的配置文件(s q lde v elo p er.con f)中增加一句话:

这样 S q l De v elo p er 就不会检查j a v a j d k 环境了。

2)启动 S q l De v elo p er 后还要打开 "工具->首选项->数据库->第三方JDBC驱动",安装

tt j d b c6.j ar(TimesTen安装路径中的 li b 目录下)。

3)要想连接 TimesTen 数据库必须至少安装了 TimesTen 客户端,并配置了 ODBC 数据源。

4)把TimesTen安装目录下的Li b目录加入ld搜索路径。

5)添加 CL A SSP A T H 环境变量指向TimesTen安装目录下的Li b目录。

执行完以上配置就可以在Oracle S q l De v elo p er 中新建连接选对话框中找到 TimesTen 连接选项卡,输入数据源的名称,用户名和密码(如果是直连则不需要)就可以连接到TimesTen数据库了。

5OC I编程需要注意的问题

5.1 Oracle数据库功能限制

TimesTen数据库不支持如下Oracle数据库功能:

?A d v anced Queuin g(高级队列)

?A n y Data(A n y型的数据)

?O b j ect su pp ort(不支持对象)

?LOB data t yp es(LOB数据类型)

?Collections(集合)

?Cartrid g e Ser v ices(磁带服务)

?Direct p at h loadin g(直接路径加载)

?Date/time inter v als(日期/时间间隔)

?I terators(枚举器)

?B F I L E(二进制文件)

?Cr yp to g ra ph ic Tool k it(加解密工具包)

?X ML DB su pp ort(X ML数据库支持)

?S p atial Ser v ices(空间数据库服务)

?Ev ent h andlin g(事件处理)

?Session s w itc h in g(会话切换)

?Scrolla b le cursors(可滚动的游标)

5.2 附加的TimesTen OC I限制

TimesTen OC I具有如下限制:

?data b ase的T yp eMode 属性必须设置为0

?connection的Du p licateBindMode属性必须设置为0

?connection的DDLCommitBe h a v ior属性必须设置为0

?不支持异步调用

?不支持连接池和会话池

?只支持按名称方式调用OC I Descri b e A n y()。不支持PL/SQL 对象

?TimesTen不支持客户机/服务器自动故障转移

?T N S Pin g 工具不承认到TimesTen 的连接

?不支持从IN S E RT,U PD A T E和D E L E T E语句检索隐含的RO WI D的值(S E L E CT F OR U PD A T E语句是可以的)

?不直接支持从内置的存储过程返回数据集

?从语句快、存储过程或函数只能返回一个引用游标

?使用OC I Bind A rra y O f Struct()和OC I De f ine A rra y O f Struct()绑定和定义结构只支持SQL语句而不支持PL/SQL

?Oracle 的工具比如SQL*Plus和SQL*Loader是不支持的(可以使用tt I s q l工具和内置的存储过程ttBul k C p来代替)

5.3 附加的 TimesTen OC I 区别

TimesTen 和Oracle 都支持XA,但是TimesTen 不支持通过OC I使用XA。使用OC I的时候 TimesTen

自动为DML语句关闭'自动提交'的特性。

5.4 使用ttSrcScan工具

如果你拥有写好的OC I程序,想看看使用了哪些不被TimesTen支持的功能,那么你可以使用ttSrcScan命令行工具扫描你的程序来检查不支持的函数、包、类型、类型编码、属性、模块和常量。 这是一个独立的工具,你可以独立的运行而不需要TimesTen或Oracle。它读取源代码然输出H TML和文本文件,如果这个工具找到了不支持的对象那么它会记录并给出一个替代的建议 。你可以在安装目录下的q uic k start/sam p le_util目录中找到这个工具。

DataStageV8.5配置连接oracle操作手册

DataStageV8.5配置连接oracle 操作手册 编制:长安铃木信息系统课 王川 2012-5-7

目录 1概述 (4) 1.1编写目的 (4) 1.2系统配置 (4) 1.3事前准备 (4) 2开始安装客户端 (4) 3配置DATASTAGE 环境 (6) 4配置测试 (7)

文档版本记录 版本编号变更内容变更人日期

DataStageV8.5配置连接oracle 操作手册 1概述 1.1 编写目的 DataStage V8.5 在安装后默认支持DB2 数据库,为了实现抽取ORACLE 数据库,需要配置服务器端。 1.2 系统配置 DataStage V8.5 Suse linux server sp1 1.3 事前准备 1、安装XFTP:传递文件。 2、开启SSH服务:终端控制。 3、Oracle官网下载11g client。 https://www.sodocs.net/doc/1a12973380.html,/technetwork/database/enterprise-edition/downloads/112010-linuxsoft- 085393.html 2开始安装客户端 1、FTP上传linux_11gR2_client.zip ,并解压至TMP目录。 2、创建组和权限。 groupadd oinstall groupadd dba useradd –g oinstall –G dba –m oracle passwd oracle mkdir –p /home/oracle/ chown -R oracle:oinstall /home/oracle/ 3、修改环境配置文件。 /etc/sysctl.conf 加上如下内容 fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586 net.ipv4.tcp_wmem = 262144 262144 262144 net.ipv4.tcp_rmem = 4194304 4194304 4194304

ceph分布式存储介绍

Ceph分布式存储 1Ceph存储概述 Ceph 最初是一项关于存储系统的PhD 研究项目,由Sage Weil 在University of California, Santa Cruz(UCSC)实施。 Ceph 是开源分布式存储,也是主线Linux 内核(2.6.34)的一部分。1.1Ceph 架构 Ceph 生态系统可以大致划分为四部分(见图1):客户端(数据用户),元数据服务器(缓存和同步分布式元数据),一个对象存储集群(将数据和元数据作为对象存储,执行其他关键职能),以及最后的集群监视器(执行监视功能)。 图1 Ceph 生态系统 如图1 所示,客户使用元数据服务器,执行元数据操作(来确定数据位置)。元数据服务器管理数据位置,以及在何处存储新数据。值得注意的是,元数据存储在一个存储集群(标为―元数据I/O‖)。实际的文件I/O 发生在客户和对象存储集群之间。这样一来,更高层次的POSIX 功能(例如,打开、关闭、重命名)就由元数据服务器管理,不过POSIX 功能(例如读和

写)则直接由对象存储集群管理。 另一个架构视图由图2 提供。一系列服务器通过一个客户界面访问Ceph 生态系统,这就明白了元数据服务器和对象级存储器之间的关系。分布式存储系统可以在一些层中查看,包括一个存储设备的格式(Extent and B-tree-based Object File System [EBOFS] 或者一个备选),还有一个设计用于管理数据复制,故障检测,恢复,以及随后的数据迁移的覆盖管理层,叫做Reliable Autonomic Distributed Object Storage(RADOS)。最后,监视器用于识别组件故障,包括随后的通知。 图2 ceph架构视图 1.2Ceph 组件 了解了Ceph 的概念架构之后,您可以挖掘到另一个层次,了解在Ceph 中实现的主要组件。Ceph 和传统的文件系统之间的重要差异之一就是,它将智能都用在了生态环境而不是文件系统本身。 图3 显示了一个简单的Ceph 生态系统。Ceph Client 是Ceph 文件系统的用户。Ceph Metadata Daemon 提供了元数据服务器,而Ceph Object Storage Daemon 提供了实际存储(对数据和元数据两者)。最后,Ceph Monitor 提供了集群管理。要注意的是,Ceph 客户,对象存储端点,元数据服务器(根据文件系统的容量)可以有许多,而且至少有一对冗余的监视器。那么,这个文件系统是如何分布的呢?

centos中GIT服务器搭建及使用密钥连接

GIT服务器搭建方法,及windows下使用SSH密钥进行GIT连接 一桶咖啡20131030 1.安装CENTOS6 2.关闭SELinux #vi /etc/selinux/config 3.安装GIT #yum install git 4.创建GIT裸版本库 $cd ~ $git init --bare my.git 5.建立密钥 注意一定要在服务器端生成密钥对,因为TortoiseGit中使用的PUTTYGEN 生成的密钥格式和CENTOS中的OPENSSH使用的密钥格式不同。 在服务器上如下操作: $ cd ~ $ ssh-keygen -t rsa $ chmod 700 ~/.ssh $ cat id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 600 ~/.ssh/authorized_keys 6.使用ROOT配置SSH参数 #vi /etc/ssh/sshd_config 开启: RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys 7.重新启动服务器

8.客户端安装win版GIT和TortoiseGit 下载地址: https://www.sodocs.net/doc/1a12973380.html,/p/msysgit/downloads/list?q=full+installer+official+git https://www.sodocs.net/doc/1a12973380.html,/p/tortoisegit/wiki/Download?tm=2 9.将服务器上~/.ssh/id_rsa私钥文件复制到客户端。 10.从开始菜单TortoiseGit项中找到Puttygen,点击启动该程序。 11.用Puttygen程序LOAD你下载到本地的私钥文件,后会出现格式转化的 提示。

DataStage-V11.3部署手册

DataStageV11.3 安装手册 修订记录

一、基础安装环境检查 1.操作系统Redhat Linux6需要的安装补丁包 glibc-2.12-1.107.el6.x86_64 libXp-1.0.0-15.1.el6.x86_64 libXau-1.0.5-1.el6.x86_64 libXext-1.1-3.el6.x86_64 libX11-1.3-2.el6.x86_64 libxcb-1.5-1.el6.x86_64 libXmu-1.0.5-1.el6.x86_64 nss-softokn-freebl-3.14.3-9.el6.x86_64 pam-1.1.1-4.el6_0.1.x86_64 libaio-0.3.107-10.el6.x86_64 libstdc++-4.4.7-3.el6.x86_64 compat-libstdc++-33-3.2.3-69.el6.x86_64 libgcc-4.4.7-3.el6.x86_64 2.检查操作方法 rpm –qa | grep glibc 3.授权文件配置 将授权文件解压至安装文件is-suite文件夹下

二、创建oracle数据库 1.将DataStage初始化Oracle数据库脚本上传至数据库 服务器 2.依次执行数据库初始化脚本 ./create_xmeta_db.sh sys Oracle123 orcldb dsadmin dsadmin'!'123 DATASTAGE /oracle/app/oracle/oradata/orcldb ./create_xmeta_db.sh sys Oracle123 orcldb wsadmin wsadmin'!'123 DATASTAGE1 /oracle/app/oracle/oradata/orcldb

Git+使用教程

Git 中文教程 介绍 Git --- The stupid content tracker, 傻瓜内容跟踪器。Linus 是这样给我们介绍 Git 的。 Git 是用于 Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。 实际上内核开发团队决定开始开发和使用 Git 来作为内核开发的版本控制系统的时候,世界开源社群的反对声音不少,最大的理由是 Git 太艰涩难懂,从 Git 的内部工作机制来说,的确是这样。但是随着开发的深入,Git 的正常使用都由一些友好的脚本命令来执行,使 Git 变得非常好用,即使是用来管理我们自己的开发项目,Git 都是一个友好,有力的工具。现在,越来越多的著名项目采用 Git 来管理项目开发,例如:wine, U-boot 等,详情看https://www.sodocs.net/doc/1a12973380.html,/git 作为开源自由原教旨主义项目,Git 没有对版本库的浏览和修改做任何的权限限制。它只适用于 Linux / Unix 平台,没有 Windows 版本,目前也没有这样的开发计划。 本文将以 Git 官方文档Tutorial,core-tutorial和Everyday GIT作为蓝本翻译整理,但是暂时去掉了对 Git 内部工作机制的阐述,力求简明扼要,并加入了作者使用 Git 的过程中的一些心得体会,注意事项,以及更多的例子。建议你最好通过你所使用的 Unix / Linux 发行版的安装包来安装 Git, 你可以在线浏览本文,也可以通过下面的命令来得到本文最新的版本库,并且通过后面的学习用 Git 作为工具参加到本文的创作中来。 $ git-clone https://www.sodocs.net/doc/1a12973380.html,/git/gittutorcn.git 创建一个版本库:git-init-db 创建一个 Git 版本库是很容易的,只要用命令git-init-db就可以了。现在我们来为本文的写作创建一个版本库: $ mkdir gittutorcn $ cd gittutorcn $ git-init-db git 将会作出以下的回应 defaulting to local storage area 这样,一个空的版本库就创建好了,并在当前目录中创建一个叫 .git 的子目录。你可以用 ls -a 查看一下,并请注意其中的三项内容: ● 一个叫 HEAD 的文件,我们现在来查看一下它的内容:

如何安装Linux内核源代码

如何获取Linux内核源代码 下载Linux内核当然要去官方网站了,网站提供了两种文件下载,一种是完整的Linux 内核,另一种是内核增量补丁,它们都是tar归档压缩包。除非你有特别的原因需要使用旧版本的Linux内核,否则你应该总是升级到最新版本。 使用Git 由Linus领头的内核开发队伍从几年前就开始使用Git版本控制系统管理Linux内核了(参考阅读:什么是Git?),而Git项目本身也是由Linus创建的,它和传统的CVS不一样,Git是分布式的,因此它的用法和工作流程很多开发人员可能会感到很陌生,但我强烈建议使用Git下载和管理Linux内核源代码。 你可以使用下面的Git命令获取Linus内核代码树的最新“推送”版本: $ git clone git://https://www.sodocs.net/doc/1a12973380.html,/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 然后使用下面的命令将你的代码树与Linus的代码树最新状态同步: $ git pull 安装内核源代码 内核包有GNU zip(gzip)和bzip2格式。Bzip2是默认和首选格式,因为它的压缩比通常比gzip更好,bzip2格式的Linux内核包一般采用linux-x.y.z.tar.bz2形式的文件名,这里的x.y.z是内核源代码的具体版本号,下载到源代码包后,解压和抽取就很简单了,如果你下载的是bzip2包,运行: $ tar xvjf linux-x.y.z.tar.bz2 如果你下载的是gzip包,则运行: $ tar xvzf linux-x.y.z.tar.gz 无论执行上面哪一个命令,最后都会将源代码解压和抽取到linux-x.y.z目录下,如果你使用Git下载和管理内核源代码,你不需要下载tar包,只需要运行git clone命令,它就会自动下载和解压。 内核源代码通常都会安装到/usr/src/linux下,但在开发的时候最好不要使用这个源代码树,因为针对你的C库编译的内核版本通常也链接到这里的。 应用补丁

linux下git安装使用

目的:git在linux上的安装配置包括设置不同用户的权限。 以下软件将被安装 Git Gitosis user1可以对于test仓库有读写权限,user2对于test仓库只有可读权限。 1. 增加yum repository 在CentOS中,在不增加repository情況下是找不到Git的套件的,所以需要增加一個repository。 rpm -Uvh https://www.sodocs.net/doc/1a12973380.html,/gist/centos/5/RPM/epel-release-5-3.noarch.rpm 2. 安裝Git, git-web以及gitosis yum -y install git gitweb gitosis 3. 配置Git账号 useradd git # 使用"git"作為管理Git的用戶 passwd git # 更改"git"密码 4. 配置Gitosis su - git # 使用"git"操作 cd ~ # Gitosis需要设置name和email才能进行commit动作 git config --global https://www.sodocs.net/doc/1a12973380.html, "用戶显示的名称" git config --global user.email "用戶邮件地址" ssh-keygen -t rsa # "git"用户作为Git服务器的管员, #用它來生成public key 5. 初始化Gitosis su – git gitosis-init < ~/.ssh/id_rsa.pub #Gitosis管理一个特殊的Git 仓库。你只需要在这个特殊仓库内做好相应的设定,然后推送到服务器上,Gitosis 就会随之改变运行策略. #这样该公钥的拥有者就能修改用于配置Gitosis 的那个特殊Git 仓库了。接下来,需要手工对该仓库中的post-update脚本加上可执行权限: chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update 6配置git服务选项,取出"gitosis-admin" repository su - git cd ~

Linux操作系统的安装配置(吐血之作)

Linux操作系统的安装配置 文档记录: RedHat操作系统的安装 1.放入REDHAT ENTERPRISE LINUX 5.0安装光盘,并 设置为光盘启动。 启动成功后,如图1。输入linux text(采用文本模式)确认回车。

建议:REDHAT ENTERPRISE LINUX 5.0支持新服务器驱动,如:HP380G6 2.选择在准备安装之前是否检测光驱 一般选择SKIP跳过,开始安装,如图2:

3.选择安装过程的语言 选择English (在linux中使用Tab,切换光标的位置,使用空格键选中选项)回车,如图3: 4.选择键盘 选择US(美国键盘)回车,如图4:

5.选择安装LINUX服务代码 序列号为:2515dd4e215225dd 安装与不安装的区别: 红帽企业版的服务代码,不仅仅是升级,还包含很多售后服务和技术支持,如图5: 6.选择分区方法 选择Create custom layout,如图6:

7.分区 使用F2新建一个分区,出现图7: Mount Point :Bstarsrv1 挂接点,像/root、/bin、/etc、/usr、/home等等。 Filesystem Type:文件格式,例如windows中的fat32格式,windows 2000中的ntfs格式。Bstarsrv1中现在最常用的是

ext3、swap等。Swap是交换分区格式。 Fixed Size:自定义空间大小。 Fill all available space:使用所有可用空间 Force to be a primary partition:强制使用主分区 Check for a bad block :检测坏块 一般只需要将系统分为3个分区,同样的方法建立以下分区。/boot 启动目录100M swap 数据交换分区内存的2倍 / 根目录Fill all available space 建立数据交换分区时,不用输入挂接点,直接在File system 中,使用上下键选择swap格式,大小为内存的2倍。如图8: (根据实际调整仅供参考)下图是在8G的硬盘分区示意图9:

DataStage8.7安装文档

DataStage 8.7安装文档 官方参考: https://www.sodocs.net/doc/1a12973380.html,/infocenter/iisinfsv/v8r7/index.jsp?topic=%2Fcom.ibm.swg.im.iis.producti zation.iisinfsv.install.doc%2Ftopics%2Fwsisinst_topinstall.html 1.安装前配置 操作系统:Redhat Enterprise Linux 6.2 64位 注:由于是在Linux下安装DataStage,最好熟悉基本的linux命令的使用。 1、需要安装以下rpm包,32位和64位都需要。 glibc-2.12-1.47 libXp-1.0.0-15.1 libXau-1.0.5-1 libXext-1.1-3 libX11-1.3-2 libxcb-1.5-1 nss-softokn-freebl-3.12.9-11 libXmu-1.0.5-1 libXtst-1.0.99.2-3 libXft-2.1.13-4.1 freetype-2.3.11-6 fontconfig-2.8.0-3 libgcc-4.4.6-3 libstdc++-4.4.6-3. compat-libstdc++-33-3.2.3-69 2、关闭防火墙 关闭:service iptables stop 查看状态:service iptables status 3、禁用selinux 编辑/etc/selinux/config文件,修改SELINUX=disabled,修改后需要重启操作系统。 查看状态:sestatus 4、创建用户 groupadd -g 502 daspgrp groupadd -g 503 db2fgrp groupadd -g 504 db2igrp groupadd -g 505 dstgrp useradd -d /home/dasusr1 -m -g 502 -u 701 dasusr1 useradd -d /home/db2fenc1 -m -g 503 -u 702 db2fenc1 useradd -d /home/db2inst1 -m -g 504 -u 703 db2inst1 useradd -d /home/dsadm -m -g 505 -u 704 dsadm

各公司管理系统使用地Ceph存储集群

Ceph 作为软件定义存储的代表之一,最近几年其发展势头很猛,也出现了不少公司在测试和生产系统中使用 Ceph 的案例,尽管与此同时许多人 Ceph 作为软件定义存储的代表之一,最近几年其发展势头很猛,也出现了不少公司在测试和生产系统中使用 Ceph 的案例,尽管与此同时许多人对它的抱怨也一直存在。本文试着整理作者了解到的一些使用案例。 1. 携程(Ctrip) 携程所使用的各种存储的现状: ?商业存储: ?SAN(HP/ HPS) , 1+ PB, 数据库 ?NAS (HW) , 800+ TB, 文件共享 开源存储 ?GlusterFS, 1+ PB, 数据库备份 ?FastDFS, 1+ PB, 海量照片 ?HDFS, 10+ PB, 大数据 而在不久的将来,随着公司业务的发展,携程需要的存储容量需要扩大到10倍以上。 携程选择Ceph的理由:低成本 + SDS + Scale-out + 统一存储 + 企业特性

携程目前的Ceph集群的配置: ?CephVersion: 0.94.2,H release ?Object Storage: RGW + Swift API ?SDK: Python/ Java/ C#/ Ruby ?OS: Centos 6.4 ?硬件:CPU(2 channels & 32 Core)、Mem128GB、disk(12*3TB/SATA disk +2*256GB raid1 SSD)、NIC(4*Gigabit LAN, bond 2 in 1 pair) RGW 使用架构:

携程有在数据中心之间的同步数据的需求。在研究了 CRUSHmap、Radosgw-agent、Federate gateway (不稳定、不灵活(只支持Zone 之间同步)、不易扩展)后,其自研了COS方案,它具有稳定、灵活、扩展性等特点:

GIT使用操作指南

GIT使用说明GIT使用说明

说明 本文档只是日常工作中一些使用步骤的简单归纳,旨在帮助大家快速用上GIT,如 有疏漏,请大家发邮件yuxiao.qiao@https://www.sodocs.net/doc/1a12973380.html,,会及时进行改进,谢谢。文档简介 1.安装支持中文文件名的Git 命令行软件包MsysGit。 2.在MsysGit 中生成用来访问Git 版本控制库的公钥数据。 3.安装Git 图形界面客户端软件TortoiseGit。 4.配置TortoiseGit。 5.在服务器中新建版本库。 6.TortoiseGit使用简介。

目录 1.安装MSYSGIT (3) 2.生成SSH 密钥 (7) 2.1.Linux系统 (7) 2.2.Windows操作系统 (8) 2.3.添加ssh文件 (9) 3.安装TORTOISEGIT (11) 4.配置TORTOISEGIT (12) 5.新建版本库 (14) 6.TORTOISEGIT使用 (15) 6.1.Clone版本库 (16) 6.2.设置参数 (17) 6.3.新增文件 (18) 6.4.修改文件 (23) 6.5.删除文件 (28)

GIT 使用指南1.安装MsysGit 1.下载安装程序,下载地址: https://www.sodocs.net/doc/1a12973380.html,/files/Git-1.8.1.2-preview20130201.exe 2.双击安装软件,进入安装页面,单击“next”,在以下页面中设置软件安装路 径。 3.配置命令行快捷方式,在安装中会出现设置如何与Windows 的文件浏览器结 合的界面,设置成“可在目录上点右键直接进入该目录的Git 命令行”,如 下图所示:

ceph集群维护手册

Ceph群集维护简明手册 (2) 前言 (2) MON (2) MON节点添加 (3) MON节点删除 (4) MON故障恢复 (4) OSD (6) OSD添加 (6) OSD删除 (6) 日志迁移 (6) 硬盘更换 (7) RBD (7) 块存储的基本操作 (7) 快照 (10) 导入导出 (11) 增量备份与恢复 (12)

Ceph群集维护简明手册 作者: 普通人 前言 本手册针对已部署完成ceph集群进行阐述(通过ceph-deploy工具),部署架构图如下: MON 环境配置 节点 主机名 Public ip address Cluster ip address Admin/ceph ubuntu-ceph-06 192.168.0.24 10.10.0.6 ceph ubuntu-ceph-07 192.168.0.25 10.10.0.7 ceph ubuntu-ceph-06 192.168.0.26 10.10.0.8

在管理节点的配置目录下,使用ceph-depoloy工具添加新的mon节点。 1.更新配置文件,添加新mon的信息 2.推送新的配置文件到所有节点,或者在添加时覆盖(ceph-deploy会提示) 3.使用ceph-deploy工具添加MON新节点 root@ubuntu-ceph-06:/opt/ceph# ceph-deploy mon create ubuntu-ceph-08 [ceph_deploy.cli][INFO ] Invoked (1.4.0): /usr/bin/ceph-deploy mon create ubuntu-ceph-08 [ceph_deploy.mon][DEBUG ] Deploying mon, cluster ceph hosts ubuntu-ceph-08 [ceph_deploy.mon][DEBUG ] detecting platform for host ubuntu-ceph-08 ... [ubuntu-ceph-08][DEBUG ] connected to host: ubuntu-ceph-08 [ubuntu-ceph-08][DEBUG ] detect platform information from remote host [ubuntu-ceph-08][DEBUG ] detect machine type [ceph_deploy.mon][INFO ] distro info: Ubuntu 14.04 trusty [ubuntu-ceph-08][DEBUG ] determining if provided host has same hostname in remote [ubuntu-ceph-08][DEBUG ] get remote short hostname [ubuntu-ceph-08][DEBUG ] deploying mon to ubuntu-ceph-08 [ubuntu-ceph-08][DEBUG ] get remote short hostname ………………..] **************************************************************************** [ubuntu-ceph-08][DEBUG ] status for monitor: mon.ubuntu-ceph-08 [ubuntu-ceph-08][DEBUG ] { [ubuntu-ceph-08][DEBUG ] "election_epoch": 0, [ubuntu-ceph-08][DEBUG ] "extra_probe_peers": [ [ubuntu-ceph-08][DEBUG ] "192.168.0.24:6789/0", [ubuntu-ceph-08][DEBUG ] "192.168.0.25:6789/0" [ubuntu-ceph-08][DEBUG ] ], [ubuntu-ceph-08][DEBUG ] "monmap": { [ubuntu-ceph-08][DEBUG ] "created": "0.000000", [ubuntu-ceph-08][DEBUG ] "epoch": 14, [ubuntu-ceph-08][DEBUG ] "fsid": "fc989fb1-eea9-47f4-83e1-999c47df0930", [ubuntu-ceph-08][DEBUG ] "modified": "2015-08-19 02:50:54.480663", [ubuntu-ceph-08][DEBUG ] "mons": [ [ubuntu-ceph-08][DEBUG ] { [ubuntu-ceph-08][DEBUG ] "addr": "192.168.0.24:6789/0", [ubuntu-ceph-08][DEBUG ] "name": "ubuntu-ceph-06", [ubuntu-ceph-08][DEBUG ] "rank": 0 [ubuntu-ceph-08][DEBUG ] }, [ubuntu-ceph-08][DEBUG ] { [ubuntu-ceph-08][DEBUG ] "addr": "192.168.0.25:6789/0", [ubuntu-ceph-08][DEBUG ] "name": "ubuntu-ceph-07", 添加mon节点也可以使用ceph-deploy mon add --address [ADDRESS] hostname

ceph安装配置说明

ceph安装配置说明 一、环境说明: 注:在配置系统环境时,需要指定各结点的机器名,关闭iptables、关闭selinux(重要)。相关软件包: ceph-0.61.2.tar.tar libedit0-3.0-1.20090722cvs.el6.x86_64.rpm libedit-devel-3.0-1.20090722cvs.el6.x86_64.rpm snappy-1.0.5-1.el6.rf.x86_64.rpm snappy-devel-1.0.5-1.el6.rf.x86_64.rpm leveldb-1.7.0-2.el6.x86_64.rpm leveldb-devel-1.7.0-2.el6.x86_64.rpm btrfs-progs-0.19.11.tar.bz2 $src为安装包存放目录 二、内核编译及配置:

cp /boot/config-2.6.32-279.el6.x86_64 /usr/src/linux-2.6.34.2/.config make menuconfig #选择把ceph编译成模块和加载btrfs文件系统

make all #若是多核处理器,则可以使用make -j8命令,以多线程方式加速构建内核makemodules_install make install

修改/etc/grub.conf文件,把新编译的linux-2.6.34.2版本内核做为默认启动内核。三、Ceph安装配置: 先安装相关依赖包: rpm -ivh libedit0-3.0-1.20090722cvs.el6.x86_64.rpm --force rpm -ivh libedit-devel-3.0-1.20090722cvs.el6.x86_64.rpm rpm -ivh snappy-1.0.5-1.el6.rf.x86_64.rpm rpm -ivh snappy-devel-1.0.5-1.el6.rf.x86_64.rpm rpm -ivh leveldb-1.7.0-2.el6.x86_64.rpm rpm -ivh leveldb-devel-1.7.0-2.el6.x86_64.rpm 编译安装ceph: ./autogen.sh ./configure --without-tcmalloc --without-libatomic-ops make make install 配置ceph: cp $src/ceph-0.61.2/src/sample.ceph.conf /usr/local/etc/ceph/ceph.conf cp $src/ceph-0.61.2/src/init-ceph /etc/init.d/ceph mkdir /var/log/ceph #建立存放ceph日志目录。 修改ceph配置文件,除客户端外,其它的节点都需一个配置文件ceph.conf,并需要是完全一样的。这个文件要位于/etc/ceph下面,如果在./configure时没有修改prefix的话,则应该是在/usr/local/etc/ceph下: vimceph.conf [global] max open files = 131072 log file = /var/log/ceph/$name.log pid file = /var/run/ceph/$name.pid keyring = /etc/ceph/keyring.admin auth supported = none #取消挂载时的认证 auth cluster required = none #取消挂载时的认证 auth service required = none #取消挂载时的认证 auth client required = none #取消挂载时的认证 [mon] mon data = /data/$name

Git版本控制的安装使用指南

1. 概述 Git是基于Linux内核开发的分布式版本控制/软件配置管理软件,与CVS、Subversion 等集中式版本控制软件不同,Git采用分布式管理,不需要服务器端软件即可运行。Git速度很快,并且具有很出色的合并追踪能力。很多有名的软件开发都使用Git来进行版本控制,其中有Linux内核、https://www.sodocs.net/doc/1a12973380.html,服务器和OLPC内核开发等。 作为开源软件的代表,Git不对版本库的浏览和修改作任何的权限限制,因此只能采用其他工具实现权限管理,如gitosis、gitolite、CodeBeamer MR。 原本Git的使用只限于Linux/Unix,由于Cygwin、msysgit、TortoiseGit等GUI工具的出现,在Windows平台的使用逐渐成熟。 2. Git安装 2.1 安装Git 安装Git作为客户端,运行客户端可通过Git Bash(Git的命令行)或Git GUI操作。Windows下使用Git-1.7.8-preview20111206.exe,安装要点如下:

上述图片所示选项,似乎也不确定,网上帖子安装教程各种选项都有。安装完后,点击桌面Git Bash启动,执行命令pwd查看默认进入的文件目录,执行下面命令:mkdir .ssh (注意文件名前有.),即在默认目录下建立.ssh文件夹。修改环境变量,桌面右击我的电脑, 在属性中选择高级选项,左击环境变量,在系统变量中选择新建或编辑

下面列出一些问题的解决方法: a. Git Bash中ls不能显示中文目录(可直接打开编辑):在 git/etc/git-completion.bash中增加一行: alias ls='ls --show-control-chars --color=auto',注意引号为中文单引号,重启Git Bash b. Git commit不能提交中文注释:修改git/etc/inputrc中对应的行: set output-meta on set convert-meta off c. git log无法显示中文注释,在git/etc/profile中增加一行: export LESSCHARSET=iso8859 安装完后,需要在Git Bash中注册本人信息: git config --global https://www.sodocs.net/doc/1a12973380.html, Your Name git config --global user.email your@email.address 在服务端,即Ubuntu,安装Git: sudo apt-get install git-core git-doc 3. Gitolite安装

Datastage8.5的配置(通信等问题)

Datastage8.5的配置(通信等问题) Datastagelinux版本的服务端、客户端安装完成后需要进行一些配置。 这是以我自己的使用过程遇到的错误进行了一次配置的总结。有不对的地方请大家指正。 DS版本:8.5x 服务端操作系统:linux redhat 5.7 客户端操作系统:win7 源数据和目标数据库为:oracle 下列配置,是在服务端和客户端已经安装成功的情况下。 客户端和服务端的通信。 可能遇到问题: 1. Failed to authenticate the current user against the selected service tier: Server [servername] not found. 2. Failed to authenticate the current user against the selected service tier: Could not connect to server [servername] on port [portnumber]. 3. Failed to authenticate the current user against the selected Domain: Invalid user name (username) or password. 解决思路,大概如下: 一,确保所有的datastage 服务已经开启。在linux 可使用ps -ef |grep db2 ,ps -ef|grep websphere,ps -ef|grep agent等命令来查看 相关服务是否已经启动。 二,客户端配置 在windows:C:\WINDOWS\system32\drivers\etc\hosts file 添加(服务器的IP地址,以及计算机名) 比如:192.168.26.10 https://www.sodocs.net/doc/1a12973380.html, dahost 三,如果遇到用户名和密码的问题那么使用dsadmin 或者dsadm用户登陆客户端试试,密码是安装时自己设置的,切记。 如果使用的是其他用户,那么登陆web console ,确保已经做好了Credential mapping 。 四,确保使用的是正确的port ,端口一般是9080。控制台是9060 可以通过netstat -a 来查看当前监听的是哪一个端口。

Ceph-原理-安装-维护-Centos7

Ceph在存储中的层次 第一层:物理存储介质。 a.LUN:通常将硬件生成生成的虚拟磁盘叫LUN, 比如raid卡生成的虚拟磁盘。 b.Volume:通常将软件层次生成的虚拟磁盘叫做卷,比如LVM生成的逻辑卷。 c.Disk:就是物理磁盘 第二层:内核层次的文件系统,维护文件到磁层磁盘的映射关系。(用户一般不需要管) 第三层:应用层次的文件系统(需要用户自己手工安装应用程序,启动应用进程) 第四层:网络文件访问系统NFS, CIFS(服务器端装Server,客户端装Client,挂载目录远程访问) Ceph原理

1.Ceph存储系统的逻辑结构 2.Rados的系统逻辑结构 3.Ceph寻址流程

4.ceph部署网络拓扑 备注:Cluster Network可选,但是最好建议有该网络,用于OSD扩展时,后端网络传输数据用。 在实际工作中时,深有体会,如果只有public network,在OSD扩展时,由于ceph需要重新“搬运”数据,导致升级长达5个小时。如果有专门的集群网络(万兆交换机+光钎),几分钟升级完成。 Ceph安装(ceph-deploy) 1.环境准备以及各ceph节点初始化 ?部署逻辑架构 节点安装组件备注

该章节的操作均通过root执行且在各个ceph节点均要执行 ?修改/etc/hostname #vi /etc/hostname #如果为其他节点调整为其他节点的名称 ceph{number} #如ceph1 #hostname -F /etc/hostname #立即生效,断开shell重新登录 ?创建安装用户irteam且该用户不需要tty #useradd -d /home/irteam -k /etc/skel -m irteam #sudo passwd irteam #echo " irteam ALL = (root) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/irteam #chmod 0440 /etc/sudoers.d/irteam 修改/etc/sudoers,irteam用户不需要tty #chmod 755 /etc/sudoers #vi /etc/sudoers #添加如下配置,而不是将原来的Default requiretty注释掉 Defaults:irteam !requiretty #chmod 440 /etc/sudoers ?yum源以及ceph源设置 #yum clean all #rm -rf /etc/yum.repos.d/*.repo #wget -O /etc/yum.repos.d/CentOS-Base.repo https://www.sodocs.net/doc/1a12973380.html,/repo/Centos-7.repo #wget -O /etc/yum.repos.d/epel.repo https://www.sodocs.net/doc/1a12973380.html,/repo/epel-7.repo #sed -i '/aliyuncs/d' /etc/yum.repos.d/CentOS-Base.repo #sed -i 's/$releasever/7.2.1511/g' /etc/yum.repos.d/CentOS-Base.repo #vi /etc/yum.repos.d/ceph.repo #增加ceph源 [ceph] name=ceph baseurl=https://www.sodocs.net/doc/1a12973380.html,/ceph/rpm-jewel/el7/x86_64/ gpgcheck=0 [ceph-noarch] name=cephnoarch baseurl=https://www.sodocs.net/doc/1a12973380.html,/ceph/rpm-jewel/el7/noarch/ gpgcheck=0 ?安装ceph #yum makecache #yum install -y ceph

相关主题