Friday, June 17, 2016

PeopleSoft Application Upgrade Techical Overview

PeopleSoft Application Upgrade Technical Architecture Diagram:


                                                              
Technical Summary of the steps involved: 

·        Prepare the Database: We shall ensure the functional and Technical integrity of database, with the help of respective Audit Reports delivered in the certified path. 

·        Apply People Tools Changes: This activity involves the execution of Rel (New Release) scripts so as to perform tools upgrade to 8.54, Analyze the customization if any in the People Tools objects. 

 ·        Run and Review Compare Reports: Generate the Compare report to analyze the customization in the retired object definitions or modified objects definitions and map the requirements feasibility to newly added objects, also Identify the bolt on Objects so as to retain them as is in New Release. 

·        Apply Application Changes: Copy the set of 9.0 Object definitions to Target i.e. Copy of production database. Apply the Upgrade Bundles for Data conversion and Perform Data Conversion for the certified path. 

·        Finalizing the Database Structure: Execute the Scripts to Load Application Data, Run the Final Audit Reports to Ensure Integrity in the Upgraded instance. 

·       Complete Database Changes: Configure the Application server and Web server for the Upgraded instance and setup the PIA. Setup and Synchronize the Security. 

·     Testing the Upgraded Instance: In order to ensure a quality implementation, testing needs to be performed to validate the new system. During this stage conversion, functional, integration, user acceptance, volume/performance and parallel testing will be performed. Parallel testing is optional and will be determined as part of the engagement.

Test Type
Description
Resources
Unit Testing
Unit Testing is the testing of a specific customization, interface, report or configuration within a specific module. 
Typically conducted by developers and those who have configured apiece of functionality. Team leads.
System Testing
System testing is end to end testing. It involves the entire process of a piece of functionality as it moves throughout a module. Also involves testing a specific business process end to end as designed including those outside of the software.
Typically conducted by project team leads.
Integration Testing
Integration testing is the testing of data and processes from end to end across all business areas. Integration testing ensures that the individual modules have been configured appropriately to work together and data flows and resources down the process flow understand how to execute.
Typically conducted by project team leads.
Performance Testing
Performance testing is technical infrastructure testing designed to ensure that positive response times will be achieved while simulating the anticipated stresses and strains on the production system.
Typically conducted by the technical project team.
User Testing
User testing is the end users testing the system which the project team has designed. It is a combination of unit testing, system testing and integration testing.
Typically conducted by the end users of the system.
 

Wednesday, June 1, 2016

Temp Tablespace Utilization Monitoring

Monitor temp usage

-------------------------------

   
Globally
========
select a.tablespace_name,
to_char(a.used/1024/1024, 'FM999,990.00')  MB_USED,
to_char(a.total/1024/1024, 'FM999,990.00') MB_TOTAL,
to_char(used*100/total, 'FM990.00')||'%' perc_used from (
  select tablespace_name, block_size
  , (select SUM (v$sort_usage.blocks * block_size) from v$sort_usage
     where v$sort_usage.TABLESPACE = dba_tablespaces.tablespace_name) USED
  , (select sum(bytes) from dba_temp_files where tablespace_name = dba_tablespaces.tablespace_name) TOTAL
  from dba_tablespaces
  where contents = 'TEMPORARY'
) a

************************************************************************************************************

For each session
==============
SELECT (SELECT   nvl(SUM (v$sort_usage.blocks * dba_tablespaces.block_size
                     ), 0)
               / 1024
               / 1024
          FROM v$sort_usage, dba_tablespaces
         WHERE dba_tablespaces.tablespace_name = v$sort_usage.TABLESPACE
           AND v$sort_usage.session_addr = s.saddr) sort_space_mb,
       s.*
  FROM v$session s

****************************************************************************************************************


Total Temp Usage
==============
select (total_blocks*8192)/1024/1024/1000 "Avail (Gb)",(used_blocks*8192)/1024/1024/1000 "Used (Gb)",
(free_blocks*8192)/1024/1024/1000 "Free (Gb)" from v$sort_segment



TEMP usage session level
====================
Temp usage - session level
column username format a15
column tablespace format a10
col sid format 9999
col machine format a12
col last_call_et/3600 format 999.99
col osuser format a15
set pages 1000
set lines 170
select /*+ RULE */ v.sid,v.serial#,v.username,v.osuser,v.machine, v.status,v.last_call_et/3600,tablespace,blocks*8192/1024/1024/1000 "size (GB)"
from v$session v,v$sort_usage s
where v.saddr=s.session_addr and (blocks*8192/1024/1024/1000) > 0.5
order by 9 desc


To See Sort being carried out
=====================
select sid, s.username, tablespace, blocks*8192/1024/1024 from v$session s,v$sort_usage ss where s.saddr=ss.session_addr;





By Prasanth Bhaskaran ( Oracle PeopleSoft Upgrade & DBA Specialist )

SES Installation Failed with "[INS-10008] Session Initializaion failed "

Solution :

This is due to source binaries corruption issue.  Download the binaries again and extract using 7zip utility.


Or


If installing Oracle Secure Enterprise Search 11.2.2.2.0 Installation Issues on RHEL 6.4. Install the below RPM before initiating the SES installation.


Refer: Oracle Secure Enterprise Search 11.2.2.2 Installation Problem On RHEL 6 - [INS-75028] Environment Does Not Meet Minimum Requirements: Unsupported OS Distribution (Doc ID 1568473.1)

To Generate Details database reports HTML Format

To Generate Details database reports(HTML SCRIPT)



set lines 300 pages 50000 trims on feed off termout off

alter session set nls_date_format='DD-MON-YYYY HH24:MI:SS';


col rep_name new_value rep_name

select 'dbreport_' || instance_name || '_' || to_char(sysdate,'DDMONYYYY_HH24MI') || '.html' rep_name from v$instance;


set termout on

prompt

prompt This script will generate &rep_name File.

prompt

prompt Please wait...

set termout off


spool &rep_name


prompt <style type='text/css'>

prompt body {font:10pt Arial,Helvetica,sans-serif; color:#663300; background:#ffffff; margin-top:0pt; margin-bottom:0pt; vertical-align:top;}

prompt p {font:14pt Arial,Helvetica,sans-serif; color:#663300; background:#ffffff; margin-top:0pt; margin-bottom:0pt; vertical-align:top;}

prompt table,tr,td {font:10pt Arial,Helvetica,sans-serif; color:Black; background:#f7f7e7; padding:0px 0px 0px 0px; margin:0px 0px 0px 0px;}

prompt th {font:bold 10pt Arial,Helvetica,sans-serif; color:#336699; background:#cccc99; padding:0px 0px 0px 0px;}

prompt h1 {font:18pt Arial,Helvetica,Geneva,sans-serif; color:#336699; background-color:White; border-bottom:1px solid #cccc99;

prompt                 margin-top:0pt; margin-bottom:0pt; padding:0px 0px 0px 0px;}

prompt h2 {font:bold 10pt Arial,Helvetica,Geneva,sans-serif; color:#336699; background-color:White; margin-top:4pt; margin-bottom:0pt;}

prompt a {font:9pt Arial,Helvetica,sans-serif; color:#663300; background:#ffffff; margin-top:0pt; margin-bottom:0pt; vertical-align:top;}

prompt </style><title>SQL*Plus Report</title>

prompt <BR><BR><H1><center>Database Information Report</center></H1>

prompt <HR>



set head off pages 0;

select 'Report Generated on : ' || to_char(sysdate,'DD-MON-YYYY HH24:MI:SS') from dual;

select '<p>' from dual;

set head on pages 50000;


set markup HTML on HEAD "<title>SQL*Plus Report</title>" BODY "BGCOLOR=RED" TABLE "border='1' align='center'" SPOOL OFF ENTMAP ON PREFORMAT OFF





Prompt

prompt Server Details

Prompt

select HOST_NAME "Host Name",(select value from v$osstat where STAT_NAME like 'NUM_CPU_CORES') "Cores Sockets",

(select value from v$osstat where STAT_NAME like 'NUM_CPUS') "CPUs",

(select value/1024/1024/1024 from v$osstat where STAT_NAME like 'PHYSICAL_MEMORY_BYTES') "Memory(GB)" from v$instance;



Prompt

Prompt Database Details

Prompt

select name db_name, log_mode, database_role, LPAD(force_logging,10) force_logging,

                LPAD(supplemental_log_data_min,10) SupLog_Min,

                lpad(supplemental_log_data_pk,10) SUPLOG_PK,

                LPAD(supplemental_log_data_ui,10) SUPLOG_UI,

                LPAD(supplemental_log_data_fk,10) SUPLOG_FK,

                LPAD(supplemental_log_data_all,10) "SUPLOG_ALL",

                to_char(created, 'MM-DD-YYYY HH24:MI:SS') Created,

                PLATFORM_NAME, FLASHBACK_ON

from v$database;



Prompt

Prompt Instance Details

Prompt

select instance_number inst_no, instance_name, host_name, startup_time, thread#, database_status from gv$instance;




Prompt

Prompt Database Properties

Prompt

SELECT property_name,

       property_value

FROM   database_properties

ORDER BY property_name;



Prompt

Prompt Database Version Details

Prompt

select banner "Database Component Details" from v$version;



Prompt

Prompt Database Features already being used

Prompt

SELECT NAME, DETECTED_USAGES, CURRENTLY_USED, FIRST_USAGE_DATE

FROM DBA_FEATURE_USAGE_STATISTICS

WHERE VERSION = (SELECT VERSION FROM V$INSTANCE) AND

(DETECTED_USAGES > 0 OR CURRENTLY_USED != 'FALSE');



Prompt

Prompt Object Count by Schema

Prompt

select owner, count(*) from dba_objects

where owner not in ('SYS','SYSTEM','OUTLN','DBSNMP')

group by owner

order by owner;



Prompt

Prompt Object Count by Schema, Object Type

Prompt

select owner, object_type, count(*) objects from dba_objects

where owner not in ('SYS','SYSTEM','OUTLN','DBSNMP')

group by owner, object_type

order by owner, object_type;



Prompt

Prompt Control File Details

Prompt

select name from sys.v$controlfile;



Prompt

Prompt Redo Log File Locations

Prompt

select a.group#,b.thread#,a.member,b.bytes/1024/1024 as size_mb

from   sys.gv_$logfile a,

v$log b

where a.group#=b.group#;



Prompt

Prompt Data Files Details

Prompt


select F.file_id "FILE#",

       F.tablespace_name tablespace,     

       F.file_name,

       F.bytes/(1024*1024) size_mb,

       decode(F.status,'AVAILABLE','OK',F.status) status

from   sys.dba_data_files F

order by tablespace_name, FILE#;


Prompt

Prompt Tablespace Usage

Prompt

select a.tablespace_name,

        round(nvl(a.asize,0)) "TOTAL",

        round(nvl(a.asize-nvl(f.free,0),0)) "USED",

        round(nvl(f.free,0)) "FREE",

        round(((nvl(a.asize-f.free,0))/a.asize)*100) "USED %",

        round((nvl(f.free,0)/a.asize)*100) "FREE %"

from    (select tablespace_name, sum(bytes)/1024/1024 "ASIZE"

        from    dba_data_files group by tablespace_name) a,

        (select tablespace_name, round(sum(bytes/(1024*1024))) free,round(max(bytes)/1024/1024) maxfree

        from    dba_free_space

        group by tablespace_name) f

WHERE      a.tablespace_name = f.tablespace_name(+)

order by round((nvl(a.asize-f.free,0)/a.asize)*100);



Prompt

Prompt Redo Generation per Day

Prompt

select trunc(completion_time) rundate, inst_id "instance", count(*) logswitch, round((sum(blocks*block_size)/1024/1024)) redo_per_day

from      gv$archived_log

where trunc(completion_time) >= to_date(to_char(sysdate,'dd-mon-rr'),'dd-mon-rr') - 7

group by trunc(completion_time), inst_id

order by 1;



Prompt

Prompt Debug Enabled Objects

Prompt

select OWNER,OBJECT_NAME,OBJECT_TYPE,LAST_DDL_TIME from sys.ALL_PROBE_OBJECTS where debuginfo='T';



Prompt

Prompt Resource Utilization

Prompt

select * from gv$resource_limit;



Prompt

Prompt Tables with CLOB,BLOB,LONG,NCLOB or LONG RAW Columns

Prompt

SELECT OWNER, TABLE_NAME, COLUMN_NAME, DATA_TYPE

FROM all_tab_columns

WHERE OWNER not in ('SYS', 'SYSTEM', 'DBSNMP','SYSMAN','OUTLN','MDSYS','ORDSYS','EXFSYS','DMSYS','WMSYS','CTXSYS','ANONYMOUS','XDB','ORDPLUGINS','OLAPSYS','PUBLIC')

AND data_type in ('CLOB', 'BLOB', 'LONG', 'LONG RAW', 'NCLOB', 'LOB')

ORDER BY OWNER;


Prompt

Prompt Initialization parameters having non-default values

Prompt

select name, value from v$parameter where ISDEFAULT <> 'TRUE' order by name;



Prompt

Prompt RMAN backup information

Prompt

select DISTINCT c.name, decode(BACKUP_TYPE,'D','DB INCR BACKUP LEVEL 0','I','DB INCR BACKUP LEVEL 1','L','ARCHIVELOG BACKUP',backup_type) backup1,

                                decode(b.status,'COMPLETED','SUCCESSFUL','FAILED','FAILED','RUNNING','RUNNING','COMPLETED WITH WARNINGS') status,a.DEVICE_TYPE DEVICE_TYPE,

                                B.START_TIME, B.end_time, b.TIME_TAKEN_DISPLAY elapse_time, (case WHEN backup_type = 'L' then round((sum(original_input_bytes) over(Partition by a.session_stamp,b.start_time,

                                command_id,a.session_recid order by (b.start_time)))/1024/1024,1) ELSE NULL END) al_INPUT_BYTES_mb,

                                (case WHEN backup_type in('D','I') then round((sum(original_input_bytes) over(Partition by a.session_stamp,b.start_time,command_id,

                                a.session_recid order by (b.start_time)))/1024/1024,1) ELSE NULL END)  db_INPUT_BYTES_mb, round((sum(a.output_bytes) over(partition by

                                a.session_stamp,b.start_time,command_id,a.session_recid order by (b.start_time)))/1024/1024,2) output_bytes_mb

from      V$BACKUP_SET_DETAILS a,

                V$rman_backup_job_details b,

                V$database c

where   a.session_recid=b.session_recid

and        a.session_stamp=b.session_stamp

order by B.start_time  desc;


set markup html off;


SET PAGES 0 HEAD OFF FEED OFF;

select '<BR><BR>' FROM DUAL;

SET PAGES 50000 HEAD ON FEED ON;


spool off;


set termout on

prompt Done.

prompt Please check &rep_name file for errors, if any.

Prompt




By Prasanth Bhaskaran (Oracle PeopleSoft Application and Upgrade Specialist )