1. 概述
1.1 版本
报表服务器版本 | JAR 包版本 | 功能变更 |
---|---|---|
10.0 | - | - |
10.0 | 2019-05-20 | 新增支持迁移数据库数据 |
10.0.18 | - | 1)支持自动读取数据库模式,防止手动输入出错 2)迁移外接数据库,且不勾选「迁移数据至要启用的数据库」时,自动检测新老数据库对应工程版本是否一致 |
注:JAR 包版本低于 2019-05-20 时,用户配置外接数据库时只能迁移数据,不可直接启用新数据库。
1.2 功能简介
报表系统配置外接数据库后,遇到集群环境或数据量较大情况时,可保证报表系统的稳定性。
用户可在「初始化时」配置外接数据库或在「平台中」配置 Oracle 版本的外接数据库。
注:若配置了外接数据库,请勿轻易修改外接数据库的用户名和密码,否则会导致工程启动失败。
如需修改,请参照:修改外接数据库账号密码 。
2. 数据库配置
2.1 数据库版本
外接数据库支持的类型及版本如下表所示:
数据库类型 | 支持数据库版本 |
---|---|
Oracle | 10g、11g、12c |
2.2 硬件配置
配置类型 | 最低配置 | 推荐配置 |
---|---|---|
内存 | 1GB | 2GB |
CPU | 4核 | 8核 |
网速 | 50Mbps | 100Mbps |
占用空间 | 1GB | 2GB |
磁盘读写速度 | 50MB/s | 100MB/s |
注1:占用空间需要结合使用度进行调整,可以根据webapps/webroot/WEB-INF/embed/finedb文件夹大小配置,并根据实际大小预估未来使用大小,增大1~2倍。
注2:推荐内存为预留给工程配置库的内存。
注3:外接数据库尽量和报表工程在同一网段,避免网络波动等问题。
2.3 新建数据库
2.3.1 新建账户
对于 Oracle 数据库,配置前最好单独建一个账户(新建一个表空间,并指定为该用户默认表空间)。
新建用户:
CREATE USER "FINEDB" IDENTIFIED BY "123456" ACCOUNT UNLOCK DEFAULT TABLESPACE "USERS"
注:由于 Oracle12c 版本的限制,新建用户时,用户名必须以C##为前缀,否则无法正常使用。
授予权限:
GRANT "CONNECT","RESOURCE" TO "FINEDB"
ALTER USER "FINEDB" QUOTA UNLIMITED ON "USERS"
2.3.2 新建表空间
在 Oracle 中新建用于存储迁移数据的 FineDB 表空间。在后续外接数据库配置时的数据库名称需要填入对应迁入存储的表空间名称。
注1:不同 FineReport 工程,不可共用同一个外接 FineDB 表空间,否则数据可能会出现错乱。
注2:在迁移 FineDB 数据库时要求使用的表空间最好是空的。
2.4 更换驱动
数据库版本 | 更换驱动 |
---|---|
10g | 1)从 Oracle 官网 下载ojdbc14.jar驱动包。 2)关闭报表工程。 3)删除工程webapps\webroot\WEB-INF\lib目录下的ojdbc8.jar驱动包。 4)将驱动包上传至工程webapps\webroot\WEB-INF\lib目录下。 5)重启报表工程。 |
11g、12c | FineReport 内置了ojdbc8.jar驱动包,无需更换 |
3. 方法一:初始化时配置外接数据库
本方法适用于第一次登录数据决策系统时配置外接数据库。
3.1 进入初始化界面
用户可在第一次进入平台时配置外接数据库,如下图所示:
3.2 配置外接数据库
点击「配置数据库」后,进入到外接数据库配置界面,输入实际数据库相应的信息即可。如下图所示:
各设置项说明如下表所示:
设置项 | 说明 |
---|---|
数据库类型 | 选择 oracle |
驱动 | 无需手动修改 |
数据库名称 | 2.3 节新建的数据库名称 禁止与其他工程共用数据库,建议新建数据库 数据库名称只允许包含数字、字母、下划线和「.」 |
用户名/主机/密码/端口 | 根据本地数据库实际情况填写 主机名称只允许包含数字、字母、下划线、「-」和「.」 用户需要具备 create、delete、alter、update、select、insert 权限 |
模式 | 1)10.0.18 及之后版本的报表工程,仅支持下拉选择模式 正确填写完上面几项设置后,点击模式下拉框中的「点击连接数据库」,系统将自动连接该数据库并读取模式,选择即可(尽量选择和数据库用户的名字相同的模式) 注:若提示数据库连接失败,请检查上面几项设置。 2)10.0.18 之前版本的报表工程,仅支持手动输入模式 模式的名字和数据库用户的名字相同(Oracle 的用户名和模式推荐大写) ![]() |
URL | 数据库连接 URL 支持三种写法: 1)Oracle单机 jdbc:oracle:thin:@<host>:<port>:<SID> 写法一:jdbc:oracle:thin:@//<host>:<port>/<service_name> 写法二:jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=x.x.x.1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=x.x.x.2)(PORT=1521)))(LOAD_BALANCE=yes)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=xxrac))) 注:10.0.11 版本之后的工程,支持集群写法二。 |
3.3 配置成功
等待一段时间,提示已成功启用新数据库。如下图所示:
注:请勿在迁移过程中刷新页面。
4. 方法二:平台中配置外接数据库
本方法适用于进入数据决策系统后,第一次配置外接数据库。
4.1 进入平台
管理员登录数据决策系统,点击「管理系统>系统管理>常规>外接数据库>待配置」,如下图所示:
4.2 配置外接数据库
输入实际数据库相应的信息,配置外接数据库。如下图所示:
各设置项说明如下表所示:
设置项 | 说明 |
---|---|
数据库类型 | 选择 oracle |
驱动 | 无需手动修改 |
数据库名称 | 2.3 节新建的表空间名称 禁止与其他工程共用表空间,建议新建表空间 表空间名称只允许包含数字、字母、下划线和「.」 |
用户名/主机/密码/端口 | 根据本地数据库实际情况填写 主机名称只允许包含数字、字母、下划线、「-」和「.」 用户需要具备 create、delete、alter、update、select、insert 权限 |
模式 | 1)10.0.18 及之后版本的报表工程,仅支持下拉选择模式 正确填写完上面几项设置后,点击模式下拉框中的「点击连接数据库」,系统将自动连接该数据库并读取模式,选择即可(尽量选择和数据库用户的名字相同的模式) 注:若提示数据库连接失败,请检查上面几项设置。 2)10.0.18 之前版本的报表工程,仅支持手动输入模式 模式的名字和数据库用户的名字相同(Oracle 的用户名和模式推荐大写) ![]() |
URL | 数据库连接 URL 支持三种写法: 1)Oracle单机 jdbc:oracle:thin:@<host>:<port>:<SID> 写法一:jdbc:oracle:thin:@//<host>:<port>/<service_name> 写法二:jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=x.x.x.1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=x.x.x.2)(PORT=1521)))(LOAD_BALANCE=yes)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=xxrac))) 注:10.0.11 版本之后的工程,支持集群写法二。 |
4.3 配置成功
等待一段时间,会跳出弹窗提示:已成功启用目标数据库,点击「确定」即可。如下图所示:
注1:请勿在迁移过程中刷新页面。
注2:数据库配置成功后无需重启。
4.4 删除内置库数据连接
「内置 FineDB 数据库」为HSQL数据库,使用时会建立内存数据库,数据量大时会占用大量内存。
因此配置完外接数据库后,请检查数据连接中是否存在「内置 FineDB 数据库」的数据连接。
若存在相关数据连接,请及时删除,否则会持续占用服务器内存。
5. 方法三:平台二次迁移数据库
本方法适用于系统已配置外接数据库后,迁移至新的数据库。
5.1 进入平台
管理员登录数据决策系统,点击「管理系统>系统管理>常规>外接数据库>已配置」,如下图所示:
5.2 配置外接数据库
输入实际数据库相应的信息,配置外接数据库。如下图所示:
各设置项说明如下表所示:
设置项 | 说明 |
---|---|
数据库类型 | 选择 oracle |
驱动 | 无需手动修改 |
数据库名称 | 2.3 节新建的数据库名称 禁止与其他工程共用数据库,建议新建数据库 数据库名称只允许包含数字、字母、下划线和「.」 |
用户名/主机/密码/端口 | 根据本地数据库实际情况填写 主机名称只允许包含数字、字母、下划线、「-」和「.」 用户需要具备 create、delete、alter、update、select、insert 权限 |
模式 | 1)10.0.18 及之后版本的报表工程,仅支持下拉选择模式 正确填写完上面几项设置后,点击模式下拉框中的「点击连接数据库」,系统将自动连接该数据库并读取模式,选择即可(尽量选择和数据库用户的名字相同的模式) 注:若提示数据库连接失败,请检查上面几项设置。 2)10.0.18 之前版本的报表工程,仅支持手动输入模式 模式的名字和数据库用户的名字相同(Oracle 的用户名和模式推荐大写) ![]() |
URL | 数据库连接 URL 支持三种写法: 1)Oracle单机 jdbc:oracle:thin:@<host>:<port>:<SID> 写法一:jdbc:oracle:thin:@//<host>:<port>/<service_name> 写法二:jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=x.x.x.1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=x.x.x.2)(PORT=1521)))(LOAD_BALANCE=yes)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=xxrac))) 注:10.0.11 版本之后的工程,支持集群写法二。 |
「迁移数据至要启用的数据库」按钮说明:
1)勾选「迁移数据至要启用的数据库」
切换数据库时,原外接数据库的数据会导入到新数据库,工程下不生成历史数据备份文件。
若新数据库中已存在平台数据,导入数据前将清空原有平台数据。提示如下图所示:
2)不勾选「迁移数据至要启用的数据库」
若新外接数据库为空,提示必须将当前数据迁移到目标数据库。
若新外接数据库不为空
迁移前将自动备份原数据库的配置信息,在webapps\webroot\WEB-INF\config目录下生成db.properties.bak文件。如下图所示:
10.0.18 及之后版本的报表工程,会自动检测目标数据库中数据对应的 JAR 包版本和当前工程的 JAR 包版本是否一致。
若不一致,则跳出提示:无法启用!启用新数据库需要的工程版本:XXX。当前工程版本:XXX。请确保工程版本一致!
若 JAR 包版本一致,则直接启用新数据库,迁移成功后,提示如下图所示:
5.3 迁移成功
等待一段时间,会跳出弹窗提示:已成功切换至目标数据库!新旧数据库若存在数据差异可能影响系统运行,建议重启工程以确保正常使用。
点击「确定」后,重启报表工程,方迁移成功。如下图所示:
注:请勿在迁移过程中刷新页面。
提示: