You are on page 1of 46

Release 9.

1
32-bit to 64-bit Cross Platform Migration
for Linux

[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.]
Copyright

Publication Date: July 21, 2010

Worldwide Headquarters International Headquarters

Blackboard Inc. Blackboard International B.V.

650 Massachusetts Avenue NW Dam 27 2nd Floor


Sixth Floor 1012 JS Amsterdam
Washington, DC 20001-3796 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.

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 2
©2010 Blackboard Inc. Proprietary and Confidential
Contents

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

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 3
©2010 Blackboard Inc. Proprietary and Confidential
Contents

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 for Blackboard Learn 9.1 on Windows Page 4
©2010 Blackboard Inc. Proprietary and Confidential
32-bit to 64-bit Cross Platform Migration

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

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 5
©2010 Blackboard Inc. Proprietary and Confidential
Scenario1: One Server to One Server

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.

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 6
©2010 Blackboard Inc. Proprietary and Confidential
Scenario1: One Server to One Server

• 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).

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 7
©2010 Blackboard Inc. Proprietary and Confidential
Scenario1: One Server to One Server

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

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 8
©2010 Blackboard Inc. Proprietary and Confidential
Scenario1: One Server to One Server

Create the Blackboard Application User


Type the following:
groupadd -g 550 bbuser

useradd -c "Blackboard Application User" -u 550 -g 550 bbuser

passwd bbuser

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 9
©2010 Blackboard Inc. Proprietary and Confidential
Scenario1: One Server to One Server

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

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10
©2010 Blackboard Inc. Proprietary and Confidential
Scenario1: One Server to One Server

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

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 11
©2010 Blackboard Inc. Proprietary and Confidential
Scenario1: One Server to One Server

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

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 12
©2010 Blackboard Inc. Proprietary and Confidential
Scenario1: One Server to One Server

rsync -avz --exclude=blackboard/oracle blackboard


$DST_HOSTNAME:/usr/local/bb_backup
rsync -avz sql_backup $DST_HOSTNAME:/usr/local/bb_backup

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 13
©2010 Blackboard Inc. Proprietary and Confidential
Scenario1: One Server to One Server

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"

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 14
©2010 Blackboard Inc. Proprietary and Confidential
Scenario1: One Server to One Server

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

Update server name and SQL


Xythos.BaseJDBCConnectionURL=
Server instance name. Note
jdbc:oracle:thin:@$DST_HOSTNAME.$DOMAIN that this is a single line in the
:1521:$DB_INSTANCE 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. Update JDK location, if


0_18 necessary
bbconfig.java.home.win=\\usr\\local\\ Update JDK location, if
jdk1.6.0_18 necessary. Double back
slashes required.
bbconfig.base.shared.dir=/usr/local/b Check the shared content
lackboard/content location
bbconfig.base.shared.dir.win=\\usr\\l Check the shared content
ocal\\blackboard\\content location. Double back slashes
required.
bbconfig.webserver.fullhostname=$DST_ Set the webserver hostname,
HOSTNAME.$DOMAIN fully qualified
bbconfig.appserver.fullhostname=$DST_ Set the appserver hostname,
HOSTNAME.$DOMAIN fully qualified
bbconfig.appserver.machinename=$DST_H Set the appserver machine
OSTNAME name, unqualified
bbconfig.appserver.domainname=$DOMAIN Set the appserver domain
name
bbconfig.smtpserver.hostname=$SMTP_HO Update the SMTP server, if
STNAME.$DOMAIN necessary, fully qualified
bbconfig.collabserver.fullhostname.de Set the collaboration server

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 15
©2010 Blackboard Inc. Proprietary and Confidential
Scenario1: One Server to One Server

Property Purpose
fault=$DST_HOSTNAME.$DOMAIN hostname, fully qualified
bbconfig.database.datadir=/usr/local/ Check the database data
blackboard/oracle/data directory
bbconfig.database.datadir.win=\\usr\\ Check the database data
local\\blackboard\\oracle\\data directory. Double back slashes
required.
bbconfig.database.server.name=$DST_HO Set the database server
STNAME hostname, unqualified
bbconfig.database.server.fullhostname Set the database server
=$DST_HOSTNAME.$DOMAIN hostname, fully qualified
bbconfig.database.server.instancename Set the database server
=$DB_INSTANCE instance name
bbconfig.database.stats.server.name=$ Set the database stats server
DST_HOSTNAME.$DOMAIN hostname, fully qualified
bbconfig.database.logdir.mssql=\\usr\ Check the database log
\local\\blackboard\\oracle\\data directory. Double back slashes
required.
bbconfig.database.indexdir.oracle=/us Check the database index
r/local/blackboard/oracle/data directory
bbconfig.platform.64bit=true Enable 64bit binaries
bbconfig.platform.libdir=lib64 Enable 64bit libraries
bbconfig.cs.external.data.courses=/us Check the courses shared
r/local/blackboard/content/storage/co content location
urses
bbconfig.cs.external.data.inst=/usr/l Check the institution share
ocal/blackboard/content/storage/insti content location
tution
bbconfig.cs.external.data.library=/us Check the library shared
r/local/blackboard/content/storage/li content location
brary
bbconfig.cs.external.data.orgs=/usr/l Check the orgs shared content
ocal/blackboard/content/storage/orgs location
bbconfig.cs.external.data.users=/usr/ Check the users shared
local/blackboard/content/storage/user content location
s
bbconfig.cs.external.storage.location Check the storage shared
=/usr/local/blackboard/content/storag content location
e

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 16
©2010 Blackboard Inc. Proprietary and Confidential
Scenario1: One Server to One Server

• 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 for Blackboard Learn 9.1 on Windows Page 17
©2010 Blackboard Inc. Proprietary and Confidential
32-bit to 64-bit Cross Platform Migration

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.

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

• 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.

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 19
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: One Server to Two Servers

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.

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 20
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: One Server to Two Servers

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

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 21
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: One Server to Two Servers

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

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 22
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: One Server to Two Servers

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

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 23
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: One Server to Two Servers

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

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 24
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: One Server to Two Servers

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.

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 25
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: One Server to Two Servers

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

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 26
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: One Server to Two Servers

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"

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 27
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: One Server to Two Servers

update bbadmin.BB_CONFIG_REGISTRY set HOSTNAME =


'$DST_APP_HOSTNAME.$DOMAIN';

Exit

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 28
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: One Server to Two Servers

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

Update server name and SQL


Xythos.BaseJDBCConnectionURL=
Server instance name. Note
jdbc:oracle:thin:@$DST_DB_HOSTNAME.$DOM that this is a single line in the
AIN:1521:$DB_INSTANCE 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. Update JDK location, if


0_18 necessary
bbconfig.java.home.win=\\usr\\local\\ Update JDK location, if
jdk1.6.0_18 necessary. Double back
slashes required.
bbconfig.base.shared.dir=/usr/local/b Check the shared content
lackboard/content location
bbconfig.base.shared.dir.win=\\usr\\l Check the shared content
ocal\\blackboard\\content location. Double back slashes
required.
bbconfig.webserver.fullhostname=$DST_ Set the webserver hostname,

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 29
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: One Server to Two Servers

Property Purpose
APP_HOSTNAME.$DOMAIN fully qualified
bbconfig.appserver.fullhostname=$DST_ Set the appserver hostname,
APP_HOSTNAME.$DOMAIN fully qualified
bbconfig.appserver.machinename=$DST_A Set the appserver machine
PP_HOSTNAME name, unqualified
bbconfig.appserver.domainname=$DOMAIN Set the appserver domain
name
bbconfig.smtpserver.hostname=$SMTP_HO Update the SMTP server, if
STNAME.$DOMAIN necessary, fully qualified
bbconfig.collabserver.fullhostname.de Set the collaboration server
fault=$DST_APP_HOSTNAME.$DOMAIN hostname, fully qualified
bbconfig.database.datadir=/usr/local/ Check the database data
blackboard/oracle/data directory
bbconfig.database.datadir.win=\\usr\\ Check the database data
local\\blackboard\\oracle\\data directory. Double back slashes
required.
bbconfig.database.server.name=$DST_DB Set the database server
_HOSTNAME hostname, unqualified
bbconfig.database.server.fullhostname Set the database server
=$DST_DB_HOSTNAME.$DOMAIN hostname, fully qualified
bbconfig.database.server.instancename Set the database server
=$DB_INSTANCE instance name
bbconfig.database.stats.server.name=$ Set the database stats server
DST_DB_HOSTNAME.$DOMAIN hostname, fully qualified
bbconfig.database.logdir.mssql=\\usr\ Check the database log
\local\\blackboard\\oracle\\data directory. Double back slashes
required.
bbconfig.database.indexdir.oracle=/us Check the database index
r/local/blackboard/oracle/data directory
bbconfig.platform.64bit=true Enable 64bit binaries
bbconfig.platform.libdir=lib64 Enable 64bit libraries
bbconfig.cs.external.data.courses=/us Check the courses shared
r/local/blackboard/content/storage/co content location
urses
bbconfig.cs.external.data.inst=/usr/l Check the institution share
ocal/blackboard/content/storage/insti content location
tution
bbconfig.cs.external.data.library=/us Check the library shared
r/local/blackboard/content/storage/li content location
brary
bbconfig.cs.external.data.orgs=/usr/l Check the orgs shared content
ocal/blackboard/content/storage/orgs location

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 30
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: One Server to Two Servers

Property Purpose

bbconfig.cs.external.data.users=/usr/ Check the users shared


local/blackboard/content/storage/user content location
s
bbconfig.cs.external.storage.location Check the storage shared
=/usr/local/blackboard/content/storag content location
e

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 for Blackboard Learn 9.1 on Windows Page 31
©2010 Blackboard Inc. Proprietary and Confidential
32-bit to 64-bit Cross Platform Migration

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.

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 32
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: Two Servers to Two Servers

• 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).

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 33
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: Two Servers to Two Servers

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.

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 34
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: Two Servers to Two Servers

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.

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 35
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: Two Servers to Two Servers

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

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 36
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: Two Servers to Two Servers

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

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 37
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: Two Servers to Two Servers

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

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 38
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: Two Servers to Two Servers

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

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 39
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: Two Servers to Two Servers

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%')

);

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 40
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: Two Servers to Two Servers

-- 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

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 41
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: Two Servers to Two Servers

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"

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 42
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: Two Servers to Two Servers

update bbadmin.BB_CONFIG_REGISTRY set HOSTNAME =


'$DST_APP_HOSTNAME.$DOMAIN';

Exit

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 43
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: Two Servers to Two Servers

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

Update server name and SQL


Xythos.BaseJDBCConnectionURL=
Server instance name. Note
jdbc:oracle:thin:@$DST_DB_HOSTNAME.$DOM that this is a single line in the
AIN:1521:$DB_INSTANCE 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. Update JDK location, if


0_18 necessary
bbconfig.java.home.win=\\usr\\local\\ Update JDK location, if
jdk1.6.0_18 necessary. Double back
slashes required.
bbconfig.base.shared.dir=/usr/local/b Check the shared content
lackboard/content location
bbconfig.base.shared.dir.win=\\usr\\l Check the shared content
ocal\\blackboard\\content location. Double back slashes
required.
bbconfig.webserver.fullhostname=$DST_ Set the webserver hostname,
APP_HOSTNAME.$DOMAIN fully qualified

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 44
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: Two Servers to Two Servers

Property Purpose

bbconfig.appserver.fullhostname=$DST_ Set the appserver hostname,


APP_HOSTNAME.$DOMAIN fully qualified
bbconfig.appserver.machinename=$DST_A Set the appserver machine
PP_HOSTNAME name, unqualified
bbconfig.appserver.domainname=$DOMAIN Set the appserver domain
name
bbconfig.smtpserver.hostname=$SMTP_HO Update the SMTP server, if
STNAME.$DOMAIN necessary, fully qualified
bbconfig.collabserver.fullhostname.de Set the collaboration server
fault=$DST_APP_HOSTNAME.$DOMAIN hostname, fully qualified
bbconfig.database.datadir=/usr/local/ Check the database data
blackboard/oracle/data directory
bbconfig.database.datadir.win=\\usr\\ Check the database data
local\\blackboard\\oracle\\data directory. Double back slashes
required.
bbconfig.database.server.name=$DST_DB Set the database server
_HOSTNAME hostname, unqualified
bbconfig.database.server.fullhostname Set the database server
=$DST_DB_HOSTNAME.$DOMAIN hostname, fully qualified
bbconfig.database.server.instancename Set the database server
=$DB_INSTANCE instance name
bbconfig.database.stats.server.name=$ Set the database stats server
DST_DB_HOSTNAME.$DOMAIN hostname, fully qualified
bbconfig.database.logdir.mssql=\\usr\ Check the database log
\local\\blackboard\\oracle\\data directory. Double back slashes
required.
bbconfig.database.indexdir.oracle=/us Check the database index
r/local/blackboard/oracle/data directory
bbconfig.platform.64bit=true Enable 64bit binaries
bbconfig.platform.libdir=lib64 Enable 64bit libraries
bbconfig.cs.external.data.courses=/us Check the courses shared
r/local/blackboard/content/storage/co content location
urses
bbconfig.cs.external.data.inst=/usr/l Check the institution share
ocal/blackboard/content/storage/insti content location
tution
bbconfig.cs.external.data.library=/us Check the library shared
r/local/blackboard/content/storage/li content location
brary
bbconfig.cs.external.data.orgs=/usr/l Check the orgs shared content
ocal/blackboard/content/storage/orgs location
bbconfig.cs.external.data.users=/usr/ Check the users shared

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 45
©2010 Blackboard Inc. Proprietary and Confidential
Scenario 2: Two Servers to Two Servers

Property Purpose
local/blackboard/content/storage/user content location
s
bbconfig.cs.external.storage.location Check the storage shared
=/usr/local/blackboard/content/storag content location
e

• 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

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 46
©2010 Blackboard Inc. Proprietary and Confidential

You might also like