一、系统运行环境及迁移要点
Smartbi 产品运行中依赖于如下环境要素:
分类 | 运行要素 | 迁移注意点 |
---|
硬件环境 | 数据服务器所在机器 | 目标服务器的各种参数设置与原机器是否一致? 如不一致,对该机器上的软件运行是否有影响? |
应用服务器所在机器 |
软件产品 | Smartbi软件及相关配置 | Smartbi版本:迁移前后版本应保持一致。 Smartbi-License.xml:授权文件,模块数应一致,授权文件是否与IP地址绑定。 smartbi-config.xml:配置文件,也可以通过界面进行配置,注意各个参数设置的正确性。 |
BI知识库(关系数据库) | 第一次迁移,一般采取"全量迁移法"。 第二次及之后迁移,一般采取"增量迁移法"。 |
数据库环境 | 业务数据库(关系数据库) | 数据库版本及相关参数设置应一致。 数据库的表结构或Cube结构应一致。 |
多维数据库 |
应用服务器环境 | 应用服务器 (如Tomcat、Welogic、Websphere等) | 注意Web应用服务器的各种参数配置(如启动内存最大值、最小值,超时时间,字符集设置等)。同时连接知识库、业务数据库及多维数据库所需的驱动程序(Jar文件等)应保持一致。 |
二、迁移步骤
接下来的内容,以从开发环境迁移到测试环境为示例。
1.准备测试环境
在迁移 Smartbi 系统之前,首先需要在测试环境上准备好:
(1)硬件环境的准备:准备好数据服务器和硬件服务器,并保证性能配置。
(2)数据库环境的准备:在相应服务器上,安装好关系数据库和多维数据库并创建相应的业务库表和Cube等。
(3)Web应用服务器的准备:在相应服务器上,安装好项目运行采用的Web服务器,分配好内存等各种参数。
(4)BI知识库的准备:在目标服务器上,创建一个空库作为Smartbi的知识库。
(5)Smartbi应用的部署:在目标服务器上,部署好Smartbi,并正常启动。
2.进行迁移
在实际项目迁移过程中,往往分两种情况:
- 第一次迁移环境时:通常采用"全量迁移法",就是将开发环境的知识库全部迁移到测试环境中。
- 第二次及以后迁移时:通常采用"增量迁移法",就是将开发环境的部分内容迁移至测试环境中。
A.全量迁移知识库
Smartbi 知识库全量迁移操作步骤如下:
- 在"开发环境"备份知识库:
- 登录开发环境的Smartbi系统
- 点击“定制管理 -> 系统运维”,进入系统运维界面
- 点击“备份知识库”,生成知识库备份文件保存到本地目录。

- 在"测试环境"恢复知识库:
- 登录测试环境的Smartbi系统
- 点击“定制管理 -> 系统运维”,进入系统运维界面
- 点击“恢复知识库”,选择上一步备份的文件导入。
B.增量迁移知识库
Smartbi 增量迁移知识库操作步骤如下:
- 在"开发环境"备份要迁移的资源:
- 登录开发环境的Smartbi系统:http://serverSource:port/smartbi/vision/index.jsp;
- 点击“定制管理 -> 系统运维”,进入到系统提供的工具界面;
- 点击“导出资源”,在弹出的界面中勾选要迁移的资源(如勾选的是报表,还可以点击左下方的按钮 添加报表依赖的资源,自动找到该报表依赖的资源);
- 点击“确定”按钮生成 migrate.xml 文件保存到本地目录。
- 在"测试环境"导入资源:
- 登录测试环境的Smartbi系统: http://serverDest:port/smartbi/vision/index.jsp;
- 点击“定制管理 -> 系统运维”,进入到系统提供的工具界面;

点击“导入资源”,选择上述备份的文件导入(注意:如果目标系统上已经存在相同的资源,页面上会提示"覆盖式导入",如果不需要导入或覆盖的该资源,请在页面上勾选掉);

- 点击“确定”按钮开始导入;
- 提示导入成功后,进入Smartbi系统,验证导入正确性。
3.更改数据源连接设置
导入Smartbi知识库或资源到"测试环境"后,数据源连接设置等还是指向原来的开发环境对应的服务器,需要手工改为"测试环境"对应的服务器地址。操作步骤如下:
- 登录测试环境的Smartbi系统: http://serverDest:port/smartbi/vision/index.jsp;
- 点击“定制管理 -> 数据管理”,进入到系统管理界面;
- 选中要编辑的数据源,右键点击“打开”,进入数据源设置界面;
- 修改数据源的连接字符串、用户、密码为测试环境对应的实际值;

- 点击按钮“测试连接”,确保测试通过;
- 点击按钮“保存”,如schema没有发生变化,数据源更改就完成了;如果schema改变了,请继续执行下面步骤;
- 展开数据源,选择需要修改的schema,右键“修改schema名称”;
- 在弹出框中输入新的schema名称;

- 手工修改诸如"原生SQL查询"、"SQL查询"等等直接写SQL语句定义的查询、参数、用户属性等资源中的schema名称。
- 修改完成后,请仔细验证。