Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
[Type the abstract of the document here. The abstract is typically a short summary of the contents of the document. Type the abstract of the document here. The abstract is typically a short summary of the contents of the document.]
Release 9.1 32-bit to 64-bit Cross Platform Migration
for Linux
Copyright
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 2 ©2010 Blackboard Inc. Proprietary and Confidential
Publication Date: July 21, 2010
Worldwide Headquarters International Headquarters
Blackboard Inc. Blackboard International B.V.
650 Massachusetts Avenue NW Sixth Floor Washington, DC 20001-3796
Dam 27 2nd Floor 1012 JS Amsterdam The Netherlands
+1 800 424 9299 toll free US & Canada
+1 202 463 4860 telephone +31 20 5206884 (NL) telephone
+1 202 463 4863 facsimile +31 20 5206885 (NL) facsimile
www.blackboard.com www.blackboard.com Copyright © 1997-2010. Blackboard, the Blackboard logo, BbWorld, Blackboard Learn, Blackboard Transact, Blackboard Connect, the Blackboard Outcomes System, Behind the Blackboard, and Connect-ED are trademarks or registered trademarks of Blackboard Inc. or its subsidiaries in the United States and other countries. U.S. Patent Numbers: 6,988,138; 7,493,396; 6,816,878.
Sun™, Java™, JDK™, JVM™, JDBC™, Solaris™, Microsoft®, Windows®, Windows Server®, Windows Vista®, SQL Server®, Internet Explorer®, Oracle®, Red Hat®, Enterprise Linux®, Apple®, Mac OS®, Tiger®, Leopard®, Snow Leopard®, Safari®, Apache Tomcat™, Tomcat™, Mozilla®, Firefox®, JAWS for Windows®, VMware®, Xen™, Wimba Pronto™, Acxiom Identify-X™ are trademarks or registered trademarks of their respective owners.
Other product and company names mentioned herein may be the trademarks of their respective owners.
No part of the contents of this manual may be reproduced or transmitted in any form or by any means without the written permission of the publisher, Blackboard Inc.
Contents
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 3 ©2010 Blackboard Inc. Proprietary and Confidential
Contents Contents ................................................................................................................................... 3
32-bit to 64-bit Cross-Platform Migration for Linux ................................................................ 5
Using this Document ............................................................................................................................... 5
Scenarios ................................................................................................................................................. 5
Scenario 1: One Server to One Server ................................................................................... 6
Nomenclature ......................................................................................................................................... 6
Source Server Assumptions ................................................................................................................... 6
Destination Server Assumptions ............................................................................................................ 7
Prepare the Source Server ..................................................................................................................... 8
Direct Upgrade Path ................................................................................................................................ 8
Indirect Upgrade path ............................................................................................................................. 8
Prepare the Destination Server .............................................................................................................. 8
Create Directory for Blackboard Learn Application and Database Backup Files ...................... 8
Create the Blackboard Application User............................................................................................. 9
Preparing to Transfer the Source Server Application and Database .............................................. 10
Create a Blackboard Learn Application and Database Backup ................................................ 10
Restoring the Blackboard Application and Database to the Destination Server .......................... 14
Scenario 2: One Server to Two Servers ................................................................................. 18
Nomenclature ....................................................................................................................................... 18
Source Server Assumptions ................................................................................................................. 18
Destination Application Server Assumptions ..................................................................................... 19
Destination Database Server Assumptions ........................................................................................ 19
Prepare the Source Server ................................................................................................................... 20
Direct Upgrade Path .............................................................................................................................. 20
Indirect Upgrade path ........................................................................................................................... 20
Prepare the Destination Application Server ...................................................................................... 21
Create Directory for Blackboard Learn Application Backup Files ................................................ 21
Create the Blackboard Application User........................................................................................... 21
Create NFS Share Mount Point Mappings ......................................................................................... 21
Prepare the Destination Database Server .......................................................................................... 22
Create Directory for Blackboard Learn Database Backup Files ................................................... 22
Create the Blackboard Application User........................................................................................... 22
Contents
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 4 ©2010 Blackboard Inc. Proprietary and Confidential
Create the Shared Content Directory Structure and NFS Shares .................................................. 22
Preparing to Transfer the Source Server Application and Database .............................................. 23
Create a Blackboard Learn Application and Database Backup ................................................ 23
Restoring the Blackboard Content and Database to the Destination Database Server .............. 27
Restoring the Blackboard Learn Application to the Destination Application Server .................... 29
Scenario 3: Two Servers to Two Servers ................................................................................ 32
Nomenclature ....................................................................................................................................... 32
Source Application Server Assumptions ............................................................................................ 32
Source Database Server Assumptions ............................................................................................... 33
Destination Application Server Assumptions ..................................................................................... 33
Destination Database Server Assumptions ........................................................................................ 34
Prepare the Source Server ................................................................................................................... 35
Direct Upgrade Path .............................................................................................................................. 35
Indirect Upgrade path ........................................................................................................................... 35
Prepare the Destination Application Server ...................................................................................... 36
Create Directory for Blackboard Learn Application Backup Files ................................................ 36
Create the Blackboard Application User........................................................................................... 36
Create NFS Share Mount Point Mappings ......................................................................................... 36
Prepare the Destination Database Server .......................................................................................... 37
Create Directory for Blackboard Learn Database Backup Files ................................................... 37
Create the Blackboard Application User........................................................................................... 37
Create the Shared Content Directory Structure and NFS Shares .................................................. 37
Preparing to Transfer the Source Server Application ........................................................................ 38
Create a Blackboard Learn Application Backup ............................................................................ 38
Preparing to Transfer the Source Server Database ........................................................................... 39
Create a Blackboard Learn Database Backup ............................................................................... 39
Restoring the Blackboard Content and Database to the Destination Database Server .............. 42
Restoring the Blackboard Learn Application to the Destination Application Server .................... 44
32-bit to 64-bit Cross Platform Migration
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 5 ©2010 Blackboard Inc. Proprietary and Confidential
32-bit to 64-bit Cross-Platform Migration for Linux Blackboard Learn Release 9.1 is the first release to offer an entire application and database footprint using 64-bit addressable memory. To take advantage of more addressable memory, Blackboard strongly encourages clients to deploy using 64-bit operating systems (OSs) and sub components (Java and Oracle). Migrating to 64-bit operating systems allows institutions to deploy a 64-bit JVM with larger heap sizes that suppresses the need to run in Tomcat clustered environments.
Using this Document Significant platform changes have occurred in Blackboard Learn 9.1 to take advantage of 64-bit technology. This document contains information on how to migrate a Blackboard Learn 9.1 instance operating on a Linux 32-bit platform to Blackboard Learn 9.1 operating on a Linux 64-bit platform.
All instructions in this document are based on migration to new hardware. Upgrading Blackboard Academic Suite 8.0 or Blackboard Learn 9.0 on existing hardware to Blackboard Learn 9.1 must occur before migration. Database restore to a 64-bit machine must be completed before running the application server upgrade.
Scenarios Three separate scenarios for making a cross platform migration are included in the documentation. The steps are detailed and every effort has been made to recreate instructions in the order a migration would logically be made. As with any major change to an enterprise system, backup your data before you made any changes.
Scenario 1 describes one server to one server migration
Scenario 2 describes one server to two server migration
Scenario 3 describes two servers to two server migration
Scenario1: One Server to One Server
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 6 ©2010 Blackboard Inc. Proprietary and Confidential
Scenario 1: One Server to One Server This scenario describes how to migrate from one server running a production stand-alone Blackboard instance on a Red Hat Linux 5 32-bit operating system to a new server running Red Hat Linux 5 64-bit operating system. Review the nomenclature and server assumptions and adjust accordingly to fit your installation.
Nomenclature The source server refers to the original server running your production stand-alone Blackboard instance on a Red Hat Linux 5 32-bit operating system.
The destination server refers to the new server which is intended as the stand-alone migration target of this process and it is running a Red Hat Linux 5 64-bit operating system.
Source Server Assumptions If your configuration varies from these assumptions, these instructions must be adjusted as needed.
• You are running Red Hat Linux 5 32-bit.
• You are running Blackboard Learn 8.0 SP6 (8.0.475.0) at a minimum and you are planning to upgrade to Blackboard Learn 9.1 HF1 (9.1.407.9).
• You have installed Blackboard to /usr/local/blackboard.
• You are running the latest version of JDK 1.6 32-bit at /usr/local/jdk1.6.0_18 (update 18 was used as of this writing; update 20 is now available).
• Your shared content location is /usr/local/blackboard/content.
• You are running the Blackboard appserver on port 8009 and the webserver on port 80.
• You are running Oracle 10g Release 2 (10.2.0.4) and you know the instance name (ENG10R2 is used in this example).
• You know your database “sys” and “system” administrator password.
• Your database data files directory is /usr/local/blackboard/oracle/data.
• Your database index files directory is /usr/local/blackboard/oracle/data.
• Your log files directory is /usr/local/blackboard/logs.
• Your storage location for /courses is /usr/local/blackboard/content/storage/courses.
Scenario1: One Server to One Server
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 7 ©2010 Blackboard Inc. Proprietary and Confidential
• Your storage location for /institution is /usr/local/blackboard/content/storage/institution.
• Your storage location for /library is /usr/local/blackboard/content/storage/library.
• Your storage location for /orgs is /usr/local/blackboard/content/storage/orgs.
• Your storage location for /users is /usr/local/blackboard/content/storage/users.
• Your collaboration server is running on TCP port 8010 and HTTP port 8011.
• You know your SMTP server hostname.
Destination Server Assumptions • You are running Red Hat Linux 5 64-bit.
• You are running Oracle 11g Release 1 (11.1.0.7) on port 1521/TCP and you know the instance name (ENG11R1 in this example).
• You have the following Oracle 11g patches installed: p7112447, p7272646, p7524366.
• You have the latest version of JDK 1.6 64-bit installed at /usr/local/jdk1.6.0_18 (update 18 was used as of this writing; update 20 is now available).
Scenario1: One Server to One Server
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 8 ©2010 Blackboard Inc. Proprietary and Confidential
Prepare the Source Server Upgrade your installation from Blackboard Learn 8.0 SP6 (8.0.475.0) to Blackboard Learn 9.1 HF1 (9.1.407.9).
• Test this upgrade process before performing these actions on your production system.
• This work needs to be done as a user which has been granted sudo or root permissions.
Direct Upgrade Path Follow this path if you are running Blackboard Learn 8.0 SP6 (8.0.475.0).
1. Run the Blackboard Learn 9.1 (9.1.407.2) installer to upgrade the instance.
2. Run the Blackboard Learn 9.1 HF1 (9.1.407.9) installer to upgrade the instance
Indirect Upgrade path Follow this path if you are running Blackboard Learn 9.0 (9.0.351.13) or later.
1. Run the Blackboard Learn 9.0 SP1 (9.0.440.0) installer to upgrade the instance.
2. Run the Blackboard Learn 9.0 SP2 (9.0.505.0) installer to upgrade the instance.
3. Run the Blackboard Learn 9.0 SP3 (9.0.539.0) installer to upgrade the instance.
4. Run the Blackboard Learn 9.1 (9.1.407.2) installer to upgrade the instance.
5. Run the Blackboard Learn 9.1 HF1 (9.1.407.9) installer to upgrade the instance.
Prepare the Destination Server This work needs to be done as a user which has been granted sudo or root permissions.
Create Directory for Blackboard Learn Application and Database Backup Files Type this command:
mkdir /usr/local/bb_backup
Scenario1: One Server to One Server
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 9 ©2010 Blackboard Inc. Proprietary and Confidential
Create the Blackboard Application User Type the following:
groupadd -g 550 bbuser
useradd -c "Blackboard Application User" -u 550 -g 550 bbuser
passwd bbuser
Scenario1: One Server to One Server
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010 Blackboard Inc. Proprietary and Confidential
Preparing to Transfer the Source Server Application and Database
Shut down the Blackboard Learn instance.
/usr/local/blackboard/tools/admin/ServiceController.sh services.stop
Create a Blackboard Learn Application and Database Backup There are ten (10) tablespaces, ten (10) indexes and eleven (11) users to backup.
1. Create a directory to store the database backup and make sure that the oracle user has write access to the directory.
mkdir /usr/local/sql_backup
chown oracle /usr/local/sql_backup
2. Export the database data for the Blackboard application, where $PASSWORD is the Oracle system user password.
su - oracle
export EXPORT_DIR=/usr/local/sql_backup
$ORACLE_HOME/bin/exp system/$PASSWORD \
file=$EXPORT_DIR/bb_export.dmp \
log=$EXPORT_DIR/bb_export.log \
owner=\(bbadmin, bb_bb60_stats, bb_bb60, \
bb_bb60_report, cms, cms_doc, cms_files_orgs, \
cms_files_inst, cms_files_courses, cms_files_library, \
cms_files_users\) buffer=2048000
Warning: If your export is greater than 2GB in size, then you may need to follow instructions on using a split named pipe as described by Jeff Hunter at Oracle DBA Tips.
3. Backup the tablespace definitions, users and privileges for Blackboard Learn by creating the /usr/local/sql_backup/backup-database.sql script.
set echo off
set feedback off
set heading off
set linesize 200
Scenario1: One Server to One Server
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 11 ©2010 Blackboard Inc. Proprietary and Confidential
spool $EXPORT_DIR/recreate_bb_database.sql
-- Generate SQL Script to Recreate the Blackboard Learn Tablespaces
select 'create tablespace ' || dt.tablespace_name ||
' datafile ''' || ddf.file_name ||
''' size 100m autoextend on extent management local segment space management auto; '
from dba_tablespaces dt, dba_data_files ddf
where (dt.tablespace_name = ddf.tablespace_name and dt.tablespace_name like 'BB%')
or (dt.tablespace_name = ddf.tablespace_name and dt.tablespace_name like 'CMS%');
-- Generate SQL Script to Recreate the Blackboard Learn Database Users
select 'create user ' || username ||
' identified by values ''' || password ||
''' default tablespace ' || default_tablespace ||
' temporary tablespace ' || temporary_tablespace ||
' quota unlimited on ' || default_tablespace || ';'
from dba_users
where (username like 'BB%')
or (username like 'CMS%');
-- Generate SQL Script to Grant Role Privileges to the Blackboard Learn Database Users
select 'grant ' || granted_role ||
' to ' || grantee || ';'
from dba_role_privs
where grantee in
(select username
from dba_users
Scenario1: One Server to One Server
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 12 ©2010 Blackboard Inc. Proprietary and Confidential
where (username like 'BB%')
or (username like 'CMS%')
);
-- Generate SQL Script to Grant System Privileges to the Blackboard Learn Database Users
select 'grant ' || privilege ||
' to ' || grantee || ';'
from dba_sys_privs
where grantee in
(select username
from dba_users
where (username like 'BB%')
or (username like 'CMS%')
);
-- Closing Statement for Generated SQL Script
select 'quit' from dual;
spool off
quit
4. Execute the /usr/local/sql_backup/backup-database.sql script.
su - oracle
export EXPORT_DIR=/usr/local/sql_backup
$ORACLE_HOME/bin/sqlplus "/ as sysdba" @$EXPORT_DIR/backup-database.sql
5. Copy the Blackboard Learn instance and database backup to the destination server. This step deliberately excludes the database files within the /usr/local/blackboard/oracle directory tree. Type the following commands where $DST_HOSTNAME is the destination server.
cd /usr/local
Scenario1: One Server to One Server
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 13 ©2010 Blackboard Inc. Proprietary and Confidential
rsync -avz --exclude=blackboard/oracle blackboard $DST_HOSTNAME:/usr/local/bb_backup
rsync -avz sql_backup $DST_HOSTNAME:/usr/local/bb_backup
Scenario1: One Server to One Server
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 14 ©2010 Blackboard Inc. Proprietary and Confidential
Restoring the Blackboard Application and Database to the Destination Server
1. Move the Blackboard Learn files to their proper location using these commands.
mv /usr/local/bb_backup/blackboard /usr/local
mkdir -p /usr/local/blackboard/oracle/data
chown -R bbuser /usr/local/blackboard
chown oracle /usr/local/blackboard/oracle/data 2. Restore the database. There are ten (10) tablespaces, ten (10) indexes and
eleven (11) users to restore.
su - oracle
export EXPORT_DIR=/usr/local/bb_backup/sql_backup
sqlplus "/ as sysdba"
alter system set db_create_file_dest='/usr/local/blackboard/oracle/data';
exit
$ORACLE_HOME/bin/sqlplus "/ as sysdba" \ @$EXPORT_DIR/recreate_bb_database.sql
$ORACLE_HOME/bin/imp system/$PASSWORD \
file=$EXPORT_DIR/bb_export.dmp \
log=$EXPORT_DIR/bb_import.log \
full=y buffer=2048000
Note: There are multiple warnings of this type, but the import will complete successfully and the warnings can be safely ignored:
IMP-00041: Warning: object created with compilation warnings
3. Reconfigure the Blackboard Learn configuration parameters within the restored database. $DST_APP_HOSTNAME should be replaced with the unqualified hostname of the destination application server, $DST_DB_HOSTNAME should be replaced with the unqualified hostname of the destination database server, $DB_INSTANCE should be replaced with your database instance name and $DOMAIN should be replaced with your DNS domain name.
su - oracle
sqlplus "/ as sysdba"
Scenario1: One Server to One Server
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 15 ©2010 Blackboard Inc. Proprietary and Confidential
update bbadmin.BB_CONFIG_REGISTRY set HOSTNAME = '$DST_APP_HOSTNAME.$DOMAIN';
exit
4. Reconfigure Blackboard Property Files. There are 28 properties across three (3) files that must be updated or verified.
• $DST_HOSTNAME needs to be replaced with the unqualified hostname of the destination server, $DB_INSTANCE needs to be replaced with your database instance name and $DOMAIN needs to be replaced with your DNS domain name.
• File /usr/local/blackboard/apps/xythos/xythos.properties
Property Purpose
Xythos.BaseJDBCConnectionURL=
jdbc:oracle:thin:@$DST_HOSTNAME.$DOMAIN:1521:$DB_INSTANCE
Update server name and SQL Server instance name. Note that this is a single line in the file; it was broken up here for readability.
• File /usr/local/blackboard/config/bb-config.properties
Property Purpose
bbconfig.java.home=/usr/local/jdk1.6.0_18
Update JDK location, if necessary
bbconfig.java.home.win=\\usr\\local\\jdk1.6.0_18
Update JDK location, if necessary. Double back slashes required.
bbconfig.base.shared.dir=/usr/local/blackboard/content
Check the shared content location
bbconfig.base.shared.dir.win=\\usr\\local\\blackboard\\content
Check the shared content location. Double back slashes required.
bbconfig.webserver.fullhostname=$DST_HOSTNAME.$DOMAIN
Set the webserver hostname, fully qualified
bbconfig.appserver.fullhostname=$DST_HOSTNAME.$DOMAIN
Set the appserver hostname, fully qualified
bbconfig.appserver.machinename=$DST_HOSTNAME
Set the appserver machine name, unqualified
bbconfig.appserver.domainname=$DOMAIN Set the appserver domain name
bbconfig.smtpserver.hostname=$SMTP_HOSTNAME.$DOMAIN
Update the SMTP server, if necessary, fully qualified
bbconfig.collabserver.fullhostname.de Set the collaboration server
Scenario1: One Server to One Server
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 16 ©2010 Blackboard Inc. Proprietary and Confidential
Property Purpose fault=$DST_HOSTNAME.$DOMAIN hostname, fully qualified
bbconfig.database.datadir=/usr/local/blackboard/oracle/data
Check the database data directory
bbconfig.database.datadir.win=\\usr\\local\\blackboard\\oracle\\data
Check the database data directory. Double back slashes required.
bbconfig.database.server.name=$DST_HOSTNAME
Set the database server hostname, unqualified
bbconfig.database.server.fullhostname=$DST_HOSTNAME.$DOMAIN
Set the database server hostname, fully qualified
bbconfig.database.server.instancename=$DB_INSTANCE
Set the database server instance name
bbconfig.database.stats.server.name=$DST_HOSTNAME.$DOMAIN
Set the database stats server hostname, fully qualified
bbconfig.database.logdir.mssql=\\usr\\local\\blackboard\\oracle\\data
Check the database log directory. Double back slashes required.
bbconfig.database.indexdir.oracle=/usr/local/blackboard/oracle/data
Check the database index directory
bbconfig.platform.64bit=true Enable 64bit binaries
bbconfig.platform.libdir=lib64 Enable 64bit libraries
bbconfig.cs.external.data.courses=/usr/local/blackboard/content/storage/courses
Check the courses shared content location
bbconfig.cs.external.data.inst=/usr/local/blackboard/content/storage/institution
Check the institution share content location
bbconfig.cs.external.data.library=/usr/local/blackboard/content/storage/library
Check the library shared content location
bbconfig.cs.external.data.orgs=/usr/local/blackboard/content/storage/orgs
Check the orgs shared content location
bbconfig.cs.external.data.users=/usr/local/blackboard/content/storage/users
Check the users shared content location
bbconfig.cs.external.storage.location=/usr/local/blackboard/content/storage
Check the storage shared content location
Scenario1: One Server to One Server
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 17 ©2010 Blackboard Inc. Proprietary and Confidential
• File /usr/local/blackboard/tools/admin/PushConfigUpdates.sh
Property Purpose
set JAVA_HOME=/usr/local/jdk1.6.0_18 Update JDK location, if necessary
5. Update the Blackboard configuration by running.
/usr/local/blackboard/tools/admin/PushConfigUpdates.sh
32-bit to 64-bit Cross Platform Migration
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 18 ©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: One Server to Two Servers This scenario describes how to migrate from one server running a stand-alone production Blackboard instance on a Red Hat Enterprise Linux 5 32-bit operating system to two new servers running Red Hat Enterprise Linux 5 64-bit operating system. Review the nomenclature and server assumptions and adjust accordingly to fit your installation.
Nomenclature The source server refers to the original server running your production stand-alone Blackboard instance on a Red Hat Enterprise Linux 5 32-bit operating system.
The destination application server refers to the new server which is intended as the application instance migration target of this process and it is running a Red Hat Enterprise Linux 5 64-bit operating system.
The destination database server refers to the new server which is intended as the database instance migration target of this process and it is running a Red Hat Enterprise Linux 5 64-bit operating system.
Source Server Assumptions If your configuration varies from these assumptions, these instructions must be adjusted as needed.
• You are running Red Hat Enterprise Linux 5 32-bit.
• You are running Blackboard Learn 8.0 SP6 (8.0.475.0) at a minimum and you are planning to upgrade to Blackboard Learn 9.1 HF1 (9.1.407.9).
• You have installed Blackboard to /usr/local/blackboard.
• You are running the latest version of JDK 1.6 32-bit at /usr/local/jdk1.6.0_18 (update 18 was used as of this writing; update 20 is now available).
• Your shared content location is /usr/local/blackboard/content.
• You are running the Blackboard appserver on port 8009 and the webserver on port 80.
• You are running Oracle 10g Release 2 (10.2.0.4) and you know the instance name (ENG10R2 is used in this example).
• You know your database “sys” and “system” administrator password.
• Your database data files directory is /usr/local/blackboard/oracle/data.
• Your database index files directory is /usr/local/blackboard/oracle/data.
Scenario 2: One Server to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 19 ©2010 Blackboard Inc. Proprietary and Confidential
• Your log files directory is /usr/local/blackboard/logs.
• Your storage location for /courses is /usr/local/blackboard/content/storage/courses.
• Your storage location for /institution is /usr/local/blackboard/content/storage/institution.
• Your storage location for /library is /usr/local/blackboard/content/storage/library.
• Your storage location for /orgs is /usr/local/blackboard/content/storage/orgs.
• Your storage location for /users is /usr/local/blackboard/content/storage/users.
• Your collaboration server is running on TCP port 8010 and HTTP port 8011.
• You know your SMTP server hostname.
Destination Application Server Assumptions • You are running Red Hat Enterprise Linux 5 64-bit.
• You have the latest version of JDK 1.6 64-bit installed at /usr/local/jdk1.6.0_18 (update 18 was used as of this writing; update 20 is now available).
Destination Database Server Assumptions • You are running Red Hat Enterprise Linux 5 64-bit.
• You are running Oracle 11g Release 1 (11.1.0.7) on port 1521/TCP and you know the instance name (ENG11R1 in this example).
• You have the following Oracle 11g patches installed: p7112447, p7272646, p7524366.
• You have the latest version of JDK 1.6 64-bit installed at /usr/local/jdk1.6.0_18 (update 18 was used as of this writing; update 20 is now available).
• You know your database “sys” and “system” administrator password.
• Your database data files directory is /usr/local/blackboard/oracle/data.
• Your database index files directory is /usr/local/blackboard/oracle/data.
• Your shared content location is /usr/local/bb_share/content which is shared through NFS.
Scenario 2: One Server to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 20 ©2010 Blackboard Inc. Proprietary and Confidential
Prepare the Source Server Upgrade your installation from Blackboard Learn 8.0 SP6 (8.0.475.0) to Blackboard Learn 9.1 HF1 (9.1.407.9).
• Test this upgrade process before performing these actions on your production system.
• This work needs to be done as a user which has been granted sudo or root permissions.
Direct Upgrade Path Follow this path if you are running Blackboard Learn 8.0 SP6 (8.0.475.0).
1. Run the Blackboard Learn 9.1 (9.1.407.2) installer to upgrade the instance.
2. Run the Blackboard Learn 9.1 HF1 (9.1.407.9) installer to upgrade the instance
Indirect Upgrade path Follow this path if you are running Blackboard Learn 9.0 (9.0.351.13) or later.
1. Run the Blackboard Learn 9.0 SP1 (9.0.440.0) installer to upgrade the instance.
2. Run the Blackboard Learn 9.0 SP2 (9.0.505.0) installer to upgrade the instance.
3. Run the Blackboard Learn 9.0 SP3 (9.0.539.0) installer to upgrade the instance.
4. Run the Blackboard Learn 9.1 (9.1.407.2) installer to upgrade the instance.
5. Run the Blackboard Learn 9.1 HF1 (9.1.407.9) installer to upgrade the instance.
Scenario 2: One Server to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 21 ©2010 Blackboard Inc. Proprietary and Confidential
Prepare the Destination Application Server This work needs to be done as a user which has been granted sudo or root permissions.
Create Directory for Blackboard Learn Application Backup Files Type this command:
mkdir /usr/local/bb_backup
Create the Blackboard Application User Type the following:
groupadd -g 550 bbuser
useradd -c "Blackboard Application User" -u 550 -g 550 bbuser
passwd bbuser
Create NFS Share Mount Point Mappings Type the following:
vi /etc/fstab
$DST_DB_HOSTNAME.$DOMAIN:/usr/local/bb_share/content /usr/local/blackboard/content
nfs auto,rw,soft,timeo=60,intr,nolock,rsize=8192,wsize=8192 0 0
:wq
Scenario 2: One Server to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 22 ©2010 Blackboard Inc. Proprietary and Confidential
Prepare the Destination Database Server This work needs to be done as a user which has been granted sudo or root permissions.
Create Directory for Blackboard Learn Database Backup Files Type this command:
mkdir /usr/local/bb_backup
Create the Blackboard Application User The numeric user ID should be the same as it is on the destination application server. Type the following:
groupadd -g 550 bbuser
useradd -c "Blackboard Application User" -u 550 -g 550 bbuser
passwd bbuser
Create the Shared Content Directory Structure and NFS Shares mkdir -p /usr/local/bb_share/content
chown -R bbuser /usr/local/bb_share
vi /etc/exports
/usr/local/bb_share/content $DST_APP_HOSTNAME.$DOMAIN(rw,anonuid=550,anongid=550)
:wq
exportfs -r
exportfs -v
Scenario 2: One Server to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 23 ©2010 Blackboard Inc. Proprietary and Confidential
Preparing to Transfer the Source Server Application and Database
Shut down the Blackboard Learn instance.
/usr/local/blackboard/tools/admin/ServiceController.sh services.stop
Create a Blackboard Learn Application and Database Backup There are ten (10) tablespaces, ten (10) indexes and eleven (11) users to backup.
1. Create a directory to store the database backup and make sure that the oracle user has write access to the directory.
mkdir /usr/local/sql_backup
chown oracle /usr/local/sql_backup
2. Export the database data for the Blackboard application, where $PASSWORD is the Oracle system user password.
su - oracle
export EXPORT_DIR=/usr/local/sql_backup
$ORACLE_HOME/bin/exp system/$PASSWORD \
file=$EXPORT_DIR/bb_export.dmp \
log=$EXPORT_DIR/bb_export.log \
owner=\(bbadmin, bb_bb60_stats, bb_bb60, \
bb_bb60_report, cms, cms_doc, cms_files_orgs, \
cms_files_inst, cms_files_courses, cms_files_library, \
cms_files_users\) buffer=2048000
Warning: If your export is greater than 2GB in size, then you may need to follow instructions on using a split named pipe as described by Jeff Hunter at Oracle DBA Tips.
3. Backup the tablespace definitions, users and privileges for Blackboard Learn by creating the /usr/local/sql_backup/backup-database.sql script.
set echo off
set feedback off
set heading off
set linesize 200
Scenario 2: One Server to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 24 ©2010 Blackboard Inc. Proprietary and Confidential
spool $EXPORT_DIR/recreate_bb_database.sql
-- Generate SQL Script to Recreate the Blackboard Learn Tablespaces
select 'create tablespace ' || dt.tablespace_name ||
' datafile ''' || ddf.file_name ||
''' size 100m autoextend on extent management local segment space management auto; '
from dba_tablespaces dt, dba_data_files ddf
where (dt.tablespace_name = ddf.tablespace_name and dt.tablespace_name like 'BB%')
or (dt.tablespace_name = ddf.tablespace_name and dt.tablespace_name like 'CMS%');
-- Generate SQL Script to Recreate the Blackboard Learn Database Users
select 'create user ' || username ||
' identified by values ''' || password ||
''' default tablespace ' || default_tablespace ||
' temporary tablespace ' || temporary_tablespace ||
' quota unlimited on ' || default_tablespace || ';'
from dba_users
where (username like 'BB%')
or (username like 'CMS%');
-- Generate SQL Script to Grant Role Privileges to the Blackboard Learn Database Users
select 'grant ' || granted_role ||
' to ' || grantee || ';'
from dba_role_privs
where grantee in
(select username
from dba_users
Scenario 2: One Server to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 25 ©2010 Blackboard Inc. Proprietary and Confidential
where (username like 'BB%')
or (username like 'CMS%')
);
-- Generate SQL Script to Grant System Privileges to the Blackboard Learn Database Users
select 'grant ' || privilege ||
' to ' || grantee || ';'
from dba_sys_privs
where grantee in
(select username
from dba_users
where (username like 'BB%')
or (username like 'CMS%')
);
-- Closing Statement for Generated SQL Script
select 'quit' from dual;
spool off
quit
4. Execute the /usr/local/sql_backup/backup-database.sql script.
su - oracle
export EXPORT_DIR=/usr/local/sql_backup
$ORACLE_HOME/bin/sqlplus "/ as sysdba" @$EXPORT_DIR/backup-database.sql
5. Copy the Blackboard Learn Application instance to the destination Application server. This step deliberately excludes the database files within the /usr/local/blackboard/oracle directory and the content files within the /usr/local/blackboard/content directory. Type the following commands where $DST_APP_HOSTNAME is the destination Application server.
Scenario 2: One Server to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 26 ©2010 Blackboard Inc. Proprietary and Confidential
cd /usr/local
rsync -avz --exclude=blackboard/oracle \
--exclude=blackboard/content blackboard \
$DST_APP_HOSTNAME:/usr/local/bb_backup
6. Copy the Blackboard Learn Content and Database instance to the destination Database server. Type the following commands where $DST_DB_HOSTNAME is the destination Database server.
cd /usr/local
rsync -avz blackboard/content $DST_DB_HOSTNAME:/usr/local/bb_backup
rsync -avz sql_backup $DST_DB_HOSTNAME:/usr/local/bb_backup
Scenario 2: One Server to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 27 ©2010 Blackboard Inc. Proprietary and Confidential
Restoring the Blackboard Content and Database to the Destination Database Server
1. Move the Blackboard Learn files to their proper location using these commands.
mv /usr/local/bb_backup/content /usr/local/bb_share
mkdir -p /usr/local/blackboard/oracle/data
chown -R bbuser /usr/local/blackboard
chown -R bbuser /usr/local/bb_share
chown oracle /usr/local/blackboard/oracle/data 2. Restore the database. There are ten (10) tablespaces, ten (10) indexes and
eleven (11) users to restore.
su - oracle
export EXPORT_DIR=/usr/local/bb_backup/sql_backup
sqlplus "/ as sysdba"
alter system set db_create_file_dest='/usr/local/blackboard/oracle/data';
exit
$ORACLE_HOME/bin/sqlplus "/ as sysdba" \ @$EXPORT_DIR/recreate_bb_database.sql
$ORACLE_HOME/bin/imp system/$PASSWORD \
file=$EXPORT_DIR/bb_export.dmp \
log=$EXPORT_DIR/bb_import.log \
full=y buffer=2048000
Note: There are multiple warnings of this type, but the import will complete successfully and the warnings can be safely ignored:
IMP-00041: Warning: object created with compilation warnings
3. Reconfigure the Blackboard Learn configuration parameters within the restored database. $DST_APP_HOSTNAME should be replaced with the unqualified hostname of the destination application server, $DST_DB_HOSTNAME should be replaced with the unqualified hostname of the destination database server, $DB_INSTANCE should be replaced with your database instance name and $DOMAIN should be replaced with your DNS domain name.
su - oracle
sqlplus "/ as sysdba"
Scenario 2: One Server to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 28 ©2010 Blackboard Inc. Proprietary and Confidential
update bbadmin.BB_CONFIG_REGISTRY set HOSTNAME = '$DST_APP_HOSTNAME.$DOMAIN';
Exit
Scenario 2: One Server to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 29 ©2010 Blackboard Inc. Proprietary and Confidential
Restoring the Blackboard Learn Application to the Destination Application Server
1. Move the Blackboard Learn files to their proper location using these commands.
mv /usr/local/bb_backup/blackboard /usr/local
mkdir /usr/local/blackboard/content
chown -R bbuser /usr/local/blackboard
mount /usr/local/blackboard/content 2. Reconfigure Blackboard Property Files. There are 28 properties across three (3)
files that must be updated or verified.
• $DST_APP_HOSTNAME needs to be replaced with the unqualified hostname of the destination Application server, $DST_DB_HOSTNAME should be replaced with the unqualified hostname of the destination Database server, $DB_INSTANCE needs to be replaced with your database instance name and $DOMAIN needs to be replaced with your DNS domain name.
• File /usr/local/blackboard/apps/xythos/xythos.properties
Property Purpose
Xythos.BaseJDBCConnectionURL=
jdbc:oracle:thin:@$DST_DB_HOSTNAME.$DOMAIN:1521:$DB_INSTANCE
Update server name and SQL Server instance name. Note that this is a single line in the file; it was broken up here for readability.
• File /usr/local/blackboard/config/bb-config.properties
Property Purpose
bbconfig.java.home=/usr/local/jdk1.6.0_18
Update JDK location, if necessary
bbconfig.java.home.win=\\usr\\local\\jdk1.6.0_18
Update JDK location, if necessary. Double back slashes required.
bbconfig.base.shared.dir=/usr/local/blackboard/content
Check the shared content location
bbconfig.base.shared.dir.win=\\usr\\local\\blackboard\\content
Check the shared content location. Double back slashes required.
bbconfig.webserver.fullhostname=$DST_ Set the webserver hostname,
Scenario 2: One Server to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 30 ©2010 Blackboard Inc. Proprietary and Confidential
Property Purpose APP_HOSTNAME.$DOMAIN fully qualified
bbconfig.appserver.fullhostname=$DST_APP_HOSTNAME.$DOMAIN
Set the appserver hostname, fully qualified
bbconfig.appserver.machinename=$DST_APP_HOSTNAME
Set the appserver machine name, unqualified
bbconfig.appserver.domainname=$DOMAIN Set the appserver domain name
bbconfig.smtpserver.hostname=$SMTP_HOSTNAME.$DOMAIN
Update the SMTP server, if necessary, fully qualified
bbconfig.collabserver.fullhostname.default=$DST_APP_HOSTNAME.$DOMAIN
Set the collaboration server hostname, fully qualified
bbconfig.database.datadir=/usr/local/blackboard/oracle/data
Check the database data directory
bbconfig.database.datadir.win=\\usr\\local\\blackboard\\oracle\\data
Check the database data directory. Double back slashes required.
bbconfig.database.server.name=$DST_DB_HOSTNAME
Set the database server hostname, unqualified
bbconfig.database.server.fullhostname=$DST_DB_HOSTNAME.$DOMAIN
Set the database server hostname, fully qualified
bbconfig.database.server.instancename=$DB_INSTANCE
Set the database server instance name
bbconfig.database.stats.server.name=$DST_DB_HOSTNAME.$DOMAIN
Set the database stats server hostname, fully qualified
bbconfig.database.logdir.mssql=\\usr\\local\\blackboard\\oracle\\data
Check the database log directory. Double back slashes required.
bbconfig.database.indexdir.oracle=/usr/local/blackboard/oracle/data
Check the database index directory
bbconfig.platform.64bit=true Enable 64bit binaries
bbconfig.platform.libdir=lib64 Enable 64bit libraries
bbconfig.cs.external.data.courses=/usr/local/blackboard/content/storage/courses
Check the courses shared content location
bbconfig.cs.external.data.inst=/usr/local/blackboard/content/storage/institution
Check the institution share content location
bbconfig.cs.external.data.library=/usr/local/blackboard/content/storage/library
Check the library shared content location
bbconfig.cs.external.data.orgs=/usr/local/blackboard/content/storage/orgs
Check the orgs shared content location
Scenario 2: One Server to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 31 ©2010 Blackboard Inc. Proprietary and Confidential
Property Purpose
bbconfig.cs.external.data.users=/usr/local/blackboard/content/storage/users
Check the users shared content location
bbconfig.cs.external.storage.location=/usr/local/blackboard/content/storage
Check the storage shared content location
File /usr/local/blackboard/tools/admin/PushConfigUpdates.sh
Property Purpose
set JAVA_HOME=/usr/local/jdk1.6.0_18 Update JDK location, if necessary
3. Update the Blackboard configuration by running.
/usr/local/blackboard/tools/admin/PushConfigUpdates.sh
32-bit to 64-bit Cross Platform Migration
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 32 ©2010 Blackboard Inc. Proprietary and Confidential
Scenario 3: Two Servers to Two Servers This scenario describes how to migrate from two servers running a production Blackboard instance on the Red Hat Enterprise Linux 5 32-bit operating system to two new servers running Red Hat Enterprise Linux 5 64-bit operating system. Review the nomenclature and server assumptions and adjust accordingly to fit your installation.
Nomenclature The source application server refers to the original application server running your production Blackboard application instance and it is running a Red Hat Enterprise Linux 5 32-bit operating system.
The source database server refers to the original database server running your production Blackboard database instance and it is running a Red Hat Enterprise Linux 5 32-bit operating system.
The destination application server refers to the new server which is intended as the application instance migration target of this process and it is running a Red Hat Enterprise Linux 5 64-bit operating system.
The destination database server refers to the new server which is intended as the database instance migration target of this process and it is running a Red Hat Enterprise Linux 5 64-bit operating system.
Source Application Server Assumptions If your configuration varies from these assumptions, these instructions must be adjusted as needed.
• You are running Red Hat Enterprise Linux 5 32-bit.
• You are running Blackboard Learn 8.0 SP6 (8.0.475.0) at a minimum and you are planning to upgrade to Blackboard Learn 9.1 HF1 (9.1.407.9).
• You have installed Blackboard to /usr/local/blackboard.
• You are running the latest version of JDK 1.6 32-bit at /usr/local/jdk1.6.0_18 (update 18 was used as of this writing; update 20 is now available).
• Your shared content location is /usr/local/blackboard/content which is mapped to $SRC_DB_HOSTNAME:/usr/local/bb_share/content through NFS.
• You are running the Blackboard appserver on port 8009 and the webserver on port 80.
• Your log files directory is /usr/local/blackboard/logs.
Scenario 2: Two Servers to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 33 ©2010 Blackboard Inc. Proprietary and Confidential
• Your storage location for /courses is /usr/local/blackboard/content/storage/courses.
• Your storage location for /institution is /usr/local/blackboard/content/storage/institution.
• Your storage location for /library is /usr/local/blackboard/content/storage/library.
• Your storage location for /orgs is /usr/local/blackboard/content/storage/orgs.
• Your storage location for /users is /usr/local/blackboard/content/storage/users.
• Your collaboration server is running on TCP port 8010 and HTTP port 8011.
• You know your SMTP server hostname.
Source Database Server Assumptions If your configuration varies from these assumptions, these instructions must be adjusted as needed.
• You are running Red Hat Enterprise Linux 5 32-bit.
• Your shared content location is /usr/local/blackboard/content which is shared through NFS.
• You are running Oracle 10g Release 2 (10.2.0.4) and you know the instance name (ENG10R2 is used in this example).
• You know your database “sys” and “system” administrator password.
• Your database data files directory is /usr/local/blackboard/oracle/data.
• Your database index files directory is /usr/local/blackboard/oracle/data.
Destination Application Server Assumptions • You are running Red Hat Enterprise Linux 5 64-bit.
• You have the latest version of JDK 1.6 64-bit installed at /usr/local/jdk1.6.0_18 (update 18 was used as of this writing; update 20 is now available).
Scenario 2: Two Servers to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 34 ©2010 Blackboard Inc. Proprietary and Confidential
Destination Database Server Assumptions • You are running Red Hat Enterprise Linux 5 64-bit.
• You are running Oracle 11g Release 1 (11.1.0.7) on port 1521/TCP and you know the instance name (ENG11R1 in this example).
• You have the following Oracle 11g patches installed: p7112447, p7272646, p7524366.
• You have the latest version of JDK 1.6 64-bit installed at /usr/local/jdk1.6.0_18 (update 18 was used as of this writing; update 20 is now available).
• You know your database “sys” and “system” administrator password.
• Your database data files directory is /usr/local/blackboard/oracle/data.
• Your database index files directory is /usr/local/blackboard/oracle/data.
• Your shared content location is /usr/local/bb_share/content which is shared through NFS.
Scenario 2: Two Servers to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 35 ©2010 Blackboard Inc. Proprietary and Confidential
Prepare the Source Server Upgrade your installation from Blackboard Learn 8.0 SP6 (8.0.475.0) to Blackboard Learn 9.1 HF1 (9.1.407.9).
• Test this upgrade process before performing these actions on your production system.
• This work needs to be done as a user which has been granted sudo or root permissions.
Direct Upgrade Path Follow this path if you are running Blackboard Learn 8.0 SP6 (8.0.475.0).
1. Run the Blackboard Learn 9.1 (9.1.407.2) installer to upgrade the instance.
2. Run the Blackboard Learn 9.1 HF1 (9.1.407.9) installer to upgrade the instance
Indirect Upgrade path Follow this path if you are running Blackboard Learn 9.0 (9.0.351.13) or later.
1. Run the Blackboard Learn 9.0 SP1 (9.0.440.0) installer to upgrade the instance.
2. Run the Blackboard Learn 9.0 SP2 (9.0.505.0) installer to upgrade the instance.
3. Run the Blackboard Learn 9.0 SP3 (9.0.539.0) installer to upgrade the instance.
4. Run the Blackboard Learn 9.1 (9.1.407.2) installer to upgrade the instance.
5. Run the Blackboard Learn 9.1 HF1 (9.1.407.9) installer to upgrade the instance.
Scenario 2: Two Servers to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 36 ©2010 Blackboard Inc. Proprietary and Confidential
Prepare the Destination Application Server This work needs to be done as a user which has been granted sudo or root permissions.
Create Directory for Blackboard Learn Application Backup Files Type this command:
mkdir /usr/local/bb_backup
Create the Blackboard Application User Type the following:
groupadd -g 550 bbuser
useradd -c "Blackboard Application User" -u 550 -g 550 bbuser
passwd bbuser
Create NFS Share Mount Point Mappings Type the following:
vi /etc/fstab
$DST_DB_HOSTNAME.$DOMAIN:/usr/local/bb_share/content /usr/local/blackboard/content
nfs auto,rw,soft,timeo=60,intr,nolock,rsize=8192,wsize=8192 0 0
:wq
Scenario 2: Two Servers to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 37 ©2010 Blackboard Inc. Proprietary and Confidential
Prepare the Destination Database Server This work needs to be done as a user which has been granted sudo or root permissions.
Create Directory for Blackboard Learn Database Backup Files Type this command:
mkdir /usr/local/bb_backup
Create the Blackboard Application User The numeric user ID should be the same as it is on the destination application server. Type the following:
groupadd -g 550 bbuser
useradd -c "Blackboard Application User" -u 550 -g 550 bbuser
passwd bbuser
Create the Shared Content Directory Structure and NFS Shares mkdir -p /usr/local/bb_share/content
chown -R bbuser /usr/local/bb_share
vi /etc/exports
/usr/local/bb_share/content $DST_APP_HOSTNAME.$DOMAIN(rw,anonuid=550,anongid=550)
:wq
exportfs -r
exportfs -v
Scenario 2: Two Servers to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 38 ©2010 Blackboard Inc. Proprietary and Confidential
Preparing to Transfer the Source Server Application Create a Blackboard Learn Application Backup
1. Shut down the Blackboard Learn instance.
/usr/local/blackboard/tools/admin/ServiceController.sh services.stop
2. Copy the Blackboard Learn Application instance to the destination Application server. This step deliberately excludes the content information in the /usr/local/blackboard/content directory. Type the following commands where $DST_APP_HOSTNAME is the destination Application server.
rsync -avz blackboard --exclude=blackboard/content $DST_APP_HOSTNAME:/usr/local/bb_backup
Scenario 2: Two Servers to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 39 ©2010 Blackboard Inc. Proprietary and Confidential
Preparing to Transfer the Source Server Database Create a Blackboard Learn Database Backup There are ten (10) tablespaces, ten (10) indexes and eleven (11) users to backup.
1. Create a directory to store the database backup and make sure that the oracle user has write access to the directory.
mkdir /usr/local/sql_backup
chown oracle /usr/local/sql_backup
2. Export the database data for the Blackboard application, where $PASSWORD is the Oracle system user password.
su - oracle
export EXPORT_DIR=/usr/local/sql_backup
$ORACLE_HOME/bin/exp system/$PASSWORD \
file=$EXPORT_DIR/bb_export.dmp \
log=$EXPORT_DIR/bb_export.log \
owner=\(bbadmin, bb_bb60_stats, bb_bb60, \
bb_bb60_report, cms, cms_doc, cms_files_orgs, \
cms_files_inst, cms_files_courses, cms_files_library, \
cms_files_users\) buffer=2048000
Warning: If your export is greater than 2GB in size, then you may need to follow instructions on using a split named pipe as described by Jeff Hunter at Oracle DBA Tips.
3. Backup the tablespace definitions, users and privileges for Blackboard Learn by creating the /usr/local/sql_backup/backup-database.sql script.
set echo off
set feedback off
set heading off
set linesize 200
spool $EXPORT_DIR/recreate_bb_database.sql
-- Generate SQL Script to Recreate the Blackboard Learn Tablespaces
Scenario 2: Two Servers to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 40 ©2010 Blackboard Inc. Proprietary and Confidential
select 'create tablespace ' || dt.tablespace_name ||
' datafile ''' || ddf.file_name ||
''' size 100m autoextend on extent management local segment space management auto; '
from dba_tablespaces dt, dba_data_files ddf
where (dt.tablespace_name = ddf.tablespace_name and dt.tablespace_name like 'BB%')
or (dt.tablespace_name = ddf.tablespace_name and dt.tablespace_name like 'CMS%');
-- Generate SQL Script to Recreate the Blackboard Learn Database Users
select 'create user ' || username ||
' identified by values ''' || password ||
''' default tablespace ' || default_tablespace ||
' temporary tablespace ' || temporary_tablespace ||
' quota unlimited on ' || default_tablespace || ';'
from dba_users
where (username like 'BB%')
or (username like 'CMS%');
-- Generate SQL Script to Grant Role Privileges to the Blackboard Learn Database Users
select 'grant ' || granted_role ||
' to ' || grantee || ';'
from dba_role_privs
where grantee in
(select username
from dba_users
where (username like 'BB%')
or (username like 'CMS%')
);
Scenario 2: Two Servers to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 41 ©2010 Blackboard Inc. Proprietary and Confidential
-- Generate SQL Script to Grant System Privileges to the Blackboard Learn Database Users
select 'grant ' || privilege ||
' to ' || grantee || ';'
from dba_sys_privs
where grantee in
(select username
from dba_users
where (username like 'BB%')
or (username like 'CMS%')
);
-- Closing Statement for Generated SQL Script
select 'quit' from dual;
spool off
quit
4. Execute the /usr/local/sql_backup/backup-database.sql script.
su - oracle
export EXPORT_DIR=/usr/local/sql_backup
$ORACLE_HOME/bin/sqlplus "/ as sysdba" @$EXPORT_DIR/backup-database.sql
5. Copy the Blackboard Learn Content and Database instance to the destination Database server. Type the following commands where $DST_DB_HOSTNAME is the destination Database server.
cd /usr/local
rsync -avz bb_share/content $DST_DB_HOSTNAME:/usr/local/bb_backup
rsync -avz sql_backup $DST_DB_HOSTNAME:/usr/local/bb_backup
Scenario 2: Two Servers to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 42 ©2010 Blackboard Inc. Proprietary and Confidential
Restoring the Blackboard Content and Database to the Destination Database Server
1. Move the Blackboard Learn files to their proper location using these commands.
mv /usr/local/bb_backup/content /usr/local/bb_share
mkdir -p /usr/local/blackboard/oracle/data
chown -R bbuser /usr/local/blackboard
chown -R bbuser /usr/local/bb_share
chown oracle /usr/local/blackboard/oracle/data 2. Restore the database. There are ten (10) tablespaces, ten (10) indexes and
eleven (11) users to restore.
su - oracle
export EXPORT_DIR=/usr/local/bb_backup/sql_backup
sqlplus "/ as sysdba"
alter system set db_create_file_dest='/usr/local/blackboard/oracle/data';
exit
$ORACLE_HOME/bin/sqlplus "/ as sysdba" \ @$EXPORT_DIR/recreate_bb_database.sql
$ORACLE_HOME/bin/imp system/$PASSWORD \
file=$EXPORT_DIR/bb_export.dmp \
log=$EXPORT_DIR/bb_import.log \
full=y buffer=2048000
Note: There are multiple warnings of this type, but the import will complete successfully and the warnings can be safely ignored:
IMP-00041: Warning: object created with compilation warnings
3. Reconfigure the Blackboard Learn configuration parameters within the restored database. $DST_APP_HOSTNAME should be replaced with the unqualified hostname of the destination application server, $DST_DB_HOSTNAME should be replaced with the unqualified hostname of the destination database server, $DB_INSTANCE should be replaced with your database instance name and $DOMAIN should be replaced with your DNS domain name.
su - oracle
sqlplus "/ as sysdba"
Scenario 2: Two Servers to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 43 ©2010 Blackboard Inc. Proprietary and Confidential
update bbadmin.BB_CONFIG_REGISTRY set HOSTNAME = '$DST_APP_HOSTNAME.$DOMAIN';
Exit
Scenario 2: Two Servers to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 44 ©2010 Blackboard Inc. Proprietary and Confidential
Restoring the Blackboard Learn Application to the Destination Application Server
1. Move the Blackboard Learn files to their proper location using these commands.
mv /usr/local/bb_backup/blackboard /usr/local
mkdir /usr/local/blackboard/content
chown -R bbuser /usr/local/blackboard
mount /usr/local/blackboard/content 2. Reconfigure Blackboard Property Files. There are 28 properties across three (3)
files that must be updated or verified.
• $DST_APP_HOSTNAME needs to be replaced with the unqualified hostname of the destination Application server, $DST_DB_HOSTNAME should be replaced with the unqualified hostname of the destination Database server, $DB_INSTANCE needs to be replaced with your database instance name and $DOMAIN needs to be replaced with your DNS domain name.
• File /usr/local/blackboard/apps/xythos/xythos.properties
Property Purpose
Xythos.BaseJDBCConnectionURL=
jdbc:oracle:thin:@$DST_DB_HOSTNAME.$DOMAIN:1521:$DB_INSTANCE
Update server name and SQL Server instance name. Note that this is a single line in the file; it was broken up here for readability.
• File /usr/local/blackboard/config/bb-config.properties
Property Purpose
bbconfig.java.home=/usr/local/jdk1.6.0_18
Update JDK location, if necessary
bbconfig.java.home.win=\\usr\\local\\jdk1.6.0_18
Update JDK location, if necessary. Double back slashes required.
bbconfig.base.shared.dir=/usr/local/blackboard/content
Check the shared content location
bbconfig.base.shared.dir.win=\\usr\\local\\blackboard\\content
Check the shared content location. Double back slashes required.
bbconfig.webserver.fullhostname=$DST_APP_HOSTNAME.$DOMAIN
Set the webserver hostname, fully qualified
Scenario 2: Two Servers to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 45 ©2010 Blackboard Inc. Proprietary and Confidential
Property Purpose
bbconfig.appserver.fullhostname=$DST_APP_HOSTNAME.$DOMAIN
Set the appserver hostname, fully qualified
bbconfig.appserver.machinename=$DST_APP_HOSTNAME
Set the appserver machine name, unqualified
bbconfig.appserver.domainname=$DOMAIN Set the appserver domain name
bbconfig.smtpserver.hostname=$SMTP_HOSTNAME.$DOMAIN
Update the SMTP server, if necessary, fully qualified
bbconfig.collabserver.fullhostname.default=$DST_APP_HOSTNAME.$DOMAIN
Set the collaboration server hostname, fully qualified
bbconfig.database.datadir=/usr/local/blackboard/oracle/data
Check the database data directory
bbconfig.database.datadir.win=\\usr\\local\\blackboard\\oracle\\data
Check the database data directory. Double back slashes required.
bbconfig.database.server.name=$DST_DB_HOSTNAME
Set the database server hostname, unqualified
bbconfig.database.server.fullhostname=$DST_DB_HOSTNAME.$DOMAIN
Set the database server hostname, fully qualified
bbconfig.database.server.instancename=$DB_INSTANCE
Set the database server instance name
bbconfig.database.stats.server.name=$DST_DB_HOSTNAME.$DOMAIN
Set the database stats server hostname, fully qualified
bbconfig.database.logdir.mssql=\\usr\\local\\blackboard\\oracle\\data
Check the database log directory. Double back slashes required.
bbconfig.database.indexdir.oracle=/usr/local/blackboard/oracle/data
Check the database index directory
bbconfig.platform.64bit=true Enable 64bit binaries
bbconfig.platform.libdir=lib64 Enable 64bit libraries
bbconfig.cs.external.data.courses=/usr/local/blackboard/content/storage/courses
Check the courses shared content location
bbconfig.cs.external.data.inst=/usr/local/blackboard/content/storage/institution
Check the institution share content location
bbconfig.cs.external.data.library=/usr/local/blackboard/content/storage/library
Check the library shared content location
bbconfig.cs.external.data.orgs=/usr/local/blackboard/content/storage/orgs
Check the orgs shared content location
bbconfig.cs.external.data.users=/usr/ Check the users shared
Scenario 2: Two Servers to Two Servers
32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 46 ©2010 Blackboard Inc. Proprietary and Confidential
Property Purpose local/blackboard/content/storage/users
content location
bbconfig.cs.external.storage.location=/usr/local/blackboard/content/storage
Check the storage shared content location
• File
Property Purpose
set JAVA_HOME=/usr/local/jdk1.6.0_18 Update JDK location, if necessary
3. Update the Blackboard configuration by running.
/usr/local/blackboard/tools/admin/PushConfigUpdates.sh