Stephen D. Mund, OCP Database Administrator Nevada System of Higher Education System Computing Services OFFLOADING INPUT/OUTPUT ON BLACKBOARD CAMPUS EDITION USING ORACLE STANDBY DATABASE TECHNOLOGY Introduction Blackboard CE’s Section Backup. Introduction Blackboard CE’s Section Backup. Using Oracle for backup of small datasets. Introduction Blackboard CE’s Section Backup. Using Oracle for backup of small datasets. Offloading I/O from backups. Case Study Great Basin College – Uses Blackboard CE as a primary tool in their Distance Learning program serving students in over 62,000 sq. mi. of rural Nevada. Case Study Great Basin College – Uses Blackboard CE as a primary tool in their Distance Learning program serving students in over 62,000 sq. mi. of rural Nevada. Over 1200 courses are offered through the Blackboard CE solution. Case Study Great Basin College – Uses Blackboard CE as a primary tool in their Distance Learning program serving students in over 62,000 sq. mi. of rural Nevada. Over 1200 courses are offered through the Blackboard CE solution. Section backup was performing nominally, issue was with the amount of coursework needed to be backed up. Case Study (continued) Server degradation in performance towards the end of each semester. Case Study (continued) Server degradation in performance towards the end of each semester. Massive slowdown causing users to log off and log on later. Case Study (continued) Server degradation in performance towards the end of each semester. Massive slowdown causing users to log off and log on later. Hangs during both reading and writing. Case Study (continued) Server degradation in performance towards the end of each semester. Massive slowdown causing users to log off and log on later. Hangs during both reading and writing. Caused by extensive I/O on the application server due to constant use of section backup. Case Study (continued) Server degradation in performance towards the end of each semester. Massive slowdown causing users to log off and log on later. Hangs during both reading and writing. Caused by extensive I/O on the application server due to constant use of section backup. Section Backup required use of the application. Options Considered Don’t use the section backup utility and use another database to perform Point-in-Time Recovery. Then use Section Backup to recovery the file. Options Considered Don’t use the section backup utility and use another database to perform Point-in-Time Recovery. Then use Section Backup to recovery the file. PROS: Does not require ongoing use of storage. Relieves the I/O issue. Options Considered Don’t use the section backup utility and use another database to perform Point-in-Time Recovery. Then use Section Backup to recovery the file. PROS: Does not require ongoing use of storage. Relieves the I/O issue. CONS: Cumbersome requires time consuming restoration to another server. More involved, difficult to script. Options Considered Optimize Disk Performance. System currently uses RAID 5 could reconfigure to better RAID configuration like 1+0 or even RAID 1. Options Considered Optimize Disk Performance. System currently uses RAID 5 could reconfigure to better RAID configuration like 1+0 or even RAID 1. PROS: I/O performance is increased at the storage level. Options Considered Optimize Disk Performance. System currently uses RAID 5 could reconfigure to better RAID configuration like 1+0 or even RAID 1. PROS: I/O performance is increased at the storage level. CONS: It is doubtful that the performance increase would be substantial enough. Requires application downtime to configure and is labor intensive. Options Considered Standby database with Flashback technology and roll forward. Options Considered Standby database with Flashback technology and roll forward. PROS: Off loads most of the I/O leaving only a minor amount required for resynchronization. Options Considered Standby database with Flashback technology and roll forward. PROS: Off loads most of the I/O leaving only a minor amount required for resynchronization. CONS: Requires extensive ongoing disk space for flashback logs, archive logs and database files. Options Considered Delayed Standby database with Flashback technology Options Considered Delayed Standby database with Flashback technology PROS: Has the advantages of previous option but uses about half the space. Options Considered Delayed Standby database with Flashback technology. PROS: Has the advantages of previous option but uses about half the space. CONS: More involved setup. Requires special configurations to use extra long delay. Space requirement is more than first two options and recoveries are more involved than third option. Our Solution Best solutions. Our Solution Best solutions. Technical points option 3. Our Solution Best solutions. Technical points option 3. Our specific situation option 4. Our Solution Best solutions Technical points option 3. Our specific situation option 4. Option 3 is the easiest to implement and simplest to maintain. Our Solution Best solutions Technical points option 3. Our specific situation option 4. Option 3 is the easiest to implement and simplest to maintain. Option 4 was the best solution for us. Because it uses least disk space. Implementation Set up a Standby database. Implementation Set up a Standby database. This is well documented in Oracle® Data Guard Concepts and Administration 10g Release 2 (10.2) Part Number B14239-05 ,Chapter 3, Chapter 12.7, Chapter 12.8 Appendix F. Implementation Remote Archivelog Destination. Implementation Remote Archivelog Destination. Parameters ARCH. Implementation Remote Archivelog Destination. Parameters ARCH. DELAY=20160. Implementation Remote Archivelog Destination. Parameters ARCH. DELAY=20160. MAXIMUM PERFORMANCE. Implementation Standby Redo Logs. Implementation Standby Redo Logs. Not needed in this application. Implementation Standby Redo Logs. Not needed in this application. Flashback Database. Implementation Standby Redo Logs. Not needed in this application. Flashback Database. Only on the Standby Database. Implementation Special Configurations. Implementation Special Configurations. Control file retention period greater than the amount of the delay (control_file_record_keep_time). Implementation Special Configurations. Control file retention period greater than the amount of the delay (control_file_record_keep_time). Archive logs will need to be maintained on both the primary and the standby for at least the delay time. Implementation Errors. Implementation Errors. If you .see something akin to this in the alert log: FAL[client]: Failed to request gap sequence GAP - thread 1 sequence 34810-34909 DBID 3683442141 branch 624546717 FAL[client]: All defined FAL servers have been attempted. Implementation Errors. Implementation Errors. Probably indicates that you are not keeping enough archive logs on the primary rather than keep time for the control file. Implementation Errors. Probably indicates that you are not keeping enough archive logs on the primary rather that keep time for the control file. You will need to manually ship the archived logs on the standby to the primary. Implementation Best Practice. Implementation Best Practice. Place the standby database in it’s own home. During upgrades and patching you will need to patch the standby along with the primary. Implementation Best Practice. Place the standby database in it’s own home. During upgrades and patching you will need to patch the standby along with the primary. If you use a development or test home then you won’t be able to test the patch without upgrading everything. Using the Recovery System Recovery Overview. Using the Recovery System Recovery Overview. 1. Ascertain the last “known good” time. This would be provided by the end user. The time which the restore was known to be good. Using the Recovery System Recovery Overview. 2. Take the delayed standby out of the managed recovery mode. First you want to know the log that will be next applied to the standby. Use this query: SELECT NAME FROM V$ARCHIVED_LOG WHERE APPLIED = ‘NO’ AND SEQUENCE# = (SELECT SEQUENCE# FROM V$MANAGED_STANDBY WHERE PROCESS LIKE ‘MRP%’); Cancel the recovery on the standby and defer the log shipping on the primary. Make a Guaranteed Recovery Point so you can resynchronize the system. Using the Recovery System Recovery Overview. 3. Recover the standby to the correct point in time. RECOVER STANDBY DATABASE UNTIL TIME ‘ YYYY-MM-DD:HH24:MI:SS’; Using the Recovery System Recovery Overview. Recover the standby to the correct point in time. RECOVER STANDBY DATABASE UNTIL TIME ‘ YYYY-MM-DD:HH24:MI:SS’; 4. Activate and open the standby database ALTER DATABASE ACTIVATE STANDBY DATABASE; ALTER DATABASE OPEN; 3. Using the Recovery System Recovery Overview. 5. Point the application (development) to standby database. The ORACLE_SID of the development database needs to be change to the DB_UNIQUE_NAME of the standby database in the following files: CP-WebCTConnectionPool$PF-jdbc.xml CP-WebCTConnectionPool-jdbc.xml CP-WebCTJMSConnectionPool-jdbc.xml Then restart the applications server. Using the Recovery System Recovery Overview. 6. Run the section backup in order to extract the course backup. Using the Recovery System Recovery Overview. 6. 7. Run the section backup in order to extract the course backup. Restore the section backup on the production system. Using the Recovery System Resynchronization Overview. Using the Recovery System Resynchronization Overview. 1. Point the application (standby) to original database Change the following files back to the original sid: CP-WebCTConnectionPool$PF-jdbc.xml CP-WebCTConnectionPool-jdbc.xml CP-WebCTJMSConnectionPool-jdbc.xml. Using the Recovery System Resynchronization Overview. 1. 2. Point the application (standby) to original database Change the following files back to the original sid: CP-WebCTConnectionPool$PF-jdbc.xml CP-WebCTConnectionPool-jdbc.xml CP-WebCTJMSConnectionPool-jdbc.xml. Remount the database and flashback to original delay STARTUP FORCE MOUNT; FLASHBACK DATABASE TO RESTORE POINT <your restore point>; ALTER DATABASE CONVERT TO PHYSICAL STANDBY; STARTUP FORCE MOUNT; Drop the restore point to avoid having too many flashback logs. Using the Recovery System Resynchronization Overview. 3. Manually register the next archivelog to pick up the delay information ALTER DATABASE REGISTER OR REPLACE LOGFILE ‘<full path to archived log from step 2 of recovery overview>’; Using the Recovery System Resynchronization Overview. Manually register the next archivelog to pick up the delay information. ALTER DATABASE REGISTER OR REPLACE LOGFILE ‘<full path to archived log from step 2 of recovery overview>’; 4. Enable log shipping on the primary and restart the managed recovery. 3. Using the Recovery System Resynchronization Overview. Manually register the next archivelog to pick up the delay information. ALTER DATABASE REGISTER OR REPLACE LOGFILE ‘<full path to archived log from step 2 of recovery overview>’; 4. Enable log shipping on the primary and restart the managed recovery. 5. Verify with log switch on the primary. 3. Using the Recovery System Resynchronization Overview. 6. Check the standby alert log for appropriate response. You should see logs shipping virtually immediately and eventually you should see “Media Recovery Log” which means a log has applied. Final Results Final Results Most notably was that GBC received NO complaints concerning access during the end of semesters. Final Results Most notably was that GBC received NO complaints concerning access during the end of semesters. The change was so marked that it was commented on several times by the Web Campus administration team. Final Results Lisa Frasier, Director of Online Education and Curriculum Development at Great Basin stated: “Logon was really not the problem but the extreme lag time and problems with assignment errors, due to resource competition. Assignment errors has stopped almost completely. We haven’t had a help desk call complaining about slow server speed since the upgrade was completed.” Final Results Additional benefits are that GBC was able to extend testing of the latest major upgrade because of the reduction of performance problems made upgrading less crucial. Allowing added time for training of faculty and pilots for students. Stephen D. Mund, OCP Database Administrator Nevada System of Higher Education System Computing Services QUESTIONS? Stephen_Mund@nshe.nevada.edu Stephen D. Mund, OCP Database Administrator Nevada System of Higher Education System Computing Services OFFLOADING INPUT/OUTPUT ON BLACKBOARD CAMPUS EDITION USING ORACLE STANDBY DATABASE TECHNOLOGY