340 likes | 539 Views
Pennsylvania Banner Users Group 2008 Fall Conference. Banner 8 implemetation Pitfalls and Bugs. General Announcements:. Please turn off all cell phones/pagers If you must leave the session early, please do so as discreetly as possible Please avoid side conversations during the session
E N D
Pennsylvania Banner Users Group 2008 Fall Conference Banner 8 implemetation Pitfalls and Bugs
General Announcements: • Please turn off all cell phones/pagers • If you must leave the session early, please do so as discreetly as possible • Please avoid side conversations during the session • Questions will be answered ….. Thank you for your cooperation
TEMPLE UNIVERSITY • Anthony Lower: Portal • Charlie Shao: Database and INB Team Member: Allison Levin Brandon Huttie Inna Pomeranets
Project Plan • Project started: Jan. 2008 • Luminis Launched: July 2008 • Finance: July 2009 • Human Resources: Jan 2010 • Student/Fin Aid/Admission: Fall 2011 • Decommission of Mainframe: June 2011
Infrastructure • Database Server: Dell Linux 4.5, 64-bit • PowerEdge 6850 3.4Hz 8 dual core • Database Version: RAC 10.2.0.3
Infrastructure • INB server: Dell Linux 4.5, 32-bit, • OAS 10.1.2.2 • SSB server: Dell Linux 4.5, 32-bit, • OAS 10.1.2.2 • Dell PowerEdge 2950
Configurations: Logically 5 separate database instances: • TSTF = Finance • TSTH = HR • TSTS = Student • TSTR = Financial Aid • TSTA = Advancement • INTE = Integrated of everything Physically, separate RAC clusters (NP,PREPRD,PROD)
Upgrade Pitfalls and Bugs DATABASE
Upgrade Pitfalls and Bugs Oracle Bug 5874989: • Data pump will cause data corruption Workaround • Applying patch 5874989 • Upgrade to Oracle 10.2.0.4 • See Metalink 468259.1 for more details
Upgrade Pitfalls and Bugs Oracle Bug 5875568: • Data pump import will cause ORA-6502 to occur Workaround • Applying patch 5875568 • Upgrade to Oracle 10.2.0.4 • See Metalink 5875568.8 for more details
Upgrade Pitfalls and Bugs Oracle Bug 5523375: • Data pump will not export disabled primary keys. Workaround • Enable all your primary keys on the source database before exporting. • See Metalink 5523375.8 for more details
Upgrade Pitfalls and Bugs Oracle Bug 5472417: EXPDP on RAC will fail if set PARALLEL more than 1 • ORA-39014: One or more workers have prematurely exited • ORA-39029:worker 2 with process name “DW005” prematurely terminated Workaround • Use Export DataPump job with PARALLEL=1 (default) • Run Export DataPump job When only one instance is started in RAC • Apply the one-off patch available ( Patch 5472417 ) Note: • All directires has to be accessable from all the nodes, in other word, all the export directories have to be on shared storage
Upgrade Pitfalls and Bugs Oracle Bug 4886367: • If a database was created with NLS_LENGTH_SEMANTICS=CHAR, then the database export will get an error message. Oracle patching also gets the error. Workaround • Set NLS_LENGTH_SEMANTICS=BYTE before creating a database, and reset it to CHAR after the database is created. • See Metalink 144808.1 for more details
Upgrade Pitfalls and Bugs • Oracle Bug: No number specified • Alter system set NLS_LENGTH_SEMANTICS=CHAR scope=both will not take effect until database reboot, even though the scope says both and the command did not return any error Workaround • Reboot the database after issuing the command
Upgrade Pitfalls and Bugs Create banner database in the following steps: • Create database with • NLS_LENGTH_SEMANTICS=Bytes • NLS_CHARACTERSET=AL32UTF8 • NLS_NCHAR_CHACTERSET=AL16UTF16 • After database created • Alter system set NLS_LENGTH_SEMANTICS=Char • Bounce database • Start your import
Upgrade Pitfalls and Bugs Oracle Bug 3026420: • Oracle export/import utility will preserve the length semantics of the original data Workaround • Precreate all your tables which the right length semantics before importing your data • Avoiding using export/import utility, using expdp/impdp instead
Upgrade Pitfalls and Bugs The following grants got lost during the importing of source data: • grant execute on dbms_pipe to baninst1; • grant execute on dbms_flashback to baninst1; • grant execute on dbms_lock to baninst1; • grant select on dba_policies to saturn; • grant execute on dbms_crysp to bansecr; What grants/how many grants need to be applied depends on your system and modules
Upgrade Pitfalls and Bugs • If you use OMF (Oracle managed datafiles), all tablespaces have to be created in Banner 8 database before any import can occur • Watch out for your NLS_LANG settings • Watch out for your Sql loader character set
Upgrade Pitfalls and Bugs • After database character set change, your application using chr() function will fail • Name of database are limited to 8 bytes • Name of database links limited to 128 bytes • Password can only be single bytes character
Upgrade Pitfalls and Bugs INB Server
Upgrade Pitfalls and Bugs Banner HR Defect :1-41Y5EF • Banner 8 full install not shipping latest paycmpl.sh Workaround • Re-download paycmpl.sh • See 1-41Y5EF for details on Banner help site
Upgrade Pitfalls and Bugs Banner HR Defect :1-2OVB46 • Form shadgmq and shqterm would not compile on OAS 10.1.2.2, because SQQOLIB.fmb link was there, but SOQOLIB.FMB is not Workaround • ln -f soqolib.fmb SOQOLIB.fmb • See 1-2OVHZU for details on Banner help site
Upgrade Pitfalls and Bugs Banner General Defect :1-3K60ZC • Strings not translatable in gjarslt.fmb Banner General Defect :1-3F9L53 • Seveal objects’s strings not translatable in gjarslt.fmb Banner General Defect :1-3CTAL5 • Goatpad.fmb has navigation problem
Upgrade Pitfalls and Bugs Create user through GSASECR will fail at RAC environment
Upgrade Pitfalls and Bugs Iit is all because of this ugly SQL: select distinct(profile), DECODE( (SELECT limit from dba_profiles b where b.profile = a.profile AND resource_name = 'PASSWORD_LIFE_TIME'), 'DEFAULT',(select limit from dba_profiles c where c.profile = 'DEFAULT' AND resource_name = 'PASSWORD_LIFE_TIME'), (select limit from dba_profiles b where b.profile = a.profile AND resource_name = 'PASSWORD_LIFE_TIME')) PASSWORD_LIFE_TIME, DECODE( (SELECT limit from dba_profiles b where b.profile = a.profile AND resource_name = 'PASSWORD_GRACE_TIME'), 'DEFAULT',(select limit from dba_profiles c where c.profile = 'DEFAULT' AND resource_name = 'PASSWORD_GRACE_TIME'), (select limit from dba_profiles b where b.profile = a.profile AND resource_name = 'PASSWORD_GRACE_TIME')) PASSWORD_GRACE_TIME,
Upgrade Pitfalls and Bugs DECODE( (SELECT limit from dba_profiles b where b.profile = a.profile AND resource_name = 'PASSWORD_LOCK_TIME'), 'DEFAULT',(select limit from dba_profiles c where c.profile = 'DEFAULT' AND resource_name = 'PASSWORD_LOCK_TIME'), (select limit from dba_profiles b where b.profile = a.profile AND resource_name = 'PASSWORD_LOCK_TIME')) PASSWORD_LOCK_TIME, DECODE( (SELECT limit from dba_profiles b where b.profile = a.profile AND resource_name = 'PASSWORD_REUSE_MAX'), 'DEFAULT',(select limit from dba_profiles c where c.profile = 'DEFAULT' AND resource_name = 'PASSWORD_REUSE_MAX'), (select limit from dba_profiles b where b.profile = a.profile AND resource_name = 'PASSWORD_REUSE_MAX')) PASSWORD_REUSE_MAX, DECODE( (SELECT limit from dba_profiles b where b.profile = a.profile AND resource_name = 'PASSWORD_REUSE_TIME'), 'DEFAULT',(select limit from dba_profiles c where c.profile = 'DEFAULT' AND resource_name = 'PASSWORD_REUSE_TIME'), (select limit from dba_profiles b where b.profile = a.profile AND resource_name = 'PASSWORD_REUSE_TIME')) PASSWORD_REUSE_TIME,
Upgrade Pitfalls and Bugs DECODE( (SELECT limit from dba_profiles b where b.profile = a.profile AND resource_name = 'FAILED_LOGIN_ATTEMPTS'), 'DEFAULT',(select limit from dba_profiles c where c.profile = 'DEFAULT' AND resource_name = 'FAILED_LOGIN_ATTEMPTS'), (select limit from dba_profiles b where b.profile = a.profile AND resource_name = 'FAILED_LOGIN_ATTEMPTS')) FAILED_LOGIN_ATTEMPTS, (SELECT value FROM gv$parameter WHERE name = 'resource_limit') TIME_LIMITS_ACTIVE, DECODE( (SELECT limit from dba_profiles b where b.profile = a.profile AND resource_name = 'CONNECT_TIME'), 'DEFAULT',(select limit from dba_profiles c where c.profile = 'DEFAULT' AND resource_name = 'CONNECT_TIME'), (select limit from dba_profiles b where b.profile = a.profile AND resource_name = 'CONNECT_TIME')) CONNECT_TIME, DECODE( (SELECT limit from dba_profiles b where b.profile = a.profile AND resource_name = 'IDLE_TIME'), 'DEFAULT', (select limit from dba_profiles c where c.profile = 'DEFAULT' AND resource_name = 'IDLE_TIME'), (select limit from dba_profiles b where b.profile = a.profile AND resource_name = 'IDLE_TIME')) IDLE_TIME FROM dba_profiles a order by profile
Upgrade Pitfalls and Bugs Workaround • SQL>create synonym gv$parameter for v$parameter; • We are still working working Sungard to get this issue resolved
Upgrade Pitfalls and Bugs Appworx
Upgrade Pitfalls and Bugs • Appworx has an issue with setting NLS_LENGTH_SEMANTICS=CHAR • Workaround • Keep database at BYTE, but you might have problems to get multi bytes data across db link • Insert into aw_master_stmts values (‘alter session set nls_length_semantics=‘’byte’’’,4);
Upgrade Pitfalls and Bugs SQL Developer
Upgrade Pitfalls and Bugs • Appworx has an issue with setting NLS_LENGTH_SEMANTICS=CHAR • Workaround • Keep database at BYTE, but you might have problems to get multi bytes data across db link • Insert into aw_master_stmts values (‘alter session set nls_length_semantics=‘’byte’’’,4);
Upgrade Pitfalls and Bugs • Sql Developer 1.5.0.51 has an issue with setting NLS_LENGTH_SEMANTICS=CHAR • Workaround • Get the lastest Sql Developer
THANKS for your attention • Questions • Comments