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

32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

[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

Page 2: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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.

Page 3: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 4: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 5: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 6: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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.

Page 7: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 8: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 9: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 10: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 11: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 12: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 13: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 14: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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"

Page 15: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 16: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 17: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 18: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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.

Page 19: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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.

Page 20: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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.

Page 21: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 22: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 23: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 24: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 25: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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.

Page 26: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 27: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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"

Page 28: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 29: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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,

Page 30: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 31: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 32: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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.

Page 33: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 34: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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.

Page 35: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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.

Page 36: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 37: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 38: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 39: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 40: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

);

Page 41: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 42: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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"

Page 43: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 44: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 45: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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

Page 46: 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 … · 2012. 3. 30. · 32-bit to 64-bit Cross Platform Migration for Blackboard Learn 9.1 on Windows Page 10 ©2010

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