5. 数据库配置
5.1. 从早期版本移植
从 2.2.0 到 2.2.1 , sakai 提供了 mysql 和 oracle 的转换脚本,保存在以下目录 reference/docs/updating ,从以下网址也可以获得:
MySQL:
https://source.sakaiproject.org/svn/reference/tags/sakai_2-2-1/docs/conversion/sakai_2_2_0-2_2_1_mysql_conversion.sql
Oracle:
https://source.sakaiproject.org/svn/reference/tags/sakai_2-2-1/docs/conversion/sakai_2_2_0-2_2_1_oracle_conversion.sql
在该目录下,你还可以发现其他版本的转换脚本。另外,需要注意的是,如果你是从更早期的版本升级到当前版本,则需要依次执行相应脚本,比如,如果你要从 2.1.2 升级到 2.2.1 ,则需要先执行 2.1.2 到 2.2.0 的转换脚本,然后再执行 2.2.0 到 2.2.1 的转换脚本。
5.2. 驱动配置
Sakai 支持的产品级的数据库包括 MySQL 4.1.12+ (注意, MySQL 5.0 还未经过充分测试)和 oracle9i+ 。 JDBC 驱动的版本也很重要, 对于 mysql 来说,需要用 MySQL a 3.1.12+ 连接器,对于 oracle 来说必须用 10g 的驱动,即使数据库版本是 9i ,这些驱动应该放到 $CATALINA_HOME/common/lib 目录下,相应的驱动可以从以下网址获得:
MySQL:
http://dev.mysql.com/downloads/connector/j/3.1.html
Oracle:
http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html
5.3. 创建数据库和用户
在使用 sakai 之前,必须先创建一个 sakai 数据库,并建立相应的特权用户,下面以 mysql 为例说明操作的过程:
C:\sakai\reference\sql\legacy\mysql\>
mysql -u root -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 51 to server version: 4.1.5-gamma-nt
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> create database sakai default character set utf8;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on sakai.* to sakaiuser@'localhost' identified by 'sakaipassword';
Query OK, 0 rows affected (0.00 sec
mysql> grant all on sakai.* to sakaiuser@'127.0.0.1' identified by 'sakaipassword';
Query OK, 0 rows affected (0.00 sec)
mysql> quit
UTF-8 字符集
创建数据库时,必须确保使用 UTF-8 字符集,就像 tomcat 也必须配置成 UTF-8 字符集一样。如果你不确定你的数据库的当前配置,你可以通过 sql 来查询,下面是以 oralce 为例,说明如何确定你的数据库使用的字符集:
SQL> select value from nls_database_parameters where parameter = 'NLS_CHARACTERSET';
VALUE
--------------------------------------------------------------------------------
AL32UTF8
5.4. Database 属性
数据库的属性也是在 sakai.properties 文件中进行配置,以下分别是 mysql 和 oracle 数据库的配置信息,你所需要的是根据自己的具体设置来进行本地化的修改:
MySQL:
hibernate.dialect=org.hibernate.dialect.MySQLDialect
vendor@org.sakaiproject.db.api.SqlService=mysql
driverClassName@javax.sql.BaseDataSource=com.mysql.jdbc.Driver
url@javax.sql.BaseDataSource=jdbc:mysql://SERVER:3306/DB?useUnicode=true&characterEncoding=UTF-8
username@javax.sql.BaseDataSource=USER
password@javax.sql.BaseDataSource=PASSWORD
validationQuery@javax.sql.BaseDataSource=select 1 from DUAL
defaultTransactionIsolationString@javax.sql.BaseDataSource=TRANSACTION_READ_COMMITTED
Oracle:
hibernate.dialect=org.hibernate.dialect.Oracle9Dialect
vendor@org.sakaiproject.db.api.SqlService=oracle
driverClassName@javax.sql.BaseDataSource=oracle.jdbc.driver.OracleDriver
url@javax.sql.BaseDataSource=jdbc:oracle:thin:@SERVER:1521:DB
username@javax.sql.BaseDataSource=USER
password@javax.sql.BaseDataSource=PASSWORD
validationQuery@javax.sql.BaseDataSource=select 1 from DUAL
defaultTransactionIsolationString@javax.sql.BaseDataSource=TRANSACTION_READ_COMMITTED
Oracle 的性能
如果采用和 mysql 或者 HSQL 类似的配置, oracle 可能会出现一些性能方面的问题,因此 sakai 强烈建议采用 oracle 数据库时采用以下配置来避免可能出现的性能问题:
# For improved Oracle performance (from the University of Michigan)
validationQuery@javax.sql.BaseDataSource=
defaultTransactionIsolationString@javax.sql.BaseDataSource=
testOnBorrow@javax.sql.BaseDataSource=false
oracle 将自动配置前两项的值。
一旦你修改了数据库的配置,你只需重起 tomcat 即可生效,可以查看启动日志,看是否有数据库连接方面的错误。
Oracle and Tests&Quizzes
如果你使用的是 oracle 数据库,你还必须检查 SAM_MEDIA_T 表中的 MEDIA 字段, hibernate 能够为每个字段选择正确的数据类型,但是在这个字段上,对于 oracle 经常会出现错误。对于不同数据库,正确的数据类型应该是如下:
HSQL:
varbinary
MySQL:
longblob
Oracle:
blob
如果你需要在你的数据库中改变这个字段的数据类型,你还必须重建该表的主键,以下是一个例子:
SQL> alter table SAM_MEDIA_T modify MEDIA BLOB;
Table altered.
SQL> select constraint_name from user_constraints where table_name='SAM_MEDIA_T'
and CONSTRAINT_TYPE='P';
CONSTRAINT_NAME
------------------------------
SYS_C0064435
SQL> alter table sam_media_t drop constraint SYS_C0064435;
Table altered.
SQL> alter table SAM_MEDIA_T add constraint SYS_C0064435 primary key (MEDIAID);
Table altered.
SQL> desc SAM_MEDIA_T;
[table with BLOB type]
SQL> select constraint_name from user_constraints where table_name='SAM_MEDIA_T'
and CONSTRAINT_TYPE='P';
CONSTRAINT_NAME
------------------------------
SYS_C0064435
SQL> commit;
Commit complete.
分享到:
相关推荐
**源码版本Sakai安装配置详解** Sakai是一款开源的在线学习管理系统,它提供了丰富的教学工具,如课程管理、讨论区、评估系统等,适用于教育机构和企业进行在线教育。本文将详细介绍如何通过源代码版本在本地环境中...
### Sakai 的安装与配置详解 #### 一、概述 Sakai 是一款开源的教育协作平台,广泛应用于教育机构中。本文档旨在详细介绍 Sakai 2.9.0 版本的安装与配置过程,并解决在安装过程中可能遇到的一些常见问题。 #### ...
3. **缓存设置**:为了提高性能,Sakai使用缓存来存储常用数据。配置包括缓存大小、策略等: ``` sakai.cache.memory.size=10000 sakai.cache.expiration=3600 ``` 4. **邮件服务**:Sakai可以发送通知邮件给...
在本文中,我们将详细探讨如何部署Sakai教育平台,主要关注环境准备、MySQL数据库的安装与配置,以及Sakai的部署流程。Sakai是一个开源的学习管理系统,广泛用于教育机构,支持教学、协作和评估活动。让我们一步步来...
通过对Sakai开发文档的分析可以看出,Sakai作为一个开放源码的学习管理系统,不仅提供了丰富的功能来支持教学和学习活动,还拥有详细的安装和配置指南,以便开发者能够快速地搭建起开发环境,并进行定制化的二次开发...
3. **Velocity模板语言**:Sakai使用Velocity作为模板语言来构建前端页面。Velocity允许你在`.vm`文件中使用变量和简单的逻辑控制,如`if`语句。例如,你可以在`.vm`文件中这样使用: ``` #if($variable == 'value...
在本文中,我们将详细探讨如何部署Sakai教育平台,主要关注Sakai的环境配置、MySQL数据库的安装以及配置信息的修改。Sakai是一个开源的协作与学习管理系统,广泛应用于高等教育机构,用于构建在线课程和教学环境。 ...
3. **系统安装与配置**:根据官方文档完成Sakai的安装,进行必要的参数配置以适配特定环境。 4. **功能定制与开发**:依据教学需求,定制站点和工具,可能涉及自定义Portlets或集成第三方服务。 5. **测试与优化**:...
### SAKAI安装指南:CentOS 6.2...总结来说,本指南详细介绍了如何在CentOS 6.2环境下安装SUN Java、Apache Tomcat、Apache Maven以及配置系统环境变量和MySQL数据库环境,为成功安装和部署SAKAI提供了全面的技术支持。
为了启用Sakai的Webservices,需要对`sakai.properties`文件进行相应的配置: 1. **开启Webservices**: - 设置`webservices.allowlogin=true`,允许用户通过Webservices登录。 2. **定义允许访问的主机**: - ...
- **安装与配置**:详细介绍如何安装Sakai CLE以及进行基本的系统配置。 - **课程创建与管理**:指导用户如何创建课程,并利用各种工具进行有效的课程管理。 - **协作工具使用**:介绍Sakai CLE提供的多种协作...
3. **备份原有文件**:在进行任何修改之前,总是先备份原始文件,以防万一需要回滚到初始状态。 4. **设计新首页**:你可以根据需求创建一个新的HTML/CSS/JavaScript页面,定义新的布局和功能。确保新首页符合Sakai...
### Sakai 使用手册知识点解析 #### 一、主页/站点简介 **1. 概述** - **说明:** 主页或站点简介是Sakai平台的入口界面,提供了整个站点的基本信息概览。 - **概念解释:** “站点简介”通常包含站点的目的、...
通过这个压缩包文件,用户可以获取Sakai Luna-2 GM管理工具的完整安装程序或更新包,根据具体需求进行安装或升级。在安装过程中,需要注意系统要求,如操作系统兼容性、服务器配置等。此外,用户可能还需要查阅相关...
然后,配置脚本以指向正确的 Sakai 实例并提供必要的认证信息。最后,运行脚本并根据输出验证是否成功执行了预期的操作。 了解 Sakai 的 Web 服务脚本对于希望集成 Sakai 系统到其他应用或者自定义 Sakai 功能的...
可以在sakai.properties配置要导出的站点。 建造 mvn clean install sakai:deploy -Dmaven.tomcat.home=/path/to/tomcat 配置中 在sakai.properties设置以下选项: 导出的CSV文件将保存到的路径: gradebook....
最后,根据反馈调整配置,完成安装或升级。需要注意的是,使用这些工具时,必须熟悉Sakai的架构和开发环境,遵循最佳实践,以确保操作的成功和系统的稳定性。 总之,sakai-release为Sakai社区提供了强大的发行支持...
建造 这是“迷你快速入门”,以获取配置Sakai的更多完整步骤,请参阅。 要构建Sakai,您需要Java 1.8。 克隆此存储库的副本后,可以通过运行(或未./mvnw install Maven的./mvnw install来构建它: mvn install跑步...
5. 系统设置与管理:管理员可以设置和管理用户权限、课程和整个系统的配置,确保系统的稳定运行和教学需求的满足。 在使用Sakai 10时,用户应注意浏览器兼容性问题,推荐使用IE8以上版本或谷歌浏览器以获得最佳体验...